Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Hanxiao Liu等作者

归一化激活层的进化:谷歌Quoc Le等人利用AutoML 技术发现新型ML模块

最近,谷歌大脑团队和 DeepMind 合作发布了一篇论文,利用 AutoML 技术实现了归一化激活层的进化,找出了 BatchNorm-ReLU 的替代方案 EvoNorms,在 ImageNet 上获得 77.8% 的准确率,超越 BN-ReLU(76.1%)。

  • 论文地址:https://arxiv.org/abs/2004.02967

  • 视频:https://youtu.be/RFn5eH5ZCVo


批归一化激活函数深度神经网络的重要组成部分,二者的位置常常重合。以往的神经网络设计中通常对二者分别进行设计,而最近谷歌大脑和 DeepMind 研究人员合作提出了一种新方案:将二者统一为一个计算图,从低级原语开始进行结构进化。研究者利用层搜索算法发现了一组全新的归一化-激活层 EvoNorms。这些层中的一部分独立于批统计量(batch statistics)。

实验证明,EvoNorms 不仅在包括 ResNets、MobileNets 和 EfficientNets 在内的多个图像分类模型上效果显著,它还能很好地迁移到 Mask R-CNN 模型(进行实例分割)和 BigGAN(用于图像合成)。在多种情况下,EvoNorms 的性能显著优于基于 BatchNorm 和 GroupNorm 的层。

搜索空间

研究者将每个归一化-激活层表示为一个计算图,即将输入张量转换为同样形状的输出张量(见图 1)。每个中间节点表示一元或二元运算(见表 1)。这些运算旨在保存输入张量的维度,以确保计算图中节点的形状彼此兼容。计算图共有 4 个初始节点:输入张量、常数零张量,以及沿着被初始化为 0 和 1 的通道维度的两个可训练向量 v_0 和 v_1。

图 1:左图:搜索到的归一化-激活层的计算图,该层独立于批统计量,研究者将其命名为 EvoNorm-S0。右图:使用 EvoNorm-S0 作为归一化-激活层的 ResNet-50,当 8 个 worker 上的批大小从 1024 到 32 不等的情况下,在 ImageNet 数据集上的性能结果。EvoNorm-S0 的性能还优于 MobileNetV2 和 Mask R-CNN 模型中基于批归一化(BN)和组归一化(GN)的层。

表 1:搜索空间的原语。

按照顺序可以生成随机图。从初始节点开始,研究者随机采样原语操作并根据操作的元数(arity)对其输入节点进行随机采样,从而生成新节点。

层搜索方法

该研究使用的搜索方法包含以下重要部分:

  • 将每个层与多个架构进行配对,并在轻量级代理任务中训练模型,从而评估每个层的性能。

  • 通过进化算法来优化多目标边界,使用高效的否决机制(rejection mechanism)进行增强,从而过滤掉不需要的层。


下图 3 展示了层搜索方法的整体工作流程:

图 3:层搜索算法的工作流程。将每个产生突变的层与 K 个架构配对,从头开始训练以得到 K 个多目标锦标赛选择算法的性能分数。

层评估

像 BatchNorm-ReLU 这类有用的层能够在多种网络架构中均具备良好的效果。然而,从图 4 中可以看到,那些在某一给定架构中表现不错的层,在迁移到其他架构后其性能未必就好。为了明显地提升其泛化性能,研究者将层搜索构建为一个多目标优化问题,其中每个候选层均在 K (K > 1) 个不同锚点架构上进行评估,以获得多个拟合值。

图 4:5000 个随机层与不同图像分类架构适配时的准确率

代理任务与锚点架构

研究者将代理任务定义为在 CIFAR-10 数据集上的图像分类任务,并考虑在 ImageNet 上三个具有代表性的网络架构,将其针对文中的设置进行相应调整。这些架构包括:通道倍率(channel multiplier)为 0.25×的预激活(Pre-activation)ResNet50;通道倍率为 0.5×的 MobileNetV2;通道倍率为 0.5×的 EfficientNet-B0。

为处理 CIFAR-10 中图像分辨率低于 ImageNet 的问题,将以上网络架构的前两个用于缩小空间的卷积步长修改为 1。研究者将这些调整后的版本分别称为 ResNet50-CIFAR,MobileNetV2-CIFAR 和 EfficientNet-CIFAR。

图 5:锚点架构中的模块定义。从左到右依次为:ResNet-CIFAR、MobileNetV2-CIFAR 和 EfficientNet-CIFAR。

进化

该研究使用的进化算法是锦标赛选择算法的变体。在每一步中,基于全部层的随机子集构建锦标赛,获胜者可以生成突变后的进化版本,在经过评估后加入到候选层中。因此,随着这一过程不断重复,候选层的整体质量有所提升。研究者还通过保持获选层最近部分的滑动窗口,对进化执行正则化

选择标准。锦标赛获胜者的选择标准并非唯一,因为每个层都具备多个分数。下面展示了两个可实施的选项:

  • 平均值:具备最高平均准确率的层获胜(如图 6 中的 B);

  • 帕累托:位于帕累托边界上的随机层获胜(如图 6 中的 A、B、C 均获胜)。


突变。研究者通过以下三个步骤完成获胜层的计算图突变:

  1. 随机均匀选择中间节点;

  2. 随机均匀地使用表 1 中的新操作替换当前操作;

  3. 随机均匀地选择该节点的新的继任者。

图 6: 对于多目标进化的二选一锦标赛评价准则。

否决机制

