一、动机

  • 一个好的模型需要对输入数据的扰动鲁棒,不管我们加入多少噪音都能看清
  • 使用有噪音的数据等价于Tikhonov正则,正则就是使权重的值不要太大,可以避免一定的过拟合
  • 丢弃法:不在输入加噪音,在层之间加入噪音

二、无偏差的加入噪音

        假设x是上一层到下一层的输入,对x加入噪音得到x‘,我们希望:

        即为虽然我们加入了噪音,但是不改变我们的期望。

        丢弃法对每个元素进行如下扰动:

        我们给定一个概率p,使得在概率p的情况下这个原始的输入都为0,在剩下的地方除以1-p(即把原始的输出变大),同时可以保持其期望不变。

三、使用dropout

        dropout通常作用在隐藏全连接层的输出上(y也可以理解为作用在每层之间)

        以上图为例,h是第一个隐藏层的输出,对第一个隐藏层作用dropout得到h’。

四、在推理(预测)中的丢弃法

  • dropout是个正则项,只在训练中使用:他们影响模型参数的更新
  • 在推理过程中,丢弃法直接返回输入:h=dropout(h)
  • 这样能保证确定性的输出

五、总结

  • dropout将一些输出项随机置0来控制模型复杂度
  • 常作用在多层感知机的隐藏层输出上
  • 丢弃概率p是控制模型复杂度的超参数
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