一种新的激活函数族ACON

前言

该论文是旷视收录于CVPR2021的新作,作者提出了一个简单、有效和通用的激活函数称之为 A C O N \mathrm{ACON} ACON,它可以学习并决定是否要激活神经元。作者提出了进一步提出了 M e t a − A C O N \mathrm{Meta-ACON} MetaACON,它明确地学习优化非线性(激活)和线性(非激活)之间的参数切换。在图像分类,目标检测以及语义分割的任务上,都使得深度模型有显著的提升效果。
在这里插入图片描述
论文链接:https://arxiv.org/abs/2009.04759
代码链接:https://github.com/nmaac/acon

A C O N \mathrm{ACON} ACON

光滑最大值函数

 考虑标准最大函数 max ⁡ ( x 1 , ⋯   , x n ) \max(x_1,\cdots,x_n) max(x1,,xn) n n n个值,它的光滑性的和可微的性近似为:
S β ( x 1 , ⋯   , x n ) = ∑ i = 1 n x i e β x i ∑ i = 1 n e β x i S_{\beta}(x_1,\cdots,x_n)=\frac{\sum\limits_{i=1}^nx_ie^{\beta x_i}}{\sum\limits_{i=1}^ne^{\beta x_i}} Sβ(x1,,xn)=i=1neβxii=1nxieβxi其中 β \beta β表示连接系数。当 β → ∞ \beta \rightarrow \infty β时,则有 S β → 最 大 值 S_{\beta}\rightarrow 最大值 Sβ;当 β → 0 \beta \rightarrow0 β0时,则有 S β → 等 差 中 项 S_{\beta}\rightarrow 等差中项 Sβ
 在神经网络中,许多常见的激活函数是 max ⁡ ( η a ( x ) , η b ( x ) ) \max(\eta_a(x),\eta_b(x)) max(ηa(x),ηb(x))函数的形式,其中 η a ( x ) \eta_a(x) ηa(x) η b ( x ) \eta_b(x) ηb(x)表示线性函数。作者的目标是用这个公式来近似激活函数。考虑 n = 2 n = 2 n=2时的情况,将 σ \sigma σ表示为Sigmoid函数,近似值为:

S β ( η a ( x ) , η b ( x ) ) = η a ( x ) ⋅ e β η a ( x ) e β η a ( x ) + e β η b ( x ) + η b ( x ) ⋅ e β η b ( x ) e β η a ( x ) + e β η b ( x ) = η a ( x ) ⋅ 1 1 + e − β ( η a ( x ) − η b ( x ) ) + η b ( x ) ⋅ 1 1 + e − β ( η b ( x ) − η a ( x ) ) = η a ( x ) ⋅ σ [ β ( η a ( x ) − η b ( x ) ) ] + η b ( x ) ⋅ σ [ β ( η b ( x ) − η a ( x ) ) ] = ( η a ( x ) − η b ( x ) ) ⋅ σ [ β ( η a ( x ) − η b ( x ) ) ] + η b ( x ) \begin{aligned}&S_{\beta}(\eta_{a}(x),\eta_{b}(x))\\=&\eta_{a}(x)\cdot \frac{e^{\beta \eta_{a}(x)}}{e^{\beta \eta_{a}(x)}+e^{\beta\eta_{b}(x)}}+\eta_{b}(x)\cdot \frac{e^{\beta \eta_{b}(x)}}{e^{\beta \eta_{a}(x)}+e^{\beta \eta_{b}(x)}}\\=&\eta_{a}(x)\cdot \frac{1}{1+e^{-\beta(\eta_a(x)-\eta_b(x))}}+\eta_b(x)\cdot \frac{1}{1+e^{-\beta(\eta_b(x)-\eta_a(x))}}\\=&\eta_a(x)\cdot \sigma[\beta(\eta_a(x)-\eta_b(x))]+\eta_b(x)\cdot \sigma[\beta(\eta_b(x)-\eta_a(x))]\\=&(\eta_a(x)-\eta_b(x))\cdot \sigma[\beta(\eta_a(x)-\eta_b(x))]+\eta_b(x)\end{aligned} ====Sβ(ηa(x),ηb(x))ηa(x)eβηa(x)+eβηb(x)eβηa(x)+ηb(x)eβηa(x)+eβηb(x)eβηb(x)ηa(x)1+eβ(ηa(x)ηb(x))1+ηb(x)1+eβ(ηb(x)ηa(x))1ηa(x)σ[β(ηa(x)ηb(x))]+ηb(x)σ[β(ηb(x)ηa(x))](ηa(x)ηb(x))σ[β(ηa(x)ηb(x))]+ηb(x)

