深度学习-Dropout详解

6 篇文章 3 订阅
订阅专栏

前言

Dropout是深度学习中被广泛的应用到解决模型过拟合问题的策略,相信你对Dropout的计算方式和工作原理已了如指掌。这篇文章将更深入的探讨Dropout背后的数学原理,通过理解Dropout的数学原理,我们可以推导出几个设置丢失率的小技巧,通过这篇文章你也将对Dropout的底层原理有更深刻的了解。同时我们也将对Dropout的几个改进进行探讨,主要是讨论它在CNN和RNN中的应用以及它的若干个经典的变种。

1、什么是Dropout

  1. 没有添加Dropout的网络是需要对网络的每一个节点进行学习的,而添加了Dropout之后的网络层只需要对该层中没有被Mask掉的节点进行训练,如图1所示。Dropout能够有效缓解模型的过拟合问题,从而使得训练更深更宽的网络成为可能。
    下图中左侧是普通的两层MLP(多层感知机网络),右侧是添加了Dropout之后的网络结构
    在这里插入图片描述
    在Dropout之前,正则化是主要的用来缓解模型过拟合的策略,例如l1正则和l2正则。但是它们并没有完全解决模型的过拟合问题,原因就是网络中存在co-adaption(共适应)问题。所谓co-adaption,是指网络中的一些节点会比另外一些节点有更强的表征能力。这时,随着网络的不断训练,具有更强表征能力的节点被不断的强化,而更弱的节点则不断弱化直到对网络的贡献可以忽略不计。这时候只有网络中的部分节点才会被训练,浪费了网络的宽度和深度,进而导致模型的效果上升收到限制。而Dropout的提出解决了co-adaption问题,从而使得训练更宽的网络成为可能。

2、Dropout的数学原理

图2是一个线性的神经网络,它的输出是输入的加权和,表示为式(1)。这里我们只考虑最简单的线性激活函数,这个原理也适用于非线性的激活函数,只是推导起来更加复杂。
在这里插入图片描述
对于图2的无Dropout的网络,它的误差可以表示为式(2),其中 t t t 是目标值。
在这里插入图片描述
(2)式之所以使用 w ‘ w^` w是为了找到之后要介绍的加入Dropout的网络的关系,其中 w ‘ = p w w^`=pw w=pw 。那么(2)可以表示为式(3)。
在这里插入图片描述
关于 w i w_i wi的导数表示为(4)

在这里插入图片描述
当我们向图2中添加Dropout之后,它的误差表示为式(5)。 在这里插入图片描述
是丢失率,它服从伯努利分布,即它有 p p p的概率值为 1, 1 − p 1-p 1p 的概率值为0 。
在这里插入图片描述
它关于 w i w_i wi的导数表示为(6)
在这里插入图片描述
在这里插入图片描述

3、Dropout是一个正则网络

通过上面的分析我们知道最小化含有Dropout网络的损失等价于最小化带有正则项的普通网络,如式(8)。
在这里插入图片描述
也就是说当我们对式(8)的 w i w_i wi 进行求偏导,会得到(4)式的带有Dropout网络对 w i w_i wi 的求偏导相同的结果。因此可以得到使用Dropout的几个技巧:

