神经元一定要激活吗?马宁宁、孙剑、张祥雨对此表示怀疑

2020-10-09 09:33:57 浏览数 (1)

作者 | 陈大鑫

激活函数,想必大家再熟悉不过了,做深度学习很难不用到激活函数。

现代神经网络的激活层都要使用到非线性函数来激活神经元,而现代神经网络往往层数都动不动上百层,那某一层的激活函数对这一层的所有神经元都要激活吗?

如果某些神经元不激活,效果会不会更好呢?

如果是,那到底什么时候应该激活什么时候不激活呢?

最近,马宁宁、张祥雨、孙剑等人合作的一篇题为《Activate or Not: Learning Customized Activation》的论文提出了一种新的激活函数:ACON,它可以自适应地学习是否激活神经元。

论文链接:https//arxiv.org/abs/2009.04759.pdf

论文第一作者:马宁宁,香港科技大学与旷视联合培养博士,导师quan long,主要研究方向为计算机视觉和高性能卷积神经网络。

马宁宁博士这两年来已经发过三篇ECCV 一作:ShuffleNet V2、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)的准确性,并通过元学习提供了一个新的架构设计空间,可以是层级、通道级或像素级的设计空间。在所提供的设计空间中的具体研究不是本文的重点,但是未来的研究的一个重要方向。

我们的工作总结如下:

1、我们发现NAS搜索的Swish可以被解释为ReLU的平滑近似;

2、同样地,我们对ReLU族做同样的平滑近似,并得到简单而有效的新型激活函数ACON族;

3、我们提出了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的定义是一个非常简单和一般的情况(见图2、图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。

我们提出的概念很简单:依赖输入样本

来显式地学习转换因子β。

我们的目的不是提出一个具体的结构,而是在生成函数

中提供一个新的设计空间。

设计空间

这个概念比特定的体系结构更重要,它可以是逐层级、逐通道级、逐像素级的结构。我们的目标是给出一些简单的设计实例,这些实例能够显著提高精度,并说明这种新的设计空间的重要性。

我们简要地使用路由函数来计算基于输入特征的β,并给出一些简单的结构。

1、结构可以是逐层级的,这意味着每一层共享相同的转换因子。

在形式上,我们有:

2、逐通道级的结构,即每一通道中的元素共享相同的转换因子。

形式上用

来表示,用

来代表参数(默认r=16)。

3、像素级结构,所有元素都使用独特的因子。

虽然有很多结构设计方法,但我们只是简单地给出了一个非常简单的结构,目的是给出一个像素级的例子。

在形式上,我们有:

我们注意到我们的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中有三个主要的观察结果:

1、 与基于max的函数相比,ACON-A、ACON-B和ACON-C都显著提高了计算精度,这显示了可微和平滑转换的好处。

2、ACON-C的性能优于ACON-A(Swish)和ACON-B,这得益于ACON-C一阶导数的自适应上下界。

3、尽管随着模型的深入和扩大(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个样本来显示结果。

分布表明三个结论:

1、meta-ACON学习比ACON具有更广泛的分布;

2、每个样本都有自己的转换因子,而不是共用一个;

3、有些样本有更多接近于零的值,这意味着有些神经元在这一层中往往不被激活。

我们对轻量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上显著提高了精度。我们期望这种强大而有效的激活范式得到广泛的应用。

0 人点赞