做者 | 陈大鑫
算法
激活函数,想必你们再熟悉不过了,作深度学习很难不用到激活函数。网络
现代神经网络的激活层都要使用到非线性函数来激活神经元,而现代神经网络每每层数都动不动上百层,那某一层的激活函数对这一层的全部神经元都要激活吗?架构
若是某些神经元不激活,效果会不会更好呢?框架
若是是,那到底何时应该激活何时不激活呢?
函数
最近,马宁宁、张祥雨、孙剑等人合做的一篇题为《Activate or Not: Learning Customized Activation》的论文提出了一种新的激活函数:ACON,它能够自适应地学习是否激活神经元。性能
论文连接:https//arxiv.org/abs/2009.04759.pdf学习
论文第一做者:马宁宁, 香港科技大学与旷视联合培养博士,导师quan long,主要研究方向为计算机视觉和高性能卷积神经网络。测试
马宁宁博士这两年来已经发过三篇ECCV 一做:ShuffleNet V二、WeightNet,FReLU:优化
其中的ShuffleNet V2在业界颇有名气:
架构设计
孙剑博士不是别人,正是你们所熟知的旷视首席科学家、旷视研究院院长。
张祥雨博士是孙剑首个深度学习博士,曾经3年看完1800篇论文,目前是旷视研究院基础模块组负责人。
他也是CV圈大名鼎鼎的研究员,是曾经和何凯明大神合做ResNet的第二做者,
如下是AI科技评论对本论文的详细介绍。
1
简介
Relu激活函数已成为神经网络中的一个有效组成部分,是当前计算机视觉算法的基础。随着一系列后续研究,NAS(神经架构搜索)技术验证了Swish激活在具备挑战性的ImageNet数据集上能得到显著提高。许多后续的神经网络结构经过使用Swish得到了更好的性能。
咱们的目标是解释这个搜索结果背后的机制,并提出更有效的激活函数。尽管NAS在现代激活上取得了新进展,但一个天然的问题是:NAS搜索的Swish事实上是如何工做的?
咱们发现Swish能够表示为ReLU的简单而通用的平滑近似:
咱们把该方法称为ACON,它遵循从ReLU到Swish转换的原则,经过一样的平滑近似公式将ReLU族转换为ACON族。
转换后的函数(ACON-A,ACON-B,ACON-C)是平滑可微的,Swish是其中的一个特例(ACON-A)。
ACON概念简单,不增长计算开销,可是它显著提升了准确率。为了获得这个结果,咱们认为梯度中固定的上下界是阻碍精度提升的主要缘由,并给出了具备可学习上下界的ACON。
直观上来讲, ACON是ReLU到Swish转换的扩展 ,经过优化转换因子来学习在激活或不激活之间切换。
然而,实验代表,直接优化参数不能很好地在线性和非线性之间进行切换。
所以,为了快速学习,咱们显式地优化了转换因子,并提出了 Meta-ACON 来学习是否激活(见图1)。
图1:咱们展现了一个ACON,它能够学习是否自适应地激活神经元。左:ReLU网络;右:学习激活(橙色)或不激活(白色)的ACON网络。
尽管它看起来只是一个微小的改变,但meta-ACON带来很大的影响:它提升了各类结构(甚至是高度优化和极深的SENet-154)的准确性,并经过元学习提供了一个新的架构设计空间,能够是层级、通道级或像素级的设计空间。在所提供的设计空间中的具体研究不是本文的重点,可是将来的研究的一个重要方向。
咱们的工做总结以下:
一、咱们发现NAS搜索的Swish能够被解释为ReLU的平滑近似;
二、一样地,咱们对ReLU族作一样的平滑近似,并获得简单而有效的新型激活函数ACON族;
三、咱们提出了Meta-ACON,它能够显式地学习激活或不激活神经元,显著地提升了性能,为新的架构设计空间提供了可能。
为了验证ACON的有效性,咱们经过在具备挑战性的ImageNet任务上的实验代表ACON有显著的提高:它在MobileNet-0.25和ResNet-152上分别提升了6.7%和1.8%。每层激活度的不肯定性也能够做为一个正则化器,有助于泛化,并在目标检测和语义分割任务上证实了该泛化方法的有效性。
2
ACON
在本文中,咱们首先说明如何使用平滑近似公式:平滑最大值来执行ReLU到Swish的转换。接下来,咱们转换ReLU族中的其余激活函数,这是一个天然和直观的想法,并使Swish成为ACON的一个特例。
最后,经过一个简单的转换因子,ACON能够学习激活(非线性)或非(线性)激活,咱们引入了Meta-ACON,它学习显式地优化因子,并显示出显著的提高。
平滑最大值
咱们简单回顾平滑最大值开始,考虑n个值的标准最大函数max(x1,…,xn),咱们有其平滑可微的近似值:
式中,β为转换因子:当β→∞时,Sβ→max;当β→0时,Sβ→算术平均值。
在神经网络中,许多常见的激活函数都是 的函数形式(例如 及其变体),其中 和 表示线性函数。咱们的目标是用这个公式来近似这些激活函数。所以,咱们考虑当n=2时,咱们将σ表示为Sigmoid函数,近似值为:
ACON-A
当 ,则 ,咱们称之为ACON-A,它刚好是Swish的公式。
Swish是近年来出现的一种新的激活函数,并经过NAS验证了其有效性,虽然近年来获得了普遍的应用,但它提升性能的缘由却缺少合理的解释。
从上面的角度来看,Swish实际上是ReLU的一个平滑近似。
ACON-B
直观上,基于上面的平滑近似方程,咱们能够将ReLU族中其余基于最大值的激活函数(例如Leaky ReLU、PReLU等)转换为ACON族。
接下来,咱们给出PReLU的平滑近似。它的原始形式是f(x)=max(x,0)+p·min(x,0),其中p是可学习的参数,初始化为0.25。然而,在大多数状况下p<1,在这种假设下,咱们将其改写为: 。
所以咱们考虑在等式2中 时的状况。
获得如下咱们称之为ACON-B的新激活:
ACON-C
咱们提出了一个简单且更通常的状况,称之为ACON-C。咱们采用相同的双参数函数,并附加了一个超参数。ACON-C遵循ACON-B的原则,简单的经过超参数对特征图缩放。形式上,设 , :
咱们对ACON-C的定义是一个很是简单和通常的状况(见图二、图3)。
图2
图3
此外,在ReLU族中可能有许多更复杂的状况(例如ηa(x)和ηb(x)的更复杂的公式),这超出了本文的范围。咱们重点讨论这个简单形式的转换性质。
一阶导数的上下界
Swish有固定的上/下界(图2b),可是ACON-C容许梯度有可学习的上/下界(图2c)。形式上计算ACON-C的一阶导数及其极限以下:
为了计算上限/下限,即最大/最小值,须要计算二阶导数:
令 ,简化获得 ,其中 , 解方程获得 , 这样就能够获得等式5的最大值和最小值:
这与一阶导数中具备固定上/下限(1.0998,-0.0998)的Swish不一样。
在Swish中,超参数β只决定一阶导数渐近于上界和下界的速度,但界是可学习的,并由ACON-C中的p1和p2决定(见图2c)。可学习边界对于简化优化是必不可少的,咱们经过实验代表,这些可学习的上下界是提升结果的关键。
表1:ReLU族和ACON族总结,表示Sigmoid。
元ACON(Meta-ACON)
当转换因子β控制激活为非线性或线性时,ACON将激活转换为激活或不激活。具体来讲,当β→∞时, ;当β→0时, 。
所以,与传统的激活如ReLU族不一样,ACON容许每一个神经元自适应学习激活或不激活(见图1)。这种自适应的激活行为有助于提升泛化和传输性能。
这在咱们的自适应激活中起着关键做用,并促使咱们提出如下meta ACON。
咱们提出的概念很简单:依赖输入样本 来显式地学习转换因子β。
咱们的目的不是提出一个具体的结构,而是在生成函数 中提供一个新的设计空间。
设计空间
这个概念比特定的体系结构更重要,它能够是逐层级、逐通道级、逐像素级的结构。咱们的目标是给出一些简单的设计实例,这些实例可以显著提升精度,并说明这种新的设计空间的重要性。
咱们简要地使用路由函数来计算基于输入特征的β,并给出一些简单的结构。
一、 结构能够是逐层级的 ,这意味着每一层共享相同的转换因子。
在形式上,咱们有:
二、 逐通道级的结构 ,即每一通道中的元素共享相同的转换因子。
形式上用 来表示,用 来表明参数(默认r=16)。
三、 像素级结构 ,全部元素都使用独特的因子。
虽然有不少结构设计方法,但咱们只是简单地给出了一个很是简单的结构,目的是给出一个像素级的例子。
在形式上,咱们有: 。
咱们注意到咱们的meta-ACON有一个简单的结构,对于下面的meta-ACON实验,除非另有说明,咱们使用通道结构和ACON-C。
虽然更复杂的设计有可能提升性能,但不是本文的重点。
表2:ACON在MobileNets,、ShuffleNetV2和ResNets上的复杂对比:ImageNet数据集的top-1偏差率(在224x224输入大小上训练和测试)。
表3:meta-ACON在MobileNets,、ShuffleNetV2和ResNets上的复杂对比:ImageNet数据集的top-1偏差率(在224x224输入大小上训练和测试)。
3
实验
图像分类
咱们对具备挑战性的ImageNet 2012分类数据集以及全面消融进行了完全的实验比较。 对于训练,咱们遵循常规作法,使用相同输入的224x224大小对全部模型进行训练,并报告标准的top-1错误率。
咱们首先在轻量cnn(MobileNets和ShuffleNetV2)和深度cnn(ResNets)上评估咱们的ACON方法。
对于轻量级cnn,咱们遵循中的训练配置;对于较大号的ResNet,咱们使用0.1的线性衰减学习率调度,权重衰减为1e-4,批量大小为256,迭代次数为600k。
咱们进行了大量的实验来分析ACON激活函数的行为,只需简单地改变不一样网络结构和不一样模型大小的全部激活。基线网络是ReLU网络,ACON网络中的额外参数能够忽略不计。
咱们从表2和图2中有三个主要的观察结果:
一、 与基于max的函数相比,ACON-A、ACON-B和ACON-C都显著提升了计算精度,这显示了可微和平滑转换的好处。
二、ACON-C的性能优于ACON-A(Swish)和ACON-B,这得益于ACON-C一阶导数的自适应上下界。
三、尽管随着模型的深刻和扩大(ResNet-101上的0.1%),ACON-A(Swish)显示出了微小的改进,但咱们仍然从ACON-C得到了连续的精度提升(ResNet-101上为0.7%)。
下一步,咱们计算Meta-ACON函数。对于轻量CNN,咱们将全部ReLU激活改成meta-ACON,对于deep-CNN(ResNet-50,ResNet-101),咱们将每一个构建块中的一个ReLU(通过3×3卷积后)改成meta-ACON,以免过拟合问题。
表3中的结果代表,咱们可以在全部网络结构中得到显著的精度增益。对于轻量化的cnn,meta-ACON在MobileNetV1 0.25上提升了6.7%,在300M级别的模型上仍然有大约3%的精确度提升。对于更深层次的ResNet,meta-ACON仍然显示出显著的改进,在ResNet-50和ResNet-101上分别是2.0%和1.7%。
为了揭示其背后缘由,在下图中比较了ResNet-50中学习到的β分布。
ACON在数据集中的全部不一样样本具备相同的β分布,可是在meta-ACON中,不一样的样本具备不一样的非线性程度,而不是在ACON中共享相同的非线性程度。具体地说,一些样本每每有更多接近于零的值,这意味着对于此类样本,网络的非线性程度较低。
而有些样本每每有更多远离零的值,这意味着网络会自适应地为这些样本学习更高的非线性。 这是一个直观合理的结果,由于不一样的样本一般具备大相径庭的特性和性质。
消融研究
与其余激活的比较
meta-ACON中的设计空间
咱们在meta-ACON中提供了一个新的架构设计空间。
咱们的目标是提供一个广阔的设计空间,为将来的神经网络设计提供更多的可能性。
下表显示了ShuffleNetV2 0.5××的比较。结果代表,这三个层次都能显著提升精度,只要设计更细致,就能够有更高效的模块。
meta-ACON中的转换因子分布
咱们采用元学习模块来明确学习转换因子β。图4显示了学习因子在ResNet-50的最后一个激活层的分布,咱们比较meta-ACON和ACON,并随机选择7个样原本显示结果。
分布代表三个结论:
一、meta-ACON学习比ACON具备更普遍的分布;
二、每一个样本都有本身的转换因子,而不是共用一个;
三、有些样本有更多接近于零的值,这意味着有些神经元在这一层中每每不被激活。
咱们对轻量cnn和深度cnn进行了全面的比较,下表显示,meta-ACON在全部网络结构上都显著优于SENet。
此外,咱们在高度优化的超大网络SENet-154上进行了实验,这对进一步提升精度具备挑战性。为了公平性比较,咱们从新实现了SENet-154,并在相同的实验环境下将激活改成ACON。
下表显示告终果:
泛化性能
为了评估不一样激活的结果,咱们使用ImageNet预训练的ResNet-50做为主干网络。
表8 :在COCO目标检测任务上比较不一样的激活函数,在以ResNet-50做为 backbone的RetinaNet给出结果。
语义分割
咱们在CityScape数据集上进一步给出了语义分割的结果。咱们使用PSPNet做为分割框架,ResNet-50做为主干网络。
表9 在CityScape语义分割任务上比较不一样的激活函数,在以ResNet-50做为 backbone的PSPNet上给出结果。
4
结论
在这项工做中,咱们提出了一个通用的和有效的激活函数来自适应地学习激活或不激活。 咱们呈现了一个对ReLU族作平滑近似的ACON族激活函数,对更多的ReLU族函数作平滑近似是一个颇有前途的将来方向,但超出了本文的重点。
此外,为了显式的学习在线性和非线性之间切换的转换因子,咱们提出了meta-ACON,它也提供了一个很普遍的设计空间 。咱们的方法简单而高效,咱们证实了它在轻量化模型上的有效性,甚至在高度优化的SENet-154上显著提升了精度。咱们指望这种强大而有效的激活范式获得普遍的应用。