策略梯度与基线函数
策略梯度
将一个静态马尔可夫随机策略参数化为 πθ(a∣s),为了最大化策略的期望回报,定义目标函数:
J(θ)=Es0∼b0(⋅)Ea0∼πθ(⋅∣s0)Er1∼r(⋅∣s0, a0)Es1∼p(⋅∣s0, a0)Ea1∼πθ(⋅∣s1)Er2∼r(⋅∣s1, a1)⋯ErT+1∼r(⋅∣sT, aT)[t=0∑Tγtrt+1]=Es0∼b0(⋅)Ea0∼πθ(⋅∣s0)Es1∼p(⋅∣s0 a0)Ea1∼πθ(⋅∣s1)⋯EsT∼p(⋅∣sT−1, aT−1)EaT∼πθ(⋅∣sT)[t=0∑TγtR(st, at)]=s0∑a0∑s1∑a1∑⋯sT∑aT∑[b0(s0)t=0∏Tπθ(at∣st)t=1∏Tp(st∣st−1, at−1)t=0∑TγtR(st, at)]
在策略的条件概率值 πθ(at∣st) 对策略参数 θ 求梯度时为了方便起见将形式重写为:
∇θπθ(at∣st)=πθ(at∣st)πθ(at∣st)∇θπθ(at∣st)=πθ(at∣st)∇θlnπθ(at∣st)
因此目标函数中策略条件概率的乘积项的梯度为:
∇θt=0∏Tπθ(at∣st)=t=0∏Tπθ(at∣st)t=0∑T∇θlnπθ(at∣st)
目标函数对策略参数 θ 求导得到(一行实在写不下了,期望下标中的条件分布暂时省略 😭):
∇θJ(θ)=s0∑a0∑s1∑a1∑⋯sT∑aT∑[b0(s0)(∇θt=0∏Tπθ(at∣st))t=1∏Tp(st∣st−1, at−1)t=0∑TγtR(st, at)]=Es0Ea0Es1Ea1⋯EsTEaT[(t=0∑T∇θlnπθ(at∣st))⋅(t=0∑TγtR(st, at))]
考虑以上梯度中的一项乘积因子 ∇θπθ(at∣st)R(sτ, aτ) 在 t>τ 时的期望:
Es0Ea0Es1Ea1⋯EsTEaT[∇θlnπθ(at∣st)R(sτ, aτ)]=Es0Ea0Es1Ea1⋯EstEat[∇θlnπθ(at∣st)R(sτ, aτ)]
其中:
=Eat∼πθ(⋅∣st)[∇θlnπθ(at∣st)R(sτ, aτ)]=R(sτ, aτ)Eat∣πθ(⋅∣st)∇θlnπθ(at∣st)R(sτ, aτ)at∑πθ(at∣st)∇θlnπθ(at∣st)=R(sτ, aτ)∇θ1at∑πθ(at∣st)=0
因此所有 t>τ 的乘积因子项的期望均为 0,策略梯度简化为:
∇θJ(θ)=Es0Ea0Es1Ea1⋯EsTEaT[t=0∑T∇θlnπθ(at∣st)τ=t∑TγτR(sτ, aτ)]=t=0∑TEs0Ea0Es1Ea1⋯EstEat[∇θlnπθ(at∣st)⋅γtqπθ(t)(st, at)Est+1Eat+1⋯EsTEaTτ=t∑Tγτ−tR(sτ, aτ)]=t=0∑TγtEs0Ea0Es1Ea1⋯EstEat[∇θlnπθ(at∣st)qπθ(t)(st, at)]
由于:
Es0Ea0Es1Ea1⋯Est[f(st)]=s0∑a0∑s1∑a1∑⋯st∑b0(s0)τ=0∏t−1πθ(aτ∣sτ)τ=0∏t−1p(sτ+1∣sτ, aτ)f(st)=st∑f(st)s0∑a0∑s1∑a1∑⋯st−1∑b0(s0)τ=0∏t−1πθ(aτ∣sτ)τ=0∏t−1p(sτ+1∣sτ, aτ)=st∑f(st)bt(st)=Est∼bt(⋅)[f(st)]
其中 bt(⋅) 为初始状态分布 b0(⋅) 和策略 πθ 下状态 st 的边缘概率分布,基于此可以改写策略梯度形式为:
∇θJ(θ)=t=0∑TγtEst∼bt(⋅)Eat∼πθ(⋅∣st)[∇θlnπθ(at∣st)qπθ(t)(st, at)]
推广到无限期规划下:
∇θJ(θ)=t=0∑∞γtEst∼bt(⋅)Eat∼πθ(⋅∣st)[∇θlnπθ(at∣st)qπθ(st, at)]=t=0∑∞γts∑bt(s)a∑πθ(a∣s)[∇θlnπθ(a∣s)qπθ(s, a)]=1−γ1s∑νπθ(s)((1−γ)t=0∑∞γtbt(s))a∑πθ(a∣s)[∇θlnπθ(a∣s)qπθ(s, a)]=1−γ1s∑a∑ρπθ(s, a)νπθ(s)πθ(a∣s)[∇θlnπθ(a∣s)qπθ(s, a)]∝Es∼νθ(⋅)Ea∼πθ(⋅)[∇θlnπθ(a∣s)qπθ(s, a)]=E(s, a)∼ρθ(⋅, ⋅)[∇θlnπθ(a∣s)qπθ(s, a)]
其中 νπθ(⋅) 和 ρπθ(⋅, ⋅) 分别为初始状态分布 b0(⋅) 和策略 πθ 下的状态访问分布和占用度量,并满足:
νπ(s)=(1−γ)t=0∑∞γtbt(s)=(1−γ)b0(s)+(1−γ)γt=0∑∞γtbt+1(s)=(1−γ)b0(s)+(1−γ)γt=0∑∞γts′∑bt(s′)pπ(1)(s∣s′)=(1−γ)b0(s)+(1−γ)γt=0∑∞γts′∑bt(s′)a′∑p(s∣s′, a′)π(a′∣s′)=(1−γ)b0(s)+γs′∑νπ(s′)(1−γ)t=0∑∞γtbt(s′)a′∑p(s∣s′, a′)π(a′∣s′)=(1−γ)b0(s)+γs′∑νπ(s′)a′∑p(s∣s′, a′)π(a′∣s′)
通过和贝尔曼期望方程类似的方法可以判断出等式右侧的映射为压缩映射,方程的解存在且唯一。其中,归一化系数 1−γ 是为了保证状态访问分布的概率规范性:
s∑νπθ(s)=(1−γ)t=0∑∞γts∑bt(s)=(1−γ)t=0∑∞γt=(1−γ)1−γ1=1
如果初始状态分布 b0(⋅) 为 πθ 下的稳态分布 ιπθ(⋅),即:
ιπθ(st+1)=st∑at∑ιπθ(st)πθ(at∣st)p(st+1∣st, at)=st∑ιπθ(st)at∑πθ(at∣st)p(st+1∣st, at)
在稳态分布下有:
=Est∼ιπθ(⋅)Eat∼πθ(⋅∣st)Est+1∼p(⋅∣st, at)[f(st+1)]=st∑at∑st+1∑ιπθ(st)πθ(at∣st)p(st+1∣st, at)f(st+1)st+1∑f(st+1)st∑at∑ιπθ(st)πθ(at∣st)p(st+1∣st, at)=st+1∑ιπθ(st+1)f(st+1)=Est+1∼ιπθ(⋅)[f(st+1)]
结合稳态分布假设可以将策略梯度重写为:
∇θJ(θ)=t=0∑TγtEst∼bt(⋅)Eat∼πθ(⋅∣st)[∇θlnπθ(at∣st)qπθ(t)(st, at)]=t=0∑TγtEst∼ιπθ(⋅)Eat∼πθ(⋅∣st)[∇θlnπθ(at∣st)qπθ(t)(st, at)]
在无限期规划下则有:
∇θJ(θ)=1−γ1Es∼ιπθ(⋅)Ea∼πθ(⋅∣s)[∇θlnπθ(a∣s)qπθ(s, a)]∝Es∼ιπθ(⋅)Ea∼πθ(⋅∣s)[∇θlnπθ(a∣s)qπθ(s, a)]
策略梯度(带基线)
通过基线函数 b 来重写策略梯度形式为:
∇θJ(θ)≜t=0∑TγtEs0Ea0Es1Ea1⋯EstEat[∇θlnπθ(at∣st)(qπθ(t)(st, at)−b)]
在稳态分布假设和无限期规划下则是:
∇θJ(θ)≜Es∼ιπθ(⋅)Ea∼πθ(⋅∣s)[(qπθ(s, a)−b)∇θlnπθ(a∣s)]
其中,基线函数 b 不是动作 a(或 at)的函数,进而可得:
Ea∼πθ(⋅∣s)b∇θlnπθ(a∣s)=ba∑πθ(a∣s)∇θlnπθ(a∣s)=b∇θa∑πθ(a∣s)=0
因此在加入基线函数后策略梯度保持不变,通过样本的近似估计仍然无偏,但估计的方差与基线函数相关:
Var=i=1∑dDa∼πθ(⋅∣s)[(qπθ(s, a)−b)∂θi∂lnπθ(a∣s)]=i=1∑dEa∼πθ(⋅∣s)[(qπθ(s, a)−b)2(∂θi∂lnπθ(a∣s))2]−i=1∑dEa∼πθ(⋅∣s)2[(qπθ(s, a)−b)∂θi∂lnπθ(a∣s)]=i=1∑dEa∼πθ(⋅∣s)[(qπθ(s, a)−b)2(∂θi∂lnπθ(a∣s))2]−i=1∑dEa∼πθ(⋅∣s)2[qπθ(s, a)∂θi∂lnπθ(a∣s)]
方差对基线函数的一阶导数和二阶导数分别为:
dbdVar=2i=1∑dEa∼πθ(⋅∣s)[(b−qπθ(s, a))(∂θi∂lnπθ(a∣s))2]db2d2Var=2i=1∑dEa∼πθ(⋅∣s)(∂θi∂lnπθ(a∣s))2≥0
可得最优基线函数为:
b⋆=i=1∑dEa∼πθ(⋅∣s)[(b−qπθ(s, a))(∂θi∂lnπθ(a∣s))2]/i=1∑dEa∼πθ(⋅∣s)(∂θi∂lnπθ(a∣s))2
实际中可以取基线函数为 b=vπθ(s),从而达到降低策略梯度估计方差的效果。
💡从另一个角度来理解基线函数的意义:在原始的策略梯度定义下使用单个样本进行随机梯度更新时:
θ←θ+α∇θlnπθ(at∣st)qπθ(t)(st, at)
例如所有动作的动作价值均为正,即使 at 的价值低于所有动作的价值的平均水平(例如 vπθ(t)(st))上式也会倾向于增加 πθ(at∣st) 并相应地降低其他更优动作的采样概率。而加入基线函数 vπθ(t)(st) 后:
θ←θ+α∇θlnπθ(at∣st)[qπθ(t)(st, at)−vπθ(t)(st)]=θ+α∇θlnπθ(at∣st)[qπθ(t)(st, at)−Eat∼π(⋅∣st)qπθ(t)(st, at)]
如果 qπθ(t)(st, at)<vπθ(t)(st),上式会倾向于降低 πθ(at∣st),并增加其他更优动作的采样概率。与未加入基线函数的原始策略梯度相比,这种方法可以在随机梯度下更有效地更新策略。