| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【论文复现】ACON Activation(2021) -> 正文阅读 |
|
[人工智能]【论文复现】ACON Activation(2021) |
目录前言论文地址:https://arxiv.org/pdf/2009.04759.pdf. 论文源码:https://github.com/nmaac/acon/blob/main/acon.py. 论文贡献:
一、背景和动机ReLU激活函数在很长一段时间都是最佳的神经网络激活函数,主要是由于其非饱和、稀疏性等优秀的特性,但是它也同样会产生神经元坏死的严重后果。而近年来人们使用NAS搜索技术找到的Swish激活函数效果非常好,但是问题是Swish激活函数是使用NAS技术暴力搜索出来的,我们无法真正解释Swish激活函数效果这么好的真正原因是什么?在这篇论文中,作者尝试从Swish激活函数和ReLU激活函数的公式出发,挖掘其中的平滑近似原理(Smooth Approximation)。并且将这个原理应用到Maxout family激活函数,提出了一种新型的激活函数:ACON family 激活函数。通过大量实验证明,ACON family 激活函数在分类、检测等任务中性能都优于ReLU和Swish激活函数。 二、相关工作2.1、激活函数ReLU Maxout DY-ReLU ACON 和 DY-ReLU的区别主要有:
2.2、动态网络标准CNNs对所有样本共享相同的网络结构和卷积核,但动态CNNs使用基于输入样本的动态内核、宽度或深度,获得了显著的准确性。以往动态网络的3种形式:
而我们提出的ACON Activation 是动态学习选择激活线性还是非线性,动态控制网络的线性和非线性程度。 2.3、神经网络的设计空间神经网络体系结构的设计主要包括kernel level space和feature level space。最常见的特征设计空间是通过通道维度,空间维度和特征组合来优化性能。在最近流行的核设计空间中,可以优化核形状和核计算。 而本论文提出的是:在非线性水平提供一个新的非线性设计空间 方法是:自适应每一层的非线性程度。 三、ACON3.1、ReLU -> Swish(Smoth maximum)先来解释一下什么是Smoth maximum。
m a x ( x 1 , x 2 , … … , x n ) max(x_1, x_2, ……, x_n) max(x1?,x2?,……,xn?) 函数(Maxout)其实有很多的函数形式,它是一些列类似函数的总和,比如ReLU激活函数就是一个很典型的Maxout函数。我们都很熟悉ReLU:f(x) = max(x, 0) 我们先设
f
(
x
1
,
x
2
)
=
m
a
x
(
x
1
,
x
2
)
f(x_1, x_2) = max(x_1, x_2)
f(x1?,x2?)=max(x1?,x2?),然后利用上面的Smoth maximum公式求它的平滑近似函数有: 所以我们到这里可以得出结论:ReLU的平滑近似就是Swish。这也给Swish的高效性提供了一个全新的解释。 3.2、Maxout family -> ACON family利用上面的Smoth maximum的原理和公式,我们可以进一步的通过Maxout family激活函数得到更加高效平滑的ACON family激活函数。 我们用的比较多的其实是第三个版本ACON-C,它的效果相对是最好的。如下图a是ACON-C的函数图像随
p
1
p_1
p1? 和
p
2
p_2
p2?变化的情况(p1和p2使用的是两个可学习参数来自适应调整): 由上图c可以看出ACON-C的一阶导数上下界会根据p1和p2的变化而浮动。现在我们用数学公式来看下是怎么回事。 3.3、Meta-ACON细心的朋友肯定会发现,说了这么多,前面我们说到ACON激活函数还由一个很重要的特点:自适应控制激活函数是线性还是非线性,还没说呢。下面我们来聊一聊。 还是从更普遍版本的ACON-C说起,上面说了它的 p 1 p_1 p1?和 p 2 p_2 p2?两个参数的作用,还要有一个超参 β \beta β的作用没有说。我们从上面的公式知道,超参 β \beta β控制着 Smoth maximum 平滑函数的类型。如下所示:
可以看出,当
β
?
>
+
∞
\beta-> +\infty
β?>+∞ 时函数是非线性的,当参数
β
?
>
0
\beta-> 0
β?>0 时,是函数线性的。因此可以得出结论:参数
β
\beta
β 控制着激活函数是线性还是非线性。这点从下图可以直观的看出来: 而自适应函数的设计空间包含了layer-wise,channel-wise,pixel-wise这三种空间,分别对应的是层,通道,像素。如下所示: 四、论文实验结果分类任务
总结:meta-ACON激活函数无论在分类(甚至是很深的网络)和目标检测领域的性能都要优于ReLU和Swish(且参数量和FLOPs几乎一样的情况下)。ACON-C的性能要差meta-ACON一点,但也很不错。 五、PyTorch实现ACON-C:
meta-ACON:
Reference链接: 博客1. |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/22 9:45:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |