Energy Based Models

Energy Based Models

​ 能量模型并不是一种新的技术:将当前的DL,ML统一在能量模型的框架中。我们先理解一下何为能量函数,能量函数通常写作 E(x,y)E(x,y) ,用于衡量 x,yx,y 的 compatibility,可以理解为 x,yx,y 是否匹配,能量越小匹配度越高

EBM 和 PBM 的区别

​ EBM (Energy Based Models) 与 PBM (Probability Based Models) 在学习目标上的核心区别在于它们如何理解和建模数据之间的关系。简而言之,PBM 主要关注于直接建模数据的概率分布,而 EBM 则通过定义一个能量函数来间接反映数据点之间的关系。

定义与学习目标

  • PBM:这类模型直接学习数据的概率分布 p(x)p(x) 或者条件概率 p(yx)p(y∣x),其目的是为了最大化数据出现的真实概率。典型的例子包括最大似然估计方法、贝叶斯网络等。
  • EBM:这类模型通过定义一个能量函数 E(x,y)E(x,y) 来表示输入 xx 和输出 yy 之间的匹配程度或不适配度。能量函数越小,表示 xxyy 越匹配。EBM 的目标不是直接估计概率,而是通过最小化能量函数来找到最匹配的数据对。

EBM:y=fθ(x)PBM:E=fθ(x,y)\text{EBM:} \quad y = f_\theta(x) \\ \text{PBM:} \quad E = f_\theta(x,y)

应用示例

  • 分类任务:在 EBM 中,可以通过固定输入 xx 并寻找能量最低的输出 yy 来完成分类任务,即:

y=argminyf(x0,y)y = \arg \min_{y} f(x_0,y)

其中 yy 的优化往往是使用梯度下降算法

  • 条件生成模型:当固定输出 yy 并寻找相应的输入 xx 时,EBM 可以作为条件生成模型使用:固定一个 y0y_0,去寻找一个 xx 就成为了一个条件生成模型:

x=argminxf(x,y0)x = \arg \min_{x} f(x, y_0)

  • 无条件生成模型:当 xxyy 都不固定时,EBM 可以用于生成新的数据-标签对,这要求同时优化 xxyy

(x,y)=argminx,yf(x,y)(x, y) = \arg \min_{x,y} f(x, y)

EBM 相对与 PBM 的优势:

双向推理:

​ EBM 并没有一个严格的输入输出的地位关系,输入可以变成输出,输出也可以变为输入,可以轻松地将输入与输出的角色互换,从而实现双向推理,例如一个十进制和二进制之间的双向转化函数:

binary=argminbinaryf(decimal,binary)decimal=argmindecimalf(decimal,binary)\text{binary} = {\arg \min}_{\text{binary}} f (\text{decimal}, \text{binary}) \\ \text{decimal} = {\arg \min}_{\text{decimal}} f (\text{decimal}, \text{binary})

多输出:

​ 与 PBM 不同,EBM 可以自然地处理多输出问题,即输出所有能量低于特定阈值的结果,这在处理模糊边界的问题时尤为有用:

\text{outputs} = \set {y \mid E(x_0,y) \lt \text{thres}}

抽样:

​ 在 PBM 中,为了生成样本,通常需要对潜在空间的分布做出强假设,例如 VAE 中假设隐变量服从高斯分布。而在 EBM 中,抽样过程更加直接,主要依赖于对能量函数的优化:

yyηEy+2ϵN(0,1)p(y)eEeEy \leftarrow y - \eta \frac{\partial E}{\partial y} +2 \epsilon \mathcal{N}(0,1) \\ p(y) \sim \frac{e^E}{\sum e^E}

EBM 的劣势

尽管 EBM 具有许多吸引人的特性,但它也存在一些明显的局限性:

  • 训练速度慢:由于 EBM 的训练过程中涉及到了复杂的优化问题,特别是当需要在高维空间中寻找最优解时,计算成本会非常高。
  • 模型稳定性差:EBM 的训练过程可能非常不稳定,尤其是在早期训练阶段,容易受到局部极小值的影响。此外,与 PBM 相比,EBM 的性能有时会稍逊一筹,特别是在某些特定的任务上,如图像生成等。
  • 调参困难:为了获得良好的性能,EBM 需要精心调整超参数,如学习率、能量函数的形式等