另一种正则化模型的噪声使用方式是将其加到的权重。这项技术主要用于循环神经网络(Jim et al., 1996; Graves, 2011)。这可以解释为关于权重的贝叶斯推断的随机实现。使用贝叶斯处理学习过程将权重视为不确定的,并且可以通过概率分布表示这种不确定性。向权重添加噪声是反映这种不确定性的一种实用的随机方法。
在某些假设下,施加于权重的噪声可以被解释为与更传统正则化形式等同,鼓励要学习的函数的稳定性。
我们研究回归的情形,也就是训练将一组特征
x
boldsymbol{x}
x映射成一个标量的函数
y
^
(
x
)
hat{y}(boldsymbol{x})
y^(x),并使用最小二乘代价函数衡量模型预测值
y
^
hat{y}
y^与真实值
y
y
y的误差:
J
=
E
p
(
x
,
y
)
[
(
y
^
(
x
)
−
y
)
2
]
—公式1
J=mathbb{E}_{p(x,y)}[(hat{y}(boldsymbol{x})-y)^2]quadtextbf{footnotesize{---公式1}}
J=Ep(x,y)[(y^(x)−y)2]—公式1
训练集包含
m
m
m对标注样例
{
(
x
(
i
)
,
y
(
i
)
)
,
…
,
(
x
(
m
)
,
y
(
m
)
)
}
{(boldsymbol{x}^{(i)},y^{(i)}),dots,(boldsymbol{x}^{(m)},y^{(m)})}
{(x(i),y(i)),…,(x(m),y(m))}
现在我们假设在每个输入表示上添加网络权重的随机扰动
ϵ
w
∼
N
(
ϵ
;
0
,
η
I
)
epsilon_wsimmathcal{N}(boldsymbol{epsilon};0,etaboldsymbol{I})
ϵw∼N(ϵ;0,ηI)想象我们有一个标准的
l
l
l层
MLP
text{MLP}
MLP。我们将扰动模型记为
y
^
ϵ
W
(
x
)
hat{y}_{epsilon_{boldsymbol{W}}}(boldsymbol{x})
y^ϵW(x)。
尽管有噪声注入,我们仍对减少网络输出误差的平方感兴趣。因此目标函数为:
{
J
^
W
=
E
p
(
x
,
y
,
ϵ
W
)
[
(
y
^
ϵ
W
(
x
)
−
y
)
2
]
—公式2
=
E
p
(
x
,
y
,
ϵ
W
)
[
y
^
ϵ
W
2
(
x
)
−
2
y
y
^
ϵ
W
(
x
)
+
y
2
]
—公式3
{J^W=Ep(x,y,ϵW)[(y^ϵW(x)−y)2]—公式2=Ep(x,y,ϵW)[y^ϵW2(x)−2yy^ϵW(x)+y2]—公式3
对于小的
η
eta
η,最小化带权重噪声(方差为
η
I
etaboldsymbol{I}
ηI)的
J
J
J等同于最小化附加正则化项的
J
:
η
E
p
(
x
,
y
)
[
∥
∇
W
y
^
(
x
)
∥
2
]
J:etamathbb{E}_{p(x,y)}left[Vertnabla_{boldsymbol{W}}hat{y}(boldsymbol{x})Vert^2right]
J:ηEp(x,y)[∥∇Wy^(x)∥2]。
这种形式的正则化鼓励参数进入权重小扰动对输出相对影响较小的参数空间区域。换句话说,它推动模型进入对权重小的变化相对不敏感的区域,找到的点不只是极小点,还是由平坦区域所包围的最小点 (Hochreiter and Schmidhuber, 1995)。
在简化的线性回归中(例如,
y
^
(
x
)
=
w
⊤
x
+
b
hat{y}(boldsymbol{x})=boldsymbol{w}^topboldsymbol{x}+b
y^(x)=w⊤x+b,正则项退化为:
η
E
p
(
x
)
[
∥
x
∥
2
]
etamathbb{E}_{p(x)}[Vertboldsymbol{x}Vert^2]
ηEp(x)[∥x∥2],这与函数的参数无关,因此不会对
J
^
w
hat{J}_w
J^w关于模型参数的梯度有贡献。
向输出目标注入噪声
大多数数据集的
y
y
y标签都有一定错误。当
y
y
y是错误的,对最大化
log
p
(
y
∣
x
)
log p(ymidboldsymbol{x})
logp(y∣x)会是有害的。
为了防止这一点的一种方法是显式地对标签上的噪声进行建模。
例如,我们可以假设,对于一些小常数
ϵ
epsilon
ϵ,训练集标记
y
y
y是正确的概率是
1
−
ϵ
1-epsilon
1−ϵ,任何其他可能的标签可能是正确的。
这个假设很容易就能解析地与代价函数结合,而不用显式地采噪声样本。
例如,标签平滑(label smoothing)基于
k
k
k个输出的
softmax
text{softmax}
softmax函数,指明确分类
0
0
0和
1
1
1替换成
ϵ
k
−
1
displaystylefrac{epsilon}{k-1}
k−1ϵ和
1
−
ϵ
1-epsilon
1−ϵ,对模型进行正则化。