zl程序教程

您现在的位置是:首页 >  其它

当前栏目

RTReLU激活函数

函数 激活
2023-09-27 14:20:17 时间

RTReLU激活函数

文章链接:Randomly translational activation inspired by the input distributions of ReLU

年份:2018

简介

通常情况下,非线性激活函数的输入分布近似于高斯分布,大部分输入集中在零附近,这样导致学习到的CNN对非线性激活输入的小抖动很是敏感,而且容易造成过拟合。本文为了解决上述问题,提出了深度CNN的随机平移非线性激活函数。在训练阶段,非线性激活函数由高斯分布采样的偏移量随机平移。在测试阶段采用零偏移非线性激活。

通过观察在卷积神经网络上的ReLU激活函数的输入的分布类似于高斯分布,这意味着ReLU上的大部分输入都集中在零附近,通常,ReLU的输入存在较小的抖动或噪声,因为当ReLU的输入不为零时,对小的抖动或噪声输出是鲁棒的。但是当ReLU的输入接近与0时, ReLU对小的抖动和噪声很敏感。

假设ReLU的输入由两部分组成:基本输入 x i 0 x_i^0 xi0和抖动 n i n_i ni。由此ReLU被表达为:
f ( x ) = { x i 0 + n i , x i 0 + n i > 0 0 , x i 0 + n i ≤ 0 f(x) = \begin{cases} x_i^0 + n_i , & x_i^0 + n_i >0\\ 0, & x_i^0 +n_i \le 0 \end{cases} f(x)={xi0+ni,0,xi0+ni>0xi0+ni0

其中 n i n_i ni是一个很小的噪声。当 x i 0 x_i^0 xi0接近0时, n i n_i ni有可能导致误激活。例如,当 x i 0 = 0.5 x_i^0 = 0.5 xi0=0.5时,而 n i < − 0.5 n_i<-0.5 ni<0.5 x i 0 + n i < 0 x_i^0 + n_i <0 xi0+ni<0则,本应该激活,结果输出的激活值为0,成为误激活;当 x = − 0.5 x=-0.5 x=0.5,本不应该激活,但是如 n i > 0.5 n_i>0.5 ni>0.5 x i 0 + n i > 0 x_i^0 + n_i >0 xi0+ni>0,则输出激活值,又称为误激活。为了解决ReLU导致学习的CNN可能对抖动敏感,提出了RTReLU激活函数:
f ( x ) = { x i + a i , x i + a i > 0 0 , x i + a i ≤ 0 f(x) = \begin{cases} x_i+ a_i , & x_i + a_i >0\\ 0, & x_i +a_i \le 0 \end{cases} f(x)={xi+ai,0,xi+ai>0xi+ai0
其中 a i a_i ai为在 x x x轴上的偏移量。在训练阶段,RTReLU中的 a i a_i ai在每次迭代时,从高斯分布中随机采样, a i ∼ N ( 0 , σ ) a_i\sim N(0, \sigma) aiN(0,σ) σ \sigma σ为高斯分布的标准差。通常情况下 σ = 0.75 \sigma=0.75 σ=0.75
具体的RTReLU的曲线如下图所示:
在这里插入图片描述
该方法也可以应用于其他非线性激活函数,PReLU是ReLU的一个变体,RTPReLU可以写成
f ( x ) = { x i + a i , x i + a i > 0 k i ( x i + a i ) , x i + a i ≤ 0 f(x) = \begin{cases} x_i+ a_i , & x_i + a_i >0\\ k_i(x_i +a_i), & x_i +a_i \le 0 \end{cases} f(x)={xi+ai,ki(xi+ai),xi+ai>0xi+ai0
a i a_i ai为RTPReLU在x轴上的偏移量,采样来自高斯分布,具体的函数图像如下图:
在这里插入图片描述

分析

随机平移非线性激活(RTReLU或RTPReLU)的优点总结如下,

  • 可以使非线性激活的输入更加分散,因此该函数有更强的鲁棒性
  • PTReLU是ReLU的正则化,以减少训练阶段的过拟合
  • 在不增加计算成本的情况下提高精度。

可是该函数的梯度不连续,而且随机平移后,对正区域的输入影响较大。而且该函数的非线性不是太好,通过具体的试验,该函数的表现没有本论文说的那么好