全新激活函数 | 详细解读:HP-x激活函数(附论文下载)(一)

简介: 全新激活函数 | 详细解读:HP-x激活函数(附论文下载)(一)

1简介


本文提出了orthogonal-Padé激活函数,它是可以训练的激活函数,在标准深度学习数据集和模型中具有更快的学习能力,同时可以提高模型的准确率。根据实验,在六种orthogonal-Padé激活中找到了2种最佳的候选函数,作者称之为 safe Hermite-Pade(HP)激活函数,即HP-1和HP-2。

与ReLU相比,HP-1和HP-2帮助PreActResNet-34带来不同程度的提升(top-1精度提升分别为5.06%和4.63%),在CIFAR100数据集上MobileNet V2模型提升分别为3.02%和2.75%分别,在CIFAR10数据集上PreActResNet-34的top-1精度分别增加了2.02%和1.78%,LeNet的top-1精度分别提升为2.24%和2.06%,Efficientnet B0的top-1精度分别提升为2.15%和2.03%。


2前人工作简介


深度卷积神经网络由多个隐藏层和神经元构成。然后通过每个神经元的激活函数引入非线性。

ReLU由于其简单性,是深度学习中最受欢迎的激活函数。虽然ReLU有一个缺点叫做 dying ReLU,在这种情况下,多达50%的神经元可能会因为消失梯度问题,即有大量的神经元对网络性能没有影响。为了克服这一问题,后来又提出了Leaky Relu、Parametric Relu、ELU、Softplus,虽然找到最佳的激活函数仍是一个有待研究的问题,但这些方法都提高了网络的性能。最近,研究人员使用了自动搜索技术发现了Swish激活函数。与ReLU相比,Swish的精确度有了一些提高。GELU、Mish、TanhSoft、EIS是目前少数几个可以替代ReLU和Swish的候选激活函数。

近年来,人们对可训练激活函数的研究也越来越感兴趣。可训练激活函数具有可学习的超参数(s),在训练过程中通过反向传播算法更新。本文提出了Orthogonal-Padé激活函数。Orthogonal-Padé函数可以近似大多数连续函数。


3Padé activation Unit (PAU) and Orthogonal-PAU


考虑实线的一个闭合间隔为[a,b]。设是中次数小于等于的所有多项式的空间。对于一个非负连续函数,在[a, b]上定义Pn(x)上的内积为:

image.png

有多项式是正交的,如果:

image.png

的一组基是由张成的n个多项式的集合。一组正交基也是一组正交集。

的标准基是。但是标准基与式1中定义的内积并不是正交的。

在许多应用中,使用正交基可以简化表达式并减少计算。多项式空间有几个众所周知的正交基。下表列出了其中一些多项式基。注意,它们有的由递归关系给出,有的由直接表达式给出。

image.png

表1 一些著名的正交多项式基

3.1 Padé activation Unit (PAU)

f(x)由有理函数F1(x)的Padé近似定义为:

image.png

image.png

其中P(x)和Q(x)分别是k次和l次的多项式,它们没有公因式。PAU是式(3)的可学习激活函数,其中多项式系数为可学习参数,在反向传播过程中进行更新。为了将F1(x)的极点从Q(x)的0中移除,有学者提出了safe PAU。safe PAU定义为:

image.png

image.png

在分母中引入绝对值可以确保分母不会消失。实际上,也可以取和的绝对值来定义:

image.png

image.png

在许多任务中,F3定义的激活函数比F2定义的safe PAU能够提供更好的结果。

3.2 Orthogonal-Padé activation Unit (OPAU)

g(x)由有理函数G(x)的orthogonal-Padé近似定义为:

image.png

image.png

其中属于正交多项式集合。与PAU一样,可学习激活函数OPAU由(6)定义,其中为可学习参数。参数的初始化是通过近似的形式的如ReLU, Leaky ReLU等。为了去掉G(x)的极点,提出如下的safe OPAU。

image.png

image.png

作者考虑了6种正交多项式基- Chebyshev(两种),Hermite(两种),Laguerre和Legendre多项式的基。关于这些多项式基的详细信息见表1。

3.3 通过反向传播学习激活参数

利用反向传播算法和梯度更新神经网络模型中的权值和偏差。这里也采用相同的方法更新激活函数的参数。作者已经在Pytorch和Tensorflow-Keras API实现了自动化更新参数。对输入x和参数计算公式(6)的梯度如下:

image.png

image.png

image.png

相关文章
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
228 0
|
4月前
|
存储 PyTorch 算法框架/工具
【chat-gpt问答记录】关于pytorch中的线性层nn.Linear()
【chat-gpt问答记录】关于pytorch中的线性层nn.Linear()
74 0
|
11月前
|
机器学习/深度学习 并行计算 Go
YOLOv5 网络组件与激活函数 代码理解笔记
最近在看YOLOv5 第6个版本的代码,记录了一下笔记,分享一下。首先看了网络结构、网络组件,对应代码models\common.py。然后看了激活函数,对应代码utils\activations.py。
267 0
|
机器学习/深度学习 安全 计算机视觉
全新激活函数 | 详细解读:HP-x激活函数(附论文下载)(二)
全新激活函数 | 详细解读:HP-x激活函数(附论文下载)(二)
96 0
|
算法 PyTorch 算法框架/工具
pytorch实现空洞卷积+残差网络实验(torch实现)
pytorch实现空洞卷积+残差网络实验(torch实现)
387 0
|
机器学习/深度学习
深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数
池化是使用某一位置的相邻输出的总体统计特征代替网络在该位置的输出,其好处是当输入数据做出少量平移时,经过池化函数后的大多数输出还能保持不变。比如:当识别一张图像是否是人脸时,我们需要知道人脸左边有一只眼睛,右边也有一只眼睛,而不需要知道眼睛的精确位置,这时候通过池化某一片区域的像素点来得到总体统计特征会显得很有用。由于池化之后特征图会变得更小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。
415 1
深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数
|
机器学习/深度学习 Dart 并行计算
暴力涨点 | IC-Conv使用高效空洞搜索Inception卷积带来全领域涨点(文末附论文下载)(二)
暴力涨点 | IC-Conv使用高效空洞搜索Inception卷积带来全领域涨点(文末附论文下载)(二)
122 0
|
机器学习/深度学习 Dart 算法
暴力涨点 | IC-Conv使用高效空洞搜索Inception卷积带来全领域涨点(文末附论文下载)(一)
暴力涨点 | IC-Conv使用高效空洞搜索Inception卷积带来全领域涨点(文末附论文下载)(一)
173 0