基于能量的模型通常为以$e$为底的指数函数,这是什么原因呢?

Boltzmann分布

玻尔兹曼分布是描述一个系统处于特定状态的概率分布,也称Gibbs分布。该概率分布为状态能量和系统温度的函数,即
$$
\begin{aligned}
p_i=\frac{1}{Q}exp(-\frac{\xi_i}{kT})=\frac{exp(-\frac{\xi_i}{kT})}{\sum_{j=1}^Mexp(-\frac{\xi_j}{kT})}
\end{aligned}
$$
式中:

  • $p_i$为状态$i$的概率
  • $\xi_i$为状态$i$的能量
  • $k$为Boltzmann常量
  • $T$为系统的绝对温度
  • $M$为系统中可获取的所有状态
  • $Q$为标准化分母,被称为canonical partition函数

其中,系统拥有宽泛的含义,从“足够数量”的原子集合或单个原子到宏观系统。该分布表明拥有低能量的状态总是比高能量的状态存在的概率更高。

Canonical Partition函数

假设一个热力学大系统与温度为$T$的环境处于热接触,且系统的体积和组成例子数量均是固定的。这种系统的集合构成一个集成,被称为canonical集成。在统计力学中,canonical集成是表示在固定温度下处于热平衡状态的机械系统所有可能的状态。

对于离散系统,其partition函数被定义为
$$
\begin{aligned}
Z=\sum_{i}e^{-\beta E_i}
\end{aligned}
$$
式中:

  • $i$为系统微观状态的索引
  • $\beta=\frac{1}{k_BT}$
  • $E_i$为系统在相应微观状态下的总能量

Partition函数的推导:根据热力学第二定律,处于热平衡状态的系统被认为呈现最大熵配置。那么,就是寻求一个最大化离散Gibbs的状态概率分布$\rho_i$,即
$$
\begin{aligned}
S=-k_B\sum_i p_iln p_i
\end{aligned}
$$
且满足两个物理约束:

  1. 所有状态概率和为$1$

$$
\begin{aligned}
\sum_ip_i=1
\end{aligned}
$$

  1. canonical集成中,系统处于热平衡状态,那么平均能量不会随时间改变

$$
\begin{aligned}
\langle E_i\rangle=\sum_i p_iE_i=U
\end{aligned}
$$

利用拉格朗日乘子法,最大化目标函数为:
$$
\begin{aligned}
\mathcal{L}=(-k_B\sum_i p_iln p_i)+\lambda_1(1-\sum_ip_i)+\lambda_2(U-\sum_ip_iE_i)
\end{aligned}
$$
目标函数的微分量为
$$
\delta\mathcal{L}=\sum_i[-k_Blnp_i-k_B-\lambda_1-\lambda_2E_i]\delta(p_i)
$$
若$\delta\mathcal{L}\equiv0$,那么$0\equiv-k_Blnp_i-k_B-\lambda_1-\lambda_2E_i$,可得:
$$
\begin{aligned}
p_i=exp(\frac{-k_B-\lambda_1-\lambda_2E_i}{k_B})
\end{aligned}
$$
为了取得$\lambda_1$,根据第一个约束:
$$
\begin{aligned}
1 &=\sum_ip_i \\
&=exp(\frac{-k_B-\lambda_1}{k_B})Z
\end{aligned}
$$
式中$Z$就是partition函数
$$
\begin{aligned}
Z\equiv\sum_iexp(-\frac{\lambda_2}{k_B}E_i)
\end{aligned}
$$
由此,可得$\lambda_1=k_Bln(Z)-k_B$

$p_i$可被写为$Z$的特定项,即
$$
\begin{aligned}
p_i=\frac{1}{Z}exp(-\frac{\lambda_2}{k_B}E_i)
\end{aligned}
$$
那么$S=\lambda_2U+k_Bln(Z)$

为了获得$\lambda_2$,根据热力学第一定律$dU=TdS-PdV$,$S$对平均能量$U$求导,可得
$$
\begin{aligned}
\frac{dS}{dU}=\lambda_2\equiv\frac{1}{T}
\end{aligned}
$$
由于$\lambda_2$和$Z$均为$U$的函数,那么直接进行求导:
$$
\begin{aligned}
\frac{dS}{dU}=\frac{d\lambda_2}{dU}U+\lambda_2+k_B\frac{dln(Z)}{d\lambda_2}\frac{d\lambda_2}{dU}
\end{aligned}
$$
且$\frac{d}{d\lambda_2}ln(Z)=-\frac{1}{k_B}\sum_ip_iE_i=-\frac{U}{k_B}$,最终$\lambda_2=\frac{1}{T}$

由此,可得
$$
\begin{aligned}
Z\equiv\sum_ie^{-\beta E_i}
\end{aligned}
$$
最终,可得
$$
\begin{aligned}
p_i=\frac{1}{Z}e^{-\beta E_i} \\
S=\frac{U}{T}+k_BlnZ
\end{aligned}
$$

基于能量的模型

根据论文《A Connection between Generative Adversarial Networks, Inverse Reinforcement Learning, and Energy-Based Models》,基于能量的模型被建模为
$$
\begin{aligned}
p_{\theta}(\mathbf{x})=\frac{1}{Z}exp(-E_{\theta}(\mathbf{x}))
\end{aligned}
$$
参数$\theta$的估计是最大化数据的似然。其中,partition函数$Z$的估计难度较大,需要在学习的内循环中对Boltzmann分布进行采样。根据论文《A Tutorial on Energy-Based Learning》,可知常见的采样方法有马尔可夫蒙特卡洛MCMC和近似推断。

总结

由此可知,基于能量的模型的参数化方式,其背后是热力学第二定律做支撑。

标签: none

版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接

添加新评论