ResNet及其在医学图像处理领域的应用:研究进展与挑战

2022-02-24 08:56刘赟璨陆惠玲叶鑫宇常晓玉
电子与信息学报 2022年1期
关键词:残差卷积神经网络

周 涛 刘赟璨 陆惠玲 叶鑫宇 常晓玉

①(北方民族大学计算机科学与工程学院 银川 750021)

②(北方民族大学图像图形智能处理国家民委重点实验室 银川 750021)

③(宁夏医科大学理学院 银川 750004)

1 引言

深度学习是机器学习领域的一个新的方向和分支,近年来在图像领域中受到越来越多研究者的关注。基于深度学习的卷积神经网络(Convolutional Neural Network, CNN)具有复杂的网络结构,与传统机器学习方法相比具有更强大的特征学习和特征表达能力。CNN在目标识别中表现出色的性能,并逐渐成为图像分析的首选,它能够从大量数据中自动提取特征,并且具有良好的泛化能力。CNN经典模型有AlexNet[1], VGGNet[2], GoogleNet[3]和残差神经网络(Residual Neural Network, ResNet),其中残差神经网络[4]是由He等人提出的,在深度卷积神经网络的发展中具有非常重要的意义[5]。残差神经网络的出现有效地缓解了由于网络深度增加带来的梯度消失和网络退化问题,能够使神经网络的训练速度加快,并且可以大幅提升深度网络的泛化能力和鲁棒性。

由于残差神经网络的优良特性,其在图像领域获得了广泛的关注。目前残差神经网络在医学图像处理领域已经取得了突破性的进展,在肺部肿瘤、乳腺癌、皮肤疾病和心脑血管疾病等重大疾病的临床辅助诊断中取得了良好效果。此外,残差神经网络和其它网络模型的结合也广泛用于医学图像分割、分类、融合、重建、合成、超分辨率等医学图像分析任务中,可以帮助临床医生对患者的治疗做出整体规划,大大提高诊断正确率与效率,为患者争取宝贵的治疗时机,同时帮助医生评估患者的预后。Wu等人[6]提出用于乳腺癌筛查分类的深度卷积神经网络ResNet-22,对标准的ResNet模型进行改进,其深度和宽度的平衡针对高分辨率医学图像进行了优化,实验表明效果良好。Karthik等人[7]将残差神经网络用于胸部X射线图像的新冠肺炎检测,实验结果表明了算法的有效性。为了提高白细胞图像分割精度,Lu等人[8]提出基于ResNet和UNet++的深度学习网络WBC-Net,设计了具有残差块的上下文感知特征编码器用来提取多尺度特征,并在密集卷积块中引入混合跳跃路径以获取和融合不同尺度的图像特征。Nazir等人[9]提出一种自动进行颅内血管分割的OFF-eNET架构,结合残差映射和Inception模块,实现了更丰富的视觉表示,并提高了计算效率。由此可见,对残差神经网络的深入研究具有重要意义。

本文全面总结了残差神经网络的研究现状。(1)阐述残差神经网络的基本原理,从网络框架和残差单元两方面进行介绍;(2)综述残差神经网络的改进机制,从残差单元、残差连接和网络整体结构进行总结;(3)针对ResNet在医学图像处理中的应用,从ResNet与DenseNet, U-Net, Inception结构、注意力机制4个模型结合方面进行探讨。对ResNet在医学图像处理领域面临的挑战进行讨论,并展望未来发展方向。

2 残差神经网络基本原理

2.1 残差神经网络框架

深度神经网络的深度对网络的性能和准确率有着很大的影响,但网络并不是越深越好,这是由于增加网络层数,梯度消失现象就会越来越明显,网络的训练效果也不会很好。为了解决以上问题,残差神经网络的出现解决了网络加深带来的梯度消失和网络退化问题,提升了网络性能。如图1所示,34层残差神经网络由卷积层堆叠而成的残差单元、池化层以及全连接层组成。残差模块可以分为恒等残差块与非恒等卷积残差块,残差块中的快捷连接(shortcut connections)有实线和虚线两种。恒等残差块中的实线表示输入图像与输出图像通道数相同,可直接相加。非恒等卷积残差块中的虚线表示通道数不同,需要先通过1×1的卷积改变通道数,然后再相加。

图1 34层残差神经网络结构

卷积核是卷积层的重要组成部分,其本质是特征提取,主要作用是自动提取输入图像的深层信息。卷积操作是通过一个小的卷积核在图像上滑动,利用图像局部信息进行计算。卷积层由于其“局部连接”和“参数共享”的特点大大降低了网络参数,保证了网络的稀疏性,防止过拟合。卷积层参数由卷积核(filter)大小、移动步长(stride)和边界填充(padding)组成,三者共同决定了输出特征图的大小。卷积核越小,感受野越小,可以捕捉到图像的局部和细节信息。相反,大的感受野用于捕获图像更复杂、更抽象的信息。

池化层也称为“下采样”层,池化层往往在卷积层后面,通过池化操作来降低卷积层输出的特征向量,在减少数据量的同时保留有用的特征信息。池化的做法是对图像的某一个区域用一个值代替,如最大值或平均值。如果采用最大值,称为最大池化;如果采用平均值,称为平均池化。池化层的主要作用是特征降维,压缩数据和参数的数量,减少过拟合,同时提高模型的泛化能力。

全连接层一般位于网络尾端,在神经网络中起到“分类器”的作用,对前面逐层变换和映射提取的特征进行回归分类处理。在全连接层中,特征图会失去空间结构,展开为特征向量,并对由前面层级所提取到的特征进行非线性组合得到输出。

2.2 残差单元

