最大熵强化学习
基础定义
为了防止策略网络输出的概率集中在一个动作上,平衡探索性能,可以通过熵来衡量策略分布的不确定性:
H(π∣s)=−Ea∼π(⋅∣s)lnπ(a∣s)=−a∑π(a∣s)lnπ(a∣s)
原始的 RL 问题的优化目标为:
J(π)=Es0∼b0(⋅)Ea0∼π(⋅∣s0)Es1∼p(⋅∣s0, a0)Ea1∼π(⋅∣s1)⋯EsT∼p(⋅∣sT−1, aT−1)EaT∼π(⋅∣sT)[t=0∑TγtR(st, at)]
在最大熵 RL 框架下,优化目标加入了熵正则项来增强探索程度,同时减少陷入局部最优的可能性:
Ω(π)=Es0∼b0(⋅)Ea0∼π(⋅∣s0)Es1∼p(⋅∣s0, a0)Ea1∼π(⋅∣s1)⋯EsT∼p(⋅∣sT−1, aT−1)EaT∼π(⋅∣sT)[t=0∑TγtH(π∣st)]=t=0∑TγtEs0Ea0Es1Ea1⋯Est[H(π∣st)]=t=0∑TγtEs0Ea0Es1Ea1⋯Est[−Eat∼π(⋅∣st)lnπ(at∣st)]=−t=0∑TγtEs0Ea0Es1Ea1⋯EstEat[lnπ(at∣st)]=−Es0Ea0Es1Ea1⋯EsTEaT[t=0∑Tγtlnπ(at∣st)]
总体优化目标为:
JH(π)=J(π)+αΩ(π)=Es0Ea0Es1Ea1⋯EsTEaT[t=0∑Tγt(R(st, at)−αlnπ(at∣st))]
Soft Bellman Expectation Equation
为了方便后续推导,定义带熵正则的动作价值函数为:
qH(t)(st, at)=Est+1Eat+1⋯EsTEaT[τ=t∑Tγτ−tR(sτ, aτ)−ατ=t+1∑Tγτ−tlnπ(aτ∣sτ)]
以上动作价值的定义中没有加入 lnπ(at∣st) 项,原因是在状态 st 下给动作 at 后该项失去了指导策略熵提升的作用。类似地,定义带熵正则的状态价值函数为:
vH(t)(st)=EatEst+1Eat+1⋯EsTEaT[τ=t∑Tγτ−tR(sτ, aτ)−ατ=t∑Tγτ−tlnπ(aτ∣sτ)]
通过定义可以将二者进行展开,得到 MaxEntRL 下的贝尔曼期望方程(soft):
qH(t)(st, at)=R(st, at)+γEst+1[vH(t+1)(st+1)]vH(t)(st)=αH(π∣st)+Eat[qH(t)(st, at)]
在无限期规划下可以重写为:
qH(s, a)=R(s, a)+γEs′[vH(s′)]vH(s)=αH(π∣s)+Ea[qH(s, a)]
在该定义下的贝尔曼期望方程(soft)算子 Lπ:Q↦Q 为:
Lπ{qH}=R(s, a)+γEs′[vH(s′)]=R(s, a)+γEs′Ea′[qH(s′, a′)−αlnπ(a′∣s′)]
利用类似的方法可以证明该算子为压缩映射,贝尔曼期望方程(soft)存在唯一解。
Soft Bellman Optimal Equation
在有限期规划中 t 时间步下,利用动态规划的思想,得到当前的最优策略和最优动作价值函数之间的关系:
π⋆(t)(⋅∣s)=πargmax[αH(π∣s)+Ea∼π(⋅∣s)q⋆(t)(s, a)]=πargmaxEa∼π(⋅∣s)[q⋆(t)(s, a)−αlnπ(a∣s)]
考虑优化问题
pmaxx∑p(x)[ϕ(x)−αlnp(x)]s.t.x∑p(x)=10≤p(x)≤1⇒pminx∑p(x)[αlnp(x)−ϕ(x)]s.t.x∑p(x)−1=0−p(x)≤0p(x)−1≤0
可以看出目标函数和不等式约束函数均为凸函数,并且等式约束函数为仿射变换,构造拉格朗日函数:
L(p, λ, μ, ν)=x∑p(x)[αlnp(x)−ϕ(x)]+λ[x∑p(x)−1]+x∑−μ(x)p(x)+x∑ν(x)[p(x)−1]
最优分布需要满足:
∂p(x)∂L=α[lnp(x)+1]−ϕ(x)+λ−μ(x)+ν(x)=0
解得:
p⋆(x)=exp[α1(ϕ(x)−λ+μ(x)−ν(x))−1]∝exp[α1ϕ(x)]
在最优分布下的,目标函数取到最大值:
J⋆=x∑p⋆(x)[ϕ(x)−αlnp⋆(x)]=x∑p⋆(x)[ϕ(x)−ϕ(x)+αlnZ]=αlnZ=xsoftmaxαϕ(x)
其中,归一化因子 Z=∑xexp[α1ϕ(x)]。因此当前的最优策略为:
π⋆(t)(a∣s)=Z1exp[α1q⋆(t)(s, a)]Z=a∑exp[α1q⋆(t)(s, a)]
进而得到最优状态价值函数和最优动作价值函数之间的关系,即贝尔曼最优方程(soft):
v⋆(t)(s)=αH(π⋆(t)∣s)+Ea∼π⋆(t)(⋅∣s)q⋆(t)(s, a)=asoftmaxαq⋆(t)(s, a)
在该定义下的贝尔曼最优方程(soft)算子 L:Q↦Q 为:
L{qH}=R(s, a)+γEs′∼p(⋅∣s, a)[bsoftmaxαqH(s′, b)]=R(s, a)+γEs′∼p(⋅∣s, a)[αlnb∑exp[α1qH(s′, b)]]
为了证明 L 是一个压缩映射,首先证明:
exp[α1q1(s, a)−α1q2(s, a)]≤exp[α1s, amax∣∣∣∣q1(s, a)−q2(s, a)∣∣∣∣]=exp[α1∥∥∥∥q1−q2∥∥∥∥∞]
因此:
exp[α1q1(s, a)]≤exp[α1q2(s, a)+α1∥∥∥∥q1−q2∥∥∥∥∞]
进而有:
asoftmaxαq1(s, a)=αlna∑exp[α1q1(s, a)]≤αlna∑exp[α1q2(s, a)+α1∥∥∥∥q1−q2∥∥∥∥∞]=αlnexp[α1∥∥∥∥q1−q2∥∥∥∥∞]+αlna∑exp[α1q2(s, a)]=∥∥∥∥q1−q2∥∥∥∥∞+asoftmaxαq2(s, a)
通过类似的方法可以得到:
asoftmaxαq1(s, a)≥−∥∥∥∥q1−q2∥∥∥∥∞+asoftmaxαq2(s, a)
因此:
∣∣∣∣L{q1}(s, a)−L{q2}(s, a)∣∣∣∣=∣∣∣∣∣∣γs′∑p(s′∣s, a)[asoftmaxαq1(s, a)−asoftmaxαq2(s, a)]∣∣∣∣∣∣≤γs′∑p(s′∣s, a)∣∣∣∣∣asoftmaxαq1(s, a)−asoftmaxαq2(s, a)∣∣∣∣∣≤γs′∑p(s′∣s, a)∥∥∥∥q1−q2∥∥∥∥∞=γ∥∥∥∥q1−q2∥∥∥∥∞
最终证明 L 是一个压缩映射 ∥L{q1}−L{q2}∥∞≤γ∥q1−q2∥∞,贝尔曼最优方程(soft)存在唯一解 q⋆,即无限期规划下的最优动作价值函数,同时在无限期规划下的最优策略满足:
π⋆(a∣s)=Z1exp[α1q⋆(s, a)]=exp[α1q⋆(s, a)−α1v⋆(s)]∝exp[α1q⋆(s, a)]