1. Tittle
2. 标签
- model-free
- PG
- Continue/Discrete
3. 总结
对AC算法的提升,引入了一些创新,包括使用偏差修正的截断重要性采样,随机竞争网络架构和新的TRPO方法(trust region policy optimization)
4. 原理
4.1 背景和问题引出:
agent的目标是最大化return的数学期望。加入Advantage Function后,对于策略的更新为:
策略 π \pi π的梯度:
Advantage Funcion 可以使用全部使用 Q π ( x t , a t ) Q^\pi(x_t,a_t) Qπ(xt,at)(V和Q可以相互表示)、带折扣Return或者基于TD的 r t + γ V π ( x t + 1 ) − V π ( x t ) r_t + \gamma V^\pi(x_{t+1}) - V^\pi(x_t) rt+γVπ(xt+1)−Vπ(xt)表示而不引入偏差。推导见A3C笔记。但是选择会有不同的方差。在实际应用中,我门使用神经网络来估计这些变量,因此会引入估计的误差(errors)和偏差(bias)。
通常,策略梯度的近似过程,如果
- 使用 R t R_t Rt会有高方差,低偏差,
- 使用函数估计(function approximation)会高偏差,低方差。
结合
R
t
R_t
Rt和当前价值估计函数
去最小化偏差的同时,维持方方差在一定的范围,是ACER背后主要的设计思想。
A3C的处理方法
A3C结合了k-step returns 和 function approximation来处理偏差和方差的问题。
注:A3C没有使用replay
4.2 离散的使用经验回放的AC
使用经验回放的off-policy learning明显提高了AC的采样效率,但是控制方差和稳定性也是十分困难的。Importance sampling(重要性采样)是一个比较流行的方法。
对于序列 { x 0 , a 0 , r 0 , μ ( ⋅ ∣ x 0 ) . . . . x k , a k , r k , μ ( ⋅ ∣ x k ) } \{x_0, a_0, r_0, \mu(\cdot|x_0)....x_k,a_k,r_k,\mu(\cdot|x_k)\} {x0,a0,r0,μ(⋅∣x0)....xk,ak,rk,μ(⋅∣xk)}
$\rho_t = \frac{\pi (a_t | x_t)}{\mu(a_t |x_t)} $ importance weight。重要性权重。
μ \mu μ是生成动作a的策略。 π \pi π是待优化策略
这个估计是无偏差的。但是有很高的方差,因为importance weights没有边界。为了防止importance weights爆炸,Wawrzynski(2009)对这项进行了裁剪。尽管这么做variance有了一个相对的边界,但是会产生偏差。
Degris et al.(2012)对这个问题的处理:在限制过程分布上使用边际函数去表示接下来的梯度的近似估计:
- 这个式子依赖 Q π Q^\pi Qπ而不是 Q μ Q^\mu Qμ。所以我们必须有能力去估计 Q π Q^\pi Qπ
- 不再有importance weights。取而代之的是marginal importance weight: ρ t \rho_t ρt
Q π Q^\pi Qπ是使用lambda returns估计: R t λ = r t + ( 1 − λ ) γ V ( x t + 1 ) + λ γ ρ t + 1 R t + 1 λ R_t^\lambda = r_t + (1-\lambda)\gamma V(x_{t+1})+ \lambda \gamma \rho_{t+1} R^\lambda_{t+1} Rtλ=rt+(1−λ)γV(xt+1)+λγρt+1Rt+1λ,所以在处理bias和variance前需要先选择 λ \lambda λ这个超参。
4.2.1 解决Q的估计
论文中使用Retrace(Munos et al.2016)去估计 Q π ( x t , a t ) Q^\pi(x_t,a_t) Qπ(xt,at)
等式5是基于Q的,论文中使用了CNN来估计。这个CNN既用来输出 Q θ v ( x t , a t ) Q_{\theta_v}(x_t,a_t) Qθv(xt,at),也用来输出 π θ ( a t ∣ x t ) \pi_\theta(a_t|x_t) πθ(at∣xt)。输出的Q是一个向量,不是标量。
ACER使用 Q r e t ( x t , a t ) Q^{ret}(x_t,a_t) Qret(xt,at)去估计等式4的 g m a r g g^{marg} gmarg中的 Q π Q^\pi Qπ。明显减小了梯度估计的偏差。
在critic的学习中,使用 Q r e t Q^{ret} Qret作为target。MSE损失去更新critc的参数 θ v \theta_v θv。梯度为:
多步 Q r e t Q^{ret} Qret估计的两个好处:
-
减小策略梯度的误差
-
加快critic的学习,从而再将来减小偏差
4.2.2 偏差纠正+Importance weight truncation
等式4的marginal importance weights 可能会很大,产生不稳定行。
论文提出了裁剪importance 和 引入一个修正项,从而解构等式4为:
第一项截断的importance weight保证了梯度的方差有界。
第二项偏差修正保证了无偏估计。
把Q替换一下, Q θ v Q_{\theta_v} Qθv是critic产生的:
对于采样序列 { x 0 , a 0 , r 0 , μ ( ⋅ ∣ x 0 ) . . . . x k , a k , r k , μ ( ⋅ ∣ x k ) } \{x_0, a_0, r_0, \mu(\cdot|x_0)....x_k,a_k,r_k,\mu(\cdot|x_k)\} {x0,a0,r0,μ(⋅∣x0)....xk,ak,rk,μ(⋅∣xk)},ACER策略梯度为:
4.2.3 应用并改进TRPO
在AC更新时,也会产生高方差。确保稳定性,限制每一步更新的大小。较小的learning rates是不够的。TRPO算法提供了一个好的解决方案。但是在大规模的数据下计算开销大。
提出了一个新的trust region policy optimization方法处理大规模数据问题。维护一个average policy network。这个平均策略网络是过去策略的平均值,强制更新策略不能够远离这个平均值。
策略网络可以分解成两部分:分布(Distribution ) f f f,和一个深度神经网络$\phi_\theta 来 生 成 这 个 分 布 的 统 计 参 数 。 策 略 可 以 表 示 成 : 来生成这个分布的统计参数。策略可以表示成: 来生成这个分布的统计参数。策略可以表示成:\pi(\cdot|x) = f(\cdot | \phi_\theta(x))$
平均策略网络使用软更新:
9式用 f 、 ϕ f 、 \phi f、ϕ来表示:
论文提出的trust region 更新包括两个阶段:
一:求解下面这个线性KL限制问题
由于线性限制,整体优化问题可以变为
二:反向传播。
附录
关于bias,variance, error