Dynamic ReLU——微软提出的动态relu激活函数

论文地址:https://arxiv.org/pdf/2003.10027.pdf

摘要

ReLU是深度神经网络中常用的激活函数。到目前为止,ReLU及其推广(非参数或参数)都是静态的,对所有的输入样本执行相同的操作。在本文中,我们提出了Dynamic ReLU激活函数(DY-ReLU),它的参数依赖于所有输入。其关键在于DY-ReLU将全局上下文编码为超函数,并相应地调整分段线性激活函数。与静态模型相比,DY-ReLU的额外计算开销可以忽略不计,但其表现能力显著提高,特别是对于轻量神经网络。仅仅通过简单地在MobileNetV2上使用DY-ReLU ,ImageNet分类的最高精度就可以从72.0%提高到76.2%,而计算量只增加了5%。

3 Dynamic ReLU

我们将在本节中描述dynamic ReLU (DY-ReLU)。它是一个参数依赖于输入的动态分段线性函数。DY-ReLU既不增加网络的深度,也不增加网络的宽度,但可以有效地增加模型能力,而额外的计算成本可以忽略不计。
本节组织如下。首先介绍了通用的动态激活方法。然后,给出了DY-ReLU的数学定义和实现方法。最后,我们将其与之前的工作进行了比较。

3.1 Dynamic Activation

对于一个给定的输入向量x,动态激活的定义是fθ(x) (x),θ(x) 是一个可学习的参数。如图1所示,它包含两个函数:

1.超函数 θ(x):为激活函数计算参数

2.激活函数fθ(x)(x):计算激活值,参数由θ(x) 生成

注意,超函数对所有输入元素(xc∈x)的全局上下文进行编码,以确定合适的激活函数。这使得它比它的静态对手(例如sigmoid,tanh, h-swish [13], ReLU [28,18], LeakyReLU [26], PRelu[11])具有更大的表示能力,特别是对于轻量级模型(例如MobileNet)。接下来,我们将讨论动态ReLU。

3.2 Definition and Implementation of Dynamic ReLU  

定义:让我们将传统的或静态的ReLU函数表示为 y= max{x,0},其中x是输入向量。通道的激活计算yc= max{xc,0},其中xc为第c通道上的输入。DY-ReLU定义为多个(K)线性函数的最大值:

其中线性系数a、b是θ(x)的输出: 

C是通道数,注意每个通道的激活参数是需要考虑所有的输入通道,ac和bc不仅依赖于第c通道的输入还依赖其他通道的输入。 

 Dynamic ReLU 的三种形式

DY-ReLU-A(空间和通道都共享):所有空间位置和通道共享相同的分段线性激活函数。其超函数的网络结构(如图2-(a))与DY-ReLU B相似,只是输出的数目减少到2K。与DY-ReLU-B相比,DY-ReLU-a的计算量较小,但表示能力较弱。

DY-ReLU-B(空间共享通道不共享):第3.2节介绍了实现细节,其网络结构如图2-(B)所示。激活函数需要由超函数计算2KC参数(每个通道2K)。

DY-ReLU-C (空间通道都不共享):如图2-(c)所示,每个输入元素xchw都有一个独立的激活函数,下标chw表示第c通道上特征图(维度为C*H*W)的第h行w列。这会导致输出维度过大(2KCHW)而无法使用全连接层来生成。我们通过将空间位置与通道分离来解决这个问题。特别的,我们引入了一个额外的分支来计算空间注意力,最后的输出是按通道参数和空间注意力来计算得到的。空间注意力分支很简单,只包括一个1*1卷积、一个单输出通道和一个归一化函数,该归一化函数是一个有上界的softmax函数,如下所示:

其中,z是1*1卷积的输出,τ是temperature,γ是标量。softmax被γ放大以防止梯度消失。我们经验地设置γ=HW/3,使平均注意πh,w为1/3。一个大的temperature(τ=10)用于防止训练早期出现稀疏现象。上界1将注意力限制在0和1之间。

实验结果

 

 

 

 

 

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在yolov5算法中,对激活函数进行了改进和扩展,引入了很多新奇有趣的激活函数。其中一些改进的激活函数包括ReLU的变体,如PReLU、RReLU、FReLU等。此外,还引入了Swish和Mish等激活函数。 Swish激活函数是一种将输入元素与sigmoid函数的输出相乘得到的结果,表达式为f(x) = x·sigmoid(βx)或简化为f(x) = x·σ(x),其中β是一个可调节的参数。Swish激活函数具有非线性特性,且在一些深度学习模型中表现出了良好的性能。 Mish激活函数是另一种基于sigmoid函数的变体,它的数学表示为f(x) = x·tanh(softplus(x))。Mish激活函数在一些目标检测任务中表现出了较好的性能,具有更好的平滑性和非线性特性。 此外,yolov5还引入了Acon系列和Dynamic ReLU系列等激活函数。Acon系列是一组基于自适应卷积操作的激活函数,具有局部感知性和自适应性。Dynamic ReLU系列是一组基于ReLU函数的变体,通过引入动态阈值来增加激活函数的非线性性能。 综上所述,yolov5算法通过引入多种改进的激活函数,如PReLU、RReLU、FReLU、Swish、Mish、Acon系列和Dynamic ReLU系列等,来提升模型的表达能力和性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [YOLOv5的Tricks | 【Trick1】关于激活函数Activation的改进汇总](https://blog.csdn.net/weixin_44751294/article/details/125085657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值