强化学习作为机器学习的子领域,其本身拥有一套完整的理论体系,以及诸多经典和最新前沿算法,"西瓜书"该章内容仅可作为综述查阅,若想深究建议查阅其他相关书籍(例如《Easy
RL:强化学习教程》[1])进行系统性学习。
16.1 任务与奖赏
本节理解强化学习的定义和相关术语的含义即可。
16.2 K-摇臂赌博机
16.2.1 式(16.2)和式(16.3)的推导
Qn(k)=n1i=1∑nvi=n1(i=1∑n−1vi+vn)=n1((n−1)×Qn−1(k)+vn)=Qn−1(k)+n1(vn−Qn−1(k))
16.2.2 式(16.4)的解释
P(k)=∑i=1KeτQ(i)eτQ(k)∝eτQ(k)∝τQ(k)∝τ1
如果τ很大,所有动作几乎以等概率选择(探索);如果
τ很小,Q值大的动作更容易被选中(利用)。
16.3 有模型学习
16.3.1 式(16.7)的解释
因为
π(x,a)=P(action=a∣state=x)
表示在状态x下选择动作a的概率,又因为动作事件之间两两互斥且和为动作空间,由全概率展开公式
P(A)=i=1∑∞P(Bi)P(A∣Bi)
可得
Eπ[T1r1+TT−1T−11t=2∑Trt∣x0=x]=a∈A∑π(x,a)x′∈X∑Px→x′a(T1Rx→x′a+TT−1Eπ[T−11t=1∑T−1rt∣x0=x′])
其中
r1=π(x,a)Px→x′aRx→x′a
最后一个等式用到了递归形式。
Bellman等式定义了当前状态与未来状态之间的关系,表示当前状态的价值函数可以通过下个状态的价值函数来计算。
16.3.2 式(16.8)的推导
Vγπ(x)=Eπ[t=0∑∞γtrt+1∣x0=x]=Eπ[r1+t=1∑∞γtrt+1∣x0=x]=Eπ[r1+γt=1∑∞γt−1rt+1∣x0=x]=a∈A∑π(x,a)x′∈X∑Px→x′a(Rx→x′a+γEπ[t=0∑∞γtrt+1∣x0=x′])=a∈A∑π(x,a)x′∈X∑Px→x′a(Rx→x′a+γVγπ(x′))
16.3.3 式(16.10)的推导
参见式(16.7)和式(16.8)的推导
16.3.4 式(16.14)的解释
为了获得最优的状态值函数V,这里取了两层最优,分别是采用最优策略π∗和选取使得状态动作值函数Q最大的动作maxa∈A。
16.3.5 式(16.15)的解释
最优 Bellman等式表明:最佳策略下的一个状态的价值必须等于在这个状态下采取最好动作得到的累积奖赏值的期望。
16.3.6 式(16.16)的推导
Vπ(x)⩽Qπ(x,π′(x))=x′∈X∑Px→x′π′(x)(Rx→x′π′(x)+γVπ(x′))⩽x′∈X∑Px→x′π′(x)(Rx→x′π′(x)+γQπ(x′,π′(x′)))=x′∈X∑Px→x′π′(x)(Rx→x′π′(x)+x′′∈X∑Px′→x′′π′(x′)(γRx′→x′′π′(x′)+γ2Vπ(x′′)))⩽x′∈X∑Px→x′π′(x)(Rx→x′π′(x)+x′′∈X∑Px′→x′′π′(x′)(γRx′→x′′π′(x′)+γ2Qπ(x′′,π′(x′′))))⩽⋯⩽x′∈X∑Px→x′π′(x)(Rx→x′π′(x)+x′′∈X∑Px′→x′′π′(x′)(γRx′→x′′π′(x′)+x′′∈X∑Px′′→x′′′π′(x′′)(γ2Rx′′→x′′′π′(x′′)+⋯)))=Vπ′(x)
其中,使用了动作改变条件
Qπ(x,π′(x))⩾Vπ(x)
以及状态-动作值函数
Qπ(x′,π′(x′))=x′∈X∑Px′→x′π′(x′)(Rx′→x′π′(x′)+γVπ(x′))
于是,当前状态的最优值函数为
V∗(x)=Vπ′(x)⩾Vπ(x)
16.4 免模型学习
16.4.1 式(16.20)的解释
如果 ϵk=k1,并且其值随 k 增大而主角趋于零,则ϵ− 贪心是在无限的探索中的极限贪心(Greedy in the Limit with Infinite Exploration,简称GLIE)。
16.4.2 式(16.23)的解释
q(x)p(x)称为重要性权重(Importance
Weight),其用于修正两个分布的差异。
16.4.3 式(16.31)的推导
对比公式16.29
Qt+1π(x,a)=Qtπ(x,a)+t+11(rt+1−Qtπ(x,a))
以及由
t+11=α
可知,若下式成立,则公式16.31成立
rt+1=Rx→x′a+γQtπ(x′,a′)
而rt+1表示t+1步的奖赏,即状态x变化到x′的奖赏加上前面t步奖赏总和Qtπ(x′,a′)的γ折扣,因此这个式子成立。
16.5 值函数近似
16.5.1 式(16.33)的解释
古代汉语中"平方"称为"二乘",此处的最小二乘误差也就是均方误差。
16.5.2 式(16.34)的推导
−∂θ∂Eθ=−∂θ∂Ex∼π[(Vπ(x)−Vθ(x))2]
将Vπ(x)−Vθ(x)
看成一个整体,根据链式法则(chain rule)可知
−∂θ∂Ex∼π[(Vπ(x)−Vθ(x))2]=Ex∼π[2(Vπ(x)−Vθ(x))∂θ∂Vθ(x)]
Vθ(x)
是一个标量,θ
是一个向量,∂θ∂Vθ(x)
属于矩阵微积分中的标量对向量求偏导,因此
∂θ∂Vθ(x)=∂θ∂θTx=[∂θ1∂θTx,∂θ2∂θTx,⋯,∂θn∂θTx]T=[x1,x2,⋯,xm]T=x
故
−∂θ∂Eθ=Ex∼π[2(Vπ(x)−Vθ(x))∂θ∂Vθ(x)]=Ex∼π[2(Vπ(x)−Vθ(x))x]
参考文献
[1] 王琦,杨毅远,江季. Easy RL:强化学习教程. 人民邮电出版社, 2022.