留言板

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

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

基于改进深度残差网络的图像分类算法

储岳中 汪佳庆 张学锋 刘恒

储岳中, 汪佳庆, 张学锋, 刘恒. 基于改进深度残差网络的图像分类算法[J]. 电子科技大学学报, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
引用本文: 储岳中, 汪佳庆, 张学锋, 刘恒. 基于改进深度残差网络的图像分类算法[J]. 电子科技大学学报, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
CHU Yue-zhong, WANG Jia-qing, ZHANG Xue-feng, LIU Heng. Image Classification Algorithm Based on Improved Deep Residual Network[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
Citation: CHU Yue-zhong, WANG Jia-qing, ZHANG Xue-feng, LIU Heng. Image Classification Algorithm Based on Improved Deep Residual Network[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314

基于改进深度残差网络的图像分类算法

doi: 10.12178/1001-0548.2020314
基金项目: 国家自然科学基金(61971004)
详细信息
    作者简介:

    储岳中(1971-),男,博士,副教授,主要从事模式识别与机器学习方面的研究. Email:mychu@126.com

  • 中图分类号: TP391

Image Classification Algorithm Based on Improved Deep Residual Network

  • 摘要: ResNet的瓶颈结构存在一定的冗余输出,面对类别较少的分类任务时,冗余信息占比会非常大,造成计算资源浪费。针对这个问题,该文利用残差结构和连接操作设计了一个新的升维结构(RC结构)用于改进瓶颈结构。RC结构可以降低瓶颈结构的资源消耗,并增强梯度传递。将RC与多种残差网络进行结合,并在多个数据集上进行图像分类实验。实验结果表明,基于RC的残差网络在面对类别较少的分类任务时,能有效提高网络的效率和精度。
  • 图  1  瓶颈结构案例和未使用瓶颈结构案例

    图  2  基于RC的瓶颈结构

    图  3  中断反向传播的RC

    图  4  针对SEResNet做出的特殊改进

    表  1  ResNet29和ResNet#实验对比

    网络结构运算量/B参数量/M准确率/%
    SGDAdam
    ResNet290.764.9291.3091.52
    ResNet#4.4731.5294.6293.64
    下载: 导出CSV

    表  2  不同k值的ResNet29的对比实验

    网络结构准确率/%
    cifar10cifar100
    ResNet29(k=1)91.3068.86
    ResNet29(k=3/4)91.2767.86
    ResNet29(k=1/2)90.6666.38
    下载: 导出CSV

    表  3  RC的反向传播测试

    网络结构运算量/B参数量/M准确率/%
    cifar10
    ResNet290.764.9291.30
    ResNet29_RC_S0.844.7891.39
    ResNet29_RC0.724.6292.58
    下载: 导出CSV

    表  4  cifar数据集的实验

    网络结构运算量/B参数量/M准确率/%
    cifar10cifar100
    ResNet290.764.9291.3068.86
    ResNet29_RC0.724.6692.5871.23
    WRN29(d=2)2.1013.7991.0468.23
    WRN29_RC(d=2)1.9512.7593.2673.60
    WRN29(d=3)4.1327.2992.0870.10
    WRN29_RC(d=3)3.7824.9693.3773.60
    ResNext29_32×4d0.784.7693.3774.08
    ResNext29_32×4d_RC0.633.7593.6175.19
    PreActResNet290.895.0593.1671.68
    PreActResNet29_RC0.844.7893.3771.92
    Res2net290.996.2893.8476.59
    Res2Net29_RC0.845.1994.2974.88
    Res2Net29_RC_res20.865.4594.5976.64
    SKNet290.3610.4592.5672.70
    SKNet29_RC0.329.6892.1772.38
    SKNet29(s=8)//91.05/
    SKNet29_RC(s=8) 91.20
    SEResNet290.767.0091.0365.45
    SEResNet29_RC0.726.7393.0866.85
    SEResNet29_RC_se0.725.8393.5873.78
    下载: 导出CSV

    表  5  TinyImageNet的实验

    网络结构运算量/ B参数量/ M准确率/%
    ResNext501.3523.1956.50
    ResNext50_RC1.0818.1456.05
    ResNet501.3023.7152.87
    ResNet50_RC1.2422.4452.72
    Res2Net501.3723.8560.01
    Res2Net50_RC_res21.1920.5260.00
    SEResNet501.3233.9951.81
    SEResNet50_RC_se1.2428.8156.31
    PreActResNet500.754.9157.51
    PreActResNet50_RC0.724.6657.38
    下载: 导出CSV

    表  6  遥感影像数据集的实验

    网络结构准确率/%
    SIRI-WHU DatasetUC Merced Land-Use
    ResNet5094.3392.14
    ResNe50_RC94.7292.86
    ResNext50_32x4d94.8392.14
    ResNext50_32x4d_RC96.1793.01
    PreActResNet5093.8391.43
    PreActResNet50_RC93.3391.19
    Res2Net5095.0092.60
    Res2Net50_RC_res295.6792.62
    SEResNet5095.6794.26
    SEResNet50_RC96.5093.81
    SEResNet50_RC_se95.6795.48
    SERes2Net5095.8395.28
    SERes2Net50_RC_res296.3394.86
    SERes2Net50_RC_res2_se96.5095.48
    下载: 导出CSV
  • [1] XIE Sai-ning, GIRSHICK R, DOLLAR P, et al. Aggregated residual transformations for deep neural networks[C]//2017 IEEE Conference on Computer Vision (CVPR). [S.l.]: IEEE, 2017: 5987-5995.
    [2] GAO Shang-hua, CHENG Ming-ming, ZHAO Kai, et al. Res2Net: A new multi-scale backbone architecture[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019(99): 1.
    [3] HU Jie, SHEN Li, SUN Gang. Squeeze-and-excitation networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT: IEEE, 2018: 7132-7141.
    [4] LI Xiang, WANG Wen-hai, HU Xiao-lin. Selective kernel networks[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA: IEEE, 2019: 510-519.
    [5] ZHANG Hang, WU Chong-ruo, ZHANG Zhong-yue, et al. ResNeSt: Split-attention networks[EB/OL]. [2019-9-18]. https://hangzhang.org/files/resnest.pdf.
    [6] HE K, ZHANG X, REN S, et al. Identity mappings in deepresidual networks[J]. Computer Vision and Pattern Recognition, 2016, DOI:  10.1007/978-3-319-46493-0_38.
    [7] DUTA I C, LIU Li, ZHU Fang, et al. Improved residual networks for image and video recognition[EB/OL]. [2019-11-20]. https://arxiv.org/abs/2004.04989.
    [8] ZAGORUYKO S, KOMODAKIS N. Wide residual networks[J]. Computer Vision and Pattern Recognition, 2016, DOI:  10.5244/C.30.87.
    [9] GAO Huang, ZHUANG Liu, LAURENS V D M, et al. Densely connected convolutional networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2017: 2261-2269.
    [10] HAN Kai, WANG Yun-he, TIAN Qi, et al. GhostNet: More features from cheap operations[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2020, DOI: 10.1109/CVPR42600.2020.00165.
    [11] HE Kai-ming, ZHANG Xiang-yu, REN Shao-qing, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2016: 770-778.
    [12] ZHONG Yan-fei, ZHU Qi-qi, ZHANG Liang-pei. Scene classification based on the multifeature fusion probabilistic topic model for high spatial resolution remote sensing imagery[J]. IEEE Transactions on Geoscience and Remote Sensing, 2015(99): 1-16.
    [13] YANG Y, NEWSAM S. Bag-of-visual-words and spatial extensions forland-use classification[C]//ACM International Symposium on Advances in Geographic Information Systems. [S.l.]: ACM, 2010: 270-279.
  • [1] 李阳, 李春璇, 徐灿飞, 方立梅.  基于残差注意力机制的肺结节数据增强方法 . 电子科技大学学报, 2023, 52(6): 880-886. doi: 10.12178/1001-0548.2022363
    [2] 陈永, 蒋丰源, 詹芝贤.  多尺度残差注意力的高速铁路OFDM信道估计 . 电子科技大学学报, 2023, 52(4): 512-522. doi: 10.12178/1001-0548.2022205
    [3] 吴宗柠, 狄增如, 樊瑛.  多层网络的结构与功能研究进展 . 电子科技大学学报, 2021, 50(1): 106-120. doi: 10.12178/1001-0548.2020068
    [4] 周成宁, 肖宁聪, 李兴国, 张军.  基于环形抽样代理模型的结构可靠性分析方法 . 电子科技大学学报, 2021, 50(1): 155-160. doi: 10.12178/1001-0548.2019219
    [5] 肖宁聪, 袁凯, 王永山.  基于序列代理模型的结构可靠性分析方法 . 电子科技大学学报, 2019, 48(1): 156-160. doi: 10.3969/j.issn.1001-0548.2019.01.023
    [6] 张双狮, 雷朝军, 刘迎辉, 牛新建, 魏彦玉.  瞬态电磁场三维时域有限差分模拟研究 . 电子科技大学学报, 2019, 48(1): 13-21. doi: 10.3969/j.issn.1001-0548.2019.01.003
    [7] 孙晓璇, 吴晔, 冯鑫, 肖井华.  高铁-普铁的实证双层网络结构与鲁棒性分析 . 电子科技大学学报, 2019, 48(2): 315-320. doi: 10.3969/j.issn.1001-0548.2019.02.024
    [8] 肖宁聪, 周成宁, 张成林, 刘志亮.  混合不确定性下的结构可靠性分析方法 . 电子科技大学学报, 2018, 47(5): 788-792. doi: 10.3969/j.issn.1001-0548.2018.05.024
    [9] 王璞, 谭倩, 徐仲之, 鲁恒宇, 林涛.  城市公交网络运行演化分析与瓶颈甄别 . 电子科技大学学报, 2018, 47(3): 455-461. doi: 10.3969/j.issn.1001-0548.2018.03.021
    [10] 赵洋, 任化强, 熊虎, 陈阳.  代理动态操作的云数据拥有性证明方案 . 电子科技大学学报, 2016, 45(5): 796-801. doi: 10.3969/j.issn.1001-0548.2016.05.015
    [11] 任晓龙, 朱燕燕, 王思云, 廖好, 韩筱璞, 吕琳媛.  在线社交网络结构与区域经济关联性研究 . 电子科技大学学报, 2015, 44(5): 643-651. doi: 10.3969/j.issn.1001-0548.2015.05.001
    [12] 邵凤, 郭强, 曾诗奇, 刘建国.  微博系统网络结构的研究进展 . 电子科技大学学报, 2014, 43(2): 174-183. doi: 10.3969/j.issn.1001-0548.2014.02.003
    [13] 耿技, 宋旭, 陈伟, 秦志光.  基于系统结构和运行环境的系统生存性模型 . 电子科技大学学报, 2014, 43(1): 101-106. doi: 10.3969/j.issn.1001-0548.2014.01.017
    [14] 侯孟书, 李玉军, 秦志光.  三维传感器网络中贪婪算法的可达性分析 . 电子科技大学学报, 2012, 41(3): 441-446. doi: 10.3969/j.issn.1001-0548.2012.03.023
    [15] 吴志红, 刘日晨, 甘霖.  基于三维校正的SHGC物体三维结构提取方法 . 电子科技大学学报, 2011, 40(3): 446-450. doi: 10.3969/j.issn.1001-0548.2011.03.023
    [16] 邹见效, 徐红兵, 张正迁.  基于三重冗余的ETS控制系统设计及可靠性评估 . 电子科技大学学报, 2010, 39(5): 793-799. doi: 10.3969/j.issn.1001-0548.2010.05.030
    [17] 王启科, 刘心松, 邱元杰, 周涛, 黎屹.  分布式并行安全操作系统的用户一致性算法 . 电子科技大学学报, 2007, 36(2): 239-241,270.
    [18] 朱汉清, 吴正德, K. M. Luk.  结合频域有限差分法分析二维柱体电磁散射 . 电子科技大学学报, 2001, 30(5): 445-448.
    [19] 倪得兵, 唐小我.  企业资本结构对宏观政策的动态适应性分析 . 电子科技大学学报, 1999, 28(6): 601-604.
    [20] 秦志光, 汪文勇.  网络认服务可靠性和安全性 . 电子科技大学学报, 1997, 26(2): 190-193.
  • 加载中
图(4) / 表(6)
计量
  • 文章访问数:  4958
  • HTML全文浏览量:  1372
  • PDF下载量:  71
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-08-25
  • 修回日期:  2021-01-01
  • 网络出版日期:  2021-03-31
  • 刊出日期:  2021-03-22

基于改进深度残差网络的图像分类算法

doi: 10.12178/1001-0548.2020314
    基金项目:  国家自然科学基金(61971004)
    作者简介:

    储岳中(1971-),男,博士,副教授,主要从事模式识别与机器学习方面的研究. Email:mychu@126.com

  • 中图分类号: TP391

摘要: ResNet的瓶颈结构存在一定的冗余输出,面对类别较少的分类任务时,冗余信息占比会非常大,造成计算资源浪费。针对这个问题,该文利用残差结构和连接操作设计了一个新的升维结构(RC结构)用于改进瓶颈结构。RC结构可以降低瓶颈结构的资源消耗,并增强梯度传递。将RC与多种残差网络进行结合,并在多个数据集上进行图像分类实验。实验结果表明,基于RC的残差网络在面对类别较少的分类任务时,能有效提高网络的效率和精度。

English Abstract

储岳中, 汪佳庆, 张学锋, 刘恒. 基于改进深度残差网络的图像分类算法[J]. 电子科技大学学报, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
引用本文: 储岳中, 汪佳庆, 张学锋, 刘恒. 基于改进深度残差网络的图像分类算法[J]. 电子科技大学学报, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
CHU Yue-zhong, WANG Jia-qing, ZHANG Xue-feng, LIU Heng. Image Classification Algorithm Based on Improved Deep Residual Network[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
Citation: CHU Yue-zhong, WANG Jia-qing, ZHANG Xue-feng, LIU Heng. Image Classification Algorithm Based on Improved Deep Residual Network[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
  • 自从深度残差网络ResNet被提出来并在ILSVRC2015比赛中取得冠军后,许多研究者把目光放在了ResNet的改进工作上,由此出现了一大批优秀的基于残差结构的卷积神经网络。目前为止改进大体上可分为4类:1)是对输入模块的数据进行split-transform-merge操作,例如使用分组卷积的ResNext[1]和使用层级残差结构的Res2Net[2],它们能在降低消耗的同时增加网络的精度。2)在残差结构里引入注意力机制,例如加入通道自注意力机制的SENet[3]、加入多尺度自适应调节感受的SKnet[4]、使用分组注意力机制的ResNeSt[5]。注意力机制的使用可以让网络有偏向地选择重要的特征图进行特征提取,从而提高精度。3)优化模块拓扑结构,例如使用预先激活方式的ResNetV2[6],使网络易于优化并提高模型的正则化,以及每个stage采用不同模块来优化拓扑结构的IResNet[7],加强了信息在网络间的传播,减少了信息损失。4)对残差网络整体进行优化,例如提出让网络变得更宽的WRN[8]和建立密集连接从而缓解梯度消失、加强特征传播的DenseNet[9]

    上述网络大部分都是在ResNet的瓶颈结构基础上进行改进的。瓶颈结构由一条主干和一条残差支路组成,主干上数据先由1×1点卷积进行降维,再经过3×3卷积块进行特征提取,最后由1×1点卷积升维,卷积过程中还使用BN操作进行归一化以及Relu函数增加非线性。先降维最后升维的操作大大降低了3×3卷积所需的计算量。传统的观点认为影响准确率的主要是3×3卷积核,所以多数工作都是对其进行改进,而选择保留降维升维的1×1卷积核。瓶颈结构比较简单,但网络结构上也存在冗余,因此后面出现的残差网络如ResNext才能在不过多增加计算量的前提下提高准确率。冗余的产生主要来自升维操作时生成的过多的类似特征图[10]。传统的改进方法偏向于增加升维时输入数据的特征图数量[8]以及复杂性[1-2, 4]。这两种操作都能有效减少瓶颈结构输出信息的冗余。但考虑到冗余性还和分类任务的类别数有关,类别数越大,需要的有效特征图数量也就越多。在面对如10分类这样的分类任务时,传统的瓶颈结构及其改进还是不可避免地产生过多的冗余特征图。这些冗余虽然保证了网络对输入信息的充分理解,但过多的冗余信息会导致计算资源的浪费。

    针对这个问题,本文对瓶颈结构里的升维操作进行了改进。利用残差结构建立了升维操作输入和输出之间的通路,并使用连接操作代替残差结构中的加法。由于用到了残差结构和连接操作,把这个结构命名为RC。RC结构不仅减少了升维操作的计算量和参数量,而且提高了反向传播时的梯度传递,在面对分类数较少的任务时能够有效提升网络精度。由于RC结构能和很多残差网络相结合,在多个数据集上进行了多组对比实验,结果显示基于RC的瓶颈结构在面对分类数较少的任务时,效率和精度都有所提升。

    • 图1a为ResNet原文[11]中提出的一个瓶颈结构案例。输入数据的特征图通道数为256,经过降维、特征提取后,升维复原成256个通道,并与支路传来的数据相加作为输出。比起直接使用一个3×3卷积核进行特征提取,这样做无疑大大降低了运算量,但精度也会受到影响。图1b为保证输入输出特征通道数不变的情况下,只使用一个3×3卷积核进行特征提取的情况。在cifar10上做了个简单的对比实验,相关配置和实验部分一致,实验结果如表1所示。ResNet#为将ResNet29中的瓶颈结构替换为图1b时的情况,结果显示使用瓶颈结构后计算量和参数量大大减少了(表格里M为million,B为billion),但在SGD和Adam这两种优化器下,准确率都减少了2%~3%。

      图  1  瓶颈结构案例和未使用瓶颈结构案例

      表 1  ResNet29和ResNet#实验对比

      网络结构运算量/B参数量/M准确率/%
      SGDAdam
      ResNet290.764.9291.3091.52
      ResNet#4.4731.5294.6293.64

      图1中,两种模块的输出都是256个通道,但实验结果表明,图1b结构有着更好的特征表达能力,其输出的特征图所含信息更有效。图1a输出的特征图虽然也是256个通道,但相较图1b的输出特征图存在一些冗余信息。设瓶颈结构中3×3卷积核输出通道数为n,1×1卷积核升维所产生的通道数为m,则存在一个比例s=m/ns越大代表特征图通道数上升比例越大。文献[7]设计了更宽的ResNet,即m不变的情况下n更大的ResNet网络,实验表明增加n能有效增加ResNet模块的特征表达能力。反过来也能得到:ResNet瓶颈结构中,m不变的情况下,n越小,s越大,模块的特征表达能力越弱,冗余性越高。因此与s=4的ResNet网络不同,后面新出现的残差网络都选择了较小的s值。

      瓶颈结构的冗余性除了和s值有关外,还和任务的类别数有关,以cifar10和cifar100为例,进行了3组对比实验,如表2所示。kn不变的情况下s缩放的倍率,k越小,瓶颈结构输出的特征图通道数m就越少。从表中可以看出ResNet29(k=1)在cifar10和cifar100上准确率相差很大。100分类相较10分类,对网络的精确度要求更高,本文认为,在其他条件不变的情况下,分类任务的类别数越大,维持精度所需的输出特征图就越多。而ResNet29的网络结构每层输出的特征图是固定的,所以它在10分类问题上存在的冗余特征图可能非常多。为了验证这个猜想,对k={3/4, 1/2}的情况进行了测试。表2显示,在cifar10上,k=1和k=3/4的结果十分相似,但k=3/4时,瓶颈结构输出特征图的数量相较k=1减少了25%,由此可见ResNet29在cifar10上存在相当多的冗余,而在cifar100里k<1时准确率明显下降,这说明在处理分类数较多的任务时,特征图的冗余性会有所降低,削减输出特征图的通道数会使得图像特征表达不充分,从而影响最终的准确率。

      表 2  不同k值的ResNet29的对比实验

      网络结构准确率/%
      cifar10cifar100
      ResNet29(k=1)91.3068.86
      ResNet29(k=3/4)91.2767.86
      ResNet29(k=1/2)90.6666.38
    • 上节分析了瓶颈结构冗余性产生的原因,消耗资源生成冗余的特征图明显是不合适的,为了尽量减少这种额外的消耗,设计了新的升维操作,即RC结构。RC结构如图2所示,把输出$Y$分为$y$$y'$两部分,$y$直接由$x$得到,$y'$$x$经过1×1点卷积生成,最后把两者连接起来作为输出。

      图  2  基于RC的瓶颈结构

      RC降低了计算量和参数,假设点卷积的输入特征图的大小为n×w×hn为通道数,输出特征图的通道数为m。单样本情况下传统的升维操作运算量为:

      $$ l=w\times h\times n\times m $$

      参数量为:

      $$ p=n\times m $$

      RC结构下的运算量为:

      $$ {l}{{'}}=w\times h\times n\times (m-n) $$

      参数量为:

      $$ {p}{{'}}=n\times (m-n) $$

      很明显$l > l'$$p > p'$,升维操作的消耗大大减少。

      RC结构将x直接与输出连接起来,反向传播时加强了这部分的梯度传递,这使得RC结构在降低了消耗的同时还能增加网络精度。

    • 虽然RC模型输出的通道没有改变,但经过1×1点卷积生成的特征图减少了,这有可能导致升维时输入的信息没有被完全表达。根据1.2节的假设,传统瓶颈结构的升维操作里,点卷积是权重形状为[m,n,1,1]的张量,设其权重$W = [{w_1},{w_2}, \cdots ,{w_m}]$,其中${w_i}$是[n,1,1]的张量,则升维操作的运算可以简略为:

      $${Y_{\rm{1}}} = {w_1}x \oplus {w_2}x \oplus \cdots \oplus {w_m}x = Wx$$ (1)

      式中,$ \oplus $表示张量在第一个维度上相互连接,而非张量数值相加;${w_i}x$为对$x$进行卷积操作,权重为${w_i}$。在RC结构里,点卷积权重的形状为[mn, n,1,1],设其权重$W' = [w{'_1},w{'_2}, \cdots ,w{'_{m - n}}]$,则RC结构下升维操作的运算为:

      $$ {Y_{\rm{2}}} = w{'_1}x \oplus w{'_2}x \oplus \cdots \oplus w{'_{m - n}}x \oplus x = W'x \oplus x $$

      又根据卷积操作的特性,存在一个张量$W'' = $$ [w'{'_1},w'{'_1}, \cdots ,w'{'_n}]$,使得:

      $$ x = w'{'_1}x \oplus w'{'_2}x \oplus \cdots \oplus w'{'_n}x = W''x $$

      式中,$w'{'_i}$为由n−1个“0”和一个“1”构造的形状为[n, 1, 1]的张量,不同的$w'{'_i}$、1的位置也不一样。则有:

      $${Y_{\rm{2}}} = W'x \oplus W''x = (W' \oplus W'')x$$ (2)

      式中,$W$$W'$是随着反向传播而不断变化的张量;$W''$则是固定的,且$(W' \oplus W'')$$W$的形状都是[m, n,1,1],因此$(W' \oplus W'')$$W$的一种部分权重固定不变的特殊情况。当瓶颈结构存在大量冗余时,通过$W'$输出的较少数量的特征图能够充分表达输入数据的特征,引入RC结构后的瓶颈结构的特征表达能力就不会受到影响,但当瓶颈结构的冗余性较低时,$W$比RC结构里的$W' \oplus W''$有更多可以训练的权重,具有更好的特征表达能力,于是就可能出现引入RC结构后瓶颈结构的特征表达能力不如原来的情况。因此RC结构更适合存在较多冗余信息的网络,例如处理分类数较少的分类任务时。

    • 实验部分首先进行了RC结构关于反向传播的测试,以验证1.2节的结论。而后分别在cifar10、cifar100和TinyImageNet这3个数据集上进行了RC结构的功能性验证,实验选用的网络为ResNet、WRN、ResNetV2、ResNext、SENet、Res2Net和SKNet,最后将前面表现得优秀的网络在遥感影像数据集上进行测试以验证其迁移性。

    • 为了验证RC结构对反向传播的影响,在图2的结构上做了些修改,如图3所示,$x$与一个单位阵E相乘从而得到$y$,由于${y} = x\times{{\mathit{\boldsymbol{E }}}}= x$,所以图3结构下的$y$图2结构下的是一致的,但在训练过程中利用代码中断${y} = x\times{{\mathit{\boldsymbol{E}}}}$这一过程里的梯度传递,这种结构记为RC_S。

      图  3  中断反向传播的RC

      表3所示,由于ResNet在10分类问题上存在大量冗余,所以中断了yx梯度传播的ResNet29_RC_S与ResNet29训练结果相似,但引入了梯度传播后,ResNet29_RC的准确率比改进前提高了1.28%。由此可见,直接将x作为部分输出能带来精度提升,这也是后面实验里引入RC结构的残差网络能比原版表现更优秀的原因。

      表 3  RC的反向传播测试

      网络结构运算量/B参数量/M准确率/%
      cifar10
      ResNet290.764.9291.30
      ResNet29_RC_S0.844.7891.39
      ResNet29_RC0.724.6292.58
    • cifar数据集包括cifar10和cifar100,分别对应10分类和100分类任务。由于cifar的图片大小为32×32,所以本文选用ResNext29_32×4d作为基础框架,并在其基础上搭建了需要测试的网络。训练批次为120,优化器选取的是SGD,初始学习率为0.1,并且采用每隔30轮学习率除以10的调整策略,对于数据预处理,采用的是随机裁剪、随机反转和标准化。对实验结果采用的是去掉极小值后取平均值的统计方法,每个数据都是3组及以上样本的平均值。

      首先对ResNet、WRN、ResNetV2(PreActResNet)、ResNext、Res2Net、SKNet和引入SE结构的ResNet进行测试,实验结果如表4所示。除了SKNet外,其余残差网络引入RC后的准确率在cifar10上都有所增长。而在cifar100上,Res2Net准确率降低了,一方面RC结构在处理分类数较多的问题时会出现特征表达不完全的情况,另一方面Res2Net引入的多尺度信息可能会和RC结构产生一定冲突,如果这种冲突直接作用在Linear层,会对分类产生较大影响。于是将Res2Net29_RC的最后一个瓶颈结构替换为原来的结构,为了方便描述,这种针对Res2Net的改进记为RC_res2。结果显示,Res2Net_RC_res2在cifar10的准确率有了进一步提升,而且在cifar100上也超过了原版。

      表 4  cifar数据集的实验

      网络结构运算量/B参数量/M准确率/%
      cifar10cifar100
      ResNet290.764.9291.3068.86
      ResNet29_RC0.724.6692.5871.23
      WRN29(d=2)2.1013.7991.0468.23
      WRN29_RC(d=2)1.9512.7593.2673.60
      WRN29(d=3)4.1327.2992.0870.10
      WRN29_RC(d=3)3.7824.9693.3773.60
      ResNext29_32×4d0.784.7693.3774.08
      ResNext29_32×4d_RC0.633.7593.6175.19
      PreActResNet290.895.0593.1671.68
      PreActResNet29_RC0.844.7893.3771.92
      Res2net290.996.2893.8476.59
      Res2Net29_RC0.845.1994.2974.88
      Res2Net29_RC_res20.865.4594.5976.64
      SKNet290.3610.4592.5672.70
      SKNet29_RC0.329.6892.1772.38
      SKNet29(s=8)//91.05/
      SKNet29_RC(s=8) 91.20
      SEResNet290.767.0091.0365.45
      SEResNet29_RC0.726.7393.0866.85
      SEResNet29_RC_se0.725.8393.5873.78

      除了Res2Net外,也对SEResNet做出了特殊改进,如图4所示。RC结构之所以能提高准确率,是因为将输入升维操作的数据直接作为输出的一部分,从而加强了这部分的梯度传递。而在与SELayer结合的时候,$y$参与了自注意力机制的情况下可能会影响到其梯度传递,所以设计了图4b的结构。为方便区分,这种结构记为RC_se。表4显示,在cifar数据集上,SEResNet29_RC_se的准确率和效率比SEResNet29_RC与SEResNet29更加出色。

      图  4  针对SEResNet做出的特殊改进

      此外,对于SKNet与RC结合的失败,本文也做出了各种改进,但准确率都达不到原版的效果,引入RC结构后,SKNet的特征表达能力受到很大的负面影响。SKNet较小的s值(SKNet瓶颈结构的s=2)是影响因素之一,根据1.1节的分析,越大的s值代表网络的冗余性越多,与RC结构的结合效果就越好。本文尝试增大SKNet的s值,发现s值增大时,RC结构起到了提高准确率的作用,这说明SKNet也是遵行“冗余性越高,与RC结构结合效果越好”这一结论。因此SKNet与RC结构结合失败的原因目前只能归结为:SKNet瓶颈结构的输出特征图冗余性较低,加入RC结构后会影响其特征表达能力。

    • TinyImageNet是200类的ImageNet子集,图片大小为64×64,本文以ResNet50作为基础,搭建需要测试的网络,训练相关设置和cifar保持一致。训练结果如表5所示。正如1.3节分析的,RC结构不适合分类数较大的任务,在2.2节cifar100的实验里也出现Res2Net-RC的准确率有所下降的情况,而在200类的TinyImageNet里,这一特性更加明显,除了SEResNet50外,其余网络的准确率都出现了小幅下降。所以RC结构并不适合处理分类数较多的任务,且不同残差网络对应的分类数临界值也会有所不同,需要根据具体情况判断是否使用RC结构。

    • 为了验证RC结构的有效性,针对遥感影像数据做了额外的实验,数据集选用了12分类的SIRI-WHU Dataset[12]与21分类的UC Merced Land-Use DataSet[13],采用4∶1的比例划分为训练集和测试集。与前面实验不同的是,采用Adam作为训练优化器,学习率初始值为0.001,每隔30个批次除以2,训练120个批次,选用ResNet50为基础网络,实验结果如表6所示。SIRI-WHU Dataset的图片大小为224×224,UC Merced Land-Use DataSet的图片大小为256×256,面对图片大小在200以上的数据集时,RC在ResNetV2(PreActResNet)上表现得并不理想,但在其他网络上都有一定的提升。

      表 5  TinyImageNet的实验

      网络结构运算量/ B参数量/ M准确率/%
      ResNext501.3523.1956.50
      ResNext50_RC1.0818.1456.05
      ResNet501.3023.7152.87
      ResNet50_RC1.2422.4452.72
      Res2Net501.3723.8560.01
      Res2Net50_RC_res21.1920.5260.00
      SEResNet501.3233.9951.81
      SEResNet50_RC_se1.2428.8156.31
      PreActResNet500.754.9157.51
      PreActResNet50_RC0.724.6657.38

      表 6  遥感影像数据集的实验

      网络结构准确率/%
      SIRI-WHU DatasetUC Merced Land-Use
      ResNet5094.3392.14
      ResNe50_RC94.7292.86
      ResNext50_32x4d94.8392.14
      ResNext50_32x4d_RC96.1793.01
      PreActResNet5093.8391.43
      PreActResNet50_RC93.3391.19
      Res2Net5095.0092.60
      Res2Net50_RC_res295.6792.62
      SEResNet5095.6794.26
      SEResNet50_RC96.5093.81
      SEResNet50_RC_se95.6795.48
      SERes2Net5095.8395.28
      SERes2Net50_RC_res296.3394.86
      SERes2Net50_RC_res2_se96.5095.48
    • 本文分析了残差网络的冗余性,针对瓶颈结构进行了改进,使用RC代替原来的升维操作。RC使用残差结构和连接操作,降低了升维操作的计算量和参数量,并增强了梯度传播。利用cifar数据集和tinyImagenet数据集在多种残差网络上进行了测试,验证了RC在较少类别分类任务上的有效性。最后还在遥感影像识别领域做了额外的实验。本文的实验部分也存在一些问题没有得到解答,例如在SKNet上直接套用RC结构并没有发挥出理想的效果,根本原因是什么?能不能做出有效改进?两个瓶颈结构之间的升维降维操作是否存在冗余计算,可否进一步降低计算量等。RC结构还有值得挖掘的地方,期待未来的研究能完善它。

参考文献 (13)

目录

    /

    返回文章
    返回