没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
第六章 网络正则化与优化
因为深度神经网络的表达能力很强,所以很容易产生过拟合。另外,大量
的参数会导致训练比较慢。在训练深度神经网络时,同时也需要掌握一定的技
巧。目前,人们在大量的实践中总结了一些经验技巧,可以从以下几个方面来
提高学习效率并得到一个好的网络模型:1)数据增强;2)数据预处理;3)网
络参数初始化;4)正则化;5)超参数优化等。
6.1 数据增强
深层神经网络一般都需要大量的训练数据才能获得比较理想的结果。在数
据量有限的情况下,可以通过数据增强(Data Augmentation)来增加数据量,
提高模型鲁棒性,避免过拟合。目前,数据增强还主要应用在图像数据上,在
文本等其它类型的数据还没有太好的方法。
图像数据的增强主要是通过算法对图像进行转变,引入噪声等方法来增加
数据的多样性。增强的方法主要有几种:
• 旋转(Rotation):将图像按顺时针或逆时针方向随机旋转一定角度;
• 翻转(Flip):将图像沿水平或垂直方法随机翻转一定角度;
• 缩放(Zoom In/Out):将图像放大或缩小一定比例;
• 平移(Shift):将图像沿水平或垂直方法平移一定步长;
• 加噪声(Noise):加入随机噪声。
6.2 数据预处理 95
6.2 数据预处理
一般而言,原始的训练数据中,每一维特征的来源以及度量单位不同,会
造成这些特征值的分布范围往往差异很大。当我们计算不同样本之间的欧式距
离时,取值范围大的特征会起到主导作用。这样,对于基于相似度比较的机器
学习方法(比如最近邻分类器),必须先对样本进行预处理,将各个维度的特征
归一化到同一个取值区间,并且消除不同特征之间的相关性,才能获得比较理
想的结果。虽然神经网络可以通过参数的调整来适应不同特征的取值范围,但
是会导致训练效率比较低。
假设一个只有一层的网络 y = tanh(w
1
x
1
+ w
2
x
2
+ b),其中 x
1
∈ [0, 10],
x
2
∈ [0, 1]。之前我们提到 tanh() 的导数在区间 [−2, 2] 上是敏感的,其余的导数
接近于 0。因此,如果 w
1
x
1
+ w
2
x
2
+ b 过大或过小,都会导致梯度过小,难以
训练。为了提高训练效率,我们需要使 w
1
x
1
+ w
2
x
2
+ b 在 [−2, 2] 区间,我们需
要将 w
1
设得小一点,比如在 [−0.1, 0.1] 之间。可以想象,如果数据维数很多时,
我们很难这样精心去选择每一个参数。因此,如果每一个特征的取值范围都在
相似的区间,比如 [0, 1] 或者 [−1, 1],我们就不太需要区别对待每一个参数,减
少人工干预。
除了参数初始化之外,不同特征取值范围差异比较大时还会梯度下降法的
搜索效率。图6.1给出了数据归一化对梯度的影响。其中,图6.1a为未归一化数
据的等高线图。取值范围不同会造成在大多数位置上的梯度方向并不是最优的
搜索方向。当使用梯度下降法寻求最优解时,会导致需要很多次迭代才能收敛。
如果我们把数据归一化为取值范围相同,如图6.1b所示,大部分位置的梯度方
向近似于最优搜索方向。这样,在梯度下降求解时,每一步梯度的方向都基本
指向最小值,训练效率会大大提高。
归一化的方法有很多种,比如之前我们介绍的 sigmoid 型函数等都可以将
不同取值范围的特征挤压到一个比较受限的区间。这里,我们介绍几种在神经
网络中经常使用的归一化方法。
标准归一化 标准归一化也叫 z-score 归一化,来源于统计上的标准分数。将每
一个维特征都处理为符合标准正态分布(均值为 0,标准差为 1)。假设有 N 个
邱锡鹏:《神经网络与深度学习》 https://nndl.github.io/95
96 第六章 网络正则化与优化
w
2
w
1
(a) 未归一化数据的梯度
w
2
w
1
(b) 归一化数据的梯度
图 6.1: 数据归一化对梯度的影响。
样本 {x
(i)
}, i = 1, · · · , N ,对于每一维特征 x,我们先计算它的均值和标准差:
µ =
1
N
N
∑
i=1
x
(i)
, (6.1)
σ
2
=
1
N
N
∑
i=1
(x
(i)
− µ)
2
. (6.2)
然后,将特征 x
(i)
减去均值,并除以标准差,得到新的特征值 ˆx
(i)
。
ˆx
(i)
=
x
(i)
− µ
σ
, (6.3)
这里,σ 不能为 0。如果标准差为 0,说明这一维特征没有任务区分性,可以直
接删掉。
在标准归一化之后,每一维特征都服从标准正态分布。
缩放归一化 另外一种非常简单的归一化是通过缩放将特征取值范围归一到
[0, 1] 或 [−1, 1] 之间:
ˆx
(i)
=
x
(i)
− min(x)
max(x) − min(x)
, (6.4)
其中,min(x) 和 max(x) 分别为这一维特征在所有样本上的最小值和最大值。
PCA 使用 PCA (Principal Component Analysis) 方法可以去除掉各个成分
之间的相关性。
邱锡鹏:《神经网络与深度学习》 https://nndl.github.io/96
剩余10页未读,继续阅读
咖啡碎冰冰
- 粉丝: 11
- 资源: 292
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0