深度学习中的五大正则化技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20909377/article/details/78976056

正则化技术是保证算法泛化能力的有效工具,它可以令参数数量多于输入数据量的网络避免产生过拟合现象。

1.1 数据增强

数据增强是提升算法性能、满足深度学习模型对大量数据的需求的重要工具。数据增强通过向训练数据添加转换或扰动来人工增加训练数据集。数据增强技术如水平或垂直翻转图像、裁剪、色彩变换、扩展和旋转通常应用在视觉表象和图像分类中。

1.2 L1 和 L2 正则化

正则化(regularization)的思想是在损失函数中加入刻画模型复杂程度的指标。L1 和 L2 正则化是最常用的正则化方法。L1 正则化向目标函数添加正则化项,以减少参数的绝对值总和;而 L2 正则化中,添加正则化项的目的在于减少参数平方的总和。根据之前的研究,L1 正则化中的很多参数向量是稀疏向量,因为很多模型导致参数趋近于 0,因此它常用于特征选择设置中。机器学习中最常用的正则化方法是对权重施加 L2 范数约束。
标准正则化代价函数如下:
这里写图片描述
注意:损失函数中包括了神经网络中的所有参数,即包括边上的权重w和偏置项b,而模型复杂度一般只由权重w决定。
其中正则化项 R(w) 是:
这里写图片描述
另一种惩罚权重的绝对值总和的方法是 L1 正则化:
这里写图片描述
L1 正则化在零点不可微,因此权重以趋近于零的常数因子增长。很多神经网络在权重衰减公式中使用一阶步骤来解决非凸 L1 正则化问题 [19]。L1 范数的近似变体是:
这里写图片描述
另一个正则化方法是混合 L1 和 L2 正则化,即弹性网络罚项 [20]。

1.3 Dropout

Dropout是指在模型训练时随机的让隐层节点的权重变成0,暂时认为这些节点不是网络结构的一部分,但是会把它们的权重保留下来(不更新),下图帮助理解。
这里写图片描述
(Dropout只用在训练时的全连接层)

1.4 Drop Connect

Drop Connect 是另一种减少算法过拟合的正则化策略,是 Dropout 的一般化。在 Drop Connect 的过程中需要将网络架构权重的一个随机选择子集设置为零,取代了在 Dropout 中对每个层随机选择激活函数的子集设置为零的做法。由于每个单元接收来自过去层单元的随机子集的输入,Drop Connect 和 Dropout 都可以获得有限的泛化性能 。Drop Connect 和 Dropout 相似的地方在于它涉及在模型中引入稀疏性,不同之处在于它引入的是权重的稀疏性而不是层的输出向量的稀疏性。
这里写图片描述
DropConnect与Dropout不同的地方是在训练神经网络模型过程中,它不是随机的将隐层节点的输出变成0,而是将节点中的每个与其相连的输入权值以1-p的概率变成0。(一个是输出一个是输入)

1.5 早停法

为了获得性能良好的神经网络,网络定型过程中需要进行许多关于所用设置(超参数)的决策。超参数之一是定型周期(epoch)的数量:亦即应当完整遍历数据集多少次(一次为一个epoch)?如果epoch数量太少,网络有可能发生欠拟合(即对于定型数据的学习不够充分);如果epoch数量太多,则有可能发生过拟合(即网络对定型数据中的“噪声”而非信号拟合)。
早停法旨在解决epoch数量需要手动设置的问题。它也可以被视为一种能够避免网络发生过拟合的正则化方法(与L1/L2权重衰减和丢弃法类似)。
早停法背后的原理其实不难理解:

  • 将数据分为定型集和测试集
  • 每个epoch结束后(或每N个epoch后):
    用测试集评估网络性能
    如果网络性能表现优于此前最好的模型:保存当前这一epoch的网络副本
  • 将测试性能最优的模型作为最终网络模型

如下图所示,最优模型是在垂直虚线的时间点保存下来的模型,即处理测试集时准确率最高的模型。
这里写图片描述

阅读更多
换一批

没有更多推荐了,返回首页