A C O N − A \mathrm{ACON-A} ACONA

 当 η a ( x ) = x \eta_a(x)=x ηa(x)=x η b ( x ) = 0 \eta_b(x)=0 ηb(x)=0时,则有 f A C O N − A ( x ) = S β ( x , 0 ) = x ⋅ σ ( β x ) f_{\mathrm{ACON-A}}(x)=S_{\beta}(x,0)=x\cdot \sigma(\beta x) fACONA(x)=Sβ(x,0)=xσ(βx)以上公式即是 A C O N − A \mathrm{ACON-A} ACONA激活函数,也是 S w i s h \mathrm{Swish} Swish激活函数。 S w i s h \mathrm{Swish} Swish函数是最近被提出的一个新的激活函数。尽管它最近被广泛使用,但对于它为什么提高性能缺乏合理的解释。作者给我们提供了一个新的解释即 S w i s h \mathrm{Swish} Swish R e L U \mathrm{ReLU} ReLU的平滑近似。

A C O N − B \mathrm{ACON-B} ACONB

 作者将 M a x o u t \mathrm{Maxout} Maxout族中的最大值的激活 L e a k _ R e L U \mathrm{Leak\_ReLU} Leak_ReLU P R e L U \mathrm{PReLU} PReLU转换为 A C O N \mathrm{ACON} ACON族中。作者展示了 P R e L U \mathrm{PReLU} PReLU的近似,它的原始形式为 f ( x ) = max ⁡ ( x , 0 ) + p min ⁡ ( x , 0 ) f(x) = \max(x,0) + p \min(x,0) f(x)=max(x,0)+pmin(x,0)其中 p p p是一个可学习的参数,初始化的数值为 0.25 0.25 0.25。在大多数情况下 p < 1 p < 1 p<1,作者将其改写为如下形式: f ( x ) = m a x ( x , p x ) ( p < 1 ) f(x) = max(x,px)\quad (p < 1) f(x)=max(x,px)(p<1)考虑 η a ( x ) = x \eta_a(x) = x ηa(x)=x η b ( x ) = p x \eta b(x) = px ηb(x)=px,则可获得新的激活函数 A C O N − B \mathrm{ACON-B} ACONB:
f A C O N − B ( x ) = S β ( x , p x ) = ( 1 − p ) x ⋅ σ [ β ( 1 − p ) x ] + p x f_{\mathrm{ACON-B}}(x)=S_{\beta}(x,px)=(1-p)x\cdot \sigma[\beta(1-p)x]+px fACONB(x)=Sβ(x,px)=(1p)xσ[β(1p)x]+px

A C O N − C \mathrm{ACON-C} ACONC

A C O N − C \mathrm{ACON-C} ACONC遵循 A C O N − B \mathrm{ACON-B} ACONB的原理,采用了相同的双自变量函数,带有一个额外的超参数,只是在功能上使用超参数缩放。设 η a ( x ) = p 1 x , η b ( x ) = p 2 x ( p 1 ≠ p 2 ) \eta_a(x) = p_1x,\eta_b(x) = p_2x(p_1\neq p_2) ηa(x)=p1x,ηb(x)=p2x(p1=p2),则有
f A C O N − C ( x ) = S β ( p 1 x , p 2 x ) = ( p 1 − p 2 ) x ⋅ σ [ β ( p 1 − p 2 ) x ] + p 2 x f_{\mathrm{ACON-C}}(x)=S_{\beta}(p_1x,p_2x)=(p_1-p_2)x\cdot \sigma[\beta(p_1-p_2)x]+p_2x fACONC(x)=Sβ(p1x,p2x)=(p1p2)xσ[β(p1p2)x]+p2x P R e L U \mathrm{PReLU} PReLU一样,令 β = p 1 = 1 \beta=p_1=1 β=p1=1 p 2 = 0 p_2=0 p2=0。如下图所示作者对 A C O N − C \mathrm{ACON-C} ACONC的定义是一个非常简单和普遍的情况。

一阶导数的上下界

A C O N − C \mathrm{ACON-C} ACONC的一阶导数计算公式如下所示:

d d x [ f A C O N − C ( x ) ] = ( p 1 − p 2 ) ( 1 + e − β ( p 1 x − p 2 x ) ) ( 1 + e − β ( p 1 x − p 2 x ) ) 2 + β ( p 1 − p 2 ) 2 e − β ( p 1 x − p 2 x ) x ( 1 + e − β ( p 1 x − p 2 x ) ) 2 + p 2 \begin{aligned}&\frac{d}{dx}[f_{\mathrm{ACON-C}}(x)]\\=&\frac{(p_1-p_2)(1+e^{-\beta(p_1x-p_2x)})}{(1+e^{-\beta(p_1x-p_2x)})^2}+\frac{\beta(p_1-p_2)^2e^{-\beta(p_1x-p_2x)}x}{(1+e^{-\beta(p_1x-p_2x)})^2}+p_2\end{aligned} =dxd[fACONC(x)](1+eβ(p1xp2x))2(p1p2)(1+eβ(p1xp2x))+(1+eβ(p1xp2x))2β(p1p2)2eβ(p1xp2x)x+p2

