深度网络训练技巧|深度学习(李宏毅)(三)

1. 过拟合和欠拟合

  • 过拟合:训练集效果好,测试集效果不好。
    1. 提前停止
    2. 正则化
    3. Dropout
  • 欠拟合:训练集与测试集效果都不好。
    1. 切换激活函数
    2. 自适应学习率

2. 梯度消失问题

  问题:随着越来越多的激活函数加到神经网络中,损失函数的梯度趋近于0,使得网络结构很难训练。
  举个例子,如下图所示,神经网络使用sigmoid函数作为激活函数,由于sigmoid函数将函数的输入压缩到0和1之间,所以导致到浅层网络处的w变化很大时loss变化很小,即损失函数对w的梯度几乎为0。

梯度消失

3. ReLU激活函数

  ReLU激活函数图像如下:

ReLU
  应注意ReLU激活函数不是线性函数。ReLU激活函数不像sigmoid函数那样压缩输入,可以有效地缓解梯度消失问题,但是ReLU也有可能产生梯度消失问题,在z小于0的时候,激活函数梯度为零,梯度消失,神经元不更新,变成了死亡节点。
  ReLU激活函数也有其他多个变种:
   1. Leaky ReLU
Leaky ReLU
   2. Parametric ReLU
Parametric ReLU

4. Maxout

  使用Maxout使得激活函数不是定义的激活函数,而是通过神经网络自己学习到的激活函数。在使用Maxout的隐藏层中将神经元进行分组,每组输出该组内神经元输出值的最大值作为Maxout层的输出。
  在下图中可以看到该种情况下(有一个神经元对应的权重和偏量均为零)相当于使用了ReLU作为激活函数。

Maxout

Maxout
  当所有的神经元的权重和偏量值均不为零的时候就相当于激活函数是通过学习来得到的。下图展示了当组内神经元数为2或3时的激活函数的图像。

激活函数

5. 自适应学习率

参考链接:回归|深度学习(李宏毅)笔记(一)

6. 早停法

Early Stopping

7. 正则化

L2正则化:

L2 Regularization
L1正则化:

L1 Regularization
  L2正则化会在每次梯度更新时将权重乘以一个小于1但接近1的数实现权重衰减,权重越大则减得越多,而L1正则化则会在每次梯度更新时将权重减去一个固定大小的值。

8. Dropout

  在训练时设置每个神经元有p%的概率被丢掉,即将输出设置为零,相当于从神经网络中去掉该神经元。在测试时将每个权重乘以1-p%。
  Dropout相当于训练多个不同网络结构的神经网络,每一个mini-batch就会训练一种结构的神经网络,但是在这些不同的神经网络中参数是共享的。

Dropout
  关于测试时权重乘以1-p%的解释:
Dropout

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值