百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

告别规范化!MIT 谷歌等提出全新残差学习方法,效果惊艳

cac55 2024-10-22 10:04 16 浏览 0 评论

现阶段最好的神经网络结构中,规范化(normalization)是一项重要技术。尽管规范化有利于网络训练的原因仍不清楚,但它已经被广泛的应用于提高模型的泛化能力、稳定训练过程、以及加速模型收敛,同时规范化也使得使用更高的学习率训练模型成为了可能。

近日,来自 MIT、谷歌大脑、斯坦福的三名研究人员提出了一项具有挑战性的工作(这项工作在 Facebook 工作期间完成),他们认为规范化的好处并不是唯一的。论文《Fixup Initialization: Residual Learning Without Normalization》中提出了一种固定更新初始化(fixed-update initialization,Fixup),该论文已被 ICLR2019 接收。我们对该方法做了简要介绍,本文是 AI 前线第 70 篇论文导读。

背 景

在人工智能应用发展火热的今天,创新的网络模型及其训练技巧成为了人工智能发展的核心技术。例如在 2016 年何凯明及其团队提出 ResNet 的残差学习结构后,大部分 SOTA 的识别系统都是基于这种在卷积网络与加性残差连接堆叠的结构上添加一些规范化机制而设计的。除了图像分类,多种类的规范化技术在很多其他领域,如机器翻译、生成模型等方面都扮演着重要的角色。

对于规范化技术能产生上述好处的原因,学术界目前还没有达成一种共识。这篇论文对以下这些方面进行了研究:

  1. 在不使用规范化的情况下,深度残差网络能否可靠地训练?
  2. 在不使用规范化的情况下,深度残差网络能否使用相同的学习率进行训练、能否以相同的速度收敛以及能够获得一样好的泛化能力,或者更好?

令人惊讶的是,研究人员发现对于上述的两个问题,回答是肯定的。同时,这篇论文也对以下几个问题进行了讨论(后文均使用第一人称编译):

  • 为什么规范化有助于训练过程。在残差网络的初始化过程中,我们对一种低边界的梯度范数进行了研究,这可以很好的解释为什么使用标准初始化、规范化技术对于深度残差网络在大学习率的情况下是必要的。
  • 在不使用规范化的情况下进行训练。我们提出了 Fixup 技术——一种通过修改网络的结构,对残差分支的标准初始化进行放缩的方法。Fixup 在不使用规范化对极深的残差网络训练时,可以使用最大的学习率。
  • 图像分类。我们使用 Fixup 代替了批规范化过程,在图像分类的基准数据库 CIFAR-10(Wide-ResNet)与 ImageNet(ResNet)上进行了验证。实验结果表明,在使用了适当的正则化后,使用 Fixup 的方法训练出的网络可以与使用规范化的方法训练的网络达到相同的效果。
  • 机器翻译。我们使用 Fixup 替代了规范化层,在机器翻译的基准数据库 IWSLT 和 WMT 使用 Transformer(一种发表于 2017 年 NeurIPS 的目前最好的机器翻译算法 )模型进行了训练。发现该方法可以超过基准线并在相同的框架下取得的目前最好的结果。



图 1:左:ResNet 标准残差块,红色表示批归一化层。中:一种简单的网络块,在堆叠时可以保持稳定。右:Fixup 结构,通过添加偏置更好地提升网络稳定性。

使用标准初始化的 ResNet 会导致梯度爆炸

标准初始化方法是为了初始化网络参数,防止发生梯度消失或梯度爆炸而提出的。然而,在不使用如 BatchNorm 等一些规范化的方法时,标准初始化并不能很好的解决残差连接中梯度爆炸的问题。针对该问题,Balduzzi 提出了一种 ReLU 网络,我们使用正定同质激活函数将 ReLU 网络的思想泛化到残差网络。不使用规范化层时,原始的 ResNet 中每个残差块的激活函数可以表达为:


为了便于分析,我们分析使用了正定同质函数,首先介绍两个定义:


p.h. 函数的例子在神经网络中是大量存在的。包括很多无偏的线性操作,例如全连接层、卷积层、池化层、串联层和 dropout 等,当然也包括 ReLU 这种非线性函数。此外,我们还引入了以下两个命题:


  1. 猜想 1 一个使用交叉熵损失的分类网络 f 可以看成是一个若干个网络块组成的集合,其中每个网络块都是一个 p.h. 函数
  2. 猜想 2 FC 层的权重是从零均值对称分布中独立同分布采样得到的。

在一个使用了 ReLU 函数的残差网络中,如果我们移除了所有的规范化层,根据这些猜想可得到所有的偏置都被初始化为 0。

我们的结论可以总结为如下两条,证明过程在论文的附件中:


