简单理解dropout

简介: dropout是CNN(卷积神经网络)中的一个trick,能防止过拟合。关于dropout的详细内容,还是看论文原文好了:Hinton, G. E., et al. (2012). "Improving neural networks by preventing co-adaptation of feature detectors." arXiv preprint arXiv:1207.0580.我这里简单理解为:dropout相当于同时搞了多个CNN网络,然后取它们的平均。

dropout是CNN(卷积神经网络)中的一个trick,能防止过拟合。

关于dropout的详细内容,还是看论文原文好了:
Hinton, G. E., et al. (2012). "Improving neural networks by preventing co-adaptation of feature detectors." arXiv preprint arXiv:1207.0580.

我这里简单理解为:dropout相当于同时搞了多个CNN网络,然后取它们的平均。但是形式上呢,我们只看到一个CNN网络。那怎么平均呢?比如在某一个全连接层上搞dropout,每个mini-batch过来和回去的时候,都是仅仅使用部分神经元。被选中的神经元也不是“关系户”,而是凭运气按照概率被选中的,而且也不存在“垄断”情况,下次随机的时候就可能是其他神经元了。

那么dropout有啥理论依据吗?个人认为比较靠谱的说法是,dropoup相当于bagging的一个特例,每个样本只有一个mini-batch的数据。anyway,如果你理解随机森林,那么你应该懂我的意思,这明显是用来防止过拟合的啊!

论文中的一些说法,总结下:

bagging->一个特例是dropout
dropout->一个特例是naive bayes

目录
相关文章
|
30天前
|
机器学习/深度学习 人工智能 PyTorch
基于torch.nn.Dropout通过实例说明Dropout丢弃法(附代码)
基于torch.nn.Dropout通过实例说明Dropout丢弃法(附代码)
20 0
|
4月前
|
机器学习/深度学习 计算机视觉
epochs,batches,dropout是什么?
epochs,batches,dropout是什么?
29 0
|
机器学习/深度学习 PyTorch 算法框架/工具
pytorch中nn.ReLU()和F.relu()有什么区别?
pytorch中nn.ReLU()和F.relu()有什么区别?
365 0
|
9月前
|
机器学习/深度学习 存储 人工智能
Dropout Reduces Underfitting论文解读
Dropout Reduces Underfitting论文解读
70 0
|
10月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch】nn.ReLU()与F.relu()的区别
【PyTorch】nn.ReLU()与F.relu()的区别
99 0
|
10月前
|
计算机视觉
VGG的成功之处在哪
VGG的成功之处在哪
128 0
|
11月前
|
机器学习/深度学习 并行计算 PyTorch
SMU激活函数 | 超越ReLU、GELU、Leaky ReLU让ShuffleNetv2提升6.22%
SMU激活函数 | 超越ReLU、GELU、Leaky ReLU让ShuffleNetv2提升6.22%
143 0
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch学习笔记-06 Normalization layers
Pytorch学习笔记-06 Normalization layers
87 0
Pytorch学习笔记-06 Normalization layers
|
PyTorch 算法框架/工具 数据格式
|
机器学习/深度学习 算法 TensorFlow
神奇的Batch Normalization 仅训练BN层会发生什么
神奇的Batch Normalization 仅训练BN层会发生什么
164 0
神奇的Batch Normalization 仅训练BN层会发生什么

热门文章

最新文章