lim ⁡ x → ∞ d f A C O N − C ( x ) d x = p 1 , lim ⁡ x → − ∞ d f A C O N − C ( x ) d x = p 2 ( β > 0 ) \lim\limits_{x \rightarrow \infty}\frac{df_{\mathrm{ACON-C}}(x)}{dx}=p_1,\lim\limits_{x\rightarrow -\infty}\frac{df_{\mathrm{ACON-C}}(x)}{dx}=p_2\quad (\beta > 0) xlimdxdfACONC(x)=p1,xlimdxdfACONC(x)=p2(β>0)

d 2 d x 2 [ f A C O N − C ( x ) ] = β ( p 2 − p 1 ) 2 e β ( p 1 − p 2 ) x ⋅ ( ( β ( p 2 − p 1 ) x + 2 ) e β ( p 1 − p 2 ) x + β ( p 1 − p 2 ) x + 2 ) ( e β ( p 1 − p 2 ) x + 1 ) 3 \begin{aligned}&\frac{d^2}{dx^2}[f_{\mathrm{ACON-C}}(x)]\\=&\beta\left(p_{2}-p_{1}\right)^{2} \mathrm{e}^{\beta\left(p_{1}-p_{2}\right) x}\cdot \frac{\left(\left(\beta\left(p_{2}-p_{1}\right) x+2\right) \mathrm{e}^{\beta\left(p_{1}-p_{2}\right) x}+\beta\left(p_{1}-p_{2}\right) x+2\right)}{\left(\mathrm{e}^{\beta\left(p_{1}-p_{2}\right) x}+1\right)^{3}} \end{aligned} =dx2d2[fACONC(x)]β(p2p1)2eβ(p1p2)x(eβ(p1p2)x+1)3((β(p2p1)x+2)eβ(p1p2)x+β(p1p2)x+2)
d 2 d x 2 [ f A C O N − C ( x ) ] = 0 \frac{d^2}{dx^2}[f_{\mathrm{ACON-C}}(x)]=0 dx2d2[fACONC(x)]=0,则可以得到 ( y − 2 ) e y = y + 2 (y-2)e^y=y+2 (y2)ey=y+2其中 y = ( p 1 − p 2 ) β x y=(p_1-p_2)\beta x y=(p1p2)βx,解以上的方程可知 y ≈ ± 2.39936 y \approx \pm 2.39936 y±2.39936,可以得到最小和最大值
m a x i m a ( d d x [ f [ A C O N − C ] ( x ) ] ) ≈ 1.0998 p 1 − 0.0998 p 2 \mathrm{maxima}(\frac{d}{dx}[f_{[\mathrm{ACON-C}]}(x)])\approx 1.0998p_1-0.0998p_2 maxima(dxd[f[ACONC](x)])1.0998p10.0998p2 m i n i m a ( d d x [ f A C O N − C ( x ) ] ) ≈ 1.0998 p x − 0.0998 p 1 \mathrm{minima}(\frac{d}{dx}[f_{\mathrm{ACON-C}}(x)])\approx 1.0998p_x-0.0998p_1 minima(dxd[fACONC(x)])1.0998px0.0998p1这与一阶导数中有固定上界和下界 ( 1.0998 , − 0.0998 ) (1.0998,-0.0998) (1.0998,0.0998) S w i s h \mathrm{Swish} Swish激活函数不同。在 S w i s h \mathrm{Swish} Swish中,超参数 β \beta β仅决定一阶导数渐近上界和下界的速度,并且这些界是可学习的,并且由 A C O N − C \mathrm{ACON-C} ACONC中的 p 1 p_1 p1 p 2 p_2 p2决定。可学习的边界对于简化优化是必不可少的,这些可学习的上界和下届是改善结果的关键。

M e t a − A C O N \mathrm{Meta-ACON} MetaACON

 当切换因子 β \beta β控制激活为非线性或线性时, A C O N \mathrm{ACON} ACON将激活切换为激活或不激活。当 β → ∞ \beta \rightarrow \infty β时, f A C O N − C ( x ) → max ⁡ ( p 1 x , p 2 x ) f_{\mathrm{ACON-C}}(x)\rightarrow \max(p_1x,p_2x) fACONC(x)max(p1x,p2x);当 β → 0 \beta \rightarrow 0 β0 f A C O N − C ( x ) → m e a n ( p 1 x , p 2 x ) f_{\mathrm{ACON-C}}(x)\rightarrow \mathrm{mean}(p_1x,p_2x) fACONC(x)mean(p1x,p2x)。因此,不同于传统的激活如 R e L U \mathrm{ReLU} ReLU A C O N \mathrm{ACON} ACON允许每个神经元自适应地激活或不激活。这种激活行为有助于提高泛化和传输性能。
