网站首页 > 技术文章 正文
鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI
深度神经网络往往存在过拟合的问题,需要Dropout、权重衰减这样的正则化方法的加持。
而最近的研究表明,如果对Dropout“剪掉”的神经元的结构进行利用,就能实现比随机替换更好的效果。
问题是,实际应用中,针对不同的问题,利用结构的方法需要人工设计,对Dropout的模式进行调整,泛化能力不足。
那么,是否能设计一种针对CNN、Transformer这样的深度神经网络,自动学习Dropout模式的方法?
现在,谷歌大神Quoc V. Le的团队,就提出了一种名为AutoDropout的方法。
相关论文已经入选AAAI 2021。
将设计Dropout模式的过程自动化
AutoDropout的主要目的,就是将设计针对专门场景的Dropout模式这件事自动化。
研究人员为此设计了一个新的结构化Dropout模式的搜索空间。这个搜索空间囊括了许多现有的Dropout模式。
不妨先以CNN为例,来看一下该方法是如何实现的。
CNN中的Dropout模式搜索空间
在CNN中,搜索空间的基本模式是一个连续的矩形,矩形经过平铺,就会产生一个Dropout模式。
定义矩形的超参数,是高度和宽度;而定义平铺的超参数,是步幅和重复次数。
除了对矩形进行平铺之外,还需要将两个几何变换引入搜索空间:围绕空间中心旋转,沿着每个空间维度进行剪切。
在得到dropout模式之后,研究人员将其应用于批量归一化层的输出——根据研究人员的经验,在网络的其他地方进行应用,往往会导致搜索过程中训练的不稳定。
如果CNN中存在残差连接,控制器则会进一步判断,是否把dropout模式应用到残差分支中。
控制器模型和搜索算法
AutoDropout的控制器是通过强化学习来训练的。
控制器实际上是一个Transformer网络。该网络生成token以描述Dropout模式的配置。
如下图所示,对于CNN中的每一层,都需要8个token来创建Dropout模式。
不过,这样搜索算法可能需要花费大量的时间进行训练,为此,研究人员也进行了并行性方面的改善工作。
Transformer中的Dropout模式搜索空间
这样的方法同样适用于Transformer。
与CNN中最大的不同在于,搜索空间中的dropout模式可以灵活地应用于Transformer层的多个子层,比如query、key、value、softmax、输出投影和残差等。
因此,研究人员针对每一个子层,各自应用了独立的dropout模式。
实验结果
为了验证AutoDropout的效果,研究人员分别在CNN和Transformer模型中应用了AutoDropout。
对于CNN,主要应用在有监督图像分类任务和半监督图像分类任务。
对于Transformer,主要考虑语言模型和机器翻译。
可以看到,在CIFAR-10和ImageNet上,AutoDropout都有效改善了SOTA模型的结果,并且优于DropBlock等需要人工介入的方法。
而与使用Variational Dropout方法训练的Transformer-XL模型相比,AutoDropout同样带来了更好的表现。
不过,研究人员也提到,AutoDropout的缺点是搜索成本很高。
有关作者
本文有两位作者。
Hieu Pham,谷歌大脑和卡内基梅隆大学共同培养的博士生,本科毕业于斯坦福大学。
另一位作者是Quoc V. Le大佬。他是吴恩达的学生,Google Brain的创立者之一,也是谷歌AutoML项目的幕后英雄之一。
传送门
论文地址:
https://arxiv.org/abs/2101.01761
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
猜你喜欢
- 2024-10-17 【Python深度学习系列】网格搜索神经网络超参数:丢弃率dropout
- 2024-10-17 中英趣译,用英文说对方“活该”才痛快!
- 2024-10-17 问题:ID:16145下列属于dropout特性的有()
- 2024-10-17 那些与out有关的英文表达! 与out有关的英语词组
- 2024-10-17 Dropout和标准化(Batch Normalization)
- 2024-10-17 麦克风将被静音,美网友都在猜:特朗普会如何应对?
- 2024-10-17 不只Dropout,刚刚,至少30项机器学习技术都变成了谷歌专利
- 2024-10-17 Dropout VS BN: 别在你的网络中使用Dropout
- 2024-10-17 让Dropout在图像超分领域重焕光彩
- 2024-10-17 神经网络中的损失函数正则化和 Dropout 并手写代码实现
你 发表评论:
欢迎- 11-19零基础学习!数据分析分类模型「支持向量机」
- 11-19机器学习 | 算法笔记(三)- 支持向量机算法以及代码实现
- 11-19我以前一直没有真正理解支持向量机,直到我画了一张图
- 11-19研一小姑娘分享机器学习之SVM支持向量机
- 11-19[机器学习] sklearn支持向量机
- 11-19支持向量机
- 11-19初探支持向量机:用大白话解释、原理详解、Python实现
- 11-19支持向量机的核函数
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)