Targeted Dropout

2023-11-02 00:59
文章标签 dropout targeted

本文主要是介绍Targeted Dropout,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文下载地址:https://openreview.net/pdf?id=HkghWScuoQ
码源:https://nips.cc/Conferences/2018/Schedule?showEvent=10941

Targeted Dropout的提出,是想解决原本dropout可能丢失关键信息神经元的问题

从dropout谈起:
我们在前向传播的时候,让某些神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。
dropout的使用可以有效缓解过拟合的发生,在一定程度上达到正则化的目的

但是dropout对于神经元的失活具有很强的***随机性***

Targeted Dropout想结合Unit Dropout与Weight Dropout两种思想
对于具有输入张量X、权重矩阵W、输出张量Y和Mask M的全连接层
Unit Dropout:
在每一次更新中都会随机删除单元或神经元,因此它能降低单元之间的相互依赖关系,并防止过拟合。

在这里插入图片描述

Weight Dropout:
在每一次更新中都会随机删除权重矩阵中的权值。直观而言,删除权重表示去除层级间的连接,并强迫神经网络在不同的训练更新步中适应不同的连接关系。


在这里插入图片描述

Targeted Dropout具体实现方法:
考虑一个由θ参数化的神经网络,且希望按照Unit Dropout和Weight Dropout定义的方法对W进行剪枝。
因此,希望找到最优参数θ*,它能令损失函数ε(W(θ*))尽可能小的同时,令|W(θ* )|≤k,即希望保留神经网络中最高数量级的k个权重。一个确定性的实现可以选择最小的|θ|−k个元素,并删除它们。但是如果这些较小的值在训练中变得更重要,那么它们的数值应该是增加的。因此,通过利用targeting proportion γ删除概率α,将随机性引入到了这个过程中。
其中targeting proportion表示会选择最小的γ|θ|个权重作为Dropout的候选权值,并且随后以删除概率α独立地去除候选集合中的权值。这意味着在Targeted Dropout中每次权重更新所保留的单元数为(1−γ*α)|θ|
Targeted Dropout降低了重要子网络对不重要子网络的依赖性,因此降低了对已训练神经网络进行剪枝的性能损失。

总结:
Targeted Dropout的提出想法是让原本dropout的随机失活作用下,原本权重更高的神经元不会被更高概率的被丢失掉,但是考虑到较小的值可能也会对训练有一定的影响,所以不是单纯的丢弃掉值相对较小的那一部分,而是将阈值提高,使更小值神经元范围增加,然后在小数神经元中随机失活,这样既考虑到了大数神经元的影响更高,也兼顾了小数神经元可能的作用,没有完全丢弃掉。而根据论文作者跑的实验来看,效果的确更好,可能以后这个方法会将dropout替换点,但是两个参数可能需要训练,非常量。

这篇关于Targeted Dropout的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/327014

相关文章

深度学习100问49:基于Dropout的方法有哪些

嘿,朋友!来看看这些超酷的基于 Dropout 的方法吧。   一、标准 Dropout——让神经元“玩捉迷藏”   想象一下,神经网络就像一个热闹的游乐场,里面有很多好玩的游乐设施(神经元)。标准 Dropout 呢,就像是一个调皮的小精灵,它会时不时地蒙上一些游乐设施的眼睛,让它们暂时不能工作。这样其他游乐设施就得更努力地玩,不能只靠那几个被蒙住眼睛的。这样整个游乐场(神经网络)就会变得更有趣

人工智能:模型复杂度、模型误差、欠拟合、过拟合/泛化能力、过拟合的检测、过拟合解决方案【更多训练数据、Regularization/正则、Shallow、Dropout、Early Stopping】

人工智能:模型复杂度、模型误差、欠拟合、过拟合/泛化能力、过拟合的检测、过拟合解决方案【更多训练数据、Regularization/正则、Shallow、Dropout、Early Stopping】 一、模型误差与模型复杂度的关系1、梯度下降法2、泛化误差2.1 方差2.2 偏差2.3 噪声2.4 泛化误差的拆分 3、偏差-方差窘境(bias-variance dilemma)4、Bias

