学习强化学习过程中的小问题

参考书目

  • 邹伟《强化学习》
  • 周志华《机器学习》中强化学习章节
  • 邱锡鹏《神经网络与深度学习》中的强化学习章节
  • Reinforcement Learning: An Introduction by Richard Sutton

𝜖贪心策略改进原始策略的条件

邹伟《蒙特卡罗控制》一章有证明

“𝜖贪心策略可以改进任意一个给定的策略。”

细看过程似有问题,单看论点也站不住脚:考虑极端情况,假如一个策略本身已是最优的,那么加入随机探索动作后回报只可能减少,遑论改进。

查到Richard Sutton的书里说得清楚

any ε-greedy policy with respect to qπq_\pi is an improvement over any ε-soft policy π is assured by the policy improvement theorem

说明了𝜖贪心所改进的原始策略并非任意策略,而是ε-soft的策略。
而ε-soft policy的定义则要求对每个动作aAa \in A都有π(as)ϵA\pi(a|s) \ge \frac{\epsilon}{|A|},如此才有 maxaqπ(s,a)a[π(as)ϵA]qπ(s,a) \max\limits_{a} q_\pi(s, a) \ge \sum\limits_{a} [\pi(a|s) - \frac{\epsilon}{|A|}] q_\pi(s, a) (否则大于等于不成立)进而保证改进效果。

直观地理解,一个确定性策略混入概率为ε的探索动作后就是ε-soft的。所以如果称这样的策略为“ε策略”的话,更严谨的说法应该是“𝜖贪心策略可以改进任意𝜖策略”。

Q-Learning中的Maximization Bias

Double Q-Learning说传统的Q-Learning和DQN都会因为以下更新式中的max而普遍过高估计Q,存在过优化问题 Q(s,a)+=α[r+γmaxaAQ(s,a)Q(s,a)]Q(s, a) \mathrel{+}= \alpha [r + \gamma \max\limits_{a' \in A} Q(s', a') - Q(s, a)] 但为何max操作会导致Maximization Bias?

假设动作值函数已被优化到了一定程度,设为Q+ϵQ + \epsilon,其中Q是真实的动作值函数,ϵN(0,1)\epsilon \sim N(0, 1),则 Eϵ[max(Q+ϵ)]Eϵ[Q+ϵ]=Q+Eϵ=Q\mathbb E_\epsilon[ \max (Q + \epsilon) ] \ge \mathbb E_\epsilon[ Q^* + \epsilon ] = Q^* + \mathbb E\epsilon = Q^* 即取max后在期望上会比真实的Q=maxQ Q^* = \max Q 更大,所以估计会偏大。

REINFORCE算法中的γt\gamma^t来源

REINFORCE算法的策略函数参数更新方式为 θ+=αγtG(τt:T)θlogπθ(atst)\theta \mathrel{+}= \alpha \gamma^t G(\tau_{t:T}) \frac{\partial{}}{\partial{\theta}} \log \pi_\theta(a_t|s_t)

更新项为策略梯度中t时刻之后的部分,隐含的意思是t时刻之前的部分期望为0: Et=0T1θlogπθ(atst)G(τ0:t1)=0\mathbb E \sum\limits_{t=0}^{T-1} \frac{\partial{}}{\partial{\theta}} \log \pi_\theta (a_t | s_t) G(\tau_{0:t-1}) = 0 如何证明?

该算法后面会学习一个带基线的REINFORCE算法,证明了为策略梯度引入一个和ata_t无关的基准函数b(st)b(s_t)后期望不变,即(过程书上有): Et=0T1b(st)θlogπθ(atst)=0\mathbb E \sum\limits_{t=0}^{T-1} b(s_t) \frac{\partial{}}{\partial{\theta}} \log \pi_\theta (a_t | s_t) = 0 因为G(τ0:t1)G(\tau_{0:t-1})也跟ata_t无关,所以代入b(st)=G(τ0:t1)b(s_t) = G(\tau_{0:t-1})同理可证。

带基线的Reinforce算法中α=1\alpha = 1的证明

邱锡鹏书中提供了使用基线可减小REINFORCE算法方差有主要证明(详见我的笔记方差削减),但取V为基线后就把因子α\alpha去掉了,为何α=1\alpha = 1

因为V=EaQV = \mathbb E_{a} Q,所以 cov(Q,V)=Ea,s(QV)Ea,sQEsV=EsV2Es2V=DV\begin{aligned} \text{cov}(Q, V) &= \mathbb E_{a, s}(QV) - \mathbb E_{a, s} Q \cdot \mathbb E_{s} V \\ &= \mathbb E_{s} V^2 - \mathbb E_{s}^2V \\ &= \mathbb DV \end{aligned} 所以α=cov(Q,V)DV=1\alpha = \frac{\text{cov}(Q, V)}{\mathbb DV} = 1

Page Not Found

Try to search through the entire repo.

References

  1. /wiki/variance-reduction.html '方差削减 ^'