论文提出了动静ReLU,可能依据输出动静地调整对应的分段激活函数,与ReLU及其变种比照,仅需额定的大量计算即可带来大幅的性能晋升,能无缝嵌入到以后的支流模型中
起源:晓飞的算法工程笔记 公众号
论文: Dynamic ReLU
- 论文地址:https://arxiv.org/abs/2003.10027
- 论文代码:https://github.com/Islanna/DynamicReLU
Introduction
ReLU是深度学习中很重要的里程碑,简略但弱小,可能极大地晋升神经网络的性能。目前也有很多ReLU的改进版,比方Leaky ReLU和 PReLU,而这些改进版和原版的最终参数都是固定的。所以论文自然而然地想到,如果可能依据输出特色来调整ReLU的参数可能会更好。
基于下面的想法,论文提出了动静ReLU(DY-ReLU)。如图2所示,DY-ReLU是一个分段函数$f_{\\theta{(x)}}(x)$,参数由超函数$\\theta{(x)}$依据输出$x$失去。超函数$\\theta(x)$综合输出的各维度上下文来自适应激活函数$f_{\\theta{(x)}}(x)$,可能在带来大量额定计算的状况下,显著地进步网络的表达能力。另外,论文提供了三种状态的DY-ReLU,在空间地位和维度上有不同的共享机制。不同状态的DY-ReLU实用于不同的工作,论文也通过试验验证,DY-ReLU在关键点辨认和图像分类上均有不错的晋升。
Definition and Implementation of Dynamic ReLU
Definition
定义原版的ReLU为$y=max\\{x, 0\\}$,$x$为输出向量,对于输出的$c$维特色$x_c$,激活值计算为$y_c=max\\{x_c, 0\\}$。ReLU可对立示意为分段线性函数$y_c=max_k\\{a^k_c x_c+b^k_c\\}$,论文基于这个分段函数扩大出动静ReLU,基于所有的输出$x=\\{x_c\\}$自适应$a^k_c$,$b^k_c$:
因子$(a^k_c, b^k_c)$为超函数$\\theta(x)$的输入:
$K$为函数数量,$C$为维度数,激活参数$(a^k_c, b^k_c)$不仅与$x_c$相干,也与$x_{j\\ne c}$相干。
Implementation of hyper function $\\theta(x)$
论文采纳相似与SE模块的轻量级网络进行超函数的实现,对于大小为$C\\times H\\times W$的输出$x$,首先应用全局均匀池化进行压缩,而后应用两个全连贯层(两头蕴含ReLU)进行解决,最初接一个归一化层将后果束缚在-1和1之间,归一化层应用$2\\sigma(x) - 1$,$\\sigma$为Sigmoid函数。子网共输入$2KC$个元素,别离对应$a^{1:K}_{1:C}$和$b^{1:K}_{1:C}$的残差,最终的输入为初始值和残差之和:
$\\alpha^k$和$\\beta^k$为$a^k_c$和$b^k_c$的初始值,$\\lambda_a$和$\\lambda_b$是用来管制残差大小的标量。对于$K=2$的状况,默认参数为$\\alpha^1=1$,$\\alpha^2=\\beta^1=\\beta^2=0$,即为原版ReLU,标量默认为$\\lambda_a=1.0$,$\\lambda_b=0.5$。
Relation to Prior Work
DY-ReLU的可能性很大,表1展现了DY-ReLU与原版ReLU以及其变种的关系。在学习到特定的参数后,DY-ReLU可等价于ReLU、LeakyReLU以及PReLU。而当$K=1$,偏置$b^1_c=0$时,则等价于SE模块。另外DY-ReLU也能够是一个动静且高效的Maxout算子,相当于将Maxout的$K$个卷积转换为$K$个动静的线性变动,而后同样地输入最大值。
Variations of Dynamic ReLU
论文提供了三种状态的DY-ReLU,在空间地位和维度上有不同的共享机制:
DY-ReLU-A
空间地位和维度均共享(spatial and channel-shared),计算如图2a所示,仅需输入$2K$个参数,计算最简略,表达能力也最弱。
DY-ReLU-B
仅空间地位共享(spatial-shared and channel-wise),计算如图2b所示,输入$2KC$个参数。
DY-ReLU-C
空间地位和维度均不共享(spatial and channel-wise),每个维度的每个元素都有对应的激活函数$max_k\\{a^k_{c,h,w} x_{c, h, w} + b^k_{c,h,w} \\}$。尽管表达能力很强,但须要输入的参数($2KCHW$)太多了,像后面那要间接用全连贯层输入会带来过多的额定计算。为此论文进行了改良,计算如图2c所示,将空间地位合成到另一个attention分支,最初将维度参数$[a^{1:K}_{1:C}, b^{1:K}_{1:C}]$乘以空间地位attention$[\\pi_{1:HW}]$。attention的计算简略地应用$1\\times 1$卷积和归一化办法,归一化应用了带束缚的softmax函数:
$\\gamma$用于将attention均匀,论文设为$\\frac{HW}{3}$,$\\tau$为温度,训练后期设较大的值(10)用于避免attention过于稠密。
Experimental Results
图像分类比照试验。
关键点辨认比照试验。
与ReLU在ImageNet上进行多方面比照。
与其它激活函数进行试验比照。
可视化DY-ReLU在不同block的输入输出以及斜率变动,可看出其动态性。
Conclustion
论文提出了动静ReLU,可能依据输出动静地调整对应的分段激活函数,与ReLU及其变种比照,仅需额定的大量计算即可带来微小的性能晋升,能无缝嵌入到以后的支流模型中。后面有提到一篇APReLU,也是做动静ReLU,子网构造十分相似,但DY-ReLU因为$max_{1\\le k \\le K}$的存在,可能性和成果比APReLU更大。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】