文章目录
TDMPC总结
1.model-based & model-free方法
1.1 本质区别
Model-based和model-free的本质区别是agent是否利用环境模型(或称为环境的动力学模型),例如状态转移函数 P P P和奖励函数 R R R。
在通常情况下,agent并不知道环境的奖励函数 R R R 和状态转移函数 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a),所以需要通过和环境交互,不断试错(Trials and Errors),观察环境相关信息并利用反馈的奖励信号来不断学习。这个不断学习的过程既对model-based的方法适用,也对model-free的方法适用。
如果agent尝试通过在环境中不断执行动作获取样本 ( s , a , s ′ , r ) (s,a,s',r) (s,a,s′,r)来构建对 R R R和 P P P的估计, 则 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)和 r r r可以通过监督学习进行拟合。习得奖励函数 R R R和状态转移函数 P P P之后,所有的环境元素 S , A , P , R , γ S,A,P,R,\gamma S,A,P,R,γ都已知,则用价值迭代或者策略迭代等规划(planning)方法可以直接用来求解问题。这个方式即称为model-based的方法。
Model-free则不尝试对环境建模,而是直接寻找最优策略。例如Q-learning和policy gradient算法都不关注环境模型,而是直接搜索能最大化奖励的策略。
总结,model-based就是先对环境建模,再计算策略;model-free是直接学习策略。
1.2 优缺点
优点 | 缺点 | |
---|---|---|
Model-based | a.通过环境模型可以预测未来的状态和奖励,从而帮助agent进行更好的规划。b.数据利用率高。 | a.学习得到的模型往往是不准确的,训练agent时引入了估计误差,基于带误差模型的策略的评估和提升往往会造成策略在真实环境中失效。b.存在或构建模型的假设过强。现实问题中环境的动力学模型可能很复杂,甚至无法显示地表示出来,导致模型通过无法获取。 |
Model-free | 基于实际环境的trial-and-error效果好。因为model-free不关心环境模型,无须学习环境模型,也就不存在环境拟合不准确的问题,只学习跟奖励有关的信息,相对更易于实现和训练。 | 需要大量数据,而且在真实环境中进行探索的代价是极高的,如巨大的时间消耗,不可逆的设备损耗和安全风险. |
2.on-policy & off-policy
2.1 定义
更新价值所使用的方法是沿着既定的策略(on-policy)抑或是新策略(off-policy)。
这两种算法的区别主要是网络更新参数时,数据是否由要更新的网络得到的。这里的数据是指(state, action, reawrd)构成的一组训练数据。
像我们之前解决TAP用的actor-critic算法,它生成训练数据的网络和要更新参数的网络都是同一个,所以是一种on-policy算法。
off-policy算法一般会使用两个相同结构的网络,我们称为策略网络A和目标网络B,策略网络A负责与环境交互生成很多组训练数据,算法用这些数据去更新网络B。
每经过几轮训练,算法再把网络B的参数复制给网络A,这类算法中的策略网络的参数比目标网络的参数更新得慢。用策略网络A的数据更新网络B的操作大概如下:
比如网络A接收输入,得到action的概率分布p_a,从中取了一个action执行,得到一组数据。写成 A(input) = p_a -> action_a
之后网络B也输入一样的数据,有 B(input) = p_b,然后算法将网络A采样的action作为网络B在p_b采样的结果,也就是 B(input) = p_b => action_a,算法根据这组数据去计算梯度更新网络B的参数。
2.2 优缺点
优点 | 缺点 | |
---|---|---|
on-policy | 简单。因为直接利用数据就可以优化其策略,所以找到局部最优策略的速度快。 | 样本利用率低。因为每次更新都要重新采样,而且不一定能找到全局最优策略 |
off-policy | 数据利用性好且能找到全局最优解。它确保了数据的全面性(自行产生或者外来数据均可),所有行为都能覆盖。 | 收敛慢。数据来源多样,所以方差更大,收敛性变差。 |
3.本文Temporal Difference learning for Model Predictive Control
3.1 重点要解决什么问题
Model-based RL虽然比model-free的采样效率高,但是规划 long horizon时需要的时间花销很大,并且很难获取一个准确的环境模型,论文就是想通过结合model-free 和model-based RL的优势解决以上问题,具体而言,算法用model-based RL学习用于局部轨迹优化的模型,用model-free RL学习预测长期回报(用于全局优化)的价值函数。
3.2 算法原理
3.2.1 预备知识:Model Predictive Control(MPC)
在强化学习的MPC中,MPC优化的是t~H步的及时奖励R,是一种短视的算法。
具体而言,为了使问题易于处理,MPC在有限时间t~H步内通过高斯分布采样每一步动作,得到相应奖励,并在t处执行采样的第一个动作 a t a_t at,从而得到每一步t的轨迹最优化问题的局部解,公式如下。
在作者的MPC的pipeline中,通过输入t时刻的观察 s t s_t st,经过编码器 h θ h_θ hθ输出t时刻的潜向量 z t z_t zt,将 z t z_t zt和从正态分布采样的 a t a_t at输入给环境模型 d θ d_θ d