深度学习基础知识(五)— 激活函数

  • 2020 年 2 月 14 日
  • 筆記

dropout 可以看作是一种实用的bagging的方法,即模型平均思想的一种运用。

因为模型平均要对训练集有放回的采样,得到多个不同的训练集,再训练多个不同的模型,

在测试阶段由多个不同的模型 表决 或者 平均 来做出最终预测。

但是对于深度神经网络而言,训练多个不同的模型 可能不切实际,会耗费大量时间和计算力

dropout 对神经元随机失活

也就是说前传的过程中可能这个神经元以及它后面的路径并不会被使用,相当于前传的路径只是整个大神经网络的一个子网络

Dropout训练与Bagging训练不太一样。

在Bagging的情况下,所有模型都是独立;

在Dropout的情况下,所有模型共享参数,其中每个模型继承父神经网络参数的不同子集。其中每个参数共享使得在有限可用的内存下表示指数级数量的模型变得可能。

在Bagging的情况下,每一个模型在其相应训练集上训练到收敛。

在Dropout的情况下,通常大部分模型都没有显式地被训练,因为通常父神经网络会很大,以致于到宇宙毁灭都不可能采样完所有的子网络。取而代之的是,在单个步骤中我们训练一小部分的子网络,参数共享会使得剩余的子网络也能有好的参数设定。

这些是仅有的区别。除了这些,Dropout与Bagging算法一样

超参数的采样概率为1,隐藏层的采样概率通常为0:5,输入的采样概率通常为0:8。网络中的每个单元乘以相应的掩码,然后正常地继续沿着网络的其余部分前向传播。