Dropout层的两种直观理解方法

简介

Dropout是在神经网络中用来解决过拟合问题的一种方法。本篇文章希望通过解释Dropout层的两种理解方式,为深度学习(Deep Learning)的技巧找到传统机器学习方法的解释。

理解1: Dropout是对最后的损失函数加入了正则项

在损失函数里面加入正则项是传统机器学习中为了防止过拟合的常用方法。正则项可以进一步分为L1正则项和L2正则项,L1正则项会产生稀疏的参数矩阵,但是如果有一些参数比较大L1正则项不会做太多的惩罚,而L2正则项会对大的参数更为敏感,会尽量缩小大的参数。

我们再进一步讨论L1正则项。L1正则项导致的稀疏参数矩阵可以理解参数矩阵的有一些数值被扔掉(Drop)掉了。在进一步说,其实是这些为0的参数(e.g. w i j w_{ij} wij)对应的输入数据(e.g. x i j x_{ij} xij)被扔掉(Drop)了。

从神经网络的角度上说,因为我们加上了Dropout层之后,在反向传播时有一些"神经元"被移除了,其实就是对应的参数被设置为了0,这个情况和上面讨论的加入L1正则项的结果是一致的。

理解2: Dropout生产了多个神经网络进行集成学习

在这里,我们再回顾一下Dropout的机制:在每次的神经网络的反向传播中,会随机选择一些神经元,设定其反向传播对应的参数为0,然后对于被改变后的神经网络进行反向传播。

举例,假设我们对某一个加入了Dropout层的神经网络训练了n次,而且每一次训练因为随机Dropout的原因,都是训练的一个新的神经网络,也是就是说经过n次训练,我们总共训练了n个神经网络,我们最后的输出结果是这n个神经网络的组合。因为最后是集成学习,输出的是一个n个神经网络的均值,所以会减少过拟合。

在这里还要注意,加了Dropout之后,对于参数还要做一定幅度的调整,保证输出不会扩大倍数。

结论

深度学习和传统的机器学习其实有很多共通的地方,我们不应该把两个分支完全割裂开来看,应该时刻保持敏如,寻找两种方式的联系。

引用

[1]Dropout的两种解释

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值