首页 理论教育 训练方法中的Dropout层:减轻过拟合的有效手段

训练方法中的Dropout层:减轻过拟合的有效手段

时间:2023-06-17 理论教育 版权反馈
【摘要】:然而,在训练学习期间将会出现目标函数值抖动现象。目前常用的训练条件主要分为三类。为了减少过拟合,Hinton团队提出阻止特征检测器的方法,即引入Dropout层。

训练方法中的Dropout层:减轻过拟合的有效手段

深度神经网络一般采用损失函数计算估计值与实际值之间的损失,再结合优化算法梯度下降算法计算优化梯度,并通过反向传播算法发送至神经网络结构中的各个神经元,对网络结构进一步地优化,如此循环优化,直到达到优化条件即收敛条件,则迭代停止。本节将对损失函数、梯度下降算法、反向传播算法、收敛条件及随机失活算法进行详细介绍。

1.损失函数

在神经网络进行训练优化的过程中,需要计算损失函数。损失函数的物理意义是估计值与实际值之间的误差大小,常用的损失函数有交叉熵损失函数以及平方差函数。

采用平方差作为损失函数,可表示为

对于以上两种衡量方法,神经网络训练的最终目标都是尽可能地降低损失函数。损失函数的大小由网络中的大量训练参数如权重和偏置所决定。因此常采用梯度下降算法调整这些参数,最终降低损失函数的大小。

2.梯度下降法

神经网络模型进行训练时,梯度下降算法是将梯度方向返回至网络时常用的一种反向传播优化算法。梯度下降算法的基本原理是目标函数J(θ)沿着参数θ的梯度下降最快的方向,通过循环迭代的方式进行优化。如果网络采用的损失函数J(θ)越小,网络拟合性能越好,那么训练时将参数沿着梯度相反的方向优化(学习速率η),就可以实现目标函数的下降。参数更新公式为

其中,Δθ·J(θ)的物理意义为参数的梯度。计算目标函数J(θ)(损失函数)时,根据训练数据集中数据的量,可以将梯度下降算法归为三种形式:第一类是批量梯度下降算法,其神经网络是一次性针对所有数据集进行优化训练的。但是,该类方法中,训练数据集过多会导致训练时占用大量系统内存,而且训练过程中梯度下降的收敛速度将会降低。第二类是随机梯度下降算法,该类方法在每次训练过程中只采用所有训练集中的一个数据集,而且在每次循环迭代过程中都会对网络参数进行一次更新,因此具有收敛速度快的特点。然而,在训练学习期间将会出现目标函数值抖动现象。第三类是小批量梯度下降算法,该类方案是对前两种方法进行权衡的方案,其只选用所有训练集中小批量的样本对J(θ)进行计算,这样可以保证训练过程更为稳定。三类算法中,从性能而言,批量下降算法是最优的梯度下降算法。

3.反向传播算法

反向传播算法是指采用线性回归的思想通过梯度下降的方法,求解神经网络模型的输出信号对于各个参数的梯度值,并将其反向传输至神经网络中的各个节点,逐渐调节参数,从而达到训练模型的效果。具体来说,反向传播的目的是使实际值与期望值的误差最小,因此是将各个参数的负梯度值传至神经网络的每一个节点,梯度值可表示为其中,L表示损失函数,w代表权重,b值代表偏置,η为常数,物理意义为学习率。

根据上述所求的权重和偏置梯度值,将网络中的训练参数(权重和偏置)进行迭代更新,可表示为:(www.xing528.com)

其中,n为迭代次数。当所有层的权重和偏置完成更新以后,将会继续新一轮的前向传播,即继续对神经网络进行优化,当满足收敛条件时,停止训练。

4.收敛条件

基于大量数据集,训练优化得到的神经网络是通过一种循环迭代的方式进行更新的,因此,当神经网络达到最优时,需要设定收敛条件以终止训练过程。目前常用的训练条件主要分为三类。

(1)在训练集的基础上限制:当神经网络在训练集上表现出优越的性能和准确度时,停止训练过程。

(2)在测试集的基础上限制:当神经网络在训练集上表现出优越的性能和准确度时,停止训练过程。

(3)在训练的周期上限制:一般通过观察网络在数据集上的预测准确性,设置一个具体的训练周期数,当达到这个固定次数时,停止训练。

5.随机失活算法

深度学习中的DNN具备很强的训练学习能力。在训练过程中,基于数据库中大量的数据集,损失函数将会降到很小的数值,即神经网络的误差将会降到很小,但在测试集中,却没有产生预料的效果,这种现象称为过拟合。

当前,针对这些过拟合现象,机器学习领域中已经有了较好的应对方案,如L1正则化和L2正则化降低参数值、选择良好的训练标准等。而造成过拟合的根本原因是特征维度过多,模型搭建太复杂,网络训练参数存在冗余,训练数据库少,噪声过多,导致训练时表现出性能良好的假象。然而,在线上检测时,当处理新的测试集时,达不到理想的效果。这是因为训练时拟合数据集过度,而忽略了网络的整体泛化能力。

为了减少过拟合,Hinton团队提出阻止特征检测器的方法,即引入Dropout层。该方案表示,在每批量训练中,通过舍弃一部分的神经元,即将上一隐藏层的部分神经元节点做归零处理,可以缓解神经网络过拟合的问题。该方案中,从第一层向最后一层传播时,根据一定的概率使若干神经元的激活值归零,从而可以降低神经元之间的冗余特性。经过Dropout层的处理,神经元之间的依赖性减弱,从而神经网络的模型泛化性有所加强。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