基于能量的模型 (Energy-Based Models, EBM) 是一种生成模型,它通过一个能量函数 E(x) 来定义数据的分布 p(x):
p(x)=Z1exp(−E(x))
其中 Z 是归一化常数,确保概率分布的和为 1。
EBM 与最大熵强化学习
基于能量的模型与最大熵强化学习有很深的联系。最大熵强化学习的策略提升的更新目标为
πnew=Zexp(α1Qπold(s,⋅))
由此我们可以得到,最优策略 π∗ 满足:
π∗=Zexp(α1Qπ∗(s,⋅))
EBM 与离线强化学习
类似地,离线强化学习中,通常使用的一个优化目标是
πmaxs.t.Ea∼π(⋅∣s)[Qπ(s,a)]−λDKL(π(⋅∣s)∣∣πβ(⋅∣s))∫π(a∣s)da=1
其中 πβ 是一个参考策略,通常是数据集中的采样策略。这里的约束条件通常被省略。
其闭式解为:
π(a∣s)=Zexp(Qπ(s,a)/λ)πβ(a∣s)
注意这并不是一个 EBM, 而是一个 EBM 与参考策略的乘积。
证明
将目标函数展开为积分形式:
∫π(a∣s)Q(s,a)da−λ∫π(a∣s)(logπβ(a∣s)π(a∣s))da
构造拉格朗日函数:
L=∫π(a∣s)Q(s,a)da−λ∫π(a∣s)(logπ(a∣s)−logπβ(a∣s))da+μ(1−∫π(a∣s)da)
其中 μ 为拉格朗日乘数。对 π(a∣s) 求变分导数并令其为零:
Q(s,a)−λ(logπ(a∣s)−logπβ(a∣s)+1)−μ=0
整理方程得到:
logπβ(a∣s)π(a∣s)=λQ(s,a)−λμ−1
取指数后得:
π(a∣s)=πβ(a∣s)exp(λQ(s,a))⋅exp(−λμ−1)
将常数项 exp(−λμ−1) 合并进归一化因子 Z,最终闭式解为:
π(a∣s)=Zπβ(a∣s)exp(λQπ(s,a))
其中 Z=∫πβ(a∣s)exp(λQπ(s,a))da