关于深度学习中的优化目标

前一篇文章提到了L2 norm(weight decay)和以高斯分布为先验的最大后验估计(Maximum a Posteriori,MAP)的等价性,顺手整理一下和深度学习优化目标相关的几个概念。

记朴素的损失函数(loss function)为\(J(w;X,y)\)。一般意义上容易想到的“损失”如均方误差(Mean Square Error,MSE): \[\mathrm{MSE}=\frac{1}{m}\sum_{i=1}^m \Vert\hat{y}^{(i)} - y^{(i)}\Vert_2^2,\] 其中,假设模型为\(f(x;w)\),则预测结果\(\hat{y}^{(i)}=f(x^{(i)};w)\). 深度学习/机器学习可以直接优化这个损失函数。

更广义而言,深度学习/机器学习所优化的函数又不限于“损失”,不妨称为优化目标函数(target function),当然也可以称为(广义的)损失函数。针对不同情况,优化目标可以如以下几类:

  • 狭义的损失函数,如MSE;
  • 负对数似然,对应于最大似然估计(Maximum Likelihood Estimation,MLE);
  • 两个分布的距离,如交叉熵(Cross Entropy)、KL散度(KL Divergence);
  • 带正则项的目标函数:\(J(w;X,y) + \alpha\Omega(w), \alpha>0\)
  • 带先验的负对数似然,对应于最大后验估计(MAP):\(-\ell(w;X,y)-\log p(w)\)

以上各目标函数都应当最小化以取得最优参数值。

香农熵、交叉熵和KL散度

单点取值对应的自信息\[I(x) = -\log P(x).\]

随机变量分布的香农熵\[H(X) = \mathbb{E}_{X\sim P}[I(x)]=-\mathbb{E}_{X\sim P}[\log P(x)].\]

KL散度: \[\mathrm{KL}(P||Q) = \mathbb{E}_{X\sim P}\left[\log\frac{P(x)}{Q(x)}\right] = \mathbb{E}_{X\sim P}\left[\log P(x) - \log Q(x)\right].\]

交叉熵: \[H(P,Q) = -\mathbb{E}_{X\sim P}[\log Q(x)].\]

注意:交叉熵衡量任意两个分布,不绑定于softmax层输出预测概率和one-hot label之间的交叉熵形式。(“花书”注)

因此有 \[H(P, Q) = H(P) + \mathrm{KL}(P||Q).\]

MLE、交叉熵和KL散度的等价性

在机器学习语境下,假设数据服从的经验(empirical)分布为\(\hat{p}(x)\),模型预测分布为\(q(x;\theta)\).

MLE估计优化目标为 \[\arg\max_\theta \sum_{i=0}^m\log q(x^{(i)};\theta).\] 这等价于在训练数据的经验分布上的期望: \[\arg\max_\theta \mathbb{E}_{X\sim \hat{p}}[\log q(x^{(i)};\theta)].\]

而用KL散度作为优化目标,有: \[\arg\min_\theta \mathrm{KL}(\hat{p}||q)= \arg\min_\theta \mathbb{E}_{X\sim \hat{p}}[\log \hat{p}(x^{(i)}) - \log q(x^{(i)};\theta)].\]

假设数据生成过程固定,则优化目标与\(\log \hat{p}(x^{(i)})\)一项无关,那么该优化目标等价于 \[\arg\min_\theta -\mathbb{E}_{X\sim \hat{p}}[\log q(x^{(i)};\theta)],\] 这与MLE完全等价。

当优化目标为交叉熵\(H(\hat{p}, q)\)时,假设数据生成过程固定,则最小化交叉熵\(H(\hat{p}, q)\)等价于最小化KL散度\(\mathrm{KL}(\hat{p}||q)\)

因此,MLE、交叉熵和KL散度作为优化目标函数相互等价。

高斯分布假设下MSE和MLE的等价性

MSE的使用场合大多为有监督学习下,对条件概率\(p(y|x;\theta)\)进行建模的情况。因此这里考虑条件似然。以MLE作为目标函数,假设样本i.i.d.,则优化目标为 \[\arg\max_\theta \log p(Y|X;\theta) = \arg\max_\theta\sum_{i=1}^m \log p(y^{(i)}|x^{(i)};\theta).\]

假设模型预测结果为\(\hat{y}(x;w)\),定义模型输出概率服从以预测结果为均值的高斯分布:\(p(y|x;w)=\mathcal{N}(y;\hat{y}(x;w), \sigma^2)\),其中方差\(\sigma^2\)给定. 代入MLE优化目标: \[\arg\max_\theta\sum_{i=1}^m \log q(y^{(i)}|x^{(i)};\theta)=\arg\min_\theta\sum_{i=1}^m\frac{\vert\hat{y}^{(i)}(x^{(i)};w) - y^{(i)}\vert^2}{2\sigma^2},\] 其中忽略了一些不含\(w\)的项。

该函数的最优解与MSE最优解完全等价。

简单起见,这里假设label \(y\)为标量。\(y\)为向量的情况下,假设模型输出概率为一多维高斯分布,给定协方差矩阵(如对角阵\(I\))即可。

带正则项的优化目标与MAP的等价性

MAP优化目标为 \[\arg\max_\theta p(\theta|x)=\arg\max_\theta p(x|\theta)+\log p(\theta).\]

假设先验\(p(\theta)\)服从高斯分布\(\mathcal{N}(\theta; 0, \frac{1}{\alpha}I)\),则 \[-\log p(\theta)\propto \alpha \theta^\top \theta,\] 即weight decay惩罚项,也即L2 norm正则项。

类似的,假设先验\(p(\theta)\)服从各向同的Laplace分布\(\mathrm{Laplace}(\theta_i; 0, \frac{1}{\alpha})\),则 \[-\log p(\theta)\propto \alpha \Vert\theta\Vert_1,\] 即L1 norm正则项。

Reference

[1] Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.