记录一下读论文的情况喵
引入
[参数] (S,A,T,r,γ)
动作、状态空间,T(s′∣s,a)转移,r(s,a)回报,πβ(a∣s)数据集行为策略,D数据集,dπβ(s)折扣边缘状态分布
D从dπβ(s)πβ(a∣s)中抽样
一个基本的迭代方式如下
Q^k+1←argQminEs,a,s′∼D[(r(s,a)+γEa′∼π^k(a′∣s′)[Q^k(s′,a′)]−Q(s,a)))2]
π^k+1←argπmaxEs∼D,a∼πk((a∣s))[Q^k+1(s,a)]
[问题] 对状态-动作对采样不充分导致sample error
Bellman算子
我们知道,状态空间与动作空间均为集合,假设状态空间S为{s1,s2,⋯,sn,⋯},动作空间A为{a1,a2,⋯,am,⋯},同时二者可以表示为一系列向量
[定义] 值函数vπ:S→R,策略π下,从状态s开始到结束的回报期望
- 最优值函数v∗:S→R,v∗(s)=maxπvπ(s)
[定义] Rsa:状态s做动作a得到的奖励的期望,Ps,s′a状态转移概率
- Rπ(s)=∑a∈Aπ(a∣s)⋅Rsa
- Pπ(s,s′)=∑a∈Aπ(a∣s)⋅Ps,s′a
- 同样可以用向量和矩阵考虑
[Bellman Policy Operator] Bπ, Bπ=Rπ+γPπ⋅v
- 为线性算子,存在不动点vπ,s.t.Bπvπ=vπ
[Bellman Optimality Operator] B∗, B∗v(s)=maxa{Rsa+γ∑s′∈SPs,s′a⋅v(s′)}
[贪心策略算子] G, G(v(s))=argmaxa{Rsa+γ∑s′∈SPs,s′a⋅v(s′)}
[性质] Bπ,B∗均具有唯一不动点(巴拿赫不动点定理),且最终收敛至不动点
[值迭代] limn→∞BπNv=vπ
[策略迭代] 迭代过程为πk+1=G(vπk)
原理:由B∗vπk=BG(πk)vπk=Bπk+1vπk,有B∗vπk≥Bπkvπk=vπk
所以Bπk+1Nvπk=vπk+1≥Bπkvπk=vπk,说明这是一个不断优化的过程
由于B∗有唯一不动点v∗,s.t.B∗v∗=v∗,且单增
因此limn→∞B∗Nv=v∗,可以考虑直接迭代
保守Q学习-CQL
Policy Evaluation
为了防止高估价值,在原MSE式子的基础上让他最小化Q值来学习保守的下限的Q函数,相当于添加一个惩罚项来让Q函数没那么大
具体来说,我们考虑一个特定的动作-状态分布μ(s,a),最小化该分布下的Q函数。由于普通Q函数的训练过程中不会查询未出现过状态下的Q函数值,只查询未出现过动作下的值,令μ匹配数据集,有
μ(s,a)=dπβ(s)μ(a∣s)
考虑权衡因子α,我们得到policy evaluation
Q^k+1←argQminαEs∼D,a∼μ(a∣s)[Q(s,a)]+21Es,a∼D[(Q(s,a)−B^πQ^k(s,a))2]
通过再添加一项,我们能大大收紧这个下界:
Q^k+1←argQminα⋅(Es∼D,a∼μ(a∣s)[Q(s,a)]−Es∼D,a∼π^β(a∣s)[Q(s,a)])+21Es,a∼D[(Q(s,a)−B^πQ^k(s,a))2]
原理看不懂,貌似是考虑了采样的集中性质
此时在μ=π时,该式给出了策略π下的预期值的限制
[结论] 式子给出了一个真实Q函数的下限,而且数据越多,保证下界的α值减小
CQL
考虑优化策略,由于式2要求μ=π,我们可以考虑每次迭代π^k后迭代式2得到Q值,然而这样计算开销过大
因此考虑使用μ近似那个能最大化当前Q函数迭代的策略
因此对式2修正为
Qminμmaxα⋅(Es∼D,a∼μ(a∣s)[Q(s,a)]−Es∼D,a∼π^β(a∣s)[Q(s,a)])+21Es,a∼D[(Q(s,a)−B^πQ^k(s,a))2]+R(μ)
其中R(μ)为正则项,防止过拟合
考虑使用KL散度作为正则项,计先验分布ρ(a∣s),则有R(μ)=−DKL(μ,ρ)
两个想法是把这个先验分布设置成均匀分布或者π^k−1的分布
[正则化] 由于先要找到μ令式子最大,R(μ)能减少分布的方差,防止过拟合