查看原文
其他

CVPR 2021 | 自适应激活函数ACON:统一ReLU和Swish的新范式

马宁宁 PaperWeekly 2022-07-04


©作者|马宁宁

学校|香港科技大学博士生

研究方向|计算机视觉


本文提出一种新的激活函数 ACON (activate or not),可以自适应地学习激活与否。 


ReLU 是最常见的激活函数,最近 NAS 搜到的 Swish 在各种 SOTA 网络结构中逐渐取代 ReLU。有趣的是,我们发现虽然两者形式看起来很不一样,但 Swish 可以解释为 ReLU 的一种平滑近似。基于这个发现,本文进一步分析 ReLU 的一般形式 Maxout 系列激活函数,从而得到 Swish 的一般形式、简单且有效的 ACON 激活函数。 


本文在多个任务上验证了此方法的涨点性能和泛化性能(例如在 MobileNet-0.25 和 ResNet-152 上,分别将 ImageNet 准确率提高了 6.7% 和 1.8%),这表明 ACON 对已有的激活函数中是一种有效的替代方法。



论文标题:
Activate or Not: Learning Customized Activation


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


代码链接:
https://github.com/nmaac/acon




ReLU和Swish的关系


前面提到,NAS 在现代激活函数方面取得了成功,NAS 搜索到的 Swish 已经在 EfficientNet 等许多 SOTA 模型中已经成为默认配置,但如何解释 Swish 背后的原理呢?(SENet 也是近年的 SOTA 标配,我们在另一个工作 WeightNet 中也做过一些有意思的探讨)本文的一个目标是提出一个新的视角,去解释这个搜索结果背后的机制,并研究更有效的激活功能。下面会详细讲解如何把 Swish 理解为 ReLU 的一种平滑近似:


对于一个最大函数 ,我们可以通过一个简单而通用的近似公式来获取他的平滑近似:



这里引入了一个 ,它控制着  的平滑程度:
当  时,(非线性)当  时,  算术平均 (线性)

从下面的示例图可以更形象的看出  的作用:


对于公式 (1),我们仅考虑 n=2 的情况,可以推导成下面用 sigmoid 来表示的形式,其中用 分别代表这两项:


我们发现上面的形式看起来仍然很复杂,但当我们把 代入合适的值,有意思的事情就发生了:
我们发现,当 时, 恰好是 ReLU 的表达式,而 又恰好是 Swish 的表达式。于是,我们可以把 Swish 解释为 ReLU 的这样一种平滑近似。



ReLU的一般式和Swish的一般式的关系


前面给出了一种新的视角解释了 ReLU 和 Swish 的关系,下面本文对 ReLU 的一般式 Maxout 做出同样的平滑近似,便得到了一簇新的激活函数,即 ACON 系列激活函数。其中 ReLU 是 Maxout 的一种特殊形式,Swish 是 ACON 的一种特殊形式。

我们把 代入不同的值,得到上表中的不同形式,我们着重分析 ACON-C,计算它的导数:


看起来会新增加额外的参数 ,我们画出下图来更直观的理解它。可以发现在一阶导中, 控制着其渐进上下界的速度,而 则控制着上下界的值,这一点是 Swish 所欠缺的,后面的实验也会证明 的重要性。


▲ 验证ACON-C中p1,p2的涨点性能,即使在大模型Res152上也有1.1的涨点



ACON的更多特例:ACON-FReLU


前面对 Maxout 中 的不同取值做了分析。最近专门针对视觉任务的新激活函数 FReLU (Funnel Activation for Visual Recognition [1]) 也是 Maxout 的一种特例,本文设 后,得到了 ACON-FReLU,并且基于此模块,设计了一个仅由 Conv1x1 和 ACON-FReLU 组成的轻量级 block:


以此 block 为基础搭建了 Toy Funnel Network (TFNet),来验证 ACON-FReLU 的有效性:



▲ 和同样不含SE模块的轻量级网络相比可以看到明显优势





Meta-ACON


前面对 的不同变体着重做了分析,但前面提到 也同样重要因为其控制了激活程度。然而,从实验结果来看,在 Swish 的原始文章中也提到, 作用不大,即使 固定为 1(Swish-1),也能取得差别不大的性能。
这与我们前面对 的分析相违背,于是,本文对 用非常简单直接的小网络结构去生成,即显式地学习激活程度而不仅仅是把 作为一个参数,这样就解决了 效果不大的问题:



下面在不同任务上展示此方法的有效性,可以看到,Meta-ACON 取得了相比于 SENet 几乎两倍的涨点:




▲ 在大模型和小模型都能有非常显著的涨点,且随着模型变大,涨点效果没有明显减弱




▲ 从学习曲线可以看到ACON-C相比于Swish的优势在于后期仍能有提升,Meta-ACON则效果跟为显著


▲ 在其他任务上的泛化性能


更多细节请参考原文和代码。



参考文献

[1] https://arxiv.org/pdf/2007.11824.pdf


更多阅读




#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存