- Dropout简介
1、出现原因:
在机器学习的模型中,如果模型的参数太多,训练样本太少,训练出来的模型就容易产生过拟合现象。
过拟合的具体表现为:
模型在训练数据上损失函数较小,预测准确率较高;在测试数据上损失函数比较大,预测准确率较低。
dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。
2、什么是dropout
dropout可以作为训练深度神经网络的一种trick供选择。在每个训练批次中,通过忽略一半的特征检测器,可以明确地减少过拟合现象。
简单来说就是在:在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以神模型泛化性更强,因为不会太依赖某些局部的特征,如下图所示:
- Dropout的工作流程
使用dropout之前正常流程为:首先输入x,通过神经网络前向传播,然后把误差反向传播,更新参数让网络进行学习。
使用dropout之后,流程变为:
① 首先随机删除网络中一般的隐藏神经元,输入输出神经元保持不变;
② 然后输入x通过修改后的网络前向传播,然后把得到的损失结果通过修改的网络反向传播。一小批训练样本执行完这 个过程后,在没有被删除的神经元上按照随机梯度下降法更新对应的参数(w,b)。
③ 恢复被删除的申晋源之后继续重复过程②