SfBC: Offline Reinforcement Learning via High-fidelity Generative Behavior Modeling

算法流程
- 先用Offline Data使用Diffusion Model按照BC的范式学习数据集合中的条件数据分布p(x∣c)或者说μ(a∣s),这里x即为action,c为state。
- 使用某种方式学习Qϕ(s,a),怎么学我们先不管,你可以先简单理解成用普通的贝尔曼迭代来学习Qϕ(s,a)。
- 通过MC Sampling来近似代理:π∗(a∣s)≈μ(a∣s)exp(αQϕ(s,a))。
可以看到,我们没有使用之前的一些方法直接使用一个额外的神经网路去拟合我们的最优策略,这是因为归一化因子Intractable,所以我们使用一个加权采样的方式进行近似代替。原文片段:

代码片段
1. 训练Diffusion Model
训练:
θ=argθminE(s,a)∼Dμ,ϵ,t[∥σtsθ(αta+σtϵ,s,t)+ϵ]∣22].
采样的时候,aT∼N(0,I),随后使用Inverse ODE Solver进行采样,最后得到a0。
2. 训练Q网络
忽略,这块为了加速收敛比较取巧。
3. Evaluation(这部分其实已经没有什么需要训练的了,只是一个采样策略)