文章目录
Sample-Efficient RL with Stochastic Ensemble Value Expansion
1. Tittle
2. 标签
- Model-Based
- Continue/Discrete
3. 总结
3.1. 针对的问题
- 在model-based和model-free结合的模式下,model-based的误差会降低整个模型的表现
- sample efficiency低,mf算法需要很多samples
- 对MVE算法的提升
3.2. 解决方法
对MVE算法进行扩展。
MVE对未来进行固定长度的模拟。这种做法潜在的累计了模型误差,从而造成价值估计(value estimation)时的误差。复杂的模型多步模拟效果反而更差。
改进的方法是不再固定步长H,而是计算不同步长估计的一个综合值。只有在模型不产生很大的误差时,才利用这个步长。(给每种步长一个权重)
4. 原理推导
4.1. AC类算法优化(DDPG为例)
使用的是Q-learning的基础理论,即:
s’是下一个状态
d(s’) = 1, 如果s’是终止状态
如果使用一个网络来估计Q值,就是Critic网络。我们使用TD-target作为优化的目标,因为我们不知道真正的Q,而我们梯度下降时有需要有目标的方向,所以就用TD-target来作为目标。TD-target是真正Q的一个近似表示。
我们衡量Critic估计的Q值和TD-target之间的差距。我们希望改变Critic的参数来减小差距,所以我们的损失函数(MSE)
我们的Actor目的是得到最大的Q值。通过这个损失函数来优化Actor网络。即策略 π \pi π
4.2. MVE算法
MVE算法增加了三个函数,即Model(动力学转换模型)和reward function。
- T ξ ^ ( s , a ) \hat{T_\xi}(s,a) Tξ^(s,a): 返回下一个状态
- d ^ ξ ( s ) \hat{d}_\xi(s) d^ξ(s):这个状态是终止状态的可能性。
- r ^ ψ ( s , a , s ′ ) \hat r _\psi(s,a,s') r^ψ(s,a,s′): 一个标量的奖励
T和d是由同一个Model网络产生的
他们训练的损失函数:
H \Bbb H H是交叉熵
之前训练Critic网络用的TD-target现在就要替换为 T M V E T^{MVE} TMVE
原来用的TD-target
![](https://i-blog.csdnimg.cn/blog_migrate/15562961093c735cef69f9da1bd40ca3.png)
区别:
- TD-target用当前的奖励+对以后的估计
- TD MVE用的是当前奖励+短期H步模拟的奖励(括号中)+长远的估计
缺点:
- 动力学转换模型很难训练,而且随着策略探索到新的状态空间,动力学模型也要随着改变
- 由于上述原因,动力模型很敏感,这就导致在训练Q function(Critic)是很困难。因为模型不准确会增加误差
- 这也是为什么对于复杂的动作空间,H步骤小效果更好的原因。
STEVE就是针对这个问题,提出通过动态调整模型模拟的深度从而平衡模型产生的误差和Q-function(Critic网络)。
4.3. STEVE
会维护三个参数集合(ensemble),分别是
-
θ = { . . . . θ L } \theta =\{....\theta_L\} θ={....θL},是Q-function的参数,代表L个不同的Q-function
-
ψ = { . . . ψ N } \psi=\{...\psi_N \} ψ={...ψN}, reward function的参数,N个不同的reward function
-
ξ = { . . . ξ M } \xi = \{...\xi_M\} ξ={...ξM}, model的参数。M个model
用M个Model模拟出M组H步的轨迹序列 τ ξ 1 . . . τ ξ M \tau^{\xi_1}...\tau^{\xi_M} τξ1...τξM
每个 τ \tau τ都包含有H+1个状态序列,+1是s0
对每个 τ \tau τ状态序列,都用N个reward-function和L个Qfunction进行评估(使用MVE评估的公式6)。这样我们就可以得到 M ⋅ N ⋅ L M \cdot N \cdot L M⋅N⋅L个不同的第i步的 $ T_i^{MVE}$值。。如下图
通过得到的每一步的 M ⋅ N ⋅ L M \cdot N \cdot L M⋅N⋅L个 T i M V E T_i^{MVE} TiMVE, 来计算第i步的均值 T i μ T_i^{\mu} Tiμ 和方差 T i σ 2 T_i^{\sigma^2} Tiσ2。 然后通过这两个结果,再计算我们的最终目标 T H S T E V E T_H^{STEVE} THSTEVE
使用 T H S T E V E T_H^{STEVE} THSTEVE来代替TD-target来对Q-function(critic网络)进行训练。
在原论文有对上式的证明。证明过程中忽视了Bias。这个是该算法可以继续提升的一个点