SQL
Soft Q-leaning引入了熵作为正则项,可以说提出了一种新的评价体系,加强了策略的探索性。
同时很意外的与Energy-based model有一定的联系。
值函数改变
以前的Q只是对当前策略未来收益的预测,现在加入熵项:
Qsoft⋆=rt+E(st+1,…)∼ρπMaxEnt∗[l=1∑∞γl(rt+l+αH(πMaxEnt∗(⋅∣st+l)))]
H(π(⋅∣st))=Ea∼π(⋅∣st)[−logπ(a∣st)]
对上式做等价变形:
Qπ(s,a)=E[r(s,a)+t=2∑∞γt−1(r(st,at)−αlogπ(at∣st))∣∣∣∣s1=s,a1=a]
现在Q值函数会对当前策略的未来回报以及策略的熵进行评估。
Policy improvement
现在考虑given Q,如何找到最优策略。
以往PG做法求梯度啥的是可以,但是这里我们可以直接用Q值解出符合当前Q值的最优策略。
现在已知Q(s,a),我们求π⋆(⋅∣s)
πmaxEa∼π(⋅∣s)[Q(s,a)]+αH(π(⋅∣s))=αa∑π(a∣s)(α1Q(s,a)−logπ(a∣s))
πminαa∑π(a∣s)⎣⎢⎡logα1exp(Zs1Q(s,a))π(a∣s)−logZs⎦⎥⎤ZS=∫Aexp(α1Q(s,a))da
因为Zs和策略无关,我们可以无视它。
πminKL(π∣ZS1exp(α1Q(s,a)))π⋆(s,a)=Zsexp(α1Q(s,a))
可以看到,我们直接通过Q值,解出了满足当前Q值的最优策略解。
V值函数
基于我们对Q值的新定义,我们可以得到V值函数:
Vπ(s)=Ea∼π(⋅∣s)[Q(s,a)−αlogπ(a∣s)]
即按照策略加权的下一步的Q函数,加上自己这一步的熵。
在Q函数确定,π⋆也跟着确定下,我们可以直接由Q求出V值函数。
V(s)=∫BZsexp(α1Q(s,a))⋅[Q(s,a)−(Q(s,a)−αlogZs)]=αlogZs=αlog∫Aexp(α1Q(s,a))da
形式上就是对Q的Softmax。
Policy evaluation
用bellman error来更新Q函数:
Given(s,a,r,s′)Q(s,a)←r(s,a)+V(s′)...(1)=r(s,a)+αlog∫Aexp(α1Q(s′,a))da...(2)
实际上那个积分是intractable的,我们只能用采样去近似,同时非常惊讶地发现采样分布就tm是Energy-based model distribution。采样方面有一些较成熟高效的做法,比如郎之万采样。
Important insights
值得注意的是上述(1)式子是纯血的policy evaluation,而(2)式子则在此基础上融合了policy improvement。
这意味着(2)式子只用一个更新公式包含了两者,我们不在需要像PG算法那样交替进行policy evaluation和policy improvement。