在图 2 中,我们提供了不使用规范化时 ResNet 中的三种 p.h. 集合的例子。基于理论 2,如果未归一化概率值 z 在初始化的时候被放大了,这三个例子都有可能会遭遇梯度爆炸问题。而在 ResNet 中,如果不使用规范化,而使用传统方法初始化参数,上述情况是很有可能出现的。这就是我们提出一种新的初始化方法的动机。


图 2:ResNet 中不使用规划范时 p.h. 集的例子。(1) 最大池化前的第一个卷积层;(2)softmax 层之前的全连接层;(3) 主干网络中的空间降采样层和与其相对应的残差分支中的卷积层。

Fixup:在 SGD 的每一步更新残差网络

在这一部分,我们提出了一种由上至下的新的初始化方法。通过对标准初始化简单地放缩,可以保证在合适的范围更新网络函数。首先,我们假设学习率η并设定我们的目标:


从另一个角度讲,我们的目标是设计一种初始化方法,从而使 SGD 可以不依赖深度且以正确的比例对网络函数进行更新。

我们将捷径(Shortcut)定义为残差网络中从输入到输出的最短路径。捷径是一种典型的可训练的浅层网络。假设使用标准方法对捷径进行初始化,我们来分析一下残差分支的初始化情况。

残差分支同步更新网络。

最初,我们发现 SGD 在更新每个残差分支的时,会在高度相关的方向上改变网络的输出。这意味着,如果一个残差网络含有L个残差分支,那么每个残差分支在一次迭代中,应当对网络的输出平均改变Θ(η/L) 从而达到对整个网路输出改变为Θ(η)。

对于标量分支的研究。


最终我们可以得到,当且仅当满足以下条件时:



偏置和乘法器的影响。

通过对残差分支中权重的放缩,一个残差网络在 SGD 的每一步更新值为Θ(η),到这里我们的目标已经达成了。然而,为了使训练性能与使用规范化时相匹配,我们还需要考虑偏置和乘法器的情况。

在全连接层和卷积层使用偏置是一种很通用的方法。在规范化方法中,偏置和缩放参数被用来重建特征经过规范化操作后的表征能力。因为权重层与激活层的输入 / 输出均值可能不同,因此在不使用规范化的残差网络中插入偏置项同样可以有助于训练网络。我们发现在每个权重层和非线性激活层前仅插入一个标量偏置可以显著地提高训练性能。

乘法器会对残差分支的输出进行放缩,这与批规范化中的放缩参数功能类似(批规范化中两个重要参数为:scale 和 shift,即放缩与滑动)。我们发现,在每个残差分支中插入一个标量乘法器可以模仿使用规范化的网络中权重模值动态变化的过程。最终,我们得到了训练不使用规范化方法的残差网络的完整方法:

Fixup 初始化


实 验

我们在 CIFAR-10 数据库上测试了第一轮迭代(即数据库中所有图像通过模型一次)结束后模型的测试准确率,发现对于多种深度的卷积神经网络,在学习率相同的情况下 Fixup 可以达到与 BatchNorm 相同的效果。实验结果如下图所示:


图 1 CIFAR-10 数据库上各种方法的训练结果比较,值越大表示结果越好。

此外,我们还对比了使用 Fixup 训练不同深度的 ResNet 和其他方法在 ImageNet 数据库上的结果,实验结果如下表所示:


可以看出 Fixup 与组规范化方法的性能不相上下,该实验中通过交叉验证得到了三种方法的最优偏置标量,对于批规范化、组规范化和 Fixup 分别为 0.2,0.1 和 0.7。

此外,在机器翻译的 SOTA 方法中我们同样使用 Fixup 代替规范化层进行了实验。我们惊奇地发现,当使用 Fixup 代替规范化层可以更好地防止模型过拟合,我们认为这要归功于 dropout 操作的正则化。在两个数据库上,使用 Fixup 都取得了目前最好的结果,实验结果如下表:


结 论

Fixup 通过对标准初始化进行适当的放缩来解决训练过程中梯度爆炸和梯度消失的问题。在不使用规范化的情况下,使用 Fixup 训练的残差网络可以达到与使用规范化训练时相同的稳定性,甚至在网络层数达到了 10000 层时也可以不相上下。此外,在使用了合适正则化方法的情况下,通过 Fixup 训练的不使用规范化的残差网络在图像分类和机器翻译上达到了目前最好的水平。在理论和应用两方面,这篇工作都给出了一种新的尝试。在理论层面,去除规范化有利于更简便地分析残差网络。在应用层面,Fixup 对于发展正则化方法提供了可能,比如结合 ZeroInit 等。

论文链接:https://arxiv.org/pdf/1901.09321.pdf

相关推荐

赶紧查下支付宝登陆授权,有人被盗刷了!你的还安全吗?