残差神经网络是由多个残差单元(residual unit)堆叠而成,如图2所示,残差单元由卷积(conv)层、批量归一化(Batch Normalization, BN)层和整流线性单元 (Rectified Linear Unit, ReLU)函数组成。假设某段神经网络的输入是x,期望输出是H(x),F(x)表示残差函数。根据图2所示的残差单元结构可知,如果直接把输入x传到输出作为初始结果,可知输出结果为H(x)=F(x)+x,那么需要学习的目标就是F(x)=H(x)-x,即残差。残差神经网络不是直接学习潜在映射H(x),而是通过恒等映射后拟合了一个残差映射(residual mapping):F(x)=H(x)-x。残差映射相比潜在映射更容易优化,从而解决了深度增加后产生的梯度消失问题和网络退化问题。

图2 残差单元示意图

残差单元通过快捷连接实现恒等映射(identity mapping),将原始所需要学习的函数H(x)转换成F(x)+x。快捷连接有两种不同的连接方式,当输入和输出维度一致时,可以直接将输入加到输出上。但是当维度不一致时,不能直接相加,此时有两种策略:

(1)采用零填充(Zero-padding)增加维度。一般需要进行下采样,可以采用步长为2的池化操作,不会增加参数。

(2)采用新的映射Projection Shortcut。一般采用1×1卷积操作,会增加参数和计算量。快捷连接除了直接使用恒等映射,也可以采用Projection Shortcut。通过捷径将输入和输出进行基于元素的加法操作,不会给网络增加额外的参数和计算量,但可以大大增加模型的训练速度。当模型的层数加深时,能够很好地解决退化问题。

3 残差神经网络改进机制

残差神经网络是通过堆叠多个残差单元来解决梯度消失和网络退化问题的多层神经网络,对残差神经网络进行研究是近几年的热点。下面将残差神经网络的最新研究从残差单元、残差连接以及网络整体结构3方面进行总结。

3.1 残差单元

在残差神经网络中,基本残差单元由卷积层、BN层、ReLU层和跳跃连接组成。其中,通过跳跃连接可以缓解梯度消失现象,残差单元的结构很大程度上决定网络的性能。近年来许多学者围绕残差单元的内部组成和整体结构进行了大量研究,本文对这两个方面进行总结和归纳,具体如图3所示。整体分为左右两部分,左边部分是基本残差单元,输入是肺部肿瘤PET-CT图像,输出是通过分类得到的恶性和良性肿瘤图像,其中残差连接用红色线条表示。右边部分是卷积层、归一化层、激活函数和整体结构的最新研究进展,与左边残差单元中的Conv, BN, ReLU和残差单元整体结构相对应,分别用不同颜色表示。本文从卷积层、归一化层、激活函数和整体结构对残差单元进行总结。

图3 残差单元框架图

3.1.1 卷积层

卷积层是通过“局部连接”和“权值共享”的特性来提取图像中的关键特征,一般用图像尺寸是奇数的正方形卷积核,遍历图像中的每一个像素点,图像与卷积核重合区域内相对应的每一个像素值乘以卷积核内相对应点的权重,然后求和,再加上偏置,最后得到输出图像中的一个像素值。本文对卷积层进行归纳和总结,具体如图4所示,以时间线为轴,从最早1维卷积的出现到2021年按照时间顺序对1维卷积、反卷积、分组卷积、3维卷积、MLP卷积、扩张卷积、卷积非对称分解、扩张因果卷积、深度可分离卷积、可变形卷积、尺度不变卷积、卷积二值化进行总结。

图4 卷积层总结

(1)1维卷积常用于序列模型,它通过卷积核在一个维度方向上进行滑动窗口并相乘求和。Ma等人[10]提出1维卷积神经网络对健康和癌变的乳腺组织进行分类,利用1D卷积核来捕获输入光谱数据的特征。

(2)反卷积也称为转置卷积,它是一种特殊的正向卷积,先按照一定的比例通过补零来扩大输入图像的尺寸,接着旋转卷积核,最后进行正向卷积。Fang等人[11]利用卷积和反卷积操作对COVID-19图像进行预处理,增强局部ROI病变区域的图像特征,提高了COVID-19分类精度。

(3)分组卷积是将输入层的不同特征图进行分组,然后采用不同的卷积核再对各个组进行卷积,可降低卷积的计算量。相比原始卷积整合所有通道特征图的值,分组卷积只整合本组通道内特征图的值。Zhang等人[12]在ShuffleNet单元中利用分组卷积,然后将分组卷积后的特征图按照通道混洗操作将通道进行均匀混合,可以更好地获取全局信息。

(4)3维卷积是以立体卷积块的形式进行卷积,3D卷积核可以在图像的高度、宽度和通道3个方向上进行移动。Cao等人[13]提出的混合扩张残差网络3D-2D SSHDR用于高光谱图像分类,采用3D卷积构成的光谱残差块学习光谱特征,可以减少参数数量。

(5) 多层感知器(Multilayer Perceptron,MLP)卷积[14]是在NIN网络中提出的用以代替传统卷积层,MLP卷积使用MLP将输入局部补丁映射到输出特征向量。

(6)扩张卷积是在标准的卷积核中注入空洞,以此来增加模型的感受野,捕获多尺度上下文信息。Lu等人[15]提出一种由金字塔扩张卷积集成的ResNet用于神经胶质瘤分类,将金字塔扩张卷积模块集成到ResNet网络的底部以增强感受野,提高分类精度。

(7)Szegedy等人[16]在InceptionV3网络中对卷积进行非对称分解,通过将n×n的卷积分解成1×n和n×1的卷积并串联起来,加深网络的同时减小了计算量。

(8)扩张因果卷积由因果卷积和扩张卷积组成,因果卷积常用于序列问题,在因果卷积中时间t的状态预测依赖前t-1个状态,具有因果关系。Yan等人[17]在预测厄尔尼诺现象-南方涛动中使用扩张因果卷积,增大了模型的感受野。

