本文我们来简单介绍下一种强化学习方法——TRPO (Trust Region Policy Optimization),中文名称是“置信域策略优化”。该方法由伯克利博士生 John Schulman 提出。TRPO 是策略搜索方法中的一类随机策略搜索方法,它正面解决了梯度更新步长选择的问题,给出了一种单调的策略改善方法。
本文仅简要论述其原理,更多细节请参考:
Schulman J., Optimizing Expectations: From Deep Reinforcement Learning to Stochastic Computation Graphs. PhD thesis, University of California, Berkeley, 2016.
数学基础
首先给出一些数学基础,对于统计、优化功底较强的读者可直接跳过。
信息论基础
信息熵:对于离散的系统
H(X)=−∑ipilogpi H ( X ) = − ∑ i p i log p i
对于连续的系统
H(x)=Ex∼P[I(x)]=−Ex∼P[logP(x)] H ( x ) = E x ∼ P [ I ( x ) ] = − E x ∼ P [ log P ( x ) ]
信息熵反映了信息量的多少,信息熵越大说明信息量越多。随机事件的信息量与随机变量的确定性有关,不确定性越大包含的信息量就越大。
交叉熵:令不完美的编码用 Q Q 表示,平均编码长度为
KL散度:
DKL(P∥Q)=Ex∼P[logP(x)Q(x)]=∫P(x)logP(x)dx−∫P(x)logQ(x)dx D K L ( P ‖ Q ) = E x ∼ P [ log P ( x ) Q ( x ) ] = ∫ P ( x ) log P ( x ) d x − ∫ P ( x ) log Q ( x ) d x
KL 散度用来衡量两个概率分布之间的相似程度,其重要性质是
非负性
1,而且,当且仅当两个概率分布处处相等时,KL散度取到零。KL散度与一般的距离不同,它一般不具有对称性。
H(P,Q)=DKL(P∥Q)+H(P) H ( P , Q ) = D K L ( P ‖ Q ) + H ( P )
上述关系很容易推导,此处从略,可以看出样本的真实分布
P P
保持不变,最优化交叉熵等价于最优化 KL 散度。KL散度还可用于
异常检测。
优化基础
TRPO 最终将转化为优化问题。时间有限,这里不展开介绍,具体细节参考以下两篇文章即可:
TRPO
优势函数
TRPO的关键作用在于找到合适的步长。合适的步长是指当策略更新后,回报函数的值不能更差。令
表示一组状态-行为序列 s0,u0,…,sH,uH s 0 , u 0 , … , s H , u H ,则回报函数为
η(π~)=Eτ|π~[∑t=0∞γtr(st)] η ( π ~ ) = E τ | π ~ [ ∑ t = 0 ∞ γ t r ( s t ) ]
其中
π~ π ~
表示新策略。我们令
π π
表示旧策略,那么拆分回报函数:
η(π~)=η(π)+Es0,a0,⋯∼π~[∑t=0∞γtAπ(st,at)] η ( π ~ ) = η ( π ) + E s 0 , a 0 , ⋯ ∼ π ~ [ ∑ t = 0 ∞ γ t A π ( s t , a t ) ]
其中
2
Aπ(s,a)=Qπ(s,a)−Vπ(s)=Es′∼P(s′|s,a)[r(s)+γVπ(s′)−Vπ(s)] A π ( s , a ) = Q π ( s , a ) − V π ( s ) = E s ′ ∼ P ( s ′ | s , a ) [ r ( s ) + γ V π ( s ′ ) − V π ( s ) ]
可以看出,价值函数
Vπ(s) V π ( s )
是该状态下所有动作致函数关于动作概率的平均值;而动作值函数
Qπ Q π
是单个动作对应的值函数。因此,优势指的是动作函数相比于当前状态的值函数的优势。如果优势大于零,则说明该动作比平均动作好。
下面我们改写新策略回报函数公式,求取优势函数的期望,以便后续估计:
η(π~)