学界 | Hinton提出的经典防过拟合方法Dropout,只是SDR的特例

选自arXiv

作者:Noah Frazier-Logue、Stephen José Hanson

机器之心编译

参与:Geek AI、王淑婷

转载请联系 机器之心

Hinton 等人提出的 Dropout 方案在避免神经网络过拟合上非常有效,而本文则提出,Dropout 中的按概率删除神经元的原则只是二项随机变量的特例。也就是说,研究者用神经元权重的连续分布替换了原先的二值(零/非零)分布,实现了广义的 Dropout——随机 delta 规则(SDR)。基准实验表明,SDR 能显著降低分类误差和损失值,并且收敛得更快。

1 引言

多层神经网络在文本、语音和图像处理的多种基准任务上都取得了令人瞩目的效果。尽管如此,这些深层神经网络也会产生难以搜索的高维、非线性超参数空间,进而导致过拟合以及泛化能力差。早期的神经网络使用反向传播算法,它们会由于缺乏足够的数据、梯度损失恢复以及很可能陷入性能较差的局部最小值而失效。深度学习(Hinton et al,2006)引入了一些创新技术来减少、控制这些过拟合和过度参数化问题,包括用线性整流单元(ReLU)来减少连续梯度损失,用 Dropout 技术避免陷入局部最小值,以及通过有效的模型平均技术来增强泛化能力。尽管数据海啸可以为各种各样的分类和回归任务提供大量的数据,在本文中,作者仍将重点讨论深层神经网络的过度参数化问题。Dropout 可以用来缓解过度参数化以及过度参数化引起的深度学习应用过拟合问题,还能够避免陷入性能较差的局部最小值。具体而言,Dropout 实现了一个概率为 p(有偏的 0-1 抽签法)的伯努利随机变量,在每一轮更新时从网络架构中随机删除隐藏单元及其连接,从而产生一个稀疏的网络架构——其中剩余权重被更新并保留到下一个 dropout 步骤中。在学习结束时,通过计算每个权重 p_w_ij 的期望值,重构了深度学习网络,这样的做法近似于对指数级数量的一组神经网络进行模型平均。在大多数情况下,带 Dropout 机制的深度学习能够在常见的基准测试中降低 50% 以上的误差率。

在本文余下的部分中,作者将介绍一种通用类型的 Dropout 技术,它能够在权值级别上进行操作并在每轮更新中注入依赖于梯度的噪声,这种技术被称为随机 delta 规则(SDR,参见 Murray & Andrews, 1991)。SDR 为每个权重实现了一个随机变量,并且为随机变量中的每个参数提供了更新规则,本文使用了带自适应参数的高斯分布(均值为µ_w_ij,标准差为 σ_w_ij)。尽管所有的 SDR 可以作用于任意的随机变量(gamma 分布、beta 分布、二项分布等)。本文将说明,Dropout 是一个带有固定参数 (np, np(1 − p)) 的二项随机变量的特例。最后,作者将用高斯 SDR 在标准基准(例如,CIFAR-10 和 CIFAR-100)中测试 DenseNet 框架,并且说明其相对于二项分布的 Dropout 具有很大的优势。

论文:Dropout is a special case of the stochastic delta rule: faster and more accurate deep learning

论文地址:https://arxiv.org/pdf/1808.03578v1.pdf

