第12课:优化神经网络——网络初始化技巧与超参数调试

上一篇,我们主要介绍了神经网络中几种常见的梯度下降优化算法,包括 Mini-Batch、Momentum、Nesterov Momentum、AdaGrad、RMSprop、Adam、Learning Rate Decay ,并对各自特点进行了说明和对比。本文将重点讲解初始化神经网络的一些技巧以及如何高效进行超参数调试。

网络输入标准化

我们知道,神经网络的输入层是训练样本的各个特征值,而不同特征值的数值范围可能不同。例如训练样本数据中输入层特征是二维的:$[x_1,x_2]$。$x_1$ 的数值范围是 [0, 0.01],$x_2$ 的数值范围是 [0, 100],彼此相差了 10000 倍。$x_1$ 与 $x_2$ 之间分布极不平衡,会造成训练得到的权重 $W$ 数值差别很大,参数 $b$ 也是一样。这样的后果会造成运行梯度下降算法时,振荡较大,轻则影响训练速度,重则导致模型无法正确优化,无法获得优质解。

怎么理解呢?下面用图解的方式来说明。

enter image description here

上图显示了损失函数 $J$ 与 $W$ 和 $b$ 的凸函数关系。左边两张图没有进行输入标准化,可见 $J$ 与 $W$ 和 $b$ 呈类似椭圆的形状,这是因为彼此幅值范围不同。根据上文中的假设,$x_1$ 与 $x_2$ 之间分布极不平衡,造成 $W$ 数值差别很大。这时,如果学习因子过大,就容易发生振荡,使得 $J$ 下降不稳定。为了减小振荡,只能尽量减小学习因子,但是会大大增加训练时间,让训练变得非常缓慢和困难。

右边两张图进行了输入标准化

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值