#产业气象站#归一化激活层的进化:谷歌QuocLe等人利用AutoML技术发现新ML模块

最近 , 谷歌大脑团队和DeepMind合作发布了一篇论文 , 利用AutoML技术实现了归一化激活层的进化 , 找出了BatchNorm-ReLU的替代方案EvoNorms , 在ImageNet上获得77.8%的准确率 , 超越BN-ReLU(76.1%) 。
#产业气象站#归一化激活层的进化:谷歌QuocLe等人利用AutoML技术发现新ML模块
文章图片
论文地址:https://arxiv.org/abs/2004.02967
视频:https://youtu.be/RFn5eH5ZCVo
批归一化和激活函数是深度神经网络的重要组成部分 , 二者的位置常常重合 。 以往的神经网络设计中通常对二者分别进行设计 , 而最近谷歌大脑和DeepMind研究人员合作提出了一种新方案:将二者统一为一个计算图 , 从低级原语开始进行结构进化 。 研究者利用层搜索算法发现了一组全新的归一化-激活层EvoNorms 。 这些层中的一部分独立于批统计量(batchstatistics) 。
实验证明 , EvoNorms不仅在包括ResNets、MobileNets和EfficientNets在内的多个图像分类模型上效果显著 , 它还能很好地迁移到MaskR-CNN模型(进行实例分割)和BigGAN(用于图像合成) 。 在多种情况下 , EvoNorms的性能显著优于基于BatchNorm和GroupNorm的层 。
搜索空间
研究者将每个归一化-激活层表示为一个计算图 , 即将输入张量转换为同样形状的输出张量(见图1) 。 每个中间节点表示一元或二元运算(见表1) 。 这些运算旨在保存输入张量的维度 , 以确保计算图中节点的形状彼此兼容 。 计算图共有4个初始节点:输入张量、常数零张量 , 以及沿着被初始化为0和1的通道维度的两个可训练向量v_0和v_1 。
#产业气象站#归一化激活层的进化:谷歌QuocLe等人利用AutoML技术发现新ML模块
文章图片
图1:左图:搜索到的归一化-激活层的计算图 , 该层独立于批统计量 , 研究者将其命名为EvoNorm-S0 。 右图:使用EvoNorm-S0作为归一化-激活层的ResNet-50 , 当8个worker上的批大小从1024到32不等的情况下 , 在ImageNet数据集上的性能结果 。 EvoNorm-S0的性能还优于MobileNetV2和MaskR-CNN模型中基于批归一化(BN)和组归一化(GN)的层 。
#产业气象站#归一化激活层的进化:谷歌QuocLe等人利用AutoML技术发现新ML模块
文章图片
表1:搜索空间的原语 。
按照顺序可以生成随机图 。 从初始节点开始 , 研究者随机采样原语操作并根据操作的元数(arity)对其输入节点进行随机采样 , 从而生成新节点 。
层搜索方法
该研究使用的搜索方法包含以下重要部分:
将每个层与多个架构进行配对 , 并在轻量级代理任务中训练模型 , 从而评估每个层的性能 。
通过进化算法来优化多目标边界 , 使用高效的否决机制(rejectionmechanism)进行增强 , 从而过滤掉不需要的层 。
下图3展示了层搜索方法的整体工作流程:
#产业气象站#归一化激活层的进化:谷歌QuocLe等人利用AutoML技术发现新ML模块
文章图片
图3:层搜索算法的工作流程 。 将每个产生突变的层与K个架构配对 , 从头开始训练以得到K个多目标锦标赛选择算法的性能分数 。
层评估
像BatchNorm-ReLU这类有用的层能够在多种网络架构中均具备良好的效果 。 然而 , 从图4中可以看到 , 那些在某一给定架构中表现不错的层 , 在迁移到其他架构后其性能未必就好 。 为了明显地提升其泛化性能 , 研究者将层搜索构建为一个多目标优化问题 , 其中每个候选层均在K(K>1)个不同锚点架构上进行评估 , 以获得多个拟合值 。
#产业气象站#归一化激活层的进化:谷歌QuocLe等人利用AutoML技术发现新ML模块
文章图片
图4:5000个随机层与不同图像分类架构适配时的准确率 。
代理任务与锚点架构
研究者将代理任务定义为在CIFAR-10数据集上的图像分类任务 , 并考虑在ImageNet上三个具有代表性的网络架构 , 将其针对文中的设置进行相应调整 。 这些架构包括:通道倍率(channelmultiplier)为0.25×的预激活(Pre-activation)ResNet50;通道倍率为0.5×的MobileNetV2;通道倍率为0.5×的EfficientNet-B0 。