Dynamic ReLU:根据输入动态确定的ReLU

这是我最近才看到的一篇论文,它提出了动态ReLU (Dynamic ReLU, DY-ReLU),可以将全局上下文编码为超函数,并相应地调整分段线性激活函数。与传统的ReLU相比,DY-ReLU的额外计算成本可以忽略不计,但表示能力明显增强,并且实现简单,所以可以非常简单的对我们现有的模型进行修改。

Dynamic ReLU (DY-ReLU)

对于给定的输入向量(或张量)x,DY-ReLU被定义为具有可学习参数θ(x)的函数fθ(x)(x),该参数适应于输入x,它包括两个功能:

超函数θ(x):用于计算激活函数的参数。

激活函数fθ(x)(x):使用参数θ(x)生成所有通道的激活。

1、函数定义

设传统的或静态的ReLU为y = max(x, 0)。ReLU可以推广为每个通道c的参数分段线性函数。

其中coeffcients (akc , bkc)是超函数(x)的输出,如下:

其中K是函数的个数,C是通道的个数。论文中K=2。

2、超函数θ(x)的实现

使用轻量级网络对超函数进行建模,这个超函数类似于SENet中的SE模块(稍后会介绍)。

输出有2KC个元素,对应于a和b的残差。2σ(x)-1用于对-1到1之间的残差进行归一化,其中σ(x)表示s型函数。最终输出计算为初始化和残差之和,如下所示:

其中λ是标量,这个公式也就是我们上面的图

3、与先前研究的关系

可以看到DY-ReLU的三种特殊情况相当于ReLU、Leaky ReLU和PReLU。

4、DY-ReLU的变体

DY-ReLU-A:激活函数是空间和通道共享的。

DY-ReLU-B:激活函数是空间共享和通道相关的。

DY-ReLU-C:激活的是空间和通道分开的。

结果展示

1、消融研究

所有三种变化都比基线有所改善,但通道分开的DY-ReLU(变化B和C)明显优于通道共享的DY-ReLU(变化A)。

所以根据上面结果,使用DY-ReLU-B进行ImageNet分类,使用DY-ReLU-C进行COCO关键点检测。

2、ImageNet分类

使用MobileNetV2 (×0.35和×1.0), 用不同的激活函数代替ReLU。所提出的方法明显优于所有先前的工作,包括具有更多计算成本的Maxout。这表明DY-ReLU不仅具有更强的表示能力,而且计算效率高。

上图绘制了5万张验证图像在不同区块(从低到高)的DY-ReLU输入输出值。可以看到学习到的DY-ReLU在特征上是动态的,因为对于给定的输入x,激活值(y)在一个范围内(蓝点覆盖的范围)变化。

下图分析DY-ReLU中两段之间的夹角(即斜率差|a1c-a2c|)。激活函数在较高水平上具有较低的弯曲。

3、COCO关键点估计

当使用MobileNetV3作为骨干时,删除SENet模块,使用DY-ReLU替代ReLU和h-Swish后,结果也有提高。

总结

可以看到,只是使用DY-ReLU替换现有的激活函数,模型的表现明显优于基线模型。

这是ECCV2020的一篇论文,我们这里直接贴出paperswithcode的地址,这样可以直接拿来进行使用

https://avoid.overfit.cn/post/8db206f03cd54167b9eb2d06ebaffc6b

作者:sh-tsang

相关推荐
望获linux19 分钟前
智能清洁机器人中的实时操作系统应用研究
大数据·linux·服务器·人工智能·机器人·操作系统
古月居GYH23 分钟前
用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析
人工智能·机器人
槑槑紫29 分钟前
pytorch(gpu版本安装)
人工智能·pytorch·python
小雅痞40 分钟前
[Mac] 使用homebrew安装miniconda
深度学习·conda
小墙程序员1 小时前
机器学习入门(九)多层感知机
机器学习
飞哥数智坊1 小时前
五一必备:手把手教你“即梦”APP轻松生成精美海报
人工智能
OpenLoong 开源社区2 小时前
技术视界 | 从自然中获取智慧: 仿生机器人如何学会“像动物一样思考和行动”
人工智能
HHONGQI1232 小时前
嵌入式人工智能应用-第三章 opencv操作8 图像特征之 Haar 特征
人工智能·opencv·计算机视觉
Ai多利2 小时前
顶会招牌idea:机器学习+组合优化 优秀论文合集
人工智能·机器学习·组合优化