学习强化学习过程中的小问题
参考书目
- 邹伟《强化学习》
- 周志华《机器学习》中强化学习章节
- 邱锡鹏《神经网络与深度学习》中的强化学习章节
- Reinforcement Learning: An Introduction by Richard Sutton
𝜖贪心策略改进原始策略的条件
邹伟《蒙特卡罗控制》一章有证明
“𝜖贪心策略可以改进任意一个给定的策略。”
细看过程似有问题,单看论点也站不住脚:考虑极端情况,假如一个策略本身已是最优的,那么加入随机探索动作后回报只可能减少,遑论改进。
查到Richard Sutton的书里说得清楚
any ε-greedy policy with respect to qπ is an improvement over any ε-soft policy π is assured by the policy improvement theorem
说明了𝜖贪心所改进的原始策略并非任意策略,而是ε-soft的策略。
而ε-soft policy的定义则要求对每个动作a∈A都有π(a∣s)≥∣A∣ϵ,如此才有
amaxqπ(s,a)≥a∑[π(a∣s)−∣A∣ϵ]qπ(s,a)
(否则大于等于不成立)进而保证改进效果。
直观地理解,一个确定性策略混入概率为ε的探索动作后就是ε-soft的。所以如果称这样的策略为“ε策略”的话,更严谨的说法应该是“𝜖贪心策略可以改进任意𝜖策略”。
Q-Learning中的Maximization Bias
Double Q-Learning说传统的Q-Learning和DQN都会因为以下更新式中的max而普遍过高估计Q,存在过优化问题
Q(s,a)+=α[r+γa′∈AmaxQ(s′,a′)−Q(s,a)]
但为何max操作会导致Maximization Bias?
假设动作值函数已被优化到了一定程度,设为Q+ϵ,其中Q是真实的动作值函数,ϵ∼N(0,1),则
Eϵ[max(Q+ϵ)]≥Eϵ[Q∗+ϵ]=Q∗+Eϵ=Q∗
即取max后在期望上会比真实的Q∗=maxQ更大,所以估计会偏大。
REINFORCE算法中的γt来源
REINFORCE算法的策略函数参数更新方式为
θ+=αγtG(τt:T)∂θ∂logπθ(at∣st)
更新项为策略梯度中t时刻之后的部分,隐含的意思是t时刻之前的部分期望为0:
Et=0∑T−1∂θ∂logπθ(at∣st)G(τ0:t−1)=0
如何证明?
该算法后面会学习一个带基线的REINFORCE算法,证明了为策略梯度引入一个和at无关的基准函数b(st)后期望不变,即(过程书上有):
Et=0∑T−1b(st)∂θ∂logπθ(at∣st)=0
因为G(τ0:t−1)也跟at无关,所以代入b(st)=G(τ0:t−1)同理可证。
带基线的Reinforce算法中α=1的证明
邱锡鹏书中提供了使用基线可减小REINFORCE算法方差有主要证明(详见我的笔记方差削减),但取V为基线后就把因子α去掉了,为何α=1?
因为V=EaQ,所以
cov(Q,V)=Ea,s(QV)−Ea,sQ⋅EsV=EsV2−Es2V=DV
所以α=DVcov(Q,V)=1