对dropout的简单理解

  • Dropout简介

      1、出现原因:

      在机器学习的模型中,如果模型的参数太多,训练样本太少,训练出来的模型就容易产生过拟合现象。

      过拟合的具体表现为:

              模型在训练数据上损失函数较小,预测准确率较高;在测试数据上损失函数比较大,预测准确率较低。

      dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。

     2、什么是dropout

          dropout可以作为训练深度神经网络的一种trick供选择。在每个训练批次中,通过忽略一半的特征检测器,可以明确地减少过拟合现象。

简单来说就是在:在前向传播的时候,让某个神经元的**值以一定的概率p停止工作,这样可以神模型泛化性更强,因为不会太依赖某些局部的特征,如下图所示:

对dropout的简单理解

  • Dropout的工作流程

使用dropout之前正常流程为:首先输入x,通过神经网络前向传播,然后把误差反向传播,更新参数让网络进行学习。

使用dropout之后,流程变为:

        ① 首先随机删除网络中一般的隐藏神经元,输入输出神经元保持不变;

               ② 然后输入x通过修改后的网络前向传播,然后把得到的损失结果通过修改的网络反向传播。一小批训练样本执行完这                     个过程后,在没有被删除的神经元上按照随机梯度下降法更新对应的参数(w,b)。

       ③ 恢复被删除的申晋源之后继续重复过程②