Pytorch实现多层LSTM模型,并增加emdedding、Dropout、权重共享等优化

简述 本文是 Pytorch封装简单RNN模型,进行中文训练及文本预测 一文的延申,主要做以下改动: 1.将nn.RNN替换为nn.LSTM,并设置多层LSTM: 既然使用pytorch了,自然不需要手动实现多层,注意nn.RNN和nn.LSTM 在实例化时均有参数num_layers来指定层数,本文设置num_layers=2; 2.新增emdedding层,替换掉原来的nn.funct

DL基础补全计划(四)---对抗过拟合:权重衰减、Dropout

PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。 环境说明 Windows 10VSCodePython 3.8.10Pytorch 1.8.1Cuda 10.2 前言   在《DL基础补全计划(三)—模型选择、欠拟合、过拟合》( https://blog.csdn.net/u011728480/article/d

Caffe Prototxt 特征层系列:Dropout Layer

Dropout Layer作用是随机让网络的某些节点不工作(输出置零),也不更新权重;是防止模型过拟合的一种有效方法 首先我们先看一下 DropoutParameter message DropoutParameter {optional float dropout_ratio = 1 [default = 0.5]; // dropout ratio } InnerProduct l

从零实现ChatGPT:第二章备使用注意力Dropout减少过拟合

准备深入学习transformer,并参考一些资料和论文实现一个大语言模型,顺便做一个教程,今天是第二部分。 本系列禁止转载,主要是为了有不同见解的同学可以方便联系我,我的邮箱 fanzexuan135@163.com 使用注意力Dropout减少过拟合 在上一节中,我们通过在注意力权重矩阵中应用因果注意力掩码,实现了因果注意力机制。除了因果注意力掩码之外,我们还可以添加一个Dropout掩码

【深度学习笔记3.2 正则化】Dropout

关于dropout的理解与总结: dropout是什么?参考文献[1]dropout会让train变差,让test变好。一般的如果在train-set上表现好,在test-set上表现差,用dropout才有效果。使用dropout是为了避免过拟合。(来自网友)下图来自文献[3]   上图中的思想就是说:Dropout是一种正则化技术,是防止过拟合最有效的方法,然而在以下几种情况下使用drop

【深度学习】之 卷积(Convolution2D)、最大池化(Max Pooling)和 Dropout 的NumPy实现

1. 2D 卷积操作 import numpy as npdef conv2d(image, kernel, stride=1, padding=0):"""应用2D卷积操作到输入图像上。参数:- image: 输入图像,2D数组。- kernel: 卷积核,2D数组。- stride: 卷积步幅。- padding: 图像周围的零填充数量。返回值:- output: 卷积操作的结果。"""#

正则化和dropout

1. 过拟合 先来说说什么是过拟合,在Andrew Ng的ML课程中有这么一段描述。 使用一次曲线拟合房价,发现效果并不好,出现欠拟合,是high bias,训练数据不够充分。使用二次曲线拟合房价,刚好合适。使用高阶曲线拟合,每个点都很完美,这时过拟合出现了,产生了high variance,过度训练数据,使得泛化性能很差。用Bengio在Deep Learning中的这个图来阐述什么是过拟合

如何在MXNet中使用channel Dropout (Dropout2d)

在很多实际使用场景下,特别是语义分割等输出像素级预测结果的全卷积神经网络中,经常会使用到随机drop特征图维度的操作。在Pytorch中,可以直接使用torch.nn.Dropout2d实现相应功能。然而在MXNet中可能略显麻烦。 查阅MXNet文档并不能直接找到所需的信息,因为Dropout模块被定义为了最基础版本的、随机drop数组中任意元素的功能。唯一可能与需求相关的参数’axes’,其