(9)深度可分离卷积是在MobileNet[18]网络中提出的,其中逐深度卷积对每一个通道进行各自的卷积操作,一个卷积核负责一个通道,得到新的通道特征图后,通过逐点卷积使用1×1卷积核进行通道的像素融合。相对于普通卷积,深度可分离卷积减少了参数量,实现了通道和区域的分离。Prasetyo等人[19]提出一种多级残差(MLR)网络,通过采用深度可分离卷积以调整目标层中的特征图大小,将初始块的低级特征与最后一个块的高级特征相结合,减少参数和计算量。

(10)由于传统的卷积采用固定尺寸的卷积核,不能很好地适应几何形变,Dai等人[20]提出可变形卷积,将2D偏移量添加到标准卷积中的常规采样位置,使采样网格自由变形,可以使得卷积核在当前位置附近随意采样。

(11)尺度不变(SI)卷积[21]是将输入转换为多分辨率金字塔,使用相同的卷积核进行卷积,然后重新缩放回原始尺寸,最后执行最大池化操作以实现缩放不变。由SI卷积代替残差单元中的每个基本卷积构成SI残差单元,不会遭受梯度消失或爆炸的困扰。

(12)局部二值化残差块(LBB)[22]是通过将3×3卷积进行二值化、1×1卷积保持实值对残差单元进行改进,可以节省计算量,减少模型大小,避免过拟合。

3.1.2 归一化层

归一化操作是把需要处理的数据经过某种算法处理后限制在一定范围内。使用网络模型时需要保证训练数据和测试数据同分布,在深度学习中往往对网络的每一层都做归一化处理,以保证每次处理的数据分布一致,使得层与层之间更加独立,依赖更小。

在传统的深度神经网络里,过高的学习率会导致梯度消失或者爆炸。2015年,Loffe等人[23]发现在训练中将神经元的输入归一化到零均值和单位方差可以大大减少深度神经网络的训练时间,但是由于网络中参数变化而引起内部结点数据分布发生变化产生的内部协变量偏移现象,使得训练深度神经网络变得复杂,导致训练速度降低,于是作者提出批量归一化(BN)来解决这个问题。批量归一化可以通过归一化激活值,防止参数的微小变化在网络中扩散,增加了模型训练对参数大小变化的容忍度,以达到快速收敛和提高性能的目的。训练时,BN通过当前输入批次所有样本的均值和方差来对输入进行缩放,从而加快训练速度,测试时,用训练时数据的均值和方差的无偏估计对输入进行归一化操作。BN打破了以往在神经网络训练中只能对输入层数据进行归一化处理的局限,使得可以在网络中任意一层进行归一化处理,在一定程度缓解了深层网络中梯度消失问题,从而使得训练深层网络更加稳定。

除了经典的批量归一化算法,归一化算法还包括批量重归一化(Batch ReNormalization, BRN)、层归一化(Layer Normalization, LN)、实例归一化(Instance Normalization, IN)、组归一化(Group Normalization, GN)、自适配归一化(Switchable Normalization, SN)和权重归一化(Weight Normalization, WN)。如图5所示是常用的5种归一化算法的图示,图中深绿色方块是归一化算法计算均值和方差的区域。表1是对归一化算法进行总结,其中,C表示通道数,N表示批量大小,H和W表示特征图的高度和宽度,G表示通道的分组数。批量归一化是对一批数据的单通道维度进行归一化,对N×H×W个元素计算均值和方差,批量重归一化与批量归一化维度相同。层归一化是对一层数据的全部通道做归一化,计算C×H×W个元素的值。实例归一化是对每个样本和每个通道沿着H和W维度计算H×W个元素的均值和方差。组归一化将通道数分为G组,每组有|C/G|个通道,对这些通道的元素求均值和方差,计算|C/G|×H×W个元素的均值和方差。自适配归一化将BN, LN, IN结合,从通道、层和小批量3个方向来计算均值和方差。权重归一化是对卷积核权重进行归一化,不受批量大小的影响。

表1 归一化算法总结

图5 归一化算法图示

(1)批量重归一化(BRN)[24]的维度与BN维度相同,通过修正模型训练和测试之间的差别来解决批量归一化用于小批量数据性能退化的问题。Tian等人[25]将批量重归一化融合到BRDNet中代替BN对数据进行归一化,解决内部协变量偏移和小批量问题,提高去噪网络的收敛速度。

(2)层归一化(LN)[26]不受批量大小的影响,是通过计算一层神经元的所有累加输入的均值和方差来进行归一化。王志扬等人[27]提出去相关层归一化方法,通过对单个样本所有通道中加入白化操作,在保留原有网络层归一化的基础上减少了输入特征之间的相关性,使得通道上的数据特征表达具有独立同分布的特点,提升层归一化的泛化能力。

(3)实例归一化(IN)[28]对每个样本的H和W维度数据单独做归一化处理,不受通道和批量的影响,常用在图像风格化迁移中,可以提高生成图片的质量,并有效加快训练速度。Casella等人[29]提出一种具有实例归一化时空特征的形状约束对立框架用于自动胎儿间膜分割,归一化操作在实例和批处理级别执行。

(4)组归一化(GN)[30]将每个样本的特征图通道分为几组,并在每组内计算均值和方差以进行归一化。GN的计算不依赖批量大小,其准确率在各种批量大小中都是稳定的。

(5)自适配归一化(SN)[31]使用可微分学习,通过动态调节各种归一化的权重,为深度网络中的每一个归一化层确定合适的归一化操作。Zhong等人[32]设计TSSN-Net网络解决特征匹配问题,提出了两步稀疏自适配归一化块,自适应地在不同卷积层中切换归一化操作,显著提高了网络的性能。

