[RL Notes] 平均收益
Contents [show]
1. 折扣的问题
在前文中给出了分幕式和持续性任务的目标,对于持续性任务,通过对未来的收益进行折扣来得到有限的回报,并通过折扣率来平衡短期的收益和长期的回报。
考虑如图 1 所示的 MDP,在初始状态 S 可以选择向左或者向右移动,之后的一系列确定的状态和动作,直到返回状态 S,然后再次面临选择。从 S 向左移动到第一个状态会获得 +1 的收益,从右边返回状态 S 会获得 +2 的收益,其他状态转移的收益为 0。考虑两个策略:在状态 S 始终选择向左走和始终选择向右走,直观上始终向右走会获得最大回报。
使用折扣的方法,容易得到在状态 S 选择向左和向右的价值分别为
VL(S)=11–γ5VR(S)=2γ41–γ5
令 γ=0.5,可得 VL(S)≈1 和 VR(S)≈0.1,此时 VL(S)>VR(S),在状态 S 的策略应该是向左走。令 γ=0.9,可得 VL(S)≈2.4 和 VR(S)≈3.2,此时 VL(S)<VR(S),在状态 S 的策略应该是向右走。
令 VL(S)<VR(S),可以解得 γ>2−1/4≈0.841,这是选择向右走的临界值。如果增加左右两个环的长度,例如左右各有 99 个状态,则需要 γ>2−1/99≈0.993 才会选择向右走。
可见对于不同的 γ,会得到不同的策略。而且对于不同的问题,要得到最优策略所需的 γ 也会不同,要确保智能体能够选择最大化长期收益的动作,γ 要接近 1。在上面的问题中,随着左右两个环中状态数量的增加,选择向右走所需的 γ 越来越接近 1,折扣的效果越来越小,计算得到的回报越来越大,从而影响学习。
2. 平均收益
解决上述问题的一种方法是使用平均收益(average reward)作为目标,它定义为
r(π)≐limh→∞1hh∑t=1E[Rt|S0,A0:t−1∼π]=limt→∞E[Rt|S0,A0:t−1∼π]=∑sμπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)r
假设智能体与环境进行了 h 步交互,上式给出了它在这 h 步期间每一步的平均收益,也就是收益率,它平等对待短期和长期的收益。
式 (1) 中 ∑aπ(a|s)∑s′,rp(s′,r|s,a)r 是策略 π 下在状态 s 的期望收益,∑sμπ(s) 对在策略 π 下状态 s 出现的频率求期望。μπ(s) 是一个稳态分布,定义为
μπ(s)≐limt→∞Pr{St=s|A0:t−1∼π}
假设对每一个 π 都存在且独立于 S0,这种关于 MDP 的假设称为遍历性,表示 MDP 开始的位置或智能体的早期决定只具有临时的效果。从长远看,一个状态的期望只与策略本身以及 MDP 的转移概率有关。遍历性足以保证上式中的极限存在。
这里 μπ(s) 是稳态分布的含义是,如果按照 π 选择动作,依然会获得同样的分布
∑sμπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)=μπ(s′)
回到图 1 的例子,对于始终向左走的策略,每 5 步会获得 +1 的收益,平均收益为 r(πL)=1/5=0.2;对于始终向右走的策略,每 5 步会获得 +2 的收益,平均收益为 r(πR)=2/5=0.4。如果使用平均收益作为目标,就会选择向右走的策略。
3. 平均收益的回报
通过平均收益可以直观地比较不同策略的优劣,为了进一步比较不同动作的价值,需要定义平均收益下的回报。
对于平均收益,回报是根据即时收益和平均收益的差来定义的
Gt≐Rt+1–r(π)+Rt+2–r(π)+Rt+3–r(π)+⋯
上式称为差分回报,相应的价值函数称为差分价值函数。它们的定义方式和之前相同,如
vπ(s)≐Eπ[Gt|St=s]qπ(s,a)≐Eπ[Gt|St=s,At=a]
其中 qπ(s,a) 表示在状态 s 选择动作 a 时,能比遵守策略 π 的平均收益多获得的收益的期望。
差分价值函数也有贝尔曼方程,如
qπ(s,a)=∑s′,rp(s′,r|s,a)[r–r(π)+∑a′π(a′|s′)qπ(s′,a′)]
等,注意与之前的版本相比,这里没有 γ,而是使用 r–r(π) 代替原来的即时收益。
4. 差分 Sarsa
差分半梯度 Sarsa 算法如下所示。
差分半梯度 Sarsa 算法,用于估计 ˆq≈q∗
输入:一个参数化的可微动作价值函数 ˆq:S×A×Rd→R
算法参数:步长 α,β>0
任意初始化价值函数的权值 w∈Rd(如 w=0)
任意初始化平均收益的估计值 ¯R∈R(如 ¯R=0)
初始化状态 S 和动作 A
对每一步循环:
采取动作 A,观察 R,S′
通过 ˆq(S′,⋅,w) 选取 A′(如 ε-贪心策略)
δ←R–¯R+ˆq(S′,A′,w)–ˆq(S,A,w)
¯R←¯R+βδ
w←w+αδ∇ˆq(S,A,w)
S←S′
A←A′