droupout和BN层的区别
相关链接https://blog.csdn.net/yunlong_g/article/details/107402085
首先两者都是为了防止网络过拟合而进行的手段。
不同点:
1.droupout是在全连接层,随机的是一些全连接层的神经元暂时性的失活。属于一种集成学习的方法防止过拟合,在训练集中使用特征融合的思想。按照比例完成分类,或者其他任务。并不能解决梯度消失,或爆炸问题
2.BN在卷积层之后,激活函数之前,起到一个将卷积结果归一化的作用。可以有效结果梯度消失,或爆炸问题
Dropout
Dropout在训练模型中是如何实现的呢?Dropout的做法是在训练过程中按一定比例(比例参数可设置)随机忽略或屏蔽一些神经元。这些神经元被随机“抛弃”,也就是说它们在正向传播过程中对于下游神经元的贡献效果暂时消失了,反向传播时该神经元也不会有任何权重的更新。所以,通过传播过程,dropout将产生和L2范数相同的收缩权重的效果。
随着神经网络模型的不断学习,神经元的权值会与整个网络的上下文相匹配。神经元的权重针对某些特征进行调优,会产生一些特殊化。周围的神经元则会依赖于这种特殊化,如果过于特殊化,模型会因为对训练数据过拟合而变得脆弱不堪。神经元在训练过程中的这种依赖于上下文的现象被称为复杂的协同适应(complex co-adaptations)。
加入了Dropout以后,输入的特征都是有可能会被随机清除的,所以该