(6)权重归一化(WN)[33]通过重写网络权重w的方式来加速深度学习网络参数收敛,采用WN进行归一化时需要特别注意参数初始值的选择,而且不需要额外的空间来存储小批量的均值和方差。Huang等人[34]通过将每个神经元的传入权重约束为单位范数,提出了基于投影的权重归一化方法,已被证明是DNNs中斜流形优化的有效方法。

3.1.3 激活函数

激活函数是通过对特征进行非线性变换,使神经网络随着深度的增加具有更高的拟合性,它模拟了生物神经元的特性,即接受一组输入信号并产生输出。激活函数主要是为了在神经网络中添加非线性因素,用来激活或抑制神经元,通过层级非线性映射的组合来提升整个神经网络的非线性表达能力。激活函数在决定深度学习模型的深度和非线性方面起着重要的作用,传统神经网络中常用的激活函数有Sigmoid和Tanh函数,如图6所示,Sigmoid函数中间区域增长较快,两端区域增长较慢,其输出值域在0 到1 之间,有很好的概率解释性。Tanh函数是双曲正切函数,其输出在—1到1之间,它在Sigmoid激活函数基础上又进行了优化,表现更为突出。但是,这两个函数收敛较慢,而且容易出现梯度消失现象,当输入非常大或者非常小时,神经元的梯度就接近于0,在反向传播过程中前几层网络无法实现很好的参数更新,导致无法递归地学习输入数据。

图6 基本激活函数

在基本激活函数基础上发展了很多其他类型的激活函数,其中ReLU函数保留输入的正值并将负值修改为零,解决了Sigmoid和Tanh存在的梯度消失问题[35],并且由于其非饱和特性,学习速度很快。然而,对于任何负值的输入,ReLU死亡效应总是输出相同的值,导致神经元不能更新参数。针对ReLU函数存在的“神经元死亡”现象,出现了许多激活函数对其做出了改进,这些函数分为3类:ReLU型、ELU型和其它激活函数,下面对3类激活函数进行总结。

ReLU型激活函数包括ReLU, ReLU6,参数化整流线性单元(Parametric Rectified Linear Unit,PReLU)函数、泄露整流线性单元(Leaky Rectified Linear Unit, LReLU)函数、随机泄露整流线性单元(Randomized leaky Rectified Linear Unit,RReLU)函数、串联整流线性单元(Concatenated Rectified Linear Units, CReLU) 函数、S型整流线性激活单元(S-shaped Rectified Linear activation Unit, SReLU)函数、弹性整流线性单元(Elastic Rectifified Linear Unit, EReLU) 函数和弹性参数整流线性单元(Elastic Parametric Rectifified Linear Unit, EPReLU)函数。ReLU型激活函数图像和公式如图7所示,其中ReLU6限制最大输出为6。一些激活函数针对负值部分做出了改进,使得负轴的信息不会完全丢弃。在LReLU函数中,ReLU的负值部分被一个固定负斜率为0.01的线性函数代替,通过使用非零梯度,固定斜率可以保留小的负信号。PReLU是LReLU的一种改进,从训练样本中学习负斜率。RReLU通过在训练期间从均匀分布中采样来随机改变函数负值部分的斜率[36]。与RReLU不同,EReLU和EPReLU[37]对正值部分进行了修改,EReLU的特点是每个正值在训练阶段像弹簧一样在中等范围内缩放,在测试时,EReLU成为标准ReLU。EPReLU是EReLU和PReLU的组合,能够进一步提高网络的性能。CReLU通过改变其符号来保留负输入作为额外的输出通道,其输出是输入大小的2倍[38]。SReLU由3个分段线性函数和4个学习参数组成,可以学习凸函数和非凸函数,其中两种函数的斜度以及函数相交的位置会在模型训练中被学习。

图7 ReLU型激活函数

ELU型激活函数包括指数线性单元(Exponential Linear Unit, ELU)函数、缩放指数线性单元(Scaled Exponential Linear Unit, SELU)函数、参数化指数线性单元(Parametric Exponential Linear Unit, PELU)函数、高斯误差线性单元(Gaussian Error Linear Unit, GELU)函数、连续可微指数线性单元(Continuously Differentiable Exponential Linear Unit, CELU)函数、弹性指数线性单元(Elastic Exponential Linear Unit, EELU)函数、多参数指数线性单元(Multiple Parametric Exponential Linear Units, MPELU)函数和参数可变形指数线性单元(Parametric Deformable Exponential Linear Unit, PDELU)函数。ELU的引入以减少偏置偏移效应,在小于零的部分采用了负指数形式,保证对输入变化的鲁棒性[39]。它通过负输入实现更快的学习,将输出均值推近于零,加快收敛速度。随着输入变小,ELU饱和为负值,使用ELU函数可以使残差网络具有更快的学习速度和更高的分类精度。ELU型激活函数图像和公式如图8所示,一些函数没有图像,故只给出函数公式。SELU输出在没有外部归一化的情况下被归一化,采用两个固定参数λ和α用于在负输入区域中缩放输出和塑造函数[40]。PELU引入了可学习参数α和β,以灵活地确定ELU负值区域的大小,研究表明在深度学习模型中使用PELU会带来性能提升,但在使用批量归一化时,PELU也会出现性能下降[41]。GELU在激活中引入了随机正则的思想,对于输入乘以一个0,1组成的掩码,而该掩码的生成则是按照概率随机地依赖输入。CELU[42]提出了另一种参数化,它对于所有α值都是连续的,使整流器更容易推理并使α更容易调整,而且负值的激活被修改,以确保x=0处所有α值的函数导数为1。EELU是由Kim等人[43]提出的,结合了ReLU和ELU函数的优点,EELU在正信号部分有一个弹性斜率并通过使用小的非零梯度保持负信号,减少偏移效应,而且还利用高斯分布在激活函数中插入神经元噪声,以提高泛化能力。MPELU[44]是一种统一ReLU, LReLU,PReLU和ELU的函数,具有更好的分类性能和收敛性,MPELU在正值区域与ReLU相同,α(c)和β(c)是用于确定负值区域中函数形状及其权重的学习参数。Cheng等人[45]提出PDELU,引入了t-变形指数函数,其中参数t是控制变形程度的,可以赋值找到最佳的变形指数函数,PDELU可以将激活单元响应的平均值推近于零,从而确保了在训练深度神经网络时梯度的最大下降。

