关于算法:Dynamic-ReLU微软推出提点神器可能是最好的ReLU改进-ECCV-2020

38次阅读

共计 2600 个字符,预计需要花费 7 分钟才能阅读完成。

论文提出了动静 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 更大。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

正文完
 0