这两天,我在朋友圈说道,本质上来讲,斯坦福mobile aloha就是大模型机器人领域里的缩略版ChatGPT时刻,虽然aloha本身并没有像ChatGPT那么强大(毕竟才三人团队),但会让大模型机器人成为今2024年最大的爆发点,为何这么讲呢?
而第二大爆发点,我觉得是agent,这个“大”更多是对社会的影响力,当然,agent是一个框架流程,本身也会嵌入在大模型机器人的设计里头
由于我今年特别看好大模型机器人的发展,且作为一个创业者 我希望不断挑战难度更大的事情,而作为一个技术研究者或大模型开发者 我希望把各个领域的技术给串起来(比如NLP大模型和CV大模型),综合为一个大场景而服务,毕竟作为大模型应用而言,场景第一 数据第二 模型第三
目前,尽管一些人形机器人在特定环境下表现良好,但一般存在泛化和适应新环境方面的问题
为了更好的解决这个问题,来自加州大学伯克利分校的研究人员于23年3月通过此篇论文《Real-World Humanoid Locomotion with Reinforcement Learning》提出了运用Causal Transformer的方法,其通过自回归的方式从观察-动作历史信息中预测下一个动作,也就是模型的输出(预测的动作)只依赖于其输入(观察-动作历史信息)中的先前信息(看到这,我惊呆了,它竟然把动作预测干成了类似于:对NLP句子中下一个token的预测)
在自注意力计算中,模型会为每个token分配权重,这些权重反映了在预测当前动作时,序列中其他token的重要性
最终,Causal Transformer能够使机器人在复杂和动态的环境中,在没有未来信息的情况下做出适应性更强的决策,从而使得机器人可以在室内外各种环境中稳健行走,应对不同地形,甚至还能背个书包,提袋垃圾
顺带说两点 你可能意想不到的点
如下图所示
即,The policy learning includes two steps: teacher state policy training and student observation policy learning
他们将控制问题描述为马尔可夫决策过程MDP,为离散时间决策过程提供了一个数学框架
状态空间S、动作空间A
转移函数和标量奖励函数,分别确定在时间步长采取行动后从状态转移到状态的概率,以及对智能体行动质量的反馈
此时,MDP变成部分可观察的马尔可夫决策过程POMDP,智能体必须根据噪声观测而非真实环境状态做出决策(The MDP now becomes a Partially Observable Markov DecisionProcess (POMDP), where the agent must make decisions based on its noisy observations ratherthan the true state of the environment.)
接下来的目标是找到一个策略,用于在POMDP问题中进行实际部署
我们的策略将由“观察-动作”组成的长度为的历史轨迹作为输入,该历史轨迹表示为,并输出下一个动作
其中代表键的维度
我们利用多层感知机(MLPs)将每个观察-动作对嵌入到特征空间中去(We employ Multi-LayerPerceptrons (MLPs) to embed each observation-action pair into a feature space)
且通过限制自注意力机制只关注前面的token,在利用时间依赖关系推断观察与行动之间产生causal Transformer(We leverage the temporal dependencies among the observations and actions byrestricting the self-attention mechanism to only attend to preceding tokens, resulting in a causaltransformer)
在强化学习中,智能体必须通过试错不断积累经验并更新策略以优化决策过程。然而,在复杂的高维环境中,获得有用的奖励信号可能需要大量交互和模拟步骤,因此直接使用RL来优化策略在观测空间中是缓慢且资源密集的。为了克服这些限制,他们采用了以下方法
值得注意的是,我们的方法不需要任何预先计算的轨迹或离线数据集,因为状态策略监督和强化学习监督都通过策略学习进行优化
It is importantto note that our approach does not require any pre-computed trajectories or offline datasets, asboth the state-policy supervision and RL-supervision are optimized through on-policy learning.
动作空间由16个驱动关节PD设定值和8个驱动腿关节预测PD增益组成。我们未训练任何控制四个脚趾电机的策略,而是使用固定PD增益将电机设置为默认位置。这种方法在基于模型控制中被广泛采用(55,56)。奖励函数受人类行走生物力学研究启发,并经过试错调整。在奖励设计中没有预先计算步态库
为了模拟机器人的闭链动力学,引入了“虚拟弹簧”模型。在模拟中随机化机器人的动态属性、控制参数和环境物理属性,以及添加噪声和延迟到观察中
从模拟到现实的转移方面,研究人员在机器人公司Agility Robotics(前身是Dynamic Robotics Laboratory)提供的高保真度模拟器中验证策略,该模拟器准确模拟了Digit机器人的动态和物理属性
本质区别在于后者去掉了RL
最新这篇论文,我个人觉得比较重要的一个价值在于,它可以把比如YouTube上大量的人类走路的视频都作为训练数据来源之一,很有我之前介绍过的Google genie的感觉(详见此文:Google发布Genie硬杠Sora:通过大量无监督视频训练最终生成可交互虚拟世界)
他们使用由Agility Robotics开发的全尺寸Digit类人机器人
首先在仿真中收集传感器运动轨迹的数据集。 这些包括通过强化学习训练的神经网络策略的完整轨迹(即上一部分的这个工作:Real-world humanoid locomotion with reinforcement learning),以及来自三个不同来源的不完整轨迹:
使用计算机视觉技术重建人类视频,并通过逆向运动学重新定位动作捕捉和YouTube轨迹。 然后,我们训练一个Transformer模型来自回归地预测轨迹。 在测试时,我们自回归地执行动作,并忽略感知预测
最终,研究发现,仅使用离线数据训练的自回归策略在测试环境中与使用强化学习的最先进方法相当(We find that our autoregressive policies trained from offline data alone are comparable to the state-of-the-art approaches that use reinforcement learning (33 ) in tested settings)
接下来,我们的目标是训练一个神经网络自回归地建模:
我们的模型是一个基本的Transformer
为了编码时间信息,我们使用位置嵌入。 假设和,则:
其中是一个线性投影层,用于将连接的观测和动作模态投影到一个d维嵌入向量中,上标 0表示第0层的嵌入,即输入层
在这里,多头自注意力具有因果掩码(the multi-head self-attention has causal masking),其中token只关注自身和过去的token
一旦token通过所有层进行处理,我们通过学习线性投影层将嵌入投影到预测的状态和动作(we project the embedding to predicted states and actions, by learning a linear projection layer cW ∈ R(m+n)×d)
这使我们能够使用各种数据源,从而在数据方面实现扩展
在推理时,我们的transformer模型始终可以访问观察-动作对。 在这种设置下,我们为每个观察-动作对token自
回归地应用transformer模型
如之前所述,数据集包括来自不同来源的轨迹:
作为训练轨迹的第一个来源,我们使用了一个经过大规模强化学习训练的神经网络策略(33)
具体来说,这个策略是在Isaac Gym(Isaac gym: High performance gpu-based physics simulation for robot learning)中的数千个随机环境中使用数十亿个样本进行训练的。在Agility Robotics的模拟器中运行这个策略,并收集了10秒钟的10k个轨迹,这些轨迹都是在平坦的地面上进行的,没有进行域随机化。 每个轨迹都以从截断正态分布中采样的速度命令为条件,具体如下:向前的线性速度为[0.0, 1.0]m/s,向侧面的线性速度为[−0.5, 0.5]m/s,旋转角速度为[−0.5, 0.5]rad/s。 由于我们可以访问数据生成策略,我们能够记录完整的观测结果以及模型预测的准确动作
作为轨迹的第二个来源,我们使用了由Agility Robotics开发的基于模型的控制器。它是部署在Digit人形机器人上并在Agility Robotics的模拟器中可用的控制器。我们收集了两组10k个行走轨迹,每个轨迹持续10秒,在平坦的地面上进行。 在这两种情况下,我们对速度指令进行采样如下:
线性前进速度 [−1.0, 1.0]米/秒
线性侧向速度 [−1.0, 1.0]米/秒,以及转向角速度 [−1.0, 1.0]弧
度/秒
我们使用默认的基于模型的配置为一个集合,并对另一个集合的腿长、步行间隙和地板的弹性进行随机化。
由于该控制器输出关节力矩,与我们的关节位置动作空间不一致。 我们只记录观测结果,不记录动作。 这些数据作为具有合理观测结果的轨迹的来源,但没有动作。
作为轨迹的下一个来源,我们使用来自KIT数据集(The KIT motion-language dataset)通过AMASS存储库(AMASS: Archive of motion capture as surface shapes)分发的人体动作捕捉(MoCap)记录。 这些数据是在实验室环境中使用光学基于标记的跟踪记录的。 该数据集包含约4k个轨迹。
我们使用约1k个站立、行走和奔跑的轨迹的子集。除了不包含地面真实动作外,MoCap轨迹还面临着额外的挑战:不同的形态。 也就是说,MoCap轨迹捕捉到了人体关键点在3D空间中的位置。 为了将这些轨迹用于训练机器人,我们解决了一个逆运动学问题,以找到相应的机器人姿势。
我们制定了一个逆运动学优化问题:
其中,是广义坐标下的机器人状态,和是优化的时间范围和采样时间,优化变量包括、对于约束条件,(12b)是姿势 的欧拉积分,(12c)约束了和 在它们的可接受集合 Q和 V内的范围
在成本函数中, φtraj跟踪人类轨迹中的关键点位置,而 φreg表示正则化成本,例如关节速度最小化和平滑性
人们进行各种活动的互联网视频是学习人类步态的潜在数据来源。
然而,原始像素没有关于人类状态和行为的信息。 为了恢复这一点,首先运行一个计算机视觉跟踪算法PHALP(Tracking people by predicting 3d appearance, location and pose)来提取3D中的人类轨迹。 这提供了人体关节SMPL(Smpl: A skinned multi-person linear model)参数的估计和世界坐标系中人体关节的嘈杂估计。 我们使用人体关节位置将运动重新定位到人形机器人上,使用上述逆运动学优化
一旦我们将运动重新定位从互联网视频到人形机器人轨迹,我们使用低优化成本对轨迹进行过滤。 请注意,这些数据的规模带来了噪声的代价
24年1月,CMU一团队通过这篇论文《Adaptive Mobile Manipulation for Articulated Objects In the Open World》提出了开放世界移动操作系统(Open-World Mobile Manipu-lation System),这是一个全栈方法,用于解决开放世界中真实关节物体的移动操作问题
by pretraining the Adaptive learning allows the robot to keep learning fromself-practice data via online RL
为了实现高效学习,采用了一个结构化的分层动作空间。该空间包括一个固定的高级动作策略和可学习的低级控制参数。通过利用遥操作演示产生不同数据集进行行为克隆(BC),然后初始化了策略(To achieve efficient learning, we use astructured hierarchical action space. This uses a fixed high-level action strategy and learnable low-level control param-eters. Using this action space, we initialize our policy viabehavior cloning (BC) with a diverse dataset of teleoperated demonstrations)
然而,在开放世界环境中,对象变化范围广泛,因此初始的BC策略可能无法适应机器人可能遇到的每个未见物体。为解决这一问题,我们使机器人能够从在线样本中持续学习和适应,并描述了在线学习过程(we enable the robot to learn from the online samples it collects to continually learn andadapt. We describe the continual learning process as well asdesign considerations for online learning)
为了提高学习效率,采用参数化的基本动作空间(parameterized primitive action space)
轨迹以开环方式执行,即在每个抓取原语之后跟随一组N个受限的移动操作原语
Trajectories are executed in an open-loop manner, a grasping primitive followed by asequence of N constrained mobile-manipulation primitives:
其中Is代表初始观察图像,G(g)和M(Ci,ci)分别表示参数化抓取和约束操作原语,If代表最终观察图像,ris表示轨迹的奖励(where Is is the initial observed image, G(g), M(Ci,ci))denote the parameterized grasp and constrained manipulationprimitives respectively, I f is the final observed image, and ris the reward for the trajectory)
尽管这个结构化空间在表达能力上不如完整的动作空间强大,但它足以学习我们每天遇到的铰接对象的有效策略,并包括20个不同门、抽屉和冰箱等开放世界环境中的情景。该结构只需使用20-30个轨迹序列就能从少量样本中进行学习
给定初始观测图像,我们使用分类器来预测个离散参数序列的约束移动操作,并利用条件策略网络生成抓取原语的连续参数和个约束移动操作原语序列(Given an initial observation image Is, we use a classifierπφ({Ci}Ni=1|I) to predict the a sequence of N discrete pa-rameters {Ci}Ni=1 for constrained mobile-manipulation, anda conditional policy network πθ(g,{ci}Ni=1|I,{Ci}Ni=1) whichproduces the continuous parameters of the grasping primi-tive and a sequence of N constrained mobile-manipulationprimitives),机器人按照开环方式逐个执行参数化原语(The robot executes the parameterized primitivesone by one in an open-loop manner)
模仿学习旨在通过学习策略参数,以最大化专家动作的可能性(The imitation learning objective is to learn policy pa-rameters πθ,φ that maximize the likelihood of the expertactions)
具体而言,对于给定图像观测数据集和相应的动作,模仿学习目标是:
在线RL面临着一个核心挑战,即操作新的铰接对象,这些对象不符合行为克隆训练数据分布(The central challenge we face is operatingnew articulated objects that fall outside the behavior cloningtraining data distribution)。为了解决这一问题,我们使策略能够利用机器人收集的在线样本进行持续改进。换言之,我们致力于最大化策略下预期奖励总和
由于我们采用了前文所述的高度结构化的行为空间,因此我们可以使用相对简单的强化学习算法来优化该目标。具体而言,我们应用了REINFORCE目标(分别定义为公式3、公式4)
其中R代表轨迹执行结束时所获得的奖励。需要注意的是,我们只有单个时间步长过渡,并且所有动作都由观察到的图像决定,并以开环方式执行(where R is the reward provided at the end of trajectory execution. Note that we only have a single time-step transition, all actions are determined from the observed image Is , and executed in an open-loop manner)
为了确保策略不会与模拟数据集的初始化偏离过大,我们在微调时采用加权目标进行优化。整体损失函数定义如下(定义为公式5):
其中,在线采样数据的损失通过上面的公式4进行优化,而批量离线数据的损失则通过上面公式2的BC算法进行优化。在执行更新操作时,我们对在线和离线数据使用相同大小的批次给定从真实感相机获得的场景RGBD图像,使用现有的视觉模型[Detecting twenty-thousand classes using image-level supervision],[Segment anything]来获取门和手柄的掩码,并仅提供文本提示
在SE2平面中,我们有一个9维向量对机器人手臂末端执行器和机器人底座的速度进行控制,其中前6个维度对应于手臂控制,最后3个维度对应于底座。我们所采用原语对该空间施加以下约束(We use velocity control for the robot arm end-effector and the robot base. With a 6dof arm and 3dof motion for the base (in the SE2 plane), we have a 9-dimensional vector -):
且对这个空间施加的约束如下
对于控制部分,策略输出与要执行原始数据相关联索引及其相应运动低级参数。低级控制命令范围为-1至1,并具有固定持续时间执行时间。参数符号决定速度控制方向,在解锁和旋转时顺时针或逆时针,在打开时向前或向后(For control, the policy outputs an index corresponding to which primitive is to executed, as well as the corresponding low-level parameters for the motion. The low-level control command is continuous valued from -1 to 1 and executed for a fixed duration of time. The sign of the parameters dictates the direction of the velocity control, either clockwise or counter-clockwise for unlock and rotate, and forward or backward for open)
在此项目中考虑铰接对象由三个刚性部分组成:基座部分、框架部分和手柄部分
为了在操作未见过的新型铰接物体时提供泛化效益,我们首先收集了一个离线演示数据集。我们在BC训练数据集中包括每个类别3个对象,并为每个对象收集10个演示轨迹,共产生120条轨迹记录
此外,在泛化实验中还从每个类别中选取2个测试对象。训练和测试对象在视觉外观方面具有显著差异,例如纹理、颜色;在物理动力学方面也存在差异,例如弹簧加载;以及驱动方式上可能出现顺时针或逆时针等差异性质量特征
如前所述,为了更好的操作BC训练领域之外的新对象,该团队开发了一个能够完全自主强化学习(RL)在线适应的系统
为了部署我们的系统,在线采样期间读取关节电流并设置一种基于此机制来确保安全性。如果机器人采样到一个导致关节电流达到阈值的动作,则会立即终止该事件并重置机器人,以防止手臂从潜在地对自身造成损害,并提供负奖励以阻止此行为
然而,在自主学习中,我们希望消除依赖人类参与的瓶颈。因此,故研究了使用大型视觉语言模型作为奖励来源的方法(For autonomous learning however, wewould like to remove the bottleneck of relying on humansto be present in the loop. We investigate using large visionlanguage models as a source of reward)
具体而言,我们使用CLIP计算两个文本提示和机器人执行后观察到的图像之间的相似性得分,而所使用的两个提示是“关闭的门”和“打开的门”(Specifically, we use CLIP [52] to compute the similarity score between two textprompts and the image observed after robot execution. Thetwo prompts we use are - ”door that is closed” and ”door that is open”)
然后通过计算最终观察到图像与这些提示之间的相似性得分(We compute the similarity score of the finalobserved image and each of these prompts)
如果图像更接近指示门被打开,则给予+1奖励;否则给予0奖励(assign areward of +1 if the image is closer to the prompt indicatingthe door is open, and 0 in the other case)
如果违反安全规定,则给予-1奖励
此外,在获得+1奖励(即成功打开门)时,机器人有一个脚本程序来关闭门
// 待更
上一篇:MySQL面试复习记录