微软推出提点神器动态ReLU,可能是最好的ReLU改进

作者 | Vincent  

来源 | 晓飞的算法工程笔记 

简介

ReLU是深度学习中很重要的里程碑,简单但强大,能够极大地提升神经网络的性能。目前也有很多ReLU的改进版,比如Leaky ReLU和 PReLU,而这些改进版和原版的最终参数都是固定的。所以论文自然而然地想到,如果能够根据输入特征来调整ReLU的参数可能会更好。

图1

基于上面的想法,论文提出了动态ReLU(DY-ReLU)。如图1所示,DY-ReLU是一个分段函数 ,参数由超函数 根据输入 得到。超函数 综合输入的各维度上下文来自适应激活函数 ,能够在带来少量额外计算的情况下,显著地提高网络的表达能力。另外,论文提供了三种形态的DY-ReLU,在空间位置和维度上有不同的共享机制。不同形态的DY-ReLU适用于不同的任务,论文也通过实验验证,DY-ReLU在关键点识别和图像分类上均有不错的提升。

Definition and Implementation of Dynamic ReLU

Definition

定义原版的ReLU为 为输入向量,对于输入的 维特征 ,激活值计算为 。ReLU可统一表示为分段线性函数,论文基于这个分段函数扩展出动态ReLU,基于所有的输入 自适应 ,

因子 为超函数 的输出:

  为函数数量, 为维度数,激活参数 不仅与 相关,也与 相关。

Implementation of hyper function

论文采用类似与SE模块的轻量级网络进行超函数的实现,对于大小为 的输入 ,首先使用全局平均池化进行压缩,然后使用两个全连接层(中间包含ReLU)进行处理,最后接一个归一化层将结果约束在-1和1之间,归一化层使用 为Sigmoid函数。子网共输出 个元素,分别对应 的残差,最终的输出为初始值和残差之和:

  的初始值, 是用来控制残差大小的标量。对于 的情况,默认参数为 ,即为原版ReLU,标量默认为

Relation to Prior Work

表1  

DY-ReLU的可能性很大,表1展示了DY-ReLU与原版ReLU以及其变种的关系。在学习到特定的参数后,DY-ReLU可等价于ReLU、LeakyReLU以及PReLU。而当K=1,偏置时,则等价于SE模块。另外DY-ReLU也可以是一个动态且高效的Maxout算子,相当于将Maxout的K个卷积转换为K个动态的线性变化,然后同样地输出最大值。

Variations of Dynamic ReLU

论文提供了三种形态的DY-ReLU,在空间位置和维度上有不同的共享机制:

DY-ReLU-A

空间位置和维度均共享(spatial and channel-shared),计算如图2a所示,仅需输出 个参数,计算最简单,表达能力也最弱。

DY-ReLU-B

仅空间位置共享(spatial-shared and channel-wise),计算如图2b所示,输出 个参数。

DY-ReLU-C

空间位置和维度均不共享(spatial and channel-wise),每个维度的每个元素都有对应的激活函数。虽然表达能力很强,但需要输出的参数( )太多了,像前面那要直接用全连接层输出会带来过多的额外计算。为此论文进行了改进,计算如图2c所示,将空间位置分解到另一个attention分支,最后将维度参数 乘以空间位置attention 。attention的计算简单地使用 卷积和归一化方法,归一化使用了带约束的softmax函数:

  用于将attention平均,论文设为 为温度,训练前期设较大的值(10)用于防止attention过于稀疏。

Experimental Results

图像分类对比实验

关键点识别对比实验

与ReLU在ImageNet上进行多方面对比

与其它激活函数进行实验对比

可视化DY-ReLU在不同block的输入输出以及斜率变化,可看出其动态性。


结论

论文提出了动态ReLU,能够根据输入动态地调整对应的分段激活函数,与ReLU及其变种对比,仅需额外的少量计算即可带来大幅的性能提升,能无缝嵌入到当前的主流模型中。前面有提到一篇APReLU,也是做动态ReLU,子网结构十分相似,但DY-ReLU由于 的存在,可能性和效果比APReLU更大。

论文: Dynamic ReLU

  • 论文地址:

    https://arxiv.org/abs/2003.10027

  • 论文代码:

    https://github.com/Islanna/DynamicReLU

更多精彩推荐
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值