鱼羊 发自 凹非寺
量子位 报道 | 公众号 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
— 完—
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
加入AI社群,拓展你的AI行业人脉
量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与 50000+名好友共同关注人工智能 行业发展&技术进展:
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
一键三连「分享」、「点赞」和「在看」