DeepLearning——Dropout知识点总结

前言

一、Dropout

1.定义

dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。

2.作用

做分类时,为了防止过拟合,提高模型泛化能力,Dropout 层一般加在全连接层。至于为何不加在卷积层,是因为卷积层参数较少,加入dropout作用甚微。较低层,有噪音,较高层,全连接层可以增加模型的鲁棒性,泛化性能。

3.原因

使局部簇显露出来是dropout能防止过拟合的原因,而稀疏性只是其外在表现。

4.知识点

  • 1.dropout率的选择

    • 经过交叉验证,隐含节点dropout率等于0.5的时候效果最好,原因是0.5的时候dropout随机生成的网络结构最多。
    • dropout用作一种添加噪声的方法,可直接对input进行操作。输入层设为更接近1的数,使得输入变化不会太大(一般选定0.8)。
  • 2.预训练

    • 预测的时候,每一个单元的参数要预乘以p。
  • 3.训练过程

    • 对参数w的训练进行球形限制(max-normalization),对dropout的训练非常有用。
    • 球形半径c是一个需要调整的参数。可以使用验证集进行参数调优
    • 使用dropout、max-normalization、large decaying learning rates and high momentum组合起来效果更好,比如max-norm regularization就可以防止大的learning rate导致的参数blow up。
    • 使用pretraining方法也可以帮助dropout训练参数,在使用dropout时,要将所有参数都乘以1/p。
  • 4.特征学习

    • 标准神经网络,节点之间的相关性使得他们可以合作去fix其他节点中得噪声,但这些合作并不能在unseen data上泛化,于是,过拟合,dropout破坏了这种相关性。在autoencoder上,有dropout的算法更能学习有意义的特征(不过只能从直观上,不能量化)。
    • 产生的向量具有稀疏性。
    • 保持隐含节点数目不变,dropout率变化;保持激活的隐节点数目不变,隐节点数目变化。
    • 数据量小的时候,dropout效果不好,数据量大了,dropout效果好
  • 5.模型均值预测

    • 使用weight-scaling来做预测的均值化

    • 使用mente-carlo方法来做预测。即对每个样本根据dropout率先sample出来k个net,然后做预测,k越大,效果越好。

    • Multiplicative Gaussian Noise 使用高斯分布的dropout而不是伯努利模型dropout

    • dropout的缺点就在于训练时间是没有dropout网络的2-3倍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值