权重衰减(weight decay)在贝叶斯推断(Bayesian inference)下的理解

  • 摘要
  • 权重衰减
  • 贝叶斯(Bayes inference) 视角下的权重衰减
  • 似然函数(log likelihood)
  • 参考资料


摘要

对于有过拟合的模型,我们经常会用权重衰减(weight decay)这样一种正则化(regularization)的方法。直观上,权重衰减就是在原损失函数的基础上加入了一个对权重模(norm)的惩罚项。这个惩罚项的加入使我们可以权衡模型的灵活性(权重值的绝对值越大,模型越灵活)与稳定性(权重值的绝对值越小,模型越稳定)。那么权重衰减与贝叶斯推断是什么关系呢?本文就来简单介绍下贝叶斯视角下的权重衰减的理解。

权重衰减

假设我们模型的参数是 学习率衰减 权重衰减 衰减加权_权重学习率衰减 权重衰减 衰减加权_权重 是一个向量)。假设模型的损失函数是 学习率衰减 权重衰减 衰减加权_权重_03。加入权重衰减之后,损失函数就变成了 学习率衰减 权重衰减 衰减加权_损失函数_04。为了不失一般性,我们将 学习率衰减 权重衰减 衰减加权_权重_03 写成 学习率衰减 权重衰减 衰减加权_数据_06。 其中 学习率衰减 权重衰减 衰减加权_权重_07 是第 学习率衰减 权重衰减 衰减加权_权重_08 个训练数据对应的真实的 学习率衰减 权重衰减 衰减加权_学习率衰减 权重衰减_09 值。 学习率衰减 权重衰减 衰减加权_数据_10 是一个超参数,可以通过交叉验证 (cross validation) 来确定。模型训练就是要找到最佳的参数 学习率衰减 权重衰减 衰减加权_权重,使得损失函数最小。

贝叶斯(Bayes inference) 视角下的权重衰减

在贝叶斯视角下如何去看权重衰减呢?

假设我们的训练数据集是 学习率衰减 权重衰减 衰减加权_权重_12,权重是 学习率衰减 权重衰减 衰减加权_权重。我们用条件概率 学习率衰减 权重衰减 衰减加权_损失函数_14 表示在观测到数据 学习率衰减 权重衰减 衰减加权_权重_12 的条件下,模型中参数为 学习率衰减 权重衰减 衰减加权_权重

根据 Bayes 公式,我们可以将 学习率衰减 权重衰减 衰减加权_损失函数_14 写成
学习率衰减 权重衰减 衰减加权_权重_18

从贝叶斯推断的角度去考虑模型的参数选择,我们就是希望找到模型的参数 学习率衰减 权重衰减 衰减加权_权重,使得 学习率衰减 权重衰减 衰减加权_损失函数_14

在上面的公式右边的项中,学习率衰减 权重衰减 衰减加权_数据_21 表示观测到数据 学习率衰减 权重衰减 衰减加权_权重_12 的概率,这个概率是通过对所有的权重 学习率衰减 权重衰减 衰减加权_权重 可能取到的值的积分而得,所以与 学习率衰减 权重衰减 衰减加权_权重

对于 学习率衰减 权重衰减 衰减加权_数据_25,即权重的先验分布。我们假设 学习率衰减 权重衰减 衰减加权_权重 服从正态分布,可以写成 学习率衰减 权重衰减 衰减加权_机器学习_27

而对于 学习率衰减 权重衰减 衰减加权_数据_28,它表示的是在给定模型的参数的时候,观察到训练数据集的条件概率。在这里我们做一个假设,即在给定输入数据 input 以及模型参数 学习率衰减 权重衰减 衰减加权_权重 的时候,准确的 学习率衰减 权重衰减 衰减加权_学习率衰减 权重衰减_09 的值的分布是一个正态分布。我们记准确的 学习率衰减 权重衰减 衰减加权_学习率衰减 权重衰减_09 的值是 学习率衰减 权重衰减 衰减加权_损失函数_32,那么我们的假设可以表示为 学习率衰减 权重衰减 衰减加权_学习率衰减 权重衰减_33

似然函数(log likelihood)

我们的目的是要求使得 学习率衰减 权重衰减 衰减加权_损失函数_14 最大的权重参数 学习率衰减 权重衰减 衰减加权_权重。因为 log 函数是单调的,所以取 log 之后不改变结果。从而,我们有 学习率衰减 权重衰减 衰减加权_权重_36。而

学习率衰减 权重衰减 衰减加权_权重_37

因为 学习率衰减 权重衰减 衰减加权_机器学习_38学习率衰减 权重衰减 衰减加权_权重 无关,于是我们有
学习率衰减 权重衰减 衰减加权_学习率衰减 权重衰减_40

根据之前的分析,我们可以把。学习率衰减 权重衰减 衰减加权_数据_41 写成 学习率衰减 权重衰减 衰减加权_数据_42

学习率衰减 权重衰减 衰减加权_权重_43

我们求使得 学习率衰减 权重衰减 衰减加权_损失函数_14 最大的权重参数 学习率衰减 权重衰减 衰减加权_权重,与求使得 学习率衰减 权重衰减 衰减加权_损失函数_46 最小的 学习率衰减 权重衰减 衰减加权_权重 是一样的。省略掉常数项,同时省略掉 学习率衰减 权重衰减 衰减加权_权重_48学习率衰减 权重衰减 衰减加权_学习率衰减 权重衰减_49

学习率衰减 权重衰减 衰减加权_机器学习_50

可以看出,这个表达式与我们把权重衰减当作惩罚项去优化的表达式是一样的。

于是我们发现,在一定的假设条件下,贝叶斯推断下去找 学习率衰减 权重衰减 衰减加权_权重,使得 学习率衰减 权重衰减 衰减加权_损失函数_46

参考资料

[1] Hinton deep learning 课程相关视频