本文主要是介绍深度学习算法——丢弃法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
动机
正则可以使得权重不会太大,可以避免过拟合的方法。
丢弃法不是在输入的时候加入噪音,而是在层与层之间加入噪音。
丢弃法实质上是一个正则的过程。
无偏差的加入噪音
要求:虽然加入了噪音,但是不能改变期望值。(平均值不收到影响。)
给定概率p,在p的概率下,把原始数据变成0,剩下的概率 除以1-p,值变大(0<p<1)。使得最终期望值保持不变。
证明过程: 所得结果还是
使用丢弃法:
通常将丢弃法作用在隐藏全连接层的输出上
简单理解:
第一个隐含层 输入乘以权重W1再加上偏移b1加入激活函数得到h,即第一个隐藏层的输出。
对第一个隐藏层作用dropout,使得p的概率变成0,1-p的概率除以1-p。得到结果。
第二层用乘以权重W2+偏移b2,最后再softmax作为输出,执行过程如上图所示。
推理过程中的丢弃法:
推理(预测的过程中)中不使用dropout。输出的仍是本身。
因为dropout是一个正则项,正则项只在训练过程中使用,会对权重产生影响,当在预测的时候,由于权重不需要发生变化,不需要正则,所以说在推理中是不需要dropout的。
总结:
这篇关于深度学习算法——丢弃法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!