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

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

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

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

  • 相关阅读:
    mysql随笔
    nodejs+websocket+egret
    mysql语法
    npm没反应的坑------windows配置nodejs
    nodejs打包模块问题
    nodejs中使用protobuf遇见的环境变量问题
    自己写的.net ORM 框架
    常用正则验证
    .NET中判断国内IP和国外IP
    位运算
  • 原文地址:https://www.cnblogs.com/zjutzz/p/5973848.html
Copyright © 2011-2022 走看看