在这里插入图片描述
 学习开关因子 β \beta β明确地以输入样本 x ∈ R c × H × W : β = G ( x ) x \in \mathbb{R}^{c \times H \times W}:\beta =G(x) xRc×H×W:β=G(x)为条件。目的不是提出一个具体的结构,而是在生成函数 G ( x ) G(x) G(x)中提供一个设计空间。作者使用一个路由函数来计算以输入特征为条件的 β \beta β,其结构可以是分层的,这意味着一层中的元素共享相同的开关因子 β \beta β,计算公式为: β = σ ∑ c = 1 C ∑ h = 1 H ∑ w = 1 W x c , h , w \beta = \sigma\sum\limits_{c=1}^C\sum\limits_{h=1}^H\sum\limits^{W}_{w=1}x_{c,h,w} β=σc=1Ch=1Hw=1Wxc,h,w通道中的元素共享相同的开关因子 β c \beta_c βc β c = σ W 1 W 2 ∑ h = 1 H ∑ w = 1 W x c , h , w \beta_c=\sigma W_1W_2\sum\limits_{h=1}^H\sum\limits_{w=1}^{W}x_{c,h,w} βc=σW1W2h=1Hw=1Wxc,h,w其中 W 1 ∈ R C × C / r W_1\in \mathbb{R}^{C \times C/r} W1RC×C/r W 2 ∈ R C / r × C W_2 \in \mathbb{R}^{C/r \times C} W2RC/r×C,且像素级的开关因子为 β c , h w = σ x c , h , w \beta_{c,hw}=\sigma x_{c,h,w} βc,hw=σxc,h,w

实验结果

 如下图和下表可以发现:(1) A C O N − A \mathrm{ACON-A} ACONA、\mathrm{ACON-B}和\mathrm{ACON-C}与它们的最大基函数相比,精度都有显著提高,这显示了可微和平滑转换的好处;(2) A C O N − C \mathrm{ACON-C} ACONC的表现优于 A C O N − A ( S w i s h ) \mathrm{ACON-A (Swish)} ACONA(Swish) A C O N − B \mathrm{ACON-B} ACONB,受益于 A C O N − C \mathrm{ACON-C} ACONC一阶导数的自适应的上限和下限;(3) A C O N − A ( S w i s h ) \mathrm{ACON-A(Swish)} ACONA(Swish)随着模型网络深度的越来越深, A C O N − C \mathrm{ACON-C} ACONC获得了持续的精度提高。
在这里插入图片描述
在这里插入图片描述
 如下表的结果表明,本文提出的方法在所有网络结构中都获得了显著的性能提升。 M e t a − A C O N \mathrm{Meta-ACON} MetaACON M o b i l e N e t V 1 \mathrm{MobileNetV1} MobileNetV1 模型中提高了 6.7 % 6.7\% 6.7%。对于更深的玩网络模型中, M e t a − A C O N \mathrm{Meta-ACON} MetaACON仍然显示出显著的改进,如在 R e s N e t − 50 \mathrm{ResNet-50} ResNet50 R e s N e t − 101 \mathrm{ResNet-101} ResNet101上分别在精度上分别提高了 2.0 % 2.0\% 2.0% 1.8 % 1.8\% 1.8%在这里插入图片描述
 下表显示了本论文提出激活函数与 R e L U \mathrm{ReLU} ReLU M i s h \mathrm{Mish} Mish E L U \mathrm{ELU} ELU S o f t P l u s \mathrm{SoftPlus} SoftPlus S w i s h \mathrm{Swish} Swish这些激活函数的比较。与之前的激活相比, A C O N \mathrm{ACON} ACON M e t a − A C O N \mathrm{Meta-ACON} MetaACON准确率分别提高了 2.4 % 2.4\% 2.4% 4.6 % 4.6\% 4.6%
在这里插入图片描述
 作者在 M e t a − A C O N \mathrm{Meta-ACON} MetaACON中,由于开关因子 β \beta β决定了激活过程中的非线性,在不同级别上为每个样本生成 β \beta β值,这些级别可以是像素级、通道级和层级。如下表结果表明,三个水平都能显著提高准确率。
在这里插入图片描述

 如下表显示,在所有的网络结构中, M e t a − A C O N \mathrm{Meta-ACON} MetaACON的性能明显优于SENet。即使在极深的 R e s N e t − 152 \mathrm{ResNet-152} ResNet152中, M e t a − A C O N \mathrm{Meta-ACON} MetaACON仍然提高了 1.8 % 1.8\% 1.8%的精度,与 S E N e t \mathrm{SENet} SENet相比提高了 1 % 1\% 1%
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值