Dropout: A Simple Way to Prevent Neural Networks from Over tting
基本原理
结果
敏感性分析
对特征图谱的影响:
可以看到 使用dropout后cnn计算出来的特征图谱要平滑的很多
稀疏性的影响
可以看出,使用droupout后 很多隐层单元的activation 激活值都接近与0,只有少部分的神经元的激活值特别大。
p的影响
左图表示 隐层节点不变的情况下,当p增加时,测试误差先下降,然后再在[0.4,0.8]中平滑,最后在0.8~1时 误差又上升,使用底部很宽的”U”形曲线,所以一般 我们让隐层的p取0.5就是最优的。
数据集大小的影响
可以看到,从数据集较小的时候(
102到103
)左右,不带dropout的标准神经网络表现较好,当数据集再(
103
)以上时,使用dropout的优势就开始凸显了。
虽然上面使用的是MMIST数据集做的测试,但是它基本可以反映在数据集较小时 dropout优势不明显 甚至没有什么优势。当数据集增大时 就很厉害了。
但是 dropout 技术也抵不上使用大数据集的效果明显。
所以说 ,增强数据集才是硬道理啊!
读后感:
dropout是一个近似化的集成学习方法。它通过依某概率关闭神经网络里面的某些单元来生成一同的小神经网络模型,这个过程就是有点像从神经网络的所有节点中采样出来一些样本形成一个tiny neural network.然后通过对不同这个network的学习来完成不同小模型的训练。在预测过程中无须再像集成学习那样显式滴计算每个模型的输出,然后取平均。直接将使用模型进行预测即可,在计算的过程中就会隐式的进行集成决策。隐式的结果和进行显式的集成预测是一致的。
dropout的优势:
1.可以在神经网络上进行集成学习,它相当于
2n
个小型神经网络的集成学习,其中n是网络的除输出层的节点个数。这个
2n
个网络实际上只有很少的几个被训练到,但是因为权值共享,导致这个
2n
个网络可以共享参数,所以即使大部分小网络都没被训练过,但是它们可以使用其他小模型已经训练好的参数。
2.训练速度快,实现方便。