图8 ELU型激活函数

其它激活函数包括SoftPlus, Noisy Softplus,Softsign, Swish, Mish, SoftExponential, Maxout和自适应分段线性激活单元(Adaptive Piecewise Linear Activation Unit, APL)函数。其它激活函数图像和公式如图9所示,一些函数没有图像,故只给出函数公式。SoftPlus是ReLU的平滑版本,相比于早期的激活函数,SoftPlus和ReLU更加接近脑神经元的激活模型。杜进等人[46]通过将ReLU换成Noisy SoftPlus函数,提高了深度残差网络的表情识别精度,Noisy SoftPlus通过在SoftPlus中引入噪声参数,同时对神经元的输出响应特性进行刻画,能够更加准确地刻画生物神经元的输入特性。Softsign和Tanh一样,是反对称、去中心、可微分的函数,并返回—1和1之间的值,但是比Tanh更好地解决梯度消失的问题。Swish是一种自门控的激活函数,它通过将Sigmoid函数乘以输入来门控函数输出,具有平滑、非单调、无上界、有下界的特性。Mish以上无边界避免了由于封顶而导致的饱和。Maxout是由Goodfellow等人[47]提出的一个可学习的分段线性函数,可以拟合任意的凸函数,它是在多个线性函数中选择最大值作为输出。Agostinelli提出APL函数[48],可以通过添加几个铰链形线性函数来实现凸函数或非凸函数。

图9 其它激活函数

近年来,许多研究者对残差单元中所用到的激活函数进行了修改,提升了网络性能。Yildiz等人[49]通过在深度残差网络中引入LReLU函数对噪声进行分解,可以克服ReLU死亡问题,并加速训练。Yan等人[50]对单幅图像去雾时在残差块中使用PReLU激活函数,缓解了梯度消失问题,并加快网络收敛速度。Tariq等人[51]对ResNet-50网络结构进行改进,在卷积块中的不同位置采用ReLU,SELU和ELU激活函数,用来提高网络的训练过程。由此可见,激活函数对残差神经网络性能提升具有重要意义。

3.1.4 残差单元整体结构

通过对残差单元整体结构的改进,可以有效地解决退化问题,提高网络性能。将残差单元整体结构从多尺度残差单元、多分支残差单元、残差单元重构、残差单元结合其它方法4个方面总结,如图10所示。

图10 残差单元整体结构

(1)多尺度残差单元。通过多尺度卷积,使用不同尺寸的卷积核提取不同尺度的特征,最后将不同尺度的特征聚合。多尺度卷积可以提取全局的整体信息和局部的详细信息。Gao等人[52]提出多尺度架构Res2Net,通过在一个残差块内构造分层的类残差连接,以更细粒度级别提高了CNN的多尺度表征能力,增加了网络的感受野。为了自适应提取和融合不同尺度的图像特征,Qin等人[53]提出多尺度特征融合残差块(MSFFRB),基于该残差块提出多尺度特征融合残差网络,可以充分利用局部多尺度特征和层次特征来生成准确的超分辨率图像。

(2)多分支残差单元。将残差单元分为多个分支,提高网络结构的拟合能力。Xie等人[54]提出多分支体系结构ResNeXt,ResNeXt由具有相同拓扑结构的残差块堆叠而成,残差块利用分割-转换-融合策略,并使用VGG和ResNet高度模块化的设计,节省了计算开销。Zhang等人[55]提出ResNeSt采用拆分思想,每个ResNeSt块都沿通道维数将特征图分为几组,其中每组的特征表示是根据全局上下文信息选择权重,通过其拆分表示的加权组合来确定的。

(3)残差单元重构。通过改变Conv, BN和ReLU的位置或者增多、减少其个数实现残差单元的重构,可以提高模型的泛化能力和网络性能。He等人[56]在ResNetV2网络中采用预激活的方式改进残差单元,即将BN, ReLU转移到卷积层之前,使得模型训练更加简单,泛化能力更强,加强模型的正则化。Han等人[57]提出深层金字塔残差网络,为了最大限度提高网络的性能,在每个残差单元模块中删除第1个ReLU函数,保留其它ReLU函数以确保非线性,并在最后一个卷积层之后添加BN层。

(4)残差单元结合其它方法。Zhou等人[58]提出具有离散参数的残差神经网络用于白内障分类。通过在残差单元中添加统一离散或者指数离散,能够减少网络存储内存,并且可以防止小型训练集的过拟合。Zhao等人[59]提出通道间共享阈值和通道间不同阈值的深度残差收缩网络,将软阈值化作为非线性层嵌入到残差结构之中,将不重要的特征置为零,以有效地消除与噪声相关的特征。

3.2 残差连接

原始残差单元通过残差连接实现恒等映射。加入捷径的残差网络模型,在训练过程中低层误差可以通过捷径快速地向上一层进行传递,保证了反向传播过程中参数的更新,从而可以避免由于网络加深而造成的梯度消失问题。本节从Add型残差连接、Concat型残差连接和拓扑结构3方面总结。

3.2.1 Add型残差连接

Add型残差连接是当输入图像和输出图像尺寸相同时进行元素级相加。如图11(a)所示,若输入与输出图像通道数相同,则可以直接使用原始残差单元的恒等映射进行学习,若通道数不同,快捷连接上需要增加一个1×1卷积层和BN层,其作用是进行维度匹配,不参与网络层数运算。Add型残差连接主要模型有以下两种:

