谷歌大脑最新研究:用AutoML的方式自动学习Dropout模式,再也不用手动设计

来源:量子位

鱼羊 发自 凹非寺

量子位 报道 | 公众号 QbitAI

深度神经网络往往存在过拟合的问题,需要Dropout、权重衰减这样的正则化方法的加持。

而最近的研究表明,如果对Dropout“剪掉”的神经元的结构进行利用,就能实现比随机替换更好的效果。

问题是,实际应用中,针对不同的问题,利用结构的方法需要人工设计,对Dropout的模式进行调整,泛化能力不足。

那么,是否能设计一种针对CNN、Transformer这样的深度神经网络,自动学习Dropout模式的方法?

现在,谷歌大神Quoc V. Le的团队,就提出了一种名为AutoDropout的方法。

相关论文已经入选AAAI2021。

将设计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

原创文章,作者:PC4f5X,如若转载,请注明出处:http://www.ssvision.cn/70.html