0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带Dropout的训练过程

Dbwd_Imgtec 来源:YXQ 2019-08-08 10:35 次阅读

dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。

过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案,其中dropout具有简单性而且效果也非常良好。

算法概述

我们知道如果要训练一个大型的网络,而训练数据很少的话,那么很容易引起过拟合,一般情况我们会想到用正则化、或者减小网络规模。然而Hinton在2012年文献:《Improving neural networks by preventing co-adaptation of feature detectors》提出了,在每次训练的时候,随机让一半的特征检测器停过工作,这样可以提高网络的泛化能力,Hinton又把它称之为dropout。

第一种理解方式是,在每次训练的时候使用dropout,每个神经元有百分之50的概率被移除,这样可以使得一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱。Hinton认为,过拟合可以通过阻止某些特征的协同作用来缓解。

第二种理解方式是,我们可以把dropout当做一种多模型效果平均的方式。对于减少测试集中的错误,我们可以将多个不同神经网络的预测结果取平均,而因为dropout的随机性,我们每次dropout后,网络模型都可以看成是一个不同结构的神经网络,而此时要训练的参数数目却是不变的,这就解脱了训练多个独立的不同神经网络的时耗问题。在测试输出的时候,将输出权重除以二,从而达到类似平均的效果。

需要注意的是如果采用dropout,训练时间大大延长,但是对测试阶段没影响。

带dropout的训练过程

而为了达到ensemble的特性,有了dropout后,神经网络的训练和预测就会发生一些变化。在这里使用的是dropout以pp的概率舍弃神经元

训练层面

对应的公式变化如下如下:

没有dropout的神经网络:

有dropout的神经网络:

无可避免的,训练网络的每个单元要添加一道概率流程。

测试层面

预测的时候,每一个单元的参数要预乘以p。

除此之外还有一种方式是,在预测阶段不变,而训练阶段改变。

Inverted Dropout的比例因子是

关于这个比例我查了不少资料,前面的是论文的结论;后面是keras源码中dropout的实现。有博客写的公式不一致,我写了一个我觉得是对的版本。

Dropout与其它正则化

Dropout通常使用L2归一化以及其他参数约束技术。正则化有助于保持较小的模型参数值。

使用Inverted Dropout后,上述等式变为:

可以看出使用Inverted Dropout,学习率是由因子q=1−p进行缩放 。由于q在[0,1]之间,η和q之间的比例变化:

参考文献将q称为推动因素,因为其能增强学习速率,将r(q)称为有效的学习速率。

有效学习速率相对于所选的学习速率而言更高:基于此约束参数值的规一化可以帮助简化学习速率选择过程。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Dropout
    +关注

    关注

    0

    文章

    13

    浏览量

    9977
  • 深度学习
    +关注

    关注

    73

    文章

    5235

    浏览量

    119893

原文标题:理解神经网络中的Dropout

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Pytorch模型训练实用PDF教程【中文】

    本教程以实际应用、工程开发为目的,着重介绍模型训练过程中遇到的实际问题和方法。在机器学习模型开发中,主要涉及三大部分,分别是数据、模型和损失函数及优化器。本文也按顺序的依次介绍数据、模型和损失函数
    发表于 12-21 09:18

    基于智能语音交互芯片的模拟训练器示教与回放系统设计

    ,提高了培训效果。回放系统通过记录操作训练过程中各操作人员的口令、声音强度、动作、时间、操作现象等,待操作训练结束后通过重演训练过程,以便操作者及时纠正自己的问题。示教系统也可理解为对标准操作
    发表于 07-01 08:07

    Python和Keras在训练期间如何将高斯噪声添加到输入数据中呢?

    噪声,模型被迫学习对输入中的微小变化具有鲁棒性的特征,这可以帮助它在新的、看不见的数据上表现更好。 高斯噪声也可以在训练过程中添加到神经网络的权重中以提高其性能,这种技术称为 Dropout。让我们
    发表于 02-16 14:04

    基于有限状态机的虚拟训练过程模型研究

    通过一个基于操作规程的虚拟训练系统研究了系统仿真流程,分析了有限状态机(FSM)的原理,结合虚拟仿真训练的特点,设计出了操作过程模型,并通过Windows 消息机制编程实
    发表于 12-07 14:23 14次下载

    基于智能语音交互芯片模拟训练器的示教与回放系统的设计

    通过记录操作训练过程中各操作人员的口令、声音强度、动作、时间、操作现象等,待操作训练结束后通过重演训练过程,以便操作者及时纠正自己的问题。示教系统也可理解为对标准操作训练过程的回放。该
    发表于 10-29 11:05 6次下载

    理解神经网络中的Dropout

    dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络
    发表于 11-16 01:11 3518次阅读
    理解神经网络中的<b class='flag-5'>Dropout</b>

    卷积神经网络训练过程中的SGD的并行化设计

    for parallelizing convolutional neural networks 本文也将针对这篇文章给出分析。 1、简介 介绍一种卷积神经网络训练过程中的SGD的并行化方法。
    发表于 11-16 14:43 3136次阅读

    分类器的训练过程

    opencv中haar、lbp的训练原理及过程
    发表于 11-27 15:18 0次下载

    谷歌深度神经网络 基于数据共享的快速训练方法

    在算法层面实现对训练过程加速的方法
    的头像 发表于 07-18 09:25 2024次阅读
    谷歌深度神经网络 基于数据共享的快速<b class='flag-5'>训练</b>方法

    模型训练拟合的分类和表现

    如何判断过拟合呢?我们在训练过程中会定义训练误差,验证集误差,测试集误差(泛化误差)。训练误差总是减少的,而泛化误差一开始会减少,但到一定程序后不减反而增加,这时候便出现了过拟合的现象。
    的头像 发表于 02-12 15:49 4209次阅读
    模型<b class='flag-5'>训练</b>拟合的分类和表现

    如何在训练过程中正确地把数据输入给模型

    机器学习中一个常见问题是判定与数据交互的最佳方式。 在本文中,我们将提供一种高效方法,用于完成数据的交互、组织以及最终变换(预处理)。随后,我们将讲解如何在训练过程中正确地把数据输入给模型
    的头像 发表于 07-01 10:47 1970次阅读

    ECCV 2022 | CMU提出FKD:用于视觉识别的快速知识蒸馏框架!训练加速30%!

    针对这个问题,本文首先分析了为何没法直接为每张输入图片产生单个软标签向量然后在不同 iterations 训练过程中复用这个标签,其根本原因在于视觉领域模型训练过程数据增强的使用,
    的头像 发表于 09-09 14:59 806次阅读

    基于分割后门训练过程的后门防御方法

    后门攻击的目标是通过修改训练数据或者控制训练过程等方法使得模型预测正确干净样本,但是对于带有后门的样本判断为目标标签。例如,后门攻击者给图片增加固定位置的白块(即中毒图片)并且修改图片的标签为目标标签。用这些中毒数据训练模型过后
    的头像 发表于 01-05 09:23 569次阅读

    如何高效训练Transformer?

    然而随着模型的不断扩大,其训练过程也变得更加困难,比如会出现训练不收敛等问题。这就需要大量的手动调参工作来解决,而这不仅会造成资源浪费,还会产生不可预估的计算成本。
    的头像 发表于 03-01 09:48 1393次阅读

    适配PyTorch FX让量化感知训练更简单

    近年来,量化感知训练是一个较为热点的问题,可以大大优化量化后训练造成精度损失的问题,使得训练过程更加高效。
    的头像 发表于 03-08 09:45 860次阅读