卷积神经网络调参技巧(2)--过拟合(Dropout)
来源:互联网 发布:伟创网络 编辑:程序博客网 时间:2024/06/08 02:25
Dropout(丢弃)
首先需要讲一下过拟合,训练一个大型网络时,因为训练数据有限,很容易出现过拟合。过拟合是指模型的泛化能力差,网络对训练数据集的拟合能力很好,但是换了其他的数据集,拟合能力就变差了。
在训练深层网络模型时,按照一定的概率,暂时将神经元丢弃,得到一个更加简单的网络模型,即每一个batch训练的网络模型都是不一样的,都是原始网络的子集,这些子网络共享权值,与原始网络的层数、参数数目相等。这样,每一个神经元在网络中出现都是独立的,不会依赖其他神经元。不同的batch训练得到更多的子网络,提高了网络模型的泛化能力,可以防止过拟合。
由上图可以看出,(a)是原始神经网络,(b)是dropout之后的网络。
原始网络中第层第个神经元的输出是:
采用dropout之后的网络中第层第个神经元的输出是:
其中,是第层第个神经元的输出,是第层第个神经元的权重(卷积核),
是第层第个神经元的偏置。由伯努利函数以概率随机的产生0、1向量,来决定网络中第层第个神经元被丢弃还是保留,0表示该神经元被dropout,就是使该神经元的激活被置零;1则表示该神经元被保留用于构成子网络。
在测试阶段:
我们前面说过,其实Dropout是类似于平均网络模型。我们可以这么理解,我们在训练阶段训练了1000个网络,每个网络生成的概率为Pi,然后我们在测试阶段的时候,我们肯定要把这1000个网络的输出结果都计算一遍,然后用这1000个输出,乘以各自网络的概率Pi,求得的期望值就是我们最终训练得到原始网络的精确度。
M是Dropout中所有的子网络的集合,所以当我们在测试阶段的时候,我们就是对M中所有的子网络,以其出现的概率进行加权平均,得到期望值,就是原始网络的精确度。
注:经过交叉验证,dropout率等于0.5的时候效果最好,原因是0.5的时候dropout随机生成的网络结构最多。
缺点是模型收敛速度会减慢。
- 卷积神经网络调参技巧(2)--过拟合(Dropout)
- 七、改进神经网络的学习方法(3):过拟合及改进方法(正则化、Dropout)
- Dropout Learning - 防止深度神经网络过拟合
- (CNN)卷积神经网络(四)dropout
- 卷积神经网络减小过拟合方法
- pytorch Dropout过拟合
- dropout防止过拟合
- dropout与过拟合
- 神经网络如何防止过拟合(总结)
- 神经网络之过拟合(附代码)
- 卷积神经网络:Dropout篇
- 卷积神经网络调参技巧
- 深入浅出——搞懂卷积神经网络的过拟合、梯度弥散、batchsize的影响的问题(二)
- Dropout解决过拟合问题
- 浅谈 Dropout防止过拟合
- 卷积神经网络(CNN)防止过拟合的方法
- 卷积神经网络(CNN)防止过拟合的方法
- 过拟合、多层感知机、GPU和卷积神经网络
- HDOJ 2033 人见人爱A+B
- MSP430学习笔记-IO端口
- [php] 图像之简单验证码制作
- Android 相机
- Redhat7 安装 yum 博主亲自安装记录!!!!
- 卷积神经网络调参技巧(2)--过拟合(Dropout)
- java反射之getFields()与getDeclaredFields()的区别
- Matteo Munaro
- Android Studio 如何修改项目名称
- spark中的广播变量broadcast
- android源码中的设计模式
- springboot读取配置文件
- 爱情佳作
- five flower classify