阅读这篇文章的原因是openai-five 提到了$\gamma$的调整时提到了这篇文章
RL算法难达到人类水平的难点:
1.处理多样的rewards分布
2.长期推理
3.高效探索
作者贡献:
改进的贝尔曼公式解决rewards密度和尺度多样化(问题1)
加入时序一致性损失,防止过早泛化(问题2)
人类示范辅助agent(问题3)
1.transformed bellman operator
DQN的贝尔曼公式定义为
$(\Tau Q)(x; a) := E_{x’∼P (·|x;a)} [R(x; a) + γ\max_aQ(x’; a’) \ \ \ \ \ $
参数更新方法:
$\theta^k:=\arg\min{\theta}E{x,a}[L(f\theta(x,a)-f{\theta^{k-1}}(x,a))]$
当$f_\theta^{k-1}(x,a)$方差过高,会导致算法发散。而常用的方法将rewards clip到[-1,1]范围内,可能会改变得到的最优策略。
作者从value-action function考虑,使用一个线性函数h来实现减小rewards的尺度,
$(\TauhQ)(x; a) := E{x0∼P{(·|x;a)}} [hR(x; a) + γ max_ah^{-1}(Q(x’; a’)]$
$h(z)=sign(z)(\sqrt{|z|+1}-1)+\varepsilon z$
并用公式推理证明当h为线性函数,或者MDP是确定的,$\Tau_h$收敛到$h\circ Q^*$(实现了scaling)
此时,贝尔曼公式带来的loss为:
$E{x;a} [L(fθ(x; a) - (\Tauhf{θ^{(k-1)}}(x; a))] ≈\sum^N{i-1}
p_iL(fθ(xi; a_i) - h(r’_i + γh^{(-1)}(fθ^{(k-1)}(x’i; a’_i)))
=: L{TD}(θ; (ti)^N{i=1}; (pi)^N{i=1}; θ^{(k-1)}) $
(PS 更新replay buffer中的优先级时,使用的是$L_{TD}$)
2.Temporal consistency (TC) loss
尽管改进了公式,但增加折扣因子$\gamma$会 降低了无奖励状态的state之间value的差分,因此当折扣因子$\gamma$非常接近1的时候,也会不稳定。为解决这个问题,作者增加了时间一致性loss
$L{TC}(θ; (ti)^N{i=1}, (pi)^N{i=1}; θ^{(k-1)}) :=
\sum^{N}{i=1}
p_iL (fθ(x’_i; a’_i) - fθ^{(k-1)}(x’_i; a’_i)) $
TC-loss惩罚了更新权值带来的下一个action-value $f_\theta(x’,a’)$估计的改变
3.Ape-X DQfD
模型有三方面组成:
(1)replay buffer
(2)actor process
(3) learner process
replay buffer:算法包含两个replay buffer,一个是actor replay buffer(来自于actor process),另一个expert replay buffer(离线存储的专家行为transition)每次采样时,25%来自专家,75%来自actor
actor process:作者采用了类似Distributed prioritized experience replay中的方法。其中actor processes有m个 ,每个actor 基于当前action-value function采用$\varepsilon_i$-greedy 策略。其中:
$\epsilon_i=0.1 ^{\alpha_i +3(1-\alpha_i)}$
$\alpha_i=\frac{i-1}{m-1}$
Learner process. learner process 从两个buffer中采样,最小化loss来近似最优action-value function.作者联合了模仿学习的loss——
设$t_1… t_N $表示transition $t_i = (x_i; a_i; r’_i; x’_i; e_i) $,其中$e_i$表示这个transition是否属于专家行为,$p_i$表示标准化的优先级,那么模仿学习的损失为:
$L{IM}(θ; (ti)^N{i=1}, (pi)^N{i=1}, θ^(k-1)) :=\sum^N{i=1}p_ie_i (\max{a\in A}[fθ(x_i; a) + λδ{a\neq ai}] - fθ(x_i; a_i))$
然后算法的总loss function 就是三者之和:
$L(θ; (ti)^N{i=1}; (pi)^N{i=1}; θ^(k-1)) := (L{TD} + L{TC} + L{IM})(θ; (t_i)^N {i=1}; (pi)^N{i=1}; θ^(k-1)): $
总体算法如下:
总体网络结构(基于标准的dueling DQN)如下: