留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

面向CNN模型图像分类任务的高效激活函数设计

杜圣杰 贾晓芬 黄友锐 郭永存 赵佰亭

杜圣杰, 贾晓芬, 黄友锐, 郭永存, 赵佰亭. 面向CNN模型图像分类任务的高效激活函数设计[J]. 红外与激光工程, 2022, 51(3): 20210253. doi: 10.3788/IRLA20210253
引用本文: 杜圣杰, 贾晓芬, 黄友锐, 郭永存, 赵佰亭. 面向CNN模型图像分类任务的高效激活函数设计[J]. 红外与激光工程, 2022, 51(3): 20210253. doi: 10.3788/IRLA20210253
Du Shengjie, Jia Xiaofen, Huang Yourui, Guo Yongcun, Zhao Baiting. High efficient activation function design for CNN model image classification task[J]. Infrared and Laser Engineering, 2022, 51(3): 20210253. doi: 10.3788/IRLA20210253
Citation: Du Shengjie, Jia Xiaofen, Huang Yourui, Guo Yongcun, Zhao Baiting. High efficient activation function design for CNN model image classification task[J]. Infrared and Laser Engineering, 2022, 51(3): 20210253. doi: 10.3788/IRLA20210253

面向CNN模型图像分类任务的高效激活函数设计

doi: 10.3788/IRLA20210253
基金项目: 安徽省自然科学基金面上项目(2108085ME158);国家自然科学基金面上项目(52174141);安徽高校协同创新项目(GXXT-2020-54);安徽省重点研究与开发计划(202004a07020043)
详细信息
    作者简介:

    杜圣杰,男,硕士生,主要从事图像处理、深度学习方面的研究

    贾晓芬,女,教授,博士,主要从事图像处理、深度学习和机器学习方面的研究

  • 中图分类号: TP391

High efficient activation function design for CNN model image classification task