图11 残差连接示意图

(1)为了获得具有更多层次和纹理特征的全景图像,Liu等人[60]提出多焦点图像融合算法,低频系数融合使用ResNet-50获得低频系数图像的空间信息特征,其中残差块的恒等映射部分由卷积层和归一化层组成,目的是确保恒等映射的尺寸与通过残差函数获得的特征的尺寸一致。

(2)Arsalan等人[61]提出一种用于皮肤分割的基于外部残差跳跃连接的深度卷积神经网络OR-Skip-Net,编码器通过外部残差跳跃连接将空间边缘信息提供给相应的解码器块,跳跃连接包含1×1卷积层和BN层,来源于编码器的每一个ReLU激活层之后。

3.2.2 Concat型残差连接

原始残差连接方式通过元素级相加,Concat操作是在特征图大小相同的情况下进行通道拼接。Concat型残差连接如图11(b)所示,通过将原来的“Add”变成“Concat”以增加特征图的通道数。Concat型残差连接主要模型有以下两种:

(1)Zhang等人[12]提出一种用于移动设备上的网络ShuffleNet,其中残差模块最后的合并操作由原来的“Add”变成了“Concat”以增加通道数。

(2)Jia等人[62]提出3D对抗金字塔形各向异性卷积深度神经网络用于MR图像中的前列腺分割,其中金字塔卷积块是由不同大小的卷积并行构造的,以形成空间金字塔卷积结构,通过Concat操作可以融合不同区域的特征,减少不同图像比例下的上下文信息的丢失。

3.2.3 拓扑结构

残差连接拓扑结构改进是对原始残差连接进行改进。基本残差单元中的残差连接通过跨越2个或3个卷积层进行连接,残差连接拓扑结构改进包括残差单元中卷积层完全连接和残差单元之间添加跳跃连接,如图12所示。

图12 拓扑结构

(1)Alotaibi等人[63]提出一种用于高光谱图像分类的深度ResNet和Inception混合模型,如图12的左边部分,该模型由两个完全连接的级联残差块组成,通过残差连接使得残差块中的每个卷积层都接收之前所有卷积层的输入,可以得到更好的分类性能。

(2)Liu等人[64]提出一种多尺度残差网络(Multi-Scale Residual Network, MSResNet),如图12的右边部分,该网络在每个残差单元到下一个残差单元之间增加了一个跳跃连接,融合了不同残差单元的输出特征,既能兼容高层的语义特征,又能有效利用低层的判别特征,有助于准确获取目标对象的位置信息。

3.3 网络整体结构

原始残差网络结构仍然存在一些问题,难以在很深的网络上进行收敛。为了对残差神经网络进行优化,对整个网络结构进行改进,可以有效地减少过拟合,提高网络学习能力。本文对网络整体结构从并行残差网络、多尺度残差网络、随机深度网络、多路径残差网络、宽残差网络、递归残差网络和残差网络中的残差网络7个方面进行总结,主要模型如图13所示。

图13 残差神经网络整体结构

(1)并行残差网络。通过几个并行分支充分提取图像特征,提高网络精度,并减少网络计算量。为了充分提取高分辨率图像的特征,提高分类精度,Lu等人[65]提出一种基于3维通道和空间注意力的多尺度空间谱残差网络,3分支架构由3级独立且并行的残差块组成,通过使用不同的3维卷积核从各自的残差块中连续学习光谱和空间特征。Zhang等人[66]提出空间残差块结合并行网络用于高光谱图像分类,采用具有相同结构和共享参数的并行分支提取光谱特征,以减少可训练的参数并优化计算。

(2)多尺度残差网络。使用不同尺度卷积提取丰富的多尺度特征,有效解决了单尺度卷积核感受野有限的问题。Fu等人[67]提出多尺度残差金字塔注意力网络用于医学图像融合,使用不同尺度卷积提取金字塔中的特征,具有更好的特征提取和表达能力。Ma[68]提出多尺度残差注意力网络,用于在穿墙情况下区分静止的人和动物,该网络的特征提取部分由5个含有多尺度结构的细节块堆叠而成,主干分支是并行3×3卷积和5×5卷积的多尺度学习结构,分别学习细尺度和粗尺度的特征。

(3)随机深度网络。针对深层网络表达能力强但是更难训练的问题,Huang等人[69]提出随机深度网络,通过在训练过程中随机丢弃一些残差单元将深层网络变成浅层网络,可以显著提高ResNet的泛化能力。

(4)多路径残差网络。通过多条路径提取特征,可以缓解梯度消失问题,提高网络参数效率。Zhang等人[70]提出ScaleNet由堆叠的卷积-反卷积块和多路径残差结构组成,多路径残差结构包括每个卷积-反卷积块内的跳跃连接和每两个相邻卷积-反卷积块之间的跳跃连接,以提高网络的参数效率。为了改善CT图像中的肺结节的分割性能,Liu等人[71]提出级联双通道残差网络(CDP-ResNet),基于残差块的双路径网络由感受野较小的7×7的局部路径和感受野较大的13×13的全局路径组成,在局部路径的第1个残差块之后添加1个残差块来融合两条路径提取的特征。

(5)宽残差网络。宽残差网络通过增加特征图的通道数达到对网络加宽的目的。Zagoruyko等人[72]提出一种基于扩展通道数学习机制的宽残差网络(WRNs),通过增加特征图的通道数来增大网络的宽度,进而有效地提高了网络性能。Shi等人[73]提出基于固定跳跃连接的渐进式宽残差网络(progressive Wide Residual Network with a Fixed Skip Connection, FSCWRN)用于MR图像重建,采用渐进式宽网络代替更深层的网络,实验表明该算法的性能优于其它最新的重建算法。

