Dynamic ReLU 解读

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

这是Microsoft团队2020年发表的文章,提出动态relu激活函数称之为DY-RELU,比普通的relu函数效果好。

简介:以前的relu不论是有参数的还是没用参数的都是静态的,本文提出动态relu,其参数(一个机能增强函数)由所有输入元素决定,其关键原理是DY-RELU编码全局上下文信息到它的机能增强函数中,并让其分段线性函数分别的适应。相比于静态RELU,DY-RELU只增加了很少的计算量但是显著的增强了其表征能力,尤其对于轻量级网络,在MobileNetV2上使用DY-RELU,只是简单的替换激活函数,在ImageNet上的top1分类精度从72%提高到了76.2%但是计算量只增加了5%flops。

提出问题:激活函数RELU应用很广泛,最近的很成功的网络都用到了它,但是无论是RELU还是它的变体Leaky-RELU还是PRELU,都是静态的,也即是说,无论它们的输入是什么数据分布,它们都只按特定的规律进行变化。激活函数到底需不需要适应它的输入数据呢?也即是说,激活函数需不需要根据其输入数据的不同调整它的变换规律呢?本文将详细讨论。

解决方案:本文提出的DY-RELU其实就是一个分段函数,如图1。

图1:DY-RELU结构

DY-RELU根据输入的数据生成一个函数,根据这个函数来决定这个分段线性函数的两个斜率。

本文提出了DY-RELU的三种形式:(a) spatial and channel-shared DY-ReLU-A (b) spatial-shared and channel-wise DY-ReLU-B (c) spatial and channel-wise DY-ReLU-C这三种形式分别使用不同的任务,b和c适用于分类任务,作为骨干网络,c适用作为头网络。下图是三种函数形式的用法和结构,图中的符号a、b代表分段函数的两段斜率。

a、b、c、三种形式的结构

下面是DY-ReLU和之前的激活函数相比的异同点。

 

DY-ReLU与之前的激活函数比较

实验结果:

一些轻量级网络DY-ReLU应用前后对比
DY-ReLU和之前的激活函数参数量的对比

我的思考:结果可以看出,DY-ReLU应用之后网络的精确度提升了不少,参数却没增加多少,是一个实用的模块。本文作者在文中说到,现在的轻量级网络设计NAS是主流,作者的目的就是设计一个更好的激活函数模块以便网络构架搜索的时候可以作为一个构成基本单元。

 

这一篇文章的证明部分没用看懂,结尾也没有细看,以上文章如有错误请大家指正。

 

 

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值