美文网首页人工智能程序员
深度网络训练技巧|深度学习(李宏毅)(三)

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

作者: 酷酷的群 | 来源:发表于2020-06-14 07:58 被阅读0次

    李宏毅老师深度学习系列2020

    一、过拟合和欠拟合

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

    二、 梯度消失问题

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

    梯度消失

    三、ReLU激活函数

      ReLU激活函数图像如下:

    ReLU

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


    Leaky ReLU

       2. Parametric ReLU


    Parametric ReLU

    四、Maxout

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

    Maxout Maxout

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

    激活函数

    五、自适应学习率

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

    六、早停法

    Early Stopping

    七、正则化

    L2正则化:

    L2 Regularization

    L1正则化:

    L1 Regularization

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

    八、Dropout

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

    Dropout

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


    Dropout

    相关文章

      网友评论

        本文标题:深度网络训练技巧|深度学习(李宏毅)(三)

        本文链接:https://www.haomeiwen.com/subject/hgwatktx.html