1.当丢失率为0.5 时,Dropout会有最强的正则化效果。因为 p(1-p)在 p=0.5时取得最大值。
2. 丢失率的选择策略:在比较深的网络中,使用 0.5的丢失率是比较好的选择,因为这时Dropout能取到最大的正则效果;在比较浅层的网络中,丢失率应该低于 0.2,因为过多的丢失率会导致丢失过多的输入数据对模型的影响比较大;不建议使用大于 0.5的丢失率,因为它在丢失过多节点的情况下并不会取得更好的正则效果。
3. 在测试时需要将使用丢失率对 w w w进行缩放:基于前面 w ‘ = p w w^`=pw w=pw的假设,我们得知无Dropout的网络的权值相当于对Dropout的网络权值缩放了 1-p倍。在含有Dropout的网络中,测试时不会丢弃节点,这相当于它是一个普通网络,因此也需要进行 1-p倍的缩放。
在这里插入图片描述

4、CNN的Dropout

不同于MLP的特征层是一个特征向量,CNN的Feature Map是一个由宽,高,通道数组成的三维矩阵。按照传统的Dropout的理论,它丢弃的应该是Feature Map上的若干个像素点,但是思想方法在CNN中并不是十分奏效的,一个重要的原因便是临近像素点之间的相似性。因为他们不仅在输入的值上非常接近,而且他们拥有相近的邻居,相似的感受野以及相同的卷积核。因此Dropout在CNN上也有很多优化。

在CNN中,我们可以以通道为单位来随机丢弃,这样可以增加其它通道的建模能力并减轻通道之间的共适应问题,这个策略叫做Spatial Dropout [6]。我们也可以随机丢弃Feature Map中的一大块区域,来避免临近像素的互相补充,这个方法叫做DropBlock[7]。还有一个常见的策略叫做Max-pooling Dropout [8],它的计算方式是在执行Max-Pooling之前,将窗口内的像素进行随机mask,这样也使的窗口内较小的值也有机会影响后面网络的效果。Spatial Dropout,DropBlock和Max-Pooling Dropout的可视化如图3所示。
在这里插入图片描述

5、Dropout的变种

5.1 高斯Dropout

在传统的Dropout中,每个节点以 1-p的概率被mask掉。反应到式(5)中,它表示为使用权值乘以 在这里插入图片描述
服从伯努利分布。式(5)相当于给每个权值一个伯努利的Gate,如图4所示。
Dropout可以看做给每个权值添加一个伯努利的gate在这里插入图片描述
如果将图4中的伯努利gate换成高斯gate,那么此时得到的Dropout便是高斯Dropout,如图5所示。在很多场景中,高斯Dropout能够起到等价于甚至高于普通Dropout的效果。
高斯Dropout
在这里插入图片描述
在使用高斯Dropout时,因为激活值保持不变,因此高斯Dropout在测试时不需要对权重进行缩放。因为在高斯Dropout中,所有节点都参与训练,这样对提升训练速度也有帮助。在高斯Dropout中,每个节点可以看做乘以了p(1-p) ,这相当于增熵,而Dropout丢弃节点的策略相当于减熵。在Srivastava等人的论文中,他们指出增熵是比减熵更好的策略,因此高斯Dropout会有更好的效果。

6、总结

在这篇文章中我们对Dropout背后的数学原理进行了深入的分析,从而得出了“Dropout是一个正则方法”的背后原理,通过对Dropout的数学分析,我们还得出了使用Dropout的几个技巧:
丢失率设置为 0.5时会取得最强的正则化效果;
不建议使用大于 0.5的丢失率。

详细参考: https://www.zhihu.com/people/yan-liu-43/posts

Pytorch深度学习-----现有网络模型的使用及修改(VGG16模型)
LGL
08-09 819
指定要加载的预训练权重。可以是None(默认值)表示不加载预训练权重,或是指定为预定义的某个预训练权重标识符。从上述运行结果可知:VGG16网络是由13层卷积层和3层全连接层组成,最后网络输出一共有1000个分类结果。由上述可以知道,add_linear是在classifier外面的,如果要在classifier里面,可以将。其它可选参数,传递给VGG-16模型的基类torchvision.models.VGG。指示下载进度条的显示设置,默认为True显示下载进度条。VGG-16是一种具有。
dropout层_深度学习Dropout原理解析
weixin_39909212的博客
11-25 2065
目录:1. Dropout简介1.1 Dropout出现的原因1.2 什么是Dropout2. Dropout工作流程及使用2.1 Dropout具体工作流程2.2 Dropout在神经网络中的使用3. 为什么说Dropout可以解决过拟合4. Dropout在Keras中源码分析1. Dropout简介1.1 Dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练...
深度学习基础21(Dropout)
FLR的博客
04-02 2184
丢弃法(Dropout) 我们为什么要使用丢弃法? 一个好的模型需要对输入数据的扰动鲁棒 丢弃法:在层之间加入噪音 无偏差加入噪音 对x加入噪音得到x’ 我们希望E[x’]=x,x的期望不变 丢弃法对每个元素进行如下扰动 这样可以保证x的期望不变 使用丢弃法 通常将丢弃法作用在隐藏全连接层的输出上 正则项只在训练中使用:只影响模型参数的更新 重新审视过拟合 当面对更多的特征而样本不足时,线性模型往往会过拟合。 相反,当给出更多样本而不是特征,通常线性模型不会过拟合。 但线性模型泛
深度学习drop用在哪个步骤
最新发布
weixin_37059706的博客
08-13 10
我整理的一些关于【深度学习】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/Hpqqk2深度学习中的Dropout使用指南 当我们进入深度学习的世界时,常常会遇到许多重要的概念,其中之一就是Dropout。这是一种正则化技术,主要用于防止神经网络的过拟合。在本篇文章中,我将详...
深度学习Dropout
qq_40950382的博客
03-20 596
小编在深度学习的学习过程中,遇到的第2个概念是Dropout,所以又是一顿恶补。但感觉这个Dropout不仅要有通俗的个人理解,对原理的理解也是很重要的。 为什么会有Dropout 在模型训练过程中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络中,过拟合表现为:模型在训练数据上损失函数较小,预测准确率较高;但在测试数据上损失函数比较大,预测准确率较低。...
深度学习基础之Dropout
Oner.wv的专栏
10-26 554
点击上方“AI派”,选择“设为星标”最新分享,第一时间送达!作者 |IrfanDanish翻译 |天字一号、尼古拉斯赵四审校 |鸢尾、唐里、Pita来源 ...
深度学习之-Dropout
赵凯月的博客
05-01 2735
为了应对神经网络很容易过拟合的问题,2014年 Hinton 提出了一个神器, **Dropout: A Simple Way to Prevent Neural Networks from Overfitting ** (original paper: http://jmlr.org/papers/v15/srivastava14a.html) 实验结果: dropout 是指在深度学习网络的...
深度学习——dropout
zchang81的博客
04-10 1401
Dropout是指在模型训练时随机让网络某些隐含层节点的权重暂时不工作,不工作的那些节点可以临时认为不是网络结构的一部分,但是它的权重得保留下来,暂时不更新,因为下一轮迭代 的时候它可能又得工作了。
深度学习中的Dropout
十年以上架构设计经验,专注于软件架构和人工智能领域,对机器视觉、NLP、音视频等领域都有涉猎
12-24 1995
Dropout可以作为训练深度神经网络的一种trick供选择。在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0)(不止可以选择一半,也可以选择其他比例),可以明显地减少过拟合现象。这种方式可以减少特征检测器(隐层节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。
深度学习面试资料-含答案
03-16
### 深度学习面试资料核心知识点解析 #### 一、深度学习面试的重要性与内容概览 深度学习作为人工智能领域的重要分支,在当前科技发展中占据着举足轻重的地位。随着技术的进步和应用场景的不断扩大,深度学习...
详解深度学习系统的训练技巧-综合文档
05-22
深度学习是一种模仿人脑神经网络结构的机器学习方法,它在图像识别、语音识别、自然语言处理等领域取得了显著成就。然而,训练一个高效的深度学习系统并非易事,需要掌握一系列的技巧和策略。本篇文章将深入探讨这些...
Pytorch深度学习-----神经网络模型的保存与加载(VGG16模型)
LGL
08-09 1136
torch.load()是PyTorch中用于加载保存的对象的函数,可以加载之前使用torch.save()保存的模型、张量、字典等。可以指定要加载的文件路径或文件对象,并可选地指定加载到的设备、反序列化模块等参数。
深度学习系列(九):详解工具箱参数及网络一种改进方式-dropout
我爱智能
01-15 1万+
本片主要介绍一种对于网络参数的改进方式,这也是大牛Hinton在前两年对深度网络的一个工作,主要的方法就是dropout,思想就是在训练网络的时候随机扔掉一些网络权值进行训练,其方法在前面的DeepLearnToolbox工具箱中也有集成,通过在这个工具箱中设置dropout参数可以直接实现网络中加入dropout的算法思想,本文旨在研究该工具箱时涉及到了dropout这块然后希望弄明白这块。关于d
深度学习dropout
wsy的浮生
05-30 117
  深度学习模型常常使⽤丢弃法(dropout) 来应对过拟合问题。                   图一   如上图所示,输⼊个数为4,隐藏单元个数为5,且隐藏单元hi(i = 1…5)的计算表达式为: 这⾥ϕ是激活函数, x1,x2,x3, x4是输⼊,隐藏单元i的权重参数为w1i,…, w4i,偏差参数为bi。   当对该隐藏层使⽤丢弃法时,该层的隐藏单元将有⼀定概率被丢弃掉。设丢弃概率为p,那么有p的概率hi会被清零,有1 − p的概率hi会除以1 − p做拉伸。丢弃概率是丢弃法的超参数。具
深度学习——Dropout的基本用法
XDXDXDXDX111的博客
09-28 3645
Dropout是一种在学习的过程中随机删除神经元的方法。训练时,随机选出隐藏层的神经元,然后将其删除。被删除的神经元不再进行信号的传递,如下图所示。训练时,每传递一次数据,就会随机选择要删除的神经元。然后,测试时,虽然会传递所有的神经元信号,但是对于各个神经元的输出, 要乘上训练时的删除比例后再输出。Dropout的核心思想是在训练神经网络时,随机地关闭一些神经元(或节点)它们以及与下一层神经元之间的连接。
机器(深度)学习中的 Dropout
冷冻工厂
02-10 1214
在这篇文章[1]中,我将主要讨论神经网络中 dropout 的概念,特别是深度网络,然后进行实验,通过在标准数据集上实施深度网络并查看 dropout 的影响,看看它在实践中实际影响如何。 1. Dropout是什么? ★ 术语“dropout”是指在神经网络中丢弃单元(包括隐藏的和可见的)。 ” 简单来说,dropout 是指随机选择的某组神经元在训练阶段忽略单元(即神经元)。 “忽略”是指在特定的前向或后向传递过程中不考虑这些单元。 详细的就是,在每个训练阶段,单个节点要么以 1-p 的概率退出网络,
关于深度学习Dropout的理解
热门推荐
zjm750617105的专栏
05-04 1万+
原文链接:  http://www.cnblogs.com/tornadomeet/p/3258122.html Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了。训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种
dropout原理解析
xddwz的博客
02-08 637
1. Dropout简介 1.1 Dropout出现的原因 在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。 过拟合是很多机器学习的通病。如果模型过拟合,那么得到的模型几乎不能用。为了解决过拟合问题,一般会采用模型集成的方法,即训练多个模型进行组合。此时,训练模型费时就成为一个很大的问题,不仅训练多.
写文章

热门文章

  • 全网最详细SIFT算法原理实现 43369
  • 目标检测-Iou(交并比)理解 41711
  • 注意机制(CBAM)理解 28510
  • 机器学习 K-Means(++)算法 28491
  • 深度学习-路径聚合网络(PANet网络) 25169

分类专栏

  • c++ 3篇
  • 机器学习 12篇
  • 深度学习 24篇
  • 软件系统安装 10篇
  • 工具使用 4篇
  • opencv-图像处理 22篇
  • 图像分割 6篇
  • 目标检测 8篇
  • 算法 2篇
  • 力扣算法题 4篇
  • 力扣数据库题 5篇
  • Java 4篇

最新评论

  • 深度学习-路径聚合网络(PANet网络)

    2426luo: 图中的绿线在哪里

  • 全网最详细SIFT算法原理实现

    Ultramarine_____: 合理的,讲的真的很差

  • 机器学习 K-Means(++)算法

    说文科技: [code=csharp] sum_all *= random() # 5、取得sum_all之间的随机值 [/code] 这个random 其实是为了后面的 sum_all -= d_i做准备,其目的其实是为了随机选一个较大距离的点作为簇中心点。

  • starGan-v2论文复现-代码完整

    qq_48666385: 你好,您有自己训练这个模型吗

  • 全网最详细SIFT算法原理实现

    hahahonghong: 前面讲的alpha 和 beta 那一块也有问题,同样建议看华中科技大学博士学位论文《SIF算法的VLSI结构设计与实现》第38页部分

大家在看

  • C语言 | Leetcode C语言题解之第429题N叉树的层序遍历
  • PHP isset() 和 empty() 区别
  • 【已解决 含代码调试分析】pytorch的维度,为什么计算loss是0维度的,0维度是是什么?作用是什么? 559
  • PHP中如何使用三元条件运算符
  • C++ | Leetcode C++题解之第430题扁平化多级双向链表

最新文章

  • Ubuntu-server 磁盘如何扩容
  • Ubuntu系统下执行sudo apt update下报错无法链接192.168.0.121:10809 (192.168.0.121)。 - connect (113: 没有到主机的路由)
  • 解决Ubuntu出现“E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)E: 无法获取 dpkg 前端锁 ……”错误
2024年1篇
2023年2篇
2022年40篇
2021年62篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tc.小浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家清远商场玻璃钢动物雕塑邵阳商场美陈贵州省玻璃钢雕塑哪里好江苏景观玻璃钢雕塑市场福建常用商场美陈制造黑龙江定制玻璃钢花盆浙江超市商场美陈价钱阜阳玻璃钢雕塑优势东莞玻璃钢动物雕塑乳山孔子玻璃钢雕塑智能玻璃钢雕塑高科技熊江苏酒店玻璃钢造型雕塑制作玻璃钢消防员救火雕塑玻璃钢花盆公司哪家便宜六一儿童节商场美陈 布置广东玻璃钢仿真水果雕塑定制河南大型商场美陈研发公司四川玻璃钢花盆销售企业铸造玻璃钢彩绘雕塑生产毕节商场美陈图片九台区玻璃钢雕塑工程报价玻璃钢浮雕和石棉钢雕塑的区别运城公园不锈钢玻璃钢雕塑玻璃钢模型雕塑宿州玻璃钢雕塑厂报价表室外玻璃钢动物雕塑多少钱福建玻璃钢雕塑价格吉林环保玻璃钢雕塑哪家便宜四川专业玻璃钢雕塑厂家天津玻璃钢饺子雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化