摘要:多层神经网络在文本、语音和图像处理的各种基准任务中都取得了令人瞩目的效果。然众所周知,层次模型中的非线性参数估计存在过拟合问题。Dropout(Srivastava, et al 2014, Baldi et al 2016)是一种用来解决这种过拟合以及相关问题(局部最小值、共线性、特征发现等)的方法。这种方法在每轮更新中通过带有概率 p 的伯努利随机变量删除隐藏单元。在本文中,我们说明了 Dropout 是一种更加通用的模型特例,这种被称为随机 delta 规则(「SDR」, Hanson, 1990)的模型于 1990 年被首次发表。SDR 用一个均值为µ_w_ij、标准差为 σ_w_ij 的随机变量将网络中的权值参数化。这些随机变量在每一次前馈激活中通过采样得到,从而建立指数级数量的共享权值的潜在网络。这两个参数都会根据预测误差而更新,从而实现了反映预测误差局部历史的权值噪声注入和高效的模型平均。因此,SDR 对每个权值实现了一个局部梯度依赖的模拟退火,从而收敛为一个贝叶斯最优网络。使用改进版的 DenseNet 在标准基准(CIFAR)上进行测试的结果显示,SDR 相较于标准 dropout 误差率降低了 50% 以上,损失也减少了 50% 以上。此外,SDR 的实现在指定的解决方案上收敛得更快,而且,采用 SDR 的 DenseNet-40 只需要训练 15 个 epoch 就实现误差率为 5% 的目标,而标准 DenseNet-40 实现这一目标需要训练 94 个 epoch。

5 实验结果

表 1:采用 SDR 的 DenseNet 与采用 dropout 的 DenseNet 误差率对比

上述结果表明,在 DenseNet 测试中,用 SDR 替换 dropout 技术会使所有 CIFAR 基准测试的误差减少 50 % 以上,降幅高达 64%。原始 DenseNet 实现的误差结果低于原始 DenseNet 论文中的误差结果,因为我们发现使用更大的批处理会带来更高的总体准确率。

表 2:达到训练误差率为 15%,10%,5% 分别所需的 epoch 数量。

如表 2 所示,使用 SDR 后,在训练中将误差率降到 15%,10%,5% 所需的时间明显缩短。使用了 SDR 的 DenseNet-40 只需要原本 1/6 的 epoch 就能够取得 5% 的误差率,而使用了 SDR 的 DenseNet-100 则只需原来 60% 的 epoch 就能实现 5% 的误差率。

图 3:采用 dropout 的 DenseNet-100 训练 100 个 epoch 之后的准确率(橙色曲线)和采用 SDR 的 DenseNet-100 训练 100 个 epoch 的准确率(蓝色曲线)。比起 dropout,SDR 不仅能够更快地提高训练准确率(训练 17 个 epoch 达到了 96% 的准确率,drouout 达到相同的准确率需要 33 个 epoch),而且还能够在训练 40 个 epoch 后达到 98% 的准确率。

图 4:表示采用 SDR 的 DenseNet-100 的第 21 层第 1 块的权重值频率的直方图,其中每个切片都是来自训练一个 epoch 的 snapshot,而最上面的切片是来自第一个 epoch 的 snapshot。在训练 100 个 epoch 的过程中,随着权值的标准差趋近于零,曲线变窄。

2 随机 delta 规则

众所周知,实际的神经传播包含噪声。如果一个皮质分离的神经元周期性地受到完全相同的刺激,它永远不会产生相同的反应(如烧伤等刺激)。设计 SDR 的部分原因是生物系统中通过神经元传递信号的随机性。显然,平滑的神经速率函数是建立在大量的刺激试验基础上的。这让我们想到了一种实现方法,即两个神经元之间的突触可以用一个具有固定参数的分布来建模。与这种分布相关的随机变量在时域内可能是一个 Gamma 分布(或在分级响应中,参见泊松分布)。在这里,我们假设有一个符合中心极限定理的独立同分布集合,并且采用高斯分布作为一般形式。尽管如此,对于独立成分分析(ICA)来说,同等情况下,长尾分布可能更具优势。

图 1:SDR 采样

