超越 ReLU 和 Sigmoid | 新型激活函数锥形和抛物锥形的研究,训练速度再上一层!
共 16881字,需浏览 34分钟
·
2024-05-11 09:00
点击下方卡片,关注「集智书童」公众号
这篇论文介绍了一类远优于几乎普遍使用的类似ReLU和Sigmoid激活函数的激活函数。提出了两种新的激活函数,称为锥形(Cone)和抛物锥形(Parabolic-Cone),它们与流行的激活函数截然不同,并且在CIFAR-10和Imagenette基准测试上的表现显著优于这些函数。锥形激活函数仅在有限区间内为正,在该区间两端点外严格为负,并在端点处变为零。
因此,对于具有锥形激活函数的神经元来说,产生正输出的输入集合是一个超条带,而不是通常情况下的半空间。由于超条带是两个平行超平面之间的区域,它允许神经元将输入特征空间更精细地划分为正类和负类,而不是无限宽的半空间。
特别是,具有锥形类激活函数的单个神经元可以学习XOR函数。本文展示了锥形和抛物锥形激活函数在基准测试中使用显著较少的神经元就能获得更高的准确度。本文提出的结果表明,许多非线性的现实世界数据集可能需要比半空间更少的超条带进行分离。锥形和抛物锥形激活函数的导数大于ReLU,并且显著加快了训练速度。
1 Introduction
自从发现类似ReLU的激活函数[1]以来,一个悬而未决的问题是:是否存在一个更好的一类激活函数,这类激活函数与sigmoid型和ReLU型激活函数都有显著不同[2]。本文通过提出一类新的激活函数,肯定地回答了上述基本问题。尽管深度人工神经网络(ANNs)的复杂性很高,但ANN中的每个单独的神经元本质上都是通过用一个超平面将其输入分离来进行线性决策的。特别是,能够从一个单一神经元得到正输出的一组输入构成了一个半空间。
Nature of neuronal decision boundaries
单个神经元的输出(激活)由 给出,其中 是激活函数。与神经元相关联的超平面边界是以下点的集合:
对于大多数流行的激活函数,产生正输出和负输出的点的集合是半空间。正半空间和负半空间定义如下:
任何超平面将其输入空间 分为3个连通区域:正半空间 ,负半空间 和一个仿射空间 。权重向量 指向正半空间 。图 X 展示了单个神经元对输入空间的分离。
锥形和抛物锥形激活函数定义为 和 。也可以定义更广泛的类锥形激活函数: ,其中 和 是影响激活函数形状的可学习参数。与图 X 相比,图 Y 展示了具有类锥形激活函数的单个神经元对输入空间的分离。
产生严格正输出的神经元的输入集合记为 ,产生严格负输出的输入集合记为 。
恰好产生零输出的输入集合构成了神经元的决策边界。特别是,产生输出 的单个神经元的决策边界是集合 。根据以上内容,像 Leaky ReLU、Swish 和 GELU 这样的流行激活函数的决策边界,在原点具有单个零的超平面。
换句话说,决策边界是一个单独的超平面( )。
另一方面,在闭区间 两端点为零的锥形激活函数的决策边界由两个超平面组成。
或者
或者
锥形激活函数在任何输入下都不会有小的或零的导数。锥形激活函数对于大多数输入的导数值也比ReLU大,从而促进更快的学习。
图3显示了锥形激活的一个参数化版本。
对于产生严格正输出的锥形神经元的输入集合是 。因此,锥形神经元的 是一个超条带,而不是像流行激活函数那样的半空间。### 半空间与超条带
由于与无限宽的半空间相比,超条带更窄,因此需要更少的超条带来准确地将输入空间划分为不同的类别。下面的图4展示了仅用2个隐藏层锥形神经元和一个sigmoidal神经元的简单两层ANN如何学习一个复杂的线性不可分数据集。图5展示了如何用具有锥形激活函数的单个神经元解决经典的XOR问题。
本文的主要贡献是:
-
提出了一种新型激活函数,其性能显著优于类似ReLU的激活函数。 -
所提出的激活函数学习一个超条带而非半空间来分隔正输入类别。 -
使用超条带而非半空间来分隔正输入类别被证明可以导致更小的神经网络。
2 Results: Performance comparison on benchmark datasets
以下内容将Cone-like激活函数与最流行激活函数在CIFAR-10 和 Imagenette 基准测试上进行比较。附录-I和附录-II展示了针对不同基准测试所使用的CNN架构。
这里采用了标准的CNN架构,包括卷积层和紧随其后的全连接密集层。
由卷积滤波器计算出的特征被输入到带有待测试激活函数的单个密集层中。在所有情况下,输出层都由Softmax层组成。下表显示了在5次独立试验中获得的平均结果,以考虑由于随机初始化导致的性能变化。
模型训练使用了Adam优化器,学习率为10^-4,以及标准的动量,其中 和 均使用。所有模型均用30个周期的分类交叉熵损失进行训练。
表2、3和4清楚地表明,Cone和Parabolic-Cone激活函数在CIFAR-10基准测试上用显著较少的神经元获得了更高的准确率。
表5、6和7显示,在减少神经元数量时,Cone和Parabolic-Cone激活函数在Imagenette基准测试上总体上获得了更高的准确率。
表7:在Imagenette基准测试上,单个全连接层由10个神经元组成时,不同激活函数的性能比较。
图6:在CIFAR-10上,具有不同激活函数的单层10个密集神经元的训练曲线。
本文提出的Cone和Parabolic-Cone激活函数也显著加快了训练速度(图6)。这种快速训练可以归因于与其它激活函数相比,Cone-like激活函数在大多数输入情况下具有更大的导数值。
关于激活函数是否比其他具有更大导数的激活函数更重要这一根本问题仍然没有答案,这也会导致训练更快或出现梯度爆炸问题。
3 Conclusion
ReLU类的激活函数与sigmoid函数截然不同,并且在性能上显著优于sigmoid激活函数,它使得深层人工神经网络能够通过缓解“梯度消失问题”来进行训练。因此,在神经网络领域的一个基本问题是,是否存在一类比ReLU类和sigmoid类激活函数更好、且差异很大的激活函数。
受到超条带能够在输入空间中实现比半空间更小切割的启发,本文提出了一类新的类似锥形的激活函数。锥形激活函数使用超条带来将 (诱发正输出的输入集合)与其他输入分隔开。由于 是一个超条带,因此可以使用具有锥形激活函数的单个神经元学习异或函数。论文显示,许多非线性可分的数据集可以用比半空间更少的超条带进行分隔,从而得到更小的ANNs。具有锥形激活函数的ANNs在CIFAR-10和Imagenette基准测试上,使用显著更少的神经元就能达到更高的准确度。结果表明,与ReLU类激活函数相比,具有更大导数的锥形激活函数可以加速训练并达到更高的准确度。
第一个卷积层有32个大小为 的滤波器,步长为1,填充为2。最大池化层的池化窗口大小为 ,步长为2。第二个卷积层有64个大小为 的滤波器,步长为1,填充为2。最大池化层与第一个相同。
全连接层有512个神经元,输出层有10个神经元对应于CIFAR-10的10个类别。
在训练过程中,作者在全连接层之后应用概率为0.5的dropout,以防止过拟合。作者使用Adam优化器,学习率为0.001,批处理大小为64。网络训练50个周期。
参考
[1].A Significantly Better Class of Activation Functions Than ReLU Like Activation Functions.
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!