【论文精读】Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
1 背景
在具身智能领域,从专家示范中进行视觉运动策略学习(visuomotor policy learning,visual -> motor)较难。
- 多模态特性 multimodal distribution。执行一个任务有多种方式,执行多个任务有多种顺序,这些都是多模态。
- 序列关联性 sequential correlation。具身智能的动作是一条序列,前后互相关联,不能突变。
- 精度要求高 high precision 。否则多种行为无法完成,比如抓夹。
扩散模型的优势:
- 在理论情况下,可以通过增加网络容量和去噪步数,逼近任意复杂的分布,其中包括多模态的分布。
- 在高维空间具备可扩展性(scalability to high-dimension output spaces)。
- 同为基于能量的策略(energy-based policies),其他方法需要用负采样计算归一化系数(require negative sampling to estimate an intractable normalization constant),但是扩散模型直接学习能量函数的梯度,不需要用负采样,避免了训练不稳定。
2 实现
2.1 输入
- 视觉。其他方法会把视觉观测信息作为预测的输出之一(a part of the joint data distribution),但是该论文只做输入,因此称为visual conditioning。具体来看,包括多个视角(front camera x 1,writst camera x 2)的相机信息
该论文使用历史视觉信息2帧。
2.2 输出
2.2.1 输出空间
该论文探讨了2种输出空间,一种是位置空间,另一种是速度空间。
- 速度控制 velocity control。输出目标线速度和角速度。我理解是线性单元和旋转单元的速度,响应速度快,但是由于累计误差 compounding error 的影响,控制精度不高。但是目前大部分论文都使用速度控制。
- 位置控制 position control。输出目标线位置和角位置。控制精度高,响应速度慢。该论文实验表明,位置控制效果更优。
2.2.2 滚动时域控制
该论文使用滚动时域控制receding-horizon control,本质和MPC类似,预测较长的一段时域,但是只执行较短时域内的动作,然后进行重规划。
预测时域为16步,动作时域为8步。
经过消融实验,动作时域多于或者少于8步,都会导致性能下滑。
2.3 网络结构
2.3.1 视觉编码 visual encoder
输入多个视角多个时间戳的图片,其编码结果进行拼接concat,输出观测结果Ot。
模型选择:Resnet-18。
模型改动:
- 全局平均池化 改成 空间softmax池化。全局平均池化(nn.AvgPool2d / nn.AdaptiveAvgPool2d)将一个通道的所有值算平均,丢失了细节信息;如果用空间softmax函数,会(1)对一个通道的所有值算softmax,(2)根据在特征图中的位置,进行位置加权求和。以[128,128,32]的特征图为例,全局平均池化的结果是[1,1,32],空间softmax的结果是[2,32]。
- BatchNorm换成GroupNorm,训练更稳定。因为Batchnorm依赖Batch大小,但是GroupNorm本质上是一种特殊的LayerNorm,在特征维度分组进行归一化,不依赖batch大小,更稳定。
该论文做了消融实验,对比了:
- 模型:ResNet18,ResNet34,ViT-base
- 训练方式:加载预训练模型,从头训,微调。
发现

最低0.47元/天 解锁文章
1273

被折叠的 条评论
为什么被折叠?



