NLReLU激活函数
论文链接:Natural-Logarithm-Rectified Activation Function in Convolutional Neural Networks
年份:2019
简介
激活函数在深度神经网络中起着至关重要的作用,修正线性单元(ReLU)是应用最广泛的激活函数之一。各种新的激活功能和对ReLU的改进已经被提出,但每一种都有性能缺陷。本文提出一种改进的激活函数,称之为自然对数修正线性单元(NLReLU)。这个激活函数使用参数自然对数变换来改进ReLU,NLReLU不仅保留了ReLU的稀疏激活特性,而且在一定程度上缓解了ReLU的“濒死”和消失梯度问题。该算法还减小了网络层间神经元数据分布的偏置效应和异方差,从而加快了学习过程。具体的函数公式为:
f
(
x
)
=
l
n
(
β
⋅
m
a
x
(
0
,
x
)
+
1
)
f(x) = ln(\beta \cdot max(0, x)+1)
f(x)=ln(β⋅max(0,x)+1)
将其改写成分段函数的形式:
f
(
x
)
=
{
l
n
(
β
x
+
1
)
,
x
≥
0
0
,
x
<
0
f(x) = \begin{cases} ln(\beta x +1), &x\ge0\\ 0, &x<0\\\end{cases}
f(x)={ln(βx+1),0,x≥0x<0
具体的函数图像为:
NLReLU对x的导数为:
f
′
(
x
)
=
{
β
β
⋅
x
+
1
,
x
≥
0
0
,
x
<
0
f^\prime(x) = \begin{cases}\frac{\beta}{\beta \cdot x + 1}, &x\ge0\\ 0, &x<0\\\end{cases}
f′(x)={β⋅x+1β,0,x≥0x<0
NLReLU对x的导数曲线如下图:
分析
- ReLU会出现负区域神经元死亡和偏差转移问题。通过LReLU、PReLU、ELU、SELU等解决改善ReLU的缺点,但如此改进就缺失了ReLU的稀疏性。而一定程度的稀疏性有助于网络的数学优势,如信息解纠缠和线性可分性。由此,希望在保留稀疏激活特性的同时,改进ReLU所面临的问题。
- 不同的参数 β \beta β, 决定了激活函数响应随输入增加的速度。
- 当 β ≤ 1 \beta\le1 β≤1是,NLReLU的函数值和导数均小于ReLU。
- β \beta β越大,说明NLReLU神经元对小值更为敏感,因为激活反应上升更快。
- β \beta β越小,平均活化接近于0,
- β \beta β增加了NLReLU的适应性,并允许它对不同的神经网络进行微调。