model-based RL 会学习近似的动力学模型,将剩余的决策工作交给经典的轨迹优化器。我们考虑将尽可能多的轨迹优化模块折叠到建模问题中,这样从模型中采样和规划就变得几乎相同;
该算法的核心是扩散概率模型(diffusion probabilistic model),通过迭代去噪获得轨迹;
代码可得:diffusion-planning.github.io
1 Introduction
通过设置小的感受野确保行为的一致性;一个optional guide function用于设置约束
数据驱动的轨迹优化的特性:
- Long-horizon scalability
- 不是逐步地生成轨迹,而是一次性生成整条轨迹,因此不受模型动力学的累积误差影响
- Task compositionality
- 奖励函数提供了梯度信息,可以通过梯度相加,组合多个奖励函数
- Temporal compositionality
- 通过扩散生成整条轨迹,保证整条轨迹的一致性
- Effective non-greedy planning
- 模糊模型和规划器之间的界限,可以解决长期规划和奖励稀疏的问题
- Long-horizon scalability
2 Background
2.1 Problem Setting
假设一个离散时间的动力学系统
,在状态为 的时候给定行为 ;轨迹优化的目标是找到一个行为序列 ,最大化或者最小化目标 ,以及按每个时间步长分解的目标值(或成本) 其中
是规划的时间长度,定义缩写 表示状态和动作交替的轨迹, 表示该轨迹的目标值
2.2 Diffusion Probabilistic Models
轨迹的迭代去噪过程:
其中, 表示标准高斯先验, 表示无噪声的数据;参数 通过最小化负对数似然的变分界限的逆过程 该逆过程通常用带有固定时间步相关协方差的Gaussian进行参数化: 前向过程 则是典型的预先定义 注意:公式中包含了两个时间标签,上标表示扩散过程的迭代次数;下标表示轨迹的时间步数;
3 Planning with Diffusion
3.1 A Generative Model for Trajectory Planning
Temporal ordering
- 合并了从轨迹中采样和根据轨迹进行规划两个步骤,可以不再预测时序的未来状态
- 考虑目标条件推断
,下一个状态 取决于未来状态和先验状态; - 虽然动态预测是因果性的,即现在由过去决定,但决策和控制可能是反因果性的,即现在的决策取决于未来;但是因为我们不能使用时间自回归排序,所以我们设计扩散器来同时预测计划的所有时间步长
Temporal locality
尽管不通过自回归或者马尔科夫过程,diffuser具有一种宽松的时间局部性
设置感受野(the receptive field)只考虑过去和未来最近的几个时间步,这样可以使得预测保持轨迹的局部一致性;通过结合多个去噪步骤,可以使得局部一致性演变为全局的一致性;
Trajectory representation
- 表征Diffuser的输入和输出为一个2维的向量:
每个时间步是一列
Architecture
几个要求:
- 整个预测的轨迹应该是非自回归的;
- 去噪过程的每个时间步应该是只关注时间序列的局部;
- 轨迹表征应该沿一个维度等方差(the planning horizon);
结构借鉴U-Net结构,由多个残差块构成,但是把2维的空间卷积换成了1维的时序卷积
由于模型是全卷积的结构,因此输出的预测时间长短取决于模型结构而非模型输入;
Training
使用Diffuser来参数化轨迹去噪过程的学习梯度
,可以以闭环的形式学习求解均值 ,使用简化的目标来学习 -model: 其中, 表示扩散的时间步, 表示噪声目标, 表示轨迹 被噪声 扰动后的轨迹;逆过程协方差 遵循cosine schedule - Improved denoising diffusion probabilistic models. In International Conference on Machine Learning, 2021.
3.2 Reinforcement Learning as Guided Sampling
定义
是一个二值随机变量,表示轨迹上选择的时间步 ,并且 ;设置 ,可以从最优轨迹集合中采样: 这改变了强化学习中的条件采样 当
已经充分平滑,你扩散过程可以近似为高斯过程 其中 来自原始的逆过程转换 和 引导函数的导数 这种关系提供了分类器引导的采样(用于生成类条件图像)和强化学习问题设置之间的直接转换;
算法实现步骤:
- 首先,在数据集上训练扩散模型
生成状态和行为 - 然后训练另一个模型
用于预测采样轨迹 累积的奖励 - 通过修改逆过程的均值
, 的梯度用于引导轨迹采样过程 - 采样轨迹
的第一个行为肯呢个会被执行与环境进行交互; - 然后开始下一个行为的计算
- 首先,在数据集上训练扩散模型
总结
很漂亮的工作,将去噪扩散概率模型与强化学习轨迹规划相结合,实现平滑的轨迹规划能力;但算法的局限和强化学习类似,需要想办法设计引导函数