(6)递归残差网络。该网络是由共享权重的残差单元组成的递归块形成的,使用递归学习可以在增加网络层数的基础上减少网络参数,使网络性能更优。Tai等人[74]提出用于单幅图像超分辨率的深度递归残差网络(Deep Recursive Residual Network, DRRN),使用递归学习以控制模型参数,同时增加网络深度。Jin等人[75]提出双流递归残差网络(Dual-Stream Recursive Residual Network,STRRN),将全局、局部和多路径中间残差学习与递归学习相结合,以在每个流上形成多路径递归残差网络,不仅有助于梯度流动和低级特征传输,而且减少了参数数量。

(7)残差网络中的残差网络。由于通过简单堆叠残差块来构建残差网络限制其优化能力,Zhang等人[76]提出残差网络中的残差网络(Residual Networks Of Residual Networks, ROR),ROR在原始残差网络上增加了层级的快捷连接,用优化残差映射中的残差映射代替优化原始残差映射,提高了残差网络的学习能力。

4 ResNet与其它模型结合及其在医学图像领域中的应用

残差神经网络由于其出色的性能在医学图像领域而广泛应用,目前在良恶性肿瘤、肺癌、乳腺癌、皮肤疾病、心脑血管疾病等重大疾病的临床辅助诊断方面取得良好效果。由于单个网络的性能有限,越来越多的研究发现ResNet与其它网络模型结合是一个重要的发展方向。在医学图像领域,从ResNet与DenseNet, U-Net, Inception结构、注意力机制结合的角度对医学图像分类识别、分割、融合、检测、合成、去噪、超分辨率等方面进行综述,期望为临床医生提供帮助,为医疗行业提供更大的便利。

4.1 与密集连接神经网络结合

相比ResNet,密集连接神经网络(Dense Connection Neural Network, DenseNet)[77]提出一个密集连接机制:互连所有层,每个层都会与前面所有层在通道维度上拼接在一起,作为下一层的输入,不仅可以实现特征重用,而且可以提升效率。ResNet和DenseNet结合主要是残差连接和密集连接结合以及残差块和密集块结合,可以提升模型的性能。目前两者结合在医学图像处理领域中应用非常广泛,取得了很多突破性进展。在医学图像领域,ResNet与DenseNet结合主要有WCRDGCNN、多路径自适应融合网络、FC-DPN, DualCheXNet和DLARDNet 5种模型。

(1)文献[78]提出多通道多尺度交叉连接残差密集分组卷积神经网络(Wavelet based multi-channel and multi-scale Cross connected Residual-in-Dense Grouped Convolutional Neural Network,WCRDGCNN),用于医学图像的精确超分辨率(SR),该网络通过使用残差和密集跳跃连接将小波系数反向传播到底层,解决了梯度消失问题。

(2)Ding等人[79]提出多路径自适应融合网络,在下采样中将跳跃连接应用于密集块,有效地传播和保留低级视觉特征,提高了多模态脑肿瘤分割的性能。

(3)Shan等人[80]提出FC-DPN网络用于皮肤病变自动分割,该网络基于全卷积网络(Fully Convolutional Network, FCN)和双路径网络(Dual Path Network, DPN)构建,DPN结合了残差路径和密集连接路径的优点,从而可以进行有效的特征重用和再利用。

(4)Chen等人[81]提出双非对称特征学习网络DualCheXNet,用于多标签胸部疾病分类,通过结合ResNet和DenseNet,从胸部图像中捕获更多的判别特征,提高胸部疾病分类性能。

(5)吴宣言等人[82]提出一种深层聚合残差密集网络DLA-RDNet用于超声图像左心室分割,在下采样部分,结合ResNet与DenseNet的优势,提出残差密集网络(Residual Dense Network, RDNet),充分利用所有卷积层的层次信息且实现较高的增长率。

4.2 与U-Net网络结合

医学图像分割是医学图像分析中的重要步骤。U-Net是由Ronneberger等人[83]于2015年提出的编码器-解码器结构的网络,常用于解决医学领域的图像分割问题。它是一个由卷积、下采样、上采样和跳跃连接组成的对称网络,其中,收缩路径进行特征提取,扩展路径将提取到的特征图恢复到原图大小,收缩路径和扩展路径之间的跳跃连接使用拼接操作将特征在通道维度拼接在一起,使得全局特征和局部特征结合,有助于还原下采样过程中的信息损失。近年来,许多研究人员通过结合残差块和U-Net,将ResNet的本质引入到医学图像分割领域,有助于提升分割精度。在医学图像领域,Res-Net与U-Net网络结合主要有ResNet-34+U-Net,RRA-UNet, EED-Net和EAR-UNet 4种模型。

(1)Yu等人[84]使用改进的U-Net架构开发了一种用于光盘和杯形分割的鲁棒分割方法,采用预先训练的ResNet-34作为U-Net的编码器部分,而解码器部分则沿用原始U-Net结构,避免了过拟合,实现了鲁棒性。

(2)为解决胰腺分割困难的问题,Lu等人[85]提出RRA-UNet网络,在原始U-Net网络的下采样中添加环形残差模块,可以提取网络深层的附加特征,有效地解决胰腺的边界模糊问题。

(3)由于牙齿X射线图像质量差,故进行准确的颌面分割比较困难,Kong等人[86]提出编-解码器模型EED-Net,在编码器中使用预激活残差块替换卷积层,以获得有效的高分辨率特征,加快训练速度,提高泛化能力。

(4)Pham等人[87]提出从耳镜图像中自动分割鼓膜的网络EAR-UNet,其中解码器是基于残差块构造的,编、解码器之间的跳跃连接部分使用了卷积层和残差块,负责调整编码器产生的特征,从而促进浅层和深层特征的融合。

4.3 与Inception结构结合

