Energy Based Models
Energy Based Models
能量模型并不是一种新的技术:将当前的DL,ML统一在能量模型的框架中。我们先理解一下何为能量函数,能量函数通常写作 ,用于衡量 的 compatibility,可以理解为 是否匹配,能量越小匹配度越高
EBM 和 PBM 的区别
EBM (Energy Based Models) 与 PBM (Probability Based Models) 在学习目标上的核心区别在于它们如何理解和建模数据之间的关系。简而言之,PBM 主要关注于直接建模数据的概率分布,而 EBM 则通过定义一个能量函数来间接反映数据点之间的关系。
定义与学习目标
- PBM:这类模型直接学习数据的概率分布 或者条件概率 ,其目的是为了最大化数据出现的真实概率。典型的例子包括最大似然估计方法、贝叶斯网络等。
- EBM:这类模型通过定义一个能量函数 来表示输入 和输出 之间的匹配程度或不适配度。能量函数越小,表示 和 越匹配。EBM 的目标不是直接估计概率,而是通过最小化能量函数来找到最匹配的数据对。
应用示例
- 分类任务:在 EBM 中,可以通过固定输入 并寻找能量最低的输出 来完成分类任务,即:
其中 的优化往往是使用梯度下降算法
- 条件生成模型:当固定输出 并寻找相应的输入 时,EBM 可以作为条件生成模型使用:固定一个 ,去寻找一个 就成为了一个条件生成模型:
- 无条件生成模型:当 和 都不固定时,EBM 可以用于生成新的数据-标签对,这要求同时优化 和 :
EBM 相对与 PBM 的优势:
双向推理:
EBM 并没有一个严格的输入输出的地位关系,输入可以变成输出,输出也可以变为输入,可以轻松地将输入与输出的角色互换,从而实现双向推理,例如一个十进制和二进制之间的双向转化函数:
多输出:
与 PBM 不同,EBM 可以自然地处理多输出问题,即输出所有能量低于特定阈值的结果,这在处理模糊边界的问题时尤为有用:
\text{outputs} = \set {y \mid E(x_0,y) \lt \text{thres}}
抽样:
在 PBM 中,为了生成样本,通常需要对潜在空间的分布做出强假设,例如 VAE 中假设隐变量服从高斯分布。而在 EBM 中,抽样过程更加直接,主要依赖于对能量函数的优化:
EBM 的劣势
尽管 EBM 具有许多吸引人的特性,但它也存在一些明显的局限性:
- 训练速度慢:由于 EBM 的训练过程中涉及到了复杂的优化问题,特别是当需要在高维空间中寻找最优解时,计算成本会非常高。
- 模型稳定性差:EBM 的训练过程可能非常不稳定,尤其是在早期训练阶段,容易受到局部极小值的影响。此外,与 PBM 相比,EBM 的性能有时会稍逊一筹,特别是在某些特定的任务上,如图像生成等。
- 调参困难:为了获得良好的性能,EBM 需要精心调整超参数,如学习率、能量函数的形式等