质量。对于在任意三个 anchor 架构中进行了 100 个训练步后验证准确率低于 20% 的层,研究者选择丢弃。由于候选层中绝大部分无法获得有意义的学习动态(见图 2),因此这一简单机制可以确保计算资源集中在对有潜力的少量候选层进行完整的训练。

稳定性。除了质量以外,研究者还选择丢弃具备数值不稳定性的层。其基本原理是:向着最大化网络梯度范数的方向对抗式地调整卷积权重 θ,从而对候选层进行压力测试。

实验

在表 2 中,研究者将所发现的层与应用广泛的归一化激活层在 ImageNet 数据集上进行比较,包括使用谷歌之前提出的 Swish 激活函数的强基线。

表 2:不同的归一化-激活层在 ImageNet 上的测试准确率。需要移动平均数的项见图中蓝字。对于相同的架构,用相同的代码库和相同的训练设置会得到一样的结果。

表 3 展示了从另一个搜索实验中得到的 EvoNorms 的性能数据,该实验不使用包含批聚合操作(batch aggregation op)的层。

表 3:不具备批统计量的基于样本的层在 ImageNet 上的测试准确率学习率和批大小呈线性关系。对相同的架构,用相同的代码库和相同的训练设置会得到一样的结果。

图 7 展示了具备大批量的 Evonorms 的学习动态。在相同的训练环境下,尽管训练损失较大,但在 ResNet-50 上 EvoNorm-B0 的性能仍然优于 BN-ReLU。

图 7:在批大小较大的情况下,ResNet-50 和 MobileNetV2 在 ImageNet 数据集上的训练/评估曲线。图中显示了每个层对应的测试准确率

为了调查该研究发现的层能否在搜索时的分类任务以外的任务上实现泛化,研究者将其与 Mask R-CNN (He et al., 2017) 和 ResNet-FPN (Lin et al., 2017) 进行配对,并在 COCO 数据集上执行目标检测实例分割任务。

表 4:在 COCO val2017 数据集上的 Mask R-CNN 目标检测实例分割结果。

研究者进一步测试了 EvoNorms 在训练 GAN 时的可用性。运用 BigGAN 的训练步骤进行训练后,研究者在表 5 中给出了最佳表现的结果。使用 EvoNorm-B0 的 BigGAN-deep 生成的部分样本图像如图 8 所示。

表 5:BigGAN-deep 生成器中不同归一化激活层的图像合成性能,其中使用批统计量与不使用批统计量的层是彼此分离的。如图所示,中位数和最佳性能是在 3 个随机种子上取得的。IS 值越高越好,FID 值越低越好。

图 8:BigGAN-deep + EvoNorm-B0 生成的部分图像示例。

与只依赖一种方差的传统归一化范式不同,EvoNorm-B0 尝试在其 denominator 中混合两种方差。前者在同一 mini-batch 内捕捉不同图像的全局方差,后者则捕捉每个图像的局部方差。

图 9:EvoNorm-B0 的计算图。

研究者以 MobileNetV2 为例详细研究了上述问题。结果显示,EvoNorm-B0 在准确率-参数权衡和准确率-FLOPs 权衡方面都显著优于 BN-ReLU(见图 11)。这是因为 EvoNorms 的开销可以很大程度上由其性能收益来补偿。

图 11:MobileNetV2 配以不同的归一化激活层时的 ImageNet 准确率 vs 参数,以及准确率 vs FLOPs。

下图 10 在代理任务中对比了进化和随机搜索,从图中我们可以看到它们在优化搜索目标时的采样效率存在很大差距。

图 10:在代理任务中,进化 vs 随机搜索 vs 固定基线(BN-ReLU)的搜索进程。

作者信息

这篇论文的作者共有四位,分别来自谷歌大脑和 DeepMind。其中,一作是谷歌大脑研究科学家 Hanxiao Liu(刘寒骁)。他本科毕业于清华大学,2018 年在卡内基梅隆大学取得计算机科学博士学位,曾先后在微软、Citadel、DeepMind 等公司实习,2018 年加入谷歌担任研究科学家。

论文一作刘寒骁。

理论Quoc Le谷歌DeepMind批归一化AutoML归一化
1
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

MobileNets技术

MobileNet是专用于移动和嵌入式视觉应用的卷积神经网络,是基于一个流线型的架构,它使用深度可分离的卷积来构建轻量级的深层神经网络。通过引入两个简单的全局超参数,MobileNet在延迟度和准确度之间有效地进行平衡。MobileNets在广泛的应用场景中有效,包括物体检测、细粒度分类、人脸属性和大规模地理定位。

随机搜索技术

批归一化技术

批归一化(Batch Normalization,BN)由谷歌于2015年提出,是一个深度神经网络训练的技巧,它不仅可以加快模型的收敛速度,还能在一定程度上缓解深层网络中的“梯度弥散”问题,从而使得训练深层网络模型更加容易和稳定。目前BN已经成为几乎所有卷积神经网络的标配技巧了。从字面意思看来Batch Normalization(简称BN)就是对每一批数据进行归一化。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

实例分割技术

实例分割是检测和描绘出现在图像中的每个不同目标物体的任务。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

多目标优化技术

多目标优化是多准则决策的一个领域,它是涉及多个目标函数同时优化的数学问题。多目标优化已经应用于许多科学领域,包括工程、经济和物流,其中需要在两个或多个相互冲突的目标之间进行权衡的情况下作出最优决策。分别涉及两个和三个目标的多目标优化问题的例子有:在购买汽车时降低成本,同时使舒适性最大化;在使车辆的燃料消耗和污染物排放最小化的同时将性能最大化。

推荐文章
暂无评论
暂无评论~