神马,支付宝被盗刷了?曾经在其他手机上用过支付宝?赶紧查下你的支付宝登陆授权!有网友说自己的支付宝被盗刷了,可能是他的支付宝在其他设备上登陆过。该怎么办?打开支付宝,点击“我的”,点击“设置”,点击“...

用支付宝的都要看!原来这个账号这么重要!

现在支付宝已经完全融入大家的生活付钱、种树、偷能量、集五福上到退休老人,下到小学生大家都能操作的666但这些只能算是基本操作还有人用支付宝赚起了零花钱??近日,还在上中学的小龙收到一条QQ消息,对方是...

客服回应“WP8.1版支付宝需升级登录”:请换系统

前瞻科技快讯10月20日消息,对于WindowsPhone用户反馈的,WP8.1版支付宝钱包在登录时会收到”“抱歉,此版本将不再支持,建议你升级到最新版本,或使用支付宝网站进行操作。”提示一事,网友...

支付宝移动平台三大类之一《服务窗》怎么开通,大家是这样开通的

支付宝移动平台分三大类:《一》服务窗平台《二》二维码平台《三》卡劵平台《一》服务窗平台(一)服务窗查找步骤:马云旗下的支付宝潜藏着另类“公众号”----服务窗,查找步骤:打开支付宝...

支付宝:不要想得美!支付宝一段时间未登录将被销号!

近日,淘宝、支付宝对服务协议进行了更新:连续12个月未登录支付宝,且没有任何资产的支付宝用户将被注销。如需再次使用,重新申请注册即可。但@支付宝同时提醒:在花呗借呗有欠款的朋友无论多久没操作都不会被...

支付宝上线人脸登录(支付宝上线人脸登录怎么设置)

本报讯(记者胡晓晶)需要靠脸才能过安检,正在乌镇举行的第二届世界互联网大会,让“人脸识别”再次成为热门话题。不过,如今这项技术不仅能给大佬用,也能用于普通人了。昨天起,这种用“刷脸”取代账号密码来登录...

WP8.1版支付宝不能登录使用新进展:操作环境已保护

昨天,我们报道了部分用户的WP8.1版支付宝钱包不能正常登录的问题,并且提示“抱歉,此版本将不再支持”,而今天用户发现有了新的提示“我们对你当前的操作环境加强了保护,请联系95188转人工受理”,结果...

熟人能改你的支付宝登录密码?支付宝称仅可在自己手机上修改

通过识别好友和买过的商品就可以找回自己的甚至获取别人的支付宝登录密码?近日,有网友称支付宝存在安全漏洞,熟人可以用一方的用户名输入其账户后,不输入密码而选择找回密码的方式,在认证环节中输入熟人的相关信...

支付宝小程序常用 API 开发指南:从登录到支付的全流程解析

作为一名在小程序开发领域摸爬滚打多年的前端老程序员,我深知不同平台的小程序API各有特点。今天咱们就聚焦支付宝小程序,聊聊那些从登录授权到支付交易的核心API使用技巧,顺便也会分享一个能让你的...

快报:支付宝出现大面积无法正常登陆现象

IT之家讯5月27日下午消息,就在刚刚,有大量用户反馈支付宝钱包客户端和网页版均出现无法正常登陆的情况。用户反映,自己在登陆支付宝的时候提示网络繁忙,无法登陆,有些用户登陆上去却又提示需要重新登陆,...

支付宝部分地区出现故障,用户无法登录和支付

三言财经12月5日消息,今日有部分网友反映支付宝出现故障,无法登陆。表现为会从已登录状态突然跳回原登录界面,或者验证码登录时收验证码速度特别慢,淘宝快捷登录失效。也有用户反映购物时出现无法支付和转账...

支付宝正式上线“刷脸”登录功能(支付宝登录为什么要刷脸才能登进去)

IT之家讯12月17日消息,近日支付宝正式上线了人脸登录功能,只需要在手机前面“刷脸”就能取代密码进行登录操作,目前仅限iOS和部分安卓机型。据悉,要想开启刷脸登录功能,需在支付宝客户端中依次选择“...

企业版支付宝如何充值、转账、在线支付和扫码支付

首先要开通企业版支付宝,开通方法暂不介绍。企业版支付宝和个人支付宝差别并不大,不过企业版支付宝可以理解成一个银行对公账号,就是说资金进出都要记账。企业版支付宝由于不能直接像个人支付宝那样绑定银行卡后就...

支付宝这个新功能,我等了十年(支付宝推出几年了)

经过年前年后的几波小更新,微信这个国民级App又进入了短暂的休眠状态。目前小雷已经停留在8.0.20版本许久,越用越觉得索然无味,这并非微信的问题。而是作为一位精神00后,秃头雷一直热爱尝鲜。只要手机...

免登录!城乡居民医保支付宝缴费指南来了→

原标题:免登录!城乡居民医保支付宝缴费指南来了→来源:重庆税务...

取消回复欢迎 发表评论: