权重衰减(weight decay)在贝叶斯推断(Bayesian inference)下的理解
- 摘要
- 权重衰减
- 贝叶斯(Bayes inference) 视角下的权重衰减
- 似然函数(log likelihood)
- 参考资料
摘要
对于有过拟合的模型,我们经常会用权重衰减(weight decay)这样一种正则化(regularization)的方法。直观上,权重衰减就是在原损失函数的基础上加入了一个对权重模(norm)的惩罚项。这个惩罚项的加入使我们可以权衡模型的灵活性(权重值的绝对值越大,模型越灵活)与稳定性(权重值的绝对值越小,模型越稳定)。那么权重衰减与贝叶斯推断是什么关系呢?本文就来简单介绍下贝叶斯视角下的权重衰减的理解。
权重衰减
假设我们模型的参数是 ( 是一个向量)。假设模型的损失函数是 。加入权重衰减之后,损失函数就变成了 。为了不失一般性,我们将 写成 。 其中 是第 个训练数据对应的真实的 值。 是一个超参数,可以通过交叉验证 (cross validation) 来确定。模型训练就是要找到最佳的参数 ,使得损失函数最小。
贝叶斯(Bayes inference) 视角下的权重衰减
在贝叶斯视角下如何去看权重衰减呢?
假设我们的训练数据集是 ,权重是 。我们用条件概率 表示在观测到数据 的条件下,模型中参数为
根据 Bayes 公式,我们可以将 写成
从贝叶斯推断的角度去考虑模型的参数选择,我们就是希望找到模型的参数 ,使得
在上面的公式右边的项中, 表示观测到数据 的概率,这个概率是通过对所有的权重 可能取到的值的积分而得,所以与
对于 ,即权重的先验分布。我们假设 服从正态分布,可以写成 。
而对于 ,它表示的是在给定模型的参数的时候,观察到训练数据集的条件概率。在这里我们做一个假设,即在给定输入数据 input 以及模型参数 的时候,准确的 的值的分布是一个正态分布。我们记准确的 的值是 ,那么我们的假设可以表示为 。
似然函数(log likelihood)
我们的目的是要求使得 最大的权重参数 。因为 log 函数是单调的,所以取 log 之后不改变结果。从而,我们有 。而
因为 与 无关,于是我们有
根据之前的分析,我们可以把。 写成 。
而
我们求使得 最大的权重参数 ,与求使得 最小的 是一样的。省略掉常数项,同时省略掉 与
可以看出,这个表达式与我们把权重衰减当作惩罚项去优化的表达式是一样的。
于是我们发现,在一定的假设条件下,贝叶斯推断下去找 ,使得
参考资料
[1] Hinton deep learning 课程相关视频