[文献阅读]dropout - a simple way to prevent neural networks from overfitting

from JMLR 2014
by多伦多大学

【main points】提出了node Bernoulli dropout,用在前馈神经网络(MLP, CNN),限制boltzmann机模型上,在监督学习任务上测试。
训练时候对每个min batch 以一定的概率暂时的移除节点(及其输入输出连接),相当于训练 2n 个共享权重的网络。测试的时候用weight scaling后的全网络。
Gauss dropout(为权重乘以高斯噪声而非Bernoulli噪声)也有差不多更好的效果。


introduction

多个非线性隐层,可以学习输入和输出之间的复杂的关系。
但是当训练数据有限的时候,可能部分关系是从采样噪声学到的,这些关系在训练集中存在但在实际的测试数据中不存在。这就导致了过拟合。

减少过拟合的方法包括,验证集上的性能开始下降时尽快停止训练,为权重引入L1/L2正则惩罚项,soft weight sharing【?】

如果计算量上不受限制,按照bayesian的黄金准则,regularize 一个固定规模的模型的最好的方式是,在参数的所有可能的取值上做预测,再根据每种取值的后验概率对这些预测加权取平均。

实际中希望用更少的计算量近似到达bayesian的性能。
本文提出dropout,学习指数个共享参数的模型,做预测,求几何平均。近似地有效地组合了指数多个神经网络体系结构。
dropout做法,暂时地随机地移除网络中的单元(及其输入和输出连接)。比如,每个单元都以固定的概率p(比如=0.5)保留。(但是输入单元的保留概率应该接近1)

相当于从原网络中采样一个thinned稀疏的网络。
原网络有n个单元,则有 2n 种可能(每个节点有移除/保留2种可能,各节点独立)的稀疏网络。

2n 个网络,每个网络被训练的次数都很少。
在测试的时候,直接地先对每个网络做预测再平均 计算量大不可行。采用近似平均方法,将 2n 个网络组合成一个NN(所有单元都保留,但单元的输出权重都乘以该单元在训练时候的保留概率),基于这个NN做预测。

经过验证,dropout方法在许多分类问题上都能达到比其他正则方法更低的generalization error。

model description

l 层的第 j 个节点保留/移除 r(l)j
l 层的所有节点的输出 y(l)

node dropout

model training

可以和 max-norm正则,大的衰减学习率,高momentum 等方法技巧一起用。

experiments

数据集

  • MNIST 手写字母图片分类
  • TIMIT 语音识别
  • CIFAR-10/100 图片分类
  • SVHN 房子号码图片分类?
  • ImageNet 图片分类
  • Reuters-RCV1 新闻文章
  • 基因拼接数据

模型及规模

  • 2层 3层的NN, 1024-8192个单元
  • 各种ConvNet
  • 。。。

more

comparison with Bayesian NN

dropout相当于对 2n

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值