为了在增加网络深度和宽度的同时减少参数,Szegedy等人[88]在GoogleNet中提出Inception结构,通过在3×3卷积层和5×5卷积层前面以及最大池化层后面分别添加1×1卷积层来降低特征图的通道维度以减少计算量。很多研究人员将ResNet和Inception结构结合来拓宽网络,并提高ResNet的网络性能。在医学图像领域,ResNet与Inception结构结合主要有DRINet, RIED-Net和Inception+残差连接3种模型。

(1)Chen等人[89]提出DRINet用于医学图像分割,使用残差Inception模块聚合来自不同分支的特征图,显著加深和拓宽了网络,提高了分割性能。

(2)Gao等人[90]提出一种用于医学成像合成的残差Inception编解码网络,其中残差Inception块由一条具有两个3×3卷积层的路径和一条具有1×1卷积层的残差Inception捷径组成,解决了输入与输出特征图通道不同的问题。

(3)Zong等人[91]提出对眼底图像进行硬性渗出物分割的网络,该网络以U-Net为骨干,收缩和扩展路径中的每个单元都是由带有Inception模块的残差单元构成的,不仅减少了参数数量,还通过引入更多的线性映射提高了网络的表达能力。

4.4 与注意力机制结合

注意力机制是通过网络自主学习出的一组权重系数,并以“动态加权”的方式来强调所感兴趣的区域,同时抑制不相关背景区域。目前主流的注意力机制包括通道注意力机制、空间注意力机制、通道和空间注意力机制、自注意力机制和注意门机制。Hu等人[92]提出了SENet,通过精确的建模卷积特征各个通道之间的关系来改善网络模型的表达能力,SE模块能够让网络模型对特征进行校准,使网络从全局信息出发来选择性地放大有价值的特征通道并且抑制无用的特征通道。Woo等人[93]提出卷积块注意力模块(Convolutional Block Attention Module, CBAM)结合了通道注意力和空间注意力机制,通过学习的方式自动获取每个通道和空间的重要程度,并利用重要程度来提升特征并抑制对当前任务不重要的特征。医学图像常常使用注意力机制使网络关注感兴趣区域,准确地定位病灶区域,有效地提高网络性能。在医学图像领域,ResNet与注意力机制结合主要有CRAL框架、PARL块、EAR-Unet, BVA Net和RHAM-MResNet-10 等5种模型。

(1)Guan等人[94]提出用于多标签胸部X射线图像分类的分类残差注意力学习(Category-wise Residual Attention Learning, CRAL)框架,该框架使用类别注意,通过赋予相应的特征表示以较小的权重来抑制不相关类别,并增加相关类别的权重,可以有效地对胸部X射线图像进行分类。

(2)Wang等人[95]为了在3D胸部CT图像中快速筛查COVID-19,设计了优先注意力残差学习(Prior-Attention Residual Learning, PARL)块,来自病变区域检测分支的分层注意力信息被转移到COVID-19分类分支,以学习更多的判别表示。

(3) Cheng等人[96]提出用于医学图像分类和分割的残差组注意力网络(ResGANet),在该网络中引入组注意力块,它使不同特征图组之间的通道注意力成为可能,同时通道考虑的其他特征图组通过空间注意力模块聚合了所有分组的空间信息,提高了CNN的特征表示能力。

(4)Xing等人[97]提出BI-RADS矢量注意力网络用于超声图像中的乳腺肿块分类,其中残差注意力块从残差特征图中计算出空间注意力掩码,空间注意力掩码作为空间特征过滤器,过滤掉不必要的空间特征。

(5)乔思波等人[98]提出RHAM-MResNet-10模型对脑部CT图像进行分类,在残差映射结构中加入残差混合注意力模块,精确捕捉了脑部组织在CT图像中的位置和内容信息,极大降低噪声的影响,提升模型的分类准确率。

5 总结与展望

残差神经网络在深度学习领域取得突破性的进展,因此,本文对残差神经网络的研究背景和意义进行概述,阐述了基本原理和网络结构,并从残差单元、残差连接和网络整体结构3个方面对残差神经网络进行总结。此外,从ResNet与DenseNet,U-Net, Inception结构和注意力机制结合4方面探讨ResNet在医学图像领域中的广泛应用,有助于医生做出正确的医学判断和更好的患者预后,为临床计算机辅助诊断提供参考。尽管残差神经网络在医学图像领域取得了突破性的进展,并且在未来将发挥实质性的作用,但是仍然面临许多困难,存在以下亟待研究的问题:

(1)尽管深度学习模型性能在不断地提高,但仍离不开大规模的高质量标注数据集的支持。大量医学图像数据缺乏有效的数据标注且数量有限,很多研究者尝试利用稀疏标注或未标注数据进行弱监督学习,但是完成过程相对简单且模型的泛化能力较弱。因此优质的数据源和好的数据标注非常重要,如何实现在标注数据集不完善的情况下进行弱监督学习,在医学图像未来的研究中具有重要意义。

(2)残差神经网络一直是医学图像领域的研究热点,但其网络模型的准确率和鲁棒性有待提高。其中激活函数、归一化算法、卷积层的设计值得探讨,此外,残差单元和残差网络的结构对网络的学习能力和泛化能力影响很大。因此设计合理且泛化效果好的残差神经网络模型,将会是未来发展的趋势。

(3)由于单个网络模型性能有限,对残差神经网络与其他网络模型进行混合改进,使得残差神经网络在医学图像分析任务中取得更高的准确率是最具挑战性的问题。

(4)近年来“互联网+”应用于医疗研究已经成为现代科技的热点,人工智能在医学影像和医疗智能决策中发挥着重要作用,互联网医疗的快速发展促进了科研和临床实践的有效结合,使得医疗产业的发展通过互联网技术的应用而焕发新生。

猜你喜欢
残差卷积神经网络
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
基于深度卷积的残差三生网络研究与应用
从滤波器理解卷积
基于神经网络的中小学生情感分析