Funds: Natural Science Foundation of Anhui Province(2108085ME158);National Natural Science Foundation of China 面上项目(52174141);Anhui University Collaborative Innovation Project(GXXT-2020-54);Key Research and Development Program of Anhui Province(202004a07020043)
  • 摘要: 激活函数(Activation Functions,AF)对于卷积神经网络学习、拟合复杂函数模型来说具有十分重要的作用,为了使神经网络能更好更快的完成各类学习任务,设计了一种新型高效激活函数EReLU。EReLU通过引入自然对数函数有效缓解了神经元“坏死”和梯度弥散问题,通过分析激活函数及其导函数在前馈和反馈过程中的作用对EReLU函数的数学模型探索设计,经测试确定EReLU函数的具体设计方案,最终实现了提升精度和加速训练的效果;随后在不同网络和数据集上对EReLU进行测试,结果显示EReLU相较于ReLU及其改进函数精度提升0.12%~6.61%,训练效率提升1.02%~6.52%,这有力地证明了EReLU函数在加速训练和提升精度方面的优越性。
  • 图  1  (a) f1、(b) f2、(c) f3、(d) f4函数图像

    Figure  1.  (a) f1, (b) f2, (c) f3, (d) f4 functions and images

    图  2  (a) f 1、(b) f 2、(c) f 3、(d) f 4 导函数图像

    Figure  2.  Derivatives of (a) f 1, (b) f 2 ,(c) f 3 ,(d) f 4 and their graphs

    图  3  不同激活函数使用ResNet18网络在CIFAR10数据集上的测试准确率(a)和训练时间(b)

    Figure  3.  Test accuracy (a) and training time (b) of different activation functions using ResNet18 network on CIFAR10

    图  4  不同激活函数使用VGGl6网络在CIFARI0数据集上的测试准确率(a)和训练时间(b)

    Figure  4.  Test accuracy (a) and training time (b) of different activation functions using VGG16 network on CIFAR10

    图  5  不同激活函数使用RcsNct18网络在CIFAR100数据集上的测试准确率(a)和训练时间(b)

    Figure  5.  Test accuracy (a) and training time (b) of different activation functions using ResNet18 network on CIFAR100

    图  6  不同激活函数使用VGG16网络在CIFAR100数据集上的测试准确率(a)和训练时间(b)

    Figure  6.  Test accuracy (a) and training time (b) of different activation functions using VGG16 network on CIFAR100

    图  7  不同激活函数使用ResNet18网络在Fer2013数据集上的测试准确率(a)和训练时间(b)

    Figure  7.  Test accuracy (a) and training time (b) of different activation functions using ResNet18 network on Fer2013

    图  8  不同激活函数使用VGG16网络在Fer2013数据集上的测试准确率(a)和训练时间(b)

    Figure  8.  Test accuracy (a) and training time (b) of different activation functions using VGG16 network on Fer2013

    表  1  四种激活函数数学模型

    Table  1.   Mathematical models of four activation functions

    FunctionFunction model
    f1${f_1}(x) = \left\{ {\begin{array}{*{20}{c}} {\;\;x\;,x \geqslant 0} \\ { - x,x < 0} \end{array}} \right.$
    f2${f_2}(x) = \left\{ {\begin{array}{*{20}{c} } {\quad \;\;x\;\;\;\;\;\,\;,x \geqslant 0} \\ { - \dfrac{2}{3}{ {( - x)}^{\frac{3}{2} } },x < 0} \end{array} } \right.$
    f3${f_3}(x) = \left\{ {\begin{array}{*{20}{c} } {\quad x\;\;,x \geqslant 0} \\ {\dfrac{x}{ {1 - x} },x < 0} \end{array} } \right.$
    f4${f_4}(x) = \left\{ {\begin{array}{*{20}{c}} {\;\;\;{\kern 1pt} {\kern 1pt} {\kern 1pt} x\quad ,x \geqslant 0} \\ { - {{\ln }^{1 - x}},x < 0} \end{array}} \right.$
    下载: 导出CSV

    表  2  四种激活函数导函数模型

    Table  2.   Four kinds of activation function derivative function model

    Derived functionFunction model
    f1${f_1}^\prime (x) = \left\{ {\begin{array}{*{20}{c}} {\;\,1\;,x \geqslant 0} \\ { - 1,x < 0} \end{array}} \right.$
    f2${f_2}^\prime (x) = \left\{ {\begin{array}{*{20}{c}} {\;\quad \;\;1\quad \;,x \geqslant 0} \\ { - \sqrt {( - x)} ,x < 0} \end{array}} \right.$
    f3${f_3}^\prime (x) = \left\{ {\begin{array}{*{20}{c} } 1 \\ {\dfrac{1}{ { { {(1 - x)}^2} } } } \end{array} } \right.\begin{array}{*{20}{c} } {,x \geqslant 0} \\ {,x < 0} \end{array}$
    f4${f_4}^\prime (x) = \left\{ {\begin{array}{*{20}{c} } {\;\;\;1\;\;{\kern 1pt} \;,x \geqslant 0} \\ {\dfrac{1}{ {1 - x} },x < 0} \end{array} } \right.$
    下载: 导出CSV

    表  3  不同激活函数在ResNet18网络上的表现

    Table  3.   Performance of different activation functions on the ResNet18 network

    Results
    Methods
    Datasets
    CIFAR10CIFAR100
    ACCT/hACCT/h
    f193.11%1.33274.82%1.332
    f293.03%1.33574.27%1.335
    f393.66%1.29075.23%1.290
    f493.78%1.26275.87%1.262
    ReLU92.90%1.32573.68%1.325
    下载: 导出CSV

    表  4  不同激活函数在VGG16网络上的表现

    Table  4.   Performance of different activation functions on the VGG16 network

    Results
    Methods
    Datasets
    CIFAR10CIFAR100
    ACCT/hACCT/h
    f1 91.31% 1.225 58.91% 1.225
    f2 91.24% 1.248 58.35% 1.248
    f3 91.86% 1.243 59.23% 1.243
    f4 91.98% 1.175 59.95% 1.175
    ReLU 91.15% 1.238 56.24% 1.238
    下载: 导出CSV
  • [1] Hassell M P, Lawton J H, Beddington J R. Sigmoid functional responses by invertebrate predators and parasitoids [J]. The Journal of Animal Ecology, 1977: 249-262.
    [2] Kalman B L, Kwasny S C. Why tanh: Choosing a sigmoidal function[C]//Proceedings 1992IJCNN International Joint Conference on Neural Networks. IEEE, 1992, 4: 578-581.
    [3] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks [J]. Communications of the ACM, 2017, 60(6): 84-90. doi:  10.1145/3065386
    [4] Dubey A K, Jain V. Comparative study of convolution neural network’s relu and leaky-relu activation functions[M]//Applications of Computing, Automation and Wireless Systems in Electrical Engineering, 2019: 873-880.
    [5] He K, Zhang X, Ren S, et al. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 1026-1034.
    [6] Clevert D A, Unterthiner T, Hochreiter S. Fast and accurate deep network learning by exponential linear units (elus) [J]. arXiv preprint arXiv, 2015: 1511.07289.
    [7] Shi Qi. Research and verification of image classification optimization algorithm based on convolutional neural network[D]. Beijing: Beijing Jiaotong University, 2017. (in Chinese)
    [8] Wang Hongxia, Zhou Jiaqi, Gu Chenghao, et al. Design of activation functions in convolutional neural networks for image classification [J]. Journal of Zhejiang University (Engineering Science), 2019, 53(7): 1363-1373. (in Chinese)
    [9] Zhang X, Zou Y, Shi W. Dilated convolution neural network with LeakyReLU for environmental sound classification[C]//2017 22nd International Conference on Digital Signal Processing (DSP). IEEE, 2017: 1-5.
    [10] Xu L, Choy C, Li Y W. Deep sparse rectifier neural networks for speech denoising[C]//2016 IEEE International Workshop on Acoustic Signal Enhancement (IWAENC). IEEE, 2016: 1-5.
    [11] Liu Jun. Analysis of algorithm design and algorithm time complexity [J]. Computer Knowledge and Technology, 2008, 2(14): 878-879. (in Chinese)
    [12] Liu X, Zhang Y, Bao F. Kernel-blending connection approximated by a neural network for image classification [J]. Computational Visual Media, 2020, 6(4): 467-476. doi:  10.1007/s41095-020-0181-9
    [13] Carrier P L, Courville A, Mirza M, et al. Challenges in representation learning: A report on three machine learning contests[C]//International Conference on Neural Information Processing, 2013: 117-124.
    [14] Wang H, Zhou J, Gu C, et al. Design of activation function in CNN for image classification [J]. Journal of ZheJiang University (Engineering Science), 2019, 53(7): 1363-1373.
  • [1] 李霖, 王红梅, 李辰凯.  红外与可见光图像深度学习融合方法综述 . 红外与激光工程, 2022, 51(12): 20220125-1-20220125-20. doi: 10.3788/IRLA20220125
    [2] 陆建华.  融合CNN和SRC决策的SAR图像目标识别方法 . 红外与激光工程, 2022, 51(3): 20210421-1-20210421-7. doi: 10.3788/IRLA20210421
    [3] 夏信, 何传亮, 吕英杰, 王守志, 张博, 陈晨, 陈海鹏, 李美萱.  深度学习驱动的智能电网运行图像数据压缩技术 . 红外与激光工程, 2022, 51(12): 20220097-1-20220097-6. doi: 10.3788/IRLA20220097
    [4] 林丽, 刘新, 朱俊臻, 冯辅周.  基于CNN的金属疲劳裂纹超声红外热像检测与识别方法研究 . 红外与激光工程, 2022, 51(3): 20210227-1-20210227-9. doi: 10.3788/IRLA20210227
    [5] 齐悦, 董云云, 王溢琴.  基于汇聚级联卷积神经网络的旋转人脸检测方法 . 红外与激光工程, 2022, 51(12): 20220176-1-20220176-8. doi: 10.3788/IRLA20220176
    [6] 李保华, 王海星.  基于增强卷积神经网络的尺度不变人脸检测方法 . 红外与激光工程, 2022, 51(7): 20210586-1-20210586-8. doi: 10.3788/IRLA20210586
    [7] 刘瀚霖, 辛璟焘, 庄炜, 夏嘉斌, 祝连庆.  基于卷积神经网络的混叠光谱解调方法 . 红外与激光工程, 2022, 51(5): 20210419-1-20210419-9. doi: 10.3788/IRLA20210419
    [8] 庄子波, 邱岳恒, 林家泉, 宋德龙.  基于卷积神经网络的激光雷达湍流预警 . 红外与激光工程, 2022, 51(4): 20210320-1-20210320-10. doi: 10.3788/IRLA20210320
    [9] 张颖, 李河申, 王昊, 孙军华, 张晞, 刘惠兰, 吕妍红.  基于神经网络的典型地物的偏振多光谱图像分类(特邀) . 红外与激光工程, 2022, 51(6): 20220249-1-20220249-8. doi: 10.3788/IRLA20220249
    [10] 宦克为, 李向阳, 曹宇彤, 陈笑.  卷积神经网络结合NSST的红外与可见光图像融合 . 红外与激光工程, 2022, 51(3): 20210139-1-20210139-8. doi: 10.3788/IRLA20210139
    [11] 张盼盼, 罗海波, 鞠默然, 惠斌, 常铮.  一种改进的Capsule及其在SAR图像目标识别中的应用 . 红外与激光工程, 2020, 49(5): 20201010-20201010-8. doi: 10.3788/IRLA20201010
    [12] 高泽宇, 李新阳, 叶红卫.  流场测速中基于深度卷积神经网络的光学畸变校正技术 . 红外与激光工程, 2020, 49(10): 20200267-1-20200267-10. doi: 10.3788/IRLA20200267
    [13] 盛家川, 陈雅琦, 王君, 韩亚洪.  深度学习结构优化的图像情感分类 . 红外与激光工程, 2020, 49(11): 20200269-1-20200269-10. doi: 10.3788/IRLA20200269
    [14] 薛珊, 张振, 吕琼莹, 曹国华, 毛逸维.  基于卷积神经网络的反无人机系统图像识别方法 . 红外与激光工程, 2020, 49(7): 20200154-1-20200154-8. doi: 10.3788/IRLA20200154
    [15] 张秀, 周巍, 段哲民, 魏恒璐.  基于卷积稀疏自编码的图像超分辨率重建 . 红外与激光工程, 2019, 48(1): 126005-0126005(7). doi: 10.3788/IRLA201948.0126005
    [16] 姚旺, 刘云鹏, 朱昌波.  基于人眼视觉特性的深度学习全参考图像质量评价方法 . 红外与激光工程, 2018, 47(7): 703004-0703004(8). doi: 10.3788/IRLA201847.0703004
    [17] 杨楠, 南琳, 张丁一, 库涛.  基于深度学习的图像描述研究 . 红外与激光工程, 2018, 47(2): 203002-0203002(8). doi: 10.3788/IRLA201847.0203002
    [18] 郭强, 芦晓红, 谢英红, 孙鹏.  基于深度谱卷积神经网络的高效视觉目标跟踪算法 . 红外与激光工程, 2018, 47(6): 626005-0626005(6). doi: 10.3788/IRLA201847.0626005
    [19] 张腊梅, 陈泽茜, 邹斌.  基于3D卷积神经网络的PolSAR图像精细分类 . 红外与激光工程, 2018, 47(7): 703001-0703001(8). doi: 10.3788/IRLA201847.0703001
    [20] 张东彦, 赵晋陵, 黄林生, 马雯萩.  用于高光谱图像分类的归一化光谱指数的构建与应用 . 红外与激光工程, 2014, 43(2): 586-594.
  • 加载中
图(8) / 表(4)
计量
  • 文章访问数:  276
  • HTML全文浏览量:  73
  • PDF下载量:  43
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-12-10
  • 修回日期:  2022-01-25
  • 刊出日期:  2022-04-07

面向CNN模型图像分类任务的高效激活函数设计

doi: 10.3788/IRLA20210253
    作者简介:

    杜圣杰,男,硕士生,主要从事图像处理、深度学习方面的研究

    贾晓芬,女,教授,博士,主要从事图像处理、深度学习和机器学习方面的研究

基金项目:  安徽省自然科学基金面上项目(2108085ME158);国家自然科学基金面上项目(52174141);安徽高校协同创新项目(GXXT-2020-54);安徽省重点研究与开发计划(202004a07020043)
  • 中图分类号: TP391

摘要: 激活函数(Activation Functions,AF)对于卷积神经网络学习、拟合复杂函数模型来说具有十分重要的作用,为了使神经网络能更好更快的完成各类学习任务,设计了一种新型高效激活函数EReLU。EReLU通过引入自然对数函数有效缓解了神经元“坏死”和梯度弥散问题,通过分析激活函数及其导函数在前馈和反馈过程中的作用对EReLU函数的数学模型探索设计,经测试确定EReLU函数的具体设计方案,最终实现了提升精度和加速训练的效果;随后在不同网络和数据集上对EReLU进行测试,结果显示EReLU相较于ReLU及其改进函数精度提升0.12%~6.61%,训练效率提升1.02%~6.52%,这有力地证明了EReLU函数在加速训练和提升精度方面的优越性。

English Abstract

    • 激活函数(Activation Functions,AF)的主要作用是将非线性因素引入卷积神经网络(Convolutional Neural Network,CNN),为整个模型提供充足的非线性扭曲力,进而帮助CNN更好的理解和拟合复杂函数模型,完成各项计算机视觉任务。

      CNN早期发展阶段常用的激活函数有Sigmoid[1]、Tanh[2]函数,二者均属于S型饱和函数,这种函数容易导致梯度消失,使得模型训练困难。为了解决这一问题,Krizhevsky[3]提出了一种线性整流单元(Rectified Linear Units,ReLU)并在当年的ImageNet ILSVRC比赛中取得了出色的成绩,相较于Sigmoid和Tanh函数,ReLU函数具有良好的稀疏性和较小的计算量,它不仅解决了梯度消失问题,还加快了网络训练速度,因此ReLU函数很快便成为CNN网络中常用的主流激活函数,但ReLU函数同样存在着一些缺陷,即ReLU函数容易在训练过程中导致神经元“坏死”[3],进而使“坏死”的神经元在整个训练过程中失去传递信息的能力,对模型产生不利的影响。

      为了解决上述问题,基于ReLu函数的改进型激活函数出现了。如Dubey A K[4]等提出的LeakyReLU激活函数在函数负半段设计了泄露单元,有效缓解了神经元“坏死”问题;He K[5]等人提出的非线性修正激活函数PReLU通过引入额外的可学习参数不仅很好的解决了“坏死”问题,还有效提高了模型的拟合能力;Clevert D A[6]等提出的ELU激活函数同样取得了比ReLU函数更优越的性能;上述改进型函数均主要针对ReLU负半轴的零常函数做出改动,进而有效的弥补了ReLU函数的缺陷,但它们同样存在新的问题,如延长了训练时间、提高了训练难度等。

      随后,人们想到通过合并多个函数优点的思路来构建新的激活函数。如石琪[7]等提出的组合激活函数ReLU-Softplus,王红霞[8]等提出的ReLU-Softsign激活函数均获得了比单一激活函数更好的效果,组合函数采取优势互补的思路实现了更好的性能提升,但在实际应用中,组合函数同样存在一些新的问题,如ReLU-Softplus对学习率的设置要求严格,ReLU-Softsign在速度和精度方面仍有待提升。

      综上,ReLU函数具有良好的稀疏性和运算效率,但本身存在神经元“坏死”问题;LeakyReLU等改进函数通过在负半轴引入非零函数改善了ReLU的缺陷,却给自身带来效率慢的问题;组合函数虽然把不同激活函数优点合并在一起,但又产生了训练困难的新问题。因此,对当前CNN网络来说设计一个既能解决以往激活函数存在的梯度弥散、神经元“坏死”等缺陷,又能加速训练、提升性能且不增加训练难度的高效激活函数是非常必要的。

    • 卷积神经网络(CNN)引入激活函数的主要目的是给模型引入非线性因素,从而使CNN模型能实现更好的学习效果,那么激活函数是怎样对CNN模型产生作用的呢?下面通过推导激活函数在网络训练过程中的具体计算过程分析说明。

      CNN训练通常包括前向和反向传播两个过程[8],前向传播是指输入信号通过一个或多个网络层进行传递,最后在输出层得到实际输出的过程;反向传播则是模型根据实际输出和期望输出计算出误差损失,然后通过每层的误差损失推导参数的学习规则,选择更优的参数使实际输出更接近期望值的过程。假设有一个l层的网络,给定一个输入${x_i}$,前向传播时上一层的输出经过第l层卷积过程如下:

      $$y_j^l = \sum\limits_{i \in {M_j}} {x_i^{l - 1}k_{ij}^l + b_j^l} $$ (1)

      式中:i表示第l-1层的第i个通道;j表示第l层的第j个通道;M表示一个内含j个元素的集合;$x_i^{l - 1}$为第l-1层的输入;$k_{ij}^l$为第l层的卷积核,$b_i^l$为第l层的偏置项;$ y_j^l $为上层输入经过第l层卷积计算的输出。随后把$ y_j^l $代入任意激活函数f中去,计算如下:

      $$x_j^l = f(y_j^l)$$ (2)

      其中,$x_j^l$是一个完整前向传播的输出结果,这里f的主要作用是将非线性因素引入到网络中去,使得CNN中上下层卷积层不再成线性关系,进而促进网络更好的学习和拟合函数模型[9],由于每层网络后都有激活函数参与计算,所以激活函数计算是否简便,求导是否方便将对模型的训练速度产生极大的影响[10]

      而反向传播实际上是一个负反馈过程,f在反向传播过程中参与的计算为:

      (1)计算第l层的灵敏度

      $$\lambda _j^l = \frac{{\partial E}}{{\partial y_j^l}} = \beta _j^{l + 1}(f'(u_j^l) \circ up(\lambda _j^{l + 1}))$$ (3)

      式中:$\lambda _j^l$为第l层的灵敏度;E为误差损失;$\;\beta _j^{l + 1}$为第l+1层里下采样层的权值参数;f’为f的导函数;$ \circ $表示对每个元素作乘法操作;up表示上采样操作。

      (2)对灵敏度求偏导

      $$\begin{array}{l}\dfrac{{\partial E}}{{\partial b_j^l}} = \displaystyle\sum\limits_{u,v} {(\lambda _j^l} {)_{u,v}}\\ \dfrac{{\partial E}}{{\partial k_{ij}^l}} = \displaystyle\sum\limits_{u,v} {{{(\lambda _j^l)}_{u,v}}} {(p_i^{l - 1})_{u,v}}\end{array}$$ (4)

      式中:k为卷积核参数;b为偏置项;u,v表示求偏导过程;${(p_i^{l - 1})_{u,v}}$为计算$x_j^l$的过程中与$k_{ij}^l$对应相乘后的$x_i^{l - 1}$

      (3)更新卷积层参数kb

      $$\begin{array}{l}\Delta k_{ij}^l = - \eta \dfrac{{\partial E}}{{\partial k_{ij}^l}}\\ \Delta {b^l} = - \eta \dfrac{{\partial E}}{{\partial k_{ij}^l}}\end{array}$$ (5)

      式中:$\eta $为学习率。由反向传播过程知,调优过程中参数的更新速度和方向均与f的导函数f’有关,因此导函数f’是否计算方便将直接影响信息在网络中的流动速度,结合前向传播可知,激活函数在网络中每一层都会被频繁使用,所以激活函数的导函数求解是否方便、计算是否简单同样对网络的效率有着极大的影响。

      结合公式(1)可知,改善ReLU、LeakyReLU等函数缺陷的方式主要是通过优化激活函数的负半轴实现,而在函数负半轴引入非零函数的同时,还要注意避免因函数本身运算复杂度而导致的计算效率低和训练困难问题。

    • ReLU[3]函数由于其负半轴函数为零而存在神经元“坏死”缺陷;LeakyReLU[4]等函数以及组合函数虽然以不同的方式在弥补了ReLU的缺陷,但由于函数内部引入了额外的可训练参数或指数型复杂运算而造成了网络效率低、训练难的问题,因此从激活函数负半轴数学模型出发,设计了包括线性型、幂数型、分数型及自然对数型函数在内的四种函数进行实验,以寻找最佳的激活函数设计方案。

      算法复杂度[11]由算法的时间复杂度和算法的空间复杂度两部分决定,其中时间复杂度与函数阶次相关,影响计算效率;空间复杂度与函数中包含的参数数量相关,决定了占用硬件资源情况。常见的函数复杂度从低到高依次为常数阶<线性阶<对数阶、分数阶、幂数阶<平方阶<指数阶<含超参函数,其中简单的线性函数、幂函数、分数函数及自然对数函数相较于引入了指数运算及额外参数的激活函数在计算上更加方便,这对于加快网络训练效率具有一定的优势。为了方便描述,上述四种激活函数分别用f1f2f3f4表示,对应的导函数分别用f1’、f2’、f3’、f4’表示,其中四种激活函数表达式见表 1

      表 1  四种激活函数数学模型

      Table 1.  Mathematical models of four activation functions

      FunctionFunction model
      f1${f_1}(x) = \left\{ {\begin{array}{*{20}{c}} {\;\;x\;,x \geqslant 0} \\ { - x,x < 0} \end{array}} \right.$
      f2${f_2}(x) = \left\{ {\begin{array}{*{20}{c} } {\quad \;\;x\;\;\;\;\;\,\;,x \geqslant 0} \\ { - \dfrac{2}{3}{ {( - x)}^{\frac{3}{2} } },x < 0} \end{array} } \right.$
      f3${f_3}(x) = \left\{ {\begin{array}{*{20}{c} } {\quad x\;\;,x \geqslant 0} \\ {\dfrac{x}{ {1 - x} },x < 0} \end{array} } \right.$
      f4${f_4}(x) = \left\{ {\begin{array}{*{20}{c}} {\;\;\;{\kern 1pt} {\kern 1pt} {\kern 1pt} x\quad ,x \geqslant 0} \\ { - {{\ln }^{1 - x}},x < 0} \end{array}} \right.$

      表中,f1函数的设计思路是根据ReLU正半轴的线性函数反向延长至整个定义域上的完整线性函数,在继承ReLU函数优点的基础上解决了其原来存在的神经元“坏死”缺陷;f2函数的设计思路是通过将原ReLU函数的零负半轴用简单的幂函数代替后构成的,这里幂参数及系数的设置是为了保证其导函数系数为最简形式;f3函数则是通过将原ReLU函数的零负半轴用简单的分数函数代替后构成的,分式形式是为了保证其导函数系数为最简形式且在整个定义域上连续;f4函数是通过将原ReLU函数的零负半轴用自然对数函数代替后构成的,自然对数函数时间复杂度和空间复杂度相对较低,在计算和求导方面均具有一定的优势,其系数设置同样是为了保证其导函数系数最简且在整个定义域上连续。激活函数f1f2f3f4对应的图像如图 1所示。

      图  1  (a) f1、(b) f2、(c) f3、(d) f4函数图像

      Figure 1.  (a) f1, (b) f2, (c) f3, (d) f4 functions and images

      f1f2f3f4均解决了ReLU函数在负半轴上图像为零的问题,有效改善了信息在网络前向和反向传播过程中的完整性,进而提高模型拟合能力,在一定程度上有效提升模型精度。f1为线性函数,f2为幂函数,f3为一阶分数函数,f4为自然对数函数,时间复杂度上,f1 < f2, f3, f4,相较于包含指数运算(如ELU)的激活函数更低,这决定了上述激活函数在计算方面更高效;在空间复杂度方面,上述函数相较于添加了额外参数(如LeakyReLU)的函数在空也更低,这决定了上述激活函数在占用硬件空间资源方面更少。

      函数求导是否方便同样影响模型计算效率,常见函数类型有线性函数、幂函数、分数函数、对数函数、指数函数等,其中线性型函数求导过程为:

      $$ {f}_{\text{线}}{}^{\prime }=(kx{)}^{\prime }=k$$ (6)

      幂型函数求导过程为:

      $$ {f}_{\text{幂}}{}^{\prime }=k{x}^{\alpha }=\alpha k{x}^{\alpha -1}$$ (7)

      分数型函数求导过程为:

      $$ {f}_{\text{分}}{}^{\prime }=(\frac{\alpha }{kx}{)}^{\prime }=-\frac{\alpha }{{x}^{2}}$$ (8)

      自然对数型函数求导过程为:

      $$ {f}_{\text{对}}{}^{\prime }=(\alpha {\mathrm{ln}}^{kx}{)}^{\prime }=\frac{\alpha }{x}$$ (9)

      指数型函数求导过程为:

      $$ {f}_{\text{指}}=(\alpha {e}^{kx}{)}^{\prime }=k\alpha {e}^{kx}$$ (10)

      这里,k、α、e表示函数参数。由分析可知,线性函数求导时主要是对系数k的计算,超参数个数为1;幂函数求导时同时对参数kα进行计算,参数个数为2;分数型函数求导时除了计算参数α,还要对分式函数二次求导,参数个数为1;对数函数求导时仅计算参数α,参数个数为1;指数函数求导时不仅要计算系数kαe,同时需要二次求导,超参个数为2,而含有额外超参的激活函数中超参个数更多,由此可见,线性函数、幂函数和自然对数函数在求导方面效率较高,分数函数次之,指数函数效率相对最低。对f1f2f3f4依次求导得到相应的导函数f1’、f2’、f3’、f4’,四种导函数模型如表 2所示。

      表 2  四种激活函数导函数模型

      Table 2.  Four kinds of activation function derivative function model

      Derived functionFunction model
      f1${f_1}^\prime (x) = \left\{ {\begin{array}{*{20}{c}} {\;\,1\;,x \geqslant 0} \\ { - 1,x < 0} \end{array}} \right.$
      f2${f_2}^\prime (x) = \left\{ {\begin{array}{*{20}{c}} {\;\quad \;\;1\quad \;,x \geqslant 0} \\ { - \sqrt {( - x)} ,x < 0} \end{array}} \right.$
      f3${f_3}^\prime (x) = \left\{ {\begin{array}{*{20}{c} } 1 \\ {\dfrac{1}{ { { {(1 - x)}^2} } } } \end{array} } \right.\begin{array}{*{20}{c} } {,x \geqslant 0} \\ {,x < 0} \end{array}$
      f4${f_4}^\prime (x) = \left\{ {\begin{array}{*{20}{c} } {\;\;\;1\;\;{\kern 1pt} \;,x \geqslant 0} \\ {\dfrac{1}{ {1 - x} },x < 0} \end{array} } \right.$

      可见,f1’、f2’、f3’、f4’解决了ReLU导函数在负半轴上图像为零的问题,促进了信息在网络中传递,进而达到改善模型精度的目的。f1’为常函数,f2’为幂函数,f3’为二阶分数函数,f4’为一阶分数函数,时间复杂度上,f1’ < f2’, f4’ < f3’且均低于包含指数运算(如ELU)的激活函数;空间复杂度上,f1’ < f2’, f3’, f4’且均低于引入了额外超参数(如LeakyReLU)的激活函数,综上可知,上述导函数相较于ReLU及其改进型函数的导函数算法复杂度更低,计算效率更快,相应地占用硬件资源也更少。四种导函数图像如图2所示。

      图  2  (a) f 1、(b) f 2、(c) f 3、(d) f 4 导函数图像

      Figure 2.  Derivatives of (a) f 1, (b) f 2 ,(c) f 3 ,(d) f 4 and their graphs

      结合CNN模型前向和反向传播过程,由于上述四种激活函数及其导函数相较于已有激活函数(如ELU、LeakyReLU)在时间和空间复杂度上更低,因此f1f2f3f4四种函数理论上在促进网络中信息传递和加速训练方面相较于其它基于ReLU的改进函数效果更好,接下来通过相应实验来验证各激活函数的具体性能。

    • 实验在CIFAR10[12]、CIFAR100[12]及Fer2013[13]数据集上开展。数据集CIFAR10和CIFAR100均是32×32的彩色图像,分别包含10、100个类别,Fer2013为细粒度分类数据集,由35886张48×48人脸表情图片组成,共7类。实验均在Pytorch1.5.0、Python3.8、NVIDIA GTX 2080显卡环境下进行,完整迭代轮数均为120个Epoch,实验中学习率设置为0.001,优化器采用随机梯度下降+动量法(SGD+Moument)。使用准确率ACC(%)和训练时长T/h作为评价指标用以评估不同激活函数的综合性能。

    • 为了确定最佳的EReLU函数设计方案,按照上述方法使用VGG16[12]和ResNet18[14]网络分别采用f1f2f3f4及ReLU函数在CIFAR10和CIFAR100数据集上测试,Batchesize设置为128,测试结果如表3表4所示。

      表 3  不同激活函数在ResNet18网络上的表现

      Table 3.  Performance of different activation functions on the ResNet18 network

      Results
      Methods
      Datasets
      CIFAR10CIFAR100
      ACCT/hACCT/h
      f193.11%1.33274.82%1.332
      f293.03%1.33574.27%1.335
      f393.66%1.29075.23%1.290
      f493.78%1.26275.87%1.262
      ReLU92.90%1.32573.68%1.325

      表 4  不同激活函数在VGG16网络上的表现

      Table 4.  Performance of different activation functions on the VGG16 network

      Results
      Methods
      Datasets
      CIFAR10CIFAR100
      ACCT/hACCT/h
      f1 91.31% 1.225 58.91% 1.225
      f2 91.24% 1.248 58.35% 1.248
      f3 91.86% 1.243 59.23% 1.243
      f4 91.98% 1.175 59.95% 1.175
      ReLU 91.15% 1.238 56.24% 1.238

      实验结果表明,f4在不同网络和数据集上综合表现均最好,f2f3略差,f1最差,但都优于ReLU函数,这与函数及其导函数本身的时间复杂度及空间复杂度有一定的关系,其中f1为线性函数,f2为幂函数,f3为一阶分数函数,f4为自然对数函数,时间复杂度上,f1 < f2, f3, f4,相较于包含指数运算(如ELU)的激活函数更低,这决定了上述激活函数在计算方面更高效;在空间复杂度方面,上述函数相较于添加了额外参数(如LeakyReLU)的函数在空间复杂度上更低,这决定了上述激活函数在占用硬件空间资源方面更少。由此可见,在负半轴引入上述任意非零函数均对ReLU函数的性能有所改善,其中引入了自然对数函数的f4综合表现最佳,因此采用f4作为高效激活函数EReLU的最终设计方案,即

      $$\begin{array}{l} {f_{E{\mathop{\rm Relu}\nolimits} }} = \left\{ {\begin{array}{*{20}{c}} {\quad x\quad ,x \geqslant 0}\\ { - {{\ln }^{1 - x}},x < 0} \end{array}} \right.\\ {{f'}_{E{\mathop{\rm Relu}\nolimits} }} = \left\{ {\begin{array}{*{20}{c}} {\;\;\;1\quad ,x \geqslant 0}\\ {\dfrac{1}{{1 - x}},x < 0} \end{array}} \right. \end{array}$$ (11)
    • 确定了EReLU函数的数学模型后,为了更有效的说明其优越性,使用VGG16[12]和ResNet18[14]并分别采用EReLU、ReLU[3]、LerkyReLU[4]、PReLU[5]、ELU[6]、ReLU-softsign[8]共6种激活函数在CIFAR10[12]、CIFAR100[12]数据集上按照上述方式进一步实验。

      (1) CIFAR10上实验结果及分析

      使用ResNet18和VGG16网络在CIFAR10数据集上的测试结果分别见图3图4,其中图图3(a)纵坐标表示分类准确率,横坐标表示不同的激活函数,图3(b)纵坐标表示不同的激活函数,横坐标表示训练时长,其中黑色粗体表示最好的结果,蓝色表示第二好结果,后续图中的坐标轴含义均与图3相同。

      图  3  不同激活函数使用ResNet18网络在CIFAR10数据集上的测试准确率(a)和训练时间(b)

      Figure 3.  Test accuracy (a) and training time (b) of different activation functions using ResNet18 network on CIFAR10

      图  4  不同激活函数使用VGGl6网络在CIFARI0数据集上的测试准确率(a)和训练时间(b)

      Figure 4.  Test accuracy (a) and training time (b) of different activation functions using VGG16 network on CIFAR10

      图3图4可见,在标签少、类间距大的CIFAR10上使用两种网络对上述6种函数测试时,EReLU表现最佳,ReLU-softsign第二,PReLU表现最差,EReLU在提升精度和效率方面均表现最佳,相较于其他函数在CIFAR10上精度提升幅度为0.85%~1.08%,时长缩短范围为0.075~0.088 h。

      (2) CIFAR100上实验结果及分析

      图5图6可见,在标签多、类间距小的CIFAR100数据集上使用两种网络对上述6种函数测试时,ERelu函数在精度和效率方面综合表现最佳,PReLU次之,ReLU最差,EReLU相较于其他函数在CIFAR100上精度提升幅度为2.19%~3.71%,时长缩短范围为0.075~0.088 h。

      图  5  不同激活函数使用RcsNct18网络在CIFAR100数据集上的测试准确率(a)和训练时间(b)

      Figure 5.  Test accuracy (a) and training time (b) of different activation functions using ResNet18 network on CIFAR100

      图  6  不同激活函数使用VGG16网络在CIFAR100数据集上的测试准确率(a)和训练时间(b)

      Figure 6.  Test accuracy (a) and training time (b) of different activation functions using VGG16 network on CIFAR100

      (3) Fer2013上实验结果及分析

      图7图8可见,在标签少、类间距小的细粒度数据集Fer2013上使用两种网络对上述6种函数测试时,EReLU在提升精度和效率方面同样表现最佳,ReLU-softsign次之,PReLU则最差,EReLU相较于其他函数在Fer2013上精度提升幅度为0.58%~0.78%,时长缩短范围为0.015~0.038 h。

      图  7  不同激活函数使用ResNet18网络在Fer2013数据集上的测试准确率(a)和训练时间(b)

      Figure 7.  Test accuracy (a) and training time (b) of different activation functions using ResNet18 network on Fer2013

      图  8  不同激活函数使用VGG16网络在Fer2013数据集上的测试准确率(a)和训练时间(b)

      Figure 8.  Test accuracy (a) and training time (b) of different activation functions using VGG16 network on Fer2013

      综合图3~图8可知,EReLU和ReLU-softsign函数在标签少、类间差异小的细粒度数据集上潜力较大,LeakyReLU和PReLU函数在标签多、类间差异大的数据集上表现较好,而ELU仅在标签少、类间差异大的数据集上精度略优于ReLU,但效率上有所下降,而反观EReLU函数,相较于其他函数在提升精度和效率方面表现均最好。由此可见,EReLU在图像分类任务中相比于其他激活函数更具优越性和竞争力。

    • 文中通过分析激活函数在网络训练过程中的作用提出包括线性型、幂数型、分式型及自然对数型在内的4种改进ReLU激活函数的方案,实验表明当在负半轴引入自然对数函数时可以更好的提升网络性能,由此确定EReLU函数的数学模型。随后在ResNet18和VGG16网络中使用EReLU、ReLU、LerkyReLU、PReLU、ELU及ReLU-softsign共6种激活函数分别在CIFAR10、CIFAR100和Fer2013数据集上进行测试,结果表明EReLU相较于其他函数精度提升0.12%~6.61%,效率提升1.02%~6.52%,由此可见,EReLU函数在提升轻量型网络的精度和效率方面相较于其它激活函数更具竞争力。

      在未来的工作中,将EReLU函数应用到大型神经网络或其他领域的数据集进行测试,以进一步验证EReLU函数的优越性和适用性。

参考文献 (14)

目录

    /

    返回文章
    返回