收稿日期:20180408;修回日期:20180524 基金项目:国家自然科学基金资助项目(61471082)
作者简介:骆训浩(1993),男,湖北黄石人,硕士研究生,主要研究方向为图像分类、深度学习(luoxunhao@mail.dlut.edu.cn);李培华(1973),
男,黑龙江人,教授,主要研究方向为计算机视觉、模式识别、统计机器学习.
一种改进的基于幂线性单元的激活函数
骆训浩,李培华
(大连理工大学 电子信息与电气工程学部,辽宁 大连 116024)
摘 要:针对修正线性单元(ReLU)完全丢弃网络中包含有用信息的负激活值问题,基于参数化修正线性单元
(PReLU)和指数线性单元(ELU)的研究,提出一种新颖的参数化激活函数幂线性单元(PoLU)。PoLU对输入的
负激活部分实施有符号的幂非线性变化,幂函数的参数是可以在 CNN训练过程中自适应学习的,同时像 ReLU
那样保持正激活部分不变。PoLU可以高效地实现并且灵活地运用到不同的卷积神经网络架构中。在广泛使用
的 CIFAR10/100数据库上的实验结果表明,PoLU要优于 ReLU和它相对应的激活函数。
关键词:幂线性单元;参数化激活函数;卷积神经网络
中图分类号:TP183 文献标志码:A 文章编号:10013695(2019)10059314503
doi:10.19734/j.issn.10013695.2018.04.0331
Improvedactivationfunctionbasedonpowerlinearunit
LuoXunhao,LiPeihua
(FacultyofElectronicInformation&ElectricalEngineering,DalianUniversityofTechnology,DalianLiaoning116024,China)
Abstract:AimingattheproblemthatReLUcompletelydiscardsnegativeactivationswhichoftencontainmuchinformation.
Basedontheresearchofparametricrectifiedlinearunit
(PReLU)andexponentiallinearunit(ELU),thispaperproposedano
velparametricactivationfunctioncalledpowerlinearunit(PoLU).TheproposedPoLUperformedthesignedpowernonlinear
transformationonnegativeactivations.Itadaptivelylearnedtheparametersofpowerfunctionduringthetrainingprocessof
CNN.Meanwhile
,PoLUremainedthepositiveactivationsunchanged.ItefficientlyimplementedPoLUandbeflexiblyadopted
tovariousCNN.TheexperimentalresultsonwidelyusedCIFAR10/100benchmarksdemonstratethatPoLUismuchbetter
thanReLUandoutperformsitscounterparts.
Keywords:powerlinearunit;parametricactivationfunction;convolutionalneuralnetwork(CNN)
0 引言
近年来,深度卷积神经网络(convolutionalneuralnetwork,
CNN)备受关注并且在许多计算机视觉任务中获得了引人注目
的性能
[1~3]
。激活函数是 CNN中的基础单元,最近的研究表
明,将修正线性单元(rectiedlinearunit,ReLU)作为激活函数是
深度
CNN成功的关键
[1,4~6]
。ReLU首次提出是用于限制玻尔
兹曼机
[7]
,然 后 成 功 地 用 于 神 经 网 络
[8]
。ReLU的 定 义 是
f(x)=max{0,x}。相比于传统的 sigmoid函数,ReLU有两大
优势
[9]
:a)ReLU可以缓解梯度消失问题
[10]
,同时可以加速收
敛,避免网络收敛到一个局部最优解中;b)ReLU更趋向于得
到稀疏的编码,这种编码通常会带来更好的分类器性能
[1]
。
尽管 ReLU可以为深度 CNN带来许多良好的性质,但是 ReLU
依然存在一些缺点。例如,ReLU会忽略负激活,这些负激活通
常会包含许多对表达目标有用的信息,尤其对于深度 CNN网
络的浅层而言
[11]
。为了克服这个限制,许多改进 ReLU的方
法被提出来。表 1对已有的方法作了总结。
泄漏的修正线性单元(leakyReLU,LReLU)
[9]
对 ReLU作
了修改,LReLU对负激活建模成一个线性函数,定义为 f(x)=
max{0,x}+amin{0,x},其中 a=0.01。LReLU通过将负激活
乘以一个数值小的标量,如 0.01,使得负激活可以在整个深度
CNN中传播。由于 LReLU对于负激活有非零的导数,所以具
有负激活值的参数也可以在端到端的学习中被更新。实验结
果表明 LReLU相比 ReLU有更好的分类准确率。然而 LReLU
在整个网络中被人为地设置成相同的参数,这是不合理的,因
为负激活在深度 CNN的不同层中有不同的作用。为解决这个
问题,He等人
[11]
提出一种参数化的修正线性单元(parametric
ReLU
,PReLU)。这种激活函数在负激活部分引入一个带参数
的线性变化,并且其参数可以与原始深度网络参数同时通过反
向传播算法更新。PReLU定义为 f(x)=max{0,x}+amin(0,
x),其中 a是一个可以学习的参数。He等人已经证实自动学
习参数 a要优于手工微调参数,如 LReLU。不同于 LReLU和
PReLU,另外一种最近提出来的激活函数是指数线性单元(expo
nentiallinearunit,ELU)
[12]
,它在负激活值中的表现为一种非线
性变换。
ELU定义为 f(x)=max{0,x}+min{0,
β
(exp(x)-1),
0},其中
β
>0。ELU中的参数
β
通过手工来设定,通常设置为
1。在 ELU负激活处定义的非线性变换可以减小偏置变换,这
使得标准梯度接近自然梯度,达到加速训练的目的。实验结果
表明 ELU在多种视觉任务上都优于其他激活函数。ELU表明
在负激活处作非线性变换会优于线性变换。然而与 LReLU相
似,ELU在深度 CNN所有层中,对负激活使用相同的非线性变
换,这在实际场景中是不恰当。
基于以上讨论并受到 PReLU和 ELU的启发,本文提出一
种新颖的参数化的激活函数———幂线性单元(powerlinearu
nit,PoLU)。如表 1和图 1所示,不同于现有激活函数,通过引
入一个可学习的参数,本文提出的 PoLU激活函数可以在深度
CNN的不同层呈现出不同的形式。另外,PoLU可以有效地实
现并被灵活地运用到现有的深度 CNN网络中。本文实验在广
泛使用的 CIFAR10和 CIFAR100数据库上进行。实验结果表
第 36卷第 10期
2019年 10月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol36No10
Oct.2019