如图 1 所示,我们按照图中的方法实现采用均值为 µwij、标准差为 σwij 的高斯随机变量的 SDR 算法。因此,将从高斯随机变量中采样得到每个权值,作为一种前馈运算。实际上,与 Dropout 类似,指数级别的网络集合通过训练期间的更新采样获取。与 Dropout 在这一点上的区别是,SDR 会调整每个权重上附加的隐藏单元的权重和影响,以便在更新时随误差梯度自适应地变化。这里的效果也与 Dropout 相类似,除了每个隐藏单元的响应会分解到权重上(与分类误差对信用分配的影响成比例)。因此,每个权重梯度本身也是基于隐藏单元预测性能的随机变量,它让系统能够:(1)在相同的例程/刺激下接受多值响应假设,(2)保留一个预测历史,与 Dropout 不同,Dropout 是局部的隐藏单元权重,在某个集合上是有条件的,甚至是一个特定的例程(3)可能返回由于贪婪搜索得到的性能较差的局部最小值,但是同时也远离了更好的局部最小值。局部噪声注入的结果对网络的收敛具有全局影响,并且为深度学习提供了更高的搜索效率。最后一个优点是,如 G. Hinton 所说,局部噪声注入可能通过模型平均平滑误差表面的沟壑,使模型能够更快更稳定地收敛到更好的局部最小值。

图 2:Dropout 采样

原文发布于微信公众号 - 深度学习自然语言处理(zenRRan)

原文发表时间:2018-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量化投资与机器学习

【深度学习研究系列】之漫谈RNN(一)

从今天起,量化投资与机器学习公众号将为大家带来一个系列的 Deep Learning 原创研究。本次深度学习系列的撰稿人为 张泽旺 。希望大家有所收获,共同进步...

2288
来自专栏AI科技大本营的专栏

一文带你了解深度神经网络架构发展史

作者 | Eugenio Culurciello 译者 |叶俊贤 深度神经网络和深度学习算法因为在科研工作与工程任务中都取得了显著的效果从而大受欢迎。而其中取...

37112
来自专栏AI研习社

深度神经网络发展历程全回顾:如何加速 DNN 运算?

深度神经网络(DNN)目前是许多现代AI应用的基础。自从DNN在语音识别和图像识别任务中展现出突破性的成果,使用DNN的应用数量呈爆炸式增加。这些DNN方法被大...

3676
来自专栏AI科技评论

干货 | UT Austin博士生沈彦尧:基于深度主动学习的命名实体识别

沈彦尧基于亚马逊实习项目延伸探讨了主动学习在深度学习中的应用与思考,并分享了多篇深度主动学习的 ICLR,ICML 文章。

1412
来自专栏云飞学编程

想知道怎么学人工智能嘛?都在这里!

1、声学模型 2、Deep Neural Networks 3、Hidden Markov Model等

884
来自专栏IT大咖说

资深算法专家解读CTR预估业务中的深度学习模型

内容来源:2018 年 01 月 05 日,资深算法专家张俊林在“2018 移动技术创新大会”进行《深度学习在CTR预估业务中的应用》演讲分享。IT 大咖说(微...

1813
来自专栏大数据挖掘DT机器学习

使用sklearn自带的贝叶斯分类器进行文本分类和参数调优

Part 1: 本篇内容简介 在前一篇文章完整手写一个朴素贝叶斯分类器,完成文本分类,我们使用首先假设在文档中出现的单词彼此独立,利用贝叶斯定理,完成了一个简...

4586
来自专栏大数据文摘

选择困难症?一文通解如何选择最合适的机器学习算法

1824
来自专栏SIGAI学习与实践平台

化秋毫为波澜:运动放大算法(深度学习版)

运动放大(Motion Magnification),将视频中对应位置的运动进行放大,简单理解的话,就是找到时间段内的运动矢量,进行放大,然后权值叠加回去。

2702
来自专栏YoungGy

构建聊天机器人:检索、seq2seq、RL、SeqGAN

本文将简要介绍聊天机器人的四种构建方法:检索、seq2seq、Reinforcement Learning、seqGAN。 ? 聊天机器人的现状 聊天机器人从应...

4599

扫码关注云+社区

领取腾讯云代金券