王恩泽 赵亚凤
摘 要:针对现有的深度学习方法在树干或树叶单一识别任务上需要大量样本做标注和训练的问题,且存在灾难性遗忘现象,提出一种新的神经网络模型用于多任务树种识别。对于少量不同类型数据样本,本文引入持续学习,将树干识别和树叶识别看作2个连续的学习,实现多任务识别。训练模型分为2个阶段:第1阶段为树干识别,保留参数重要性;第2阶段引入正则化损失约束重要参数的变化,维持模型对于叶片的特征提取能力,而保持低重要性参数的改变,以学习不同树种样本中更多的特征信息。测试结果表明,该方法在树干识别和树叶识别时的准确率分别为91.75%和98.85%,较单任务的深度学习有18.03%和11.92%的提升。本研究所提出的模型更适用于在不同样本中进行多任务分类识别,较好地避免灾难性遗忘问题。
关键词:树种识别;多任务学习;持续学习;卷积神经网络;混淆矩阵
中图分类号:S718.49;TP391.4;TP181 文献标识码:A 文章编号:1006-8023(2022)01-0067-09
Identification of Tree Species Based on Multi-Task Continual Learning
WANG Enze, ZHAO Yafeng*
(College of Information and Computer Engineering, Northeast Forestry University, Harbin 150040, China)
Abstract:For the current problem that methods of deep learning need a large number of examples for labeling and training in solving single task such as trunk recognition or leaf recognition, and there is a phenomenon called catastrophic forgetting, this paper has proposed a new neural network model for multi-task tree species recognition. For a small number of different data samples, continual learning is introduced in this paper, and trunk recognition and leaf recognition are regarded as two continuous learning to accomplish multi-task recognition. The training model is divided into two stages: trunk recognition is settled in the first stage, which preserves the significance of parameters. In the second stage, regularization loss constraint is introduced to maintain the feature extraction ability of the model for leaves, while keeping the changes of low importance parameters, so as to learn more feature information from different tree species samples. The experiment shows that the accuracy in trunk recognition and leaf recognition are 91.75% and 98.85%, respectively, which are 18.03% and 11.92% higher than single-task deep learning. It indicates that the proposed model is more suitable for multi-task classification and recognition in different samples, and it effectively prevents catastrophic forgetting in deep learning.
Keywords:Tree species recognition; multi-task learning; continual learning; convolutional neural network; confusion matrix
0 引言
树木的种类识别一直是林业研究的热点内容[1]。由于叶片具有形状特征丰富、数据采集方便等优点,识别率高,是树种识别领域的常用数据源。由于样本存在类间相似性,单独利用树叶进行树种识别也会有图像识别精确度不高的现象,传统识别方法很难突破在不同类的树种之间容易识别错误这一限制,特别是针叶类树木[2]。
近年来,卷积神经网络在图像分类、语义分析和计算机视觉等领域具有优异的性能,其突出的特征学习和分类能力备受关注[3]。将基于深度学习理论的图像识别与分类技术应用到树种识别过程中,对提高林区的工作效率和质量具有十分重要的意义[4]。Sun等[5]利用改进的ResNet26模型对100种树木自动识别和分类,在BJFU100数据集上识别率为91.78%;郑一力等[6]以植物叶片为研究对象,提出了AlexNet与Inception v3相结合的迁移学习网络模型,测试集上识别率分别达到95.31%和95.40%。然而,基于叶片图像的识别对源数据要求較高,大大增加了人工标注的难度,且图像数据有限,为此高旋等[7]结合树叶及树干2种器官进行多任务学习,提出了基于迁移学习的树种识别,在少量样本的识别中提高了识别精度。
由于树干识别和树叶识别存在一定的相似性,多任务树种识别可以较好地应用于单独进行树叶或树干识别,易于迁移特征信息;但不同样本之间的迁移在神经网络中仍会存留大量原有信息,在学习新信息方面存在局限性,即未能克服灾难性遗忘问题。为解决这一问题,本文提出了利用持续学习的思想和算法,对树干识别网络和树叶识别网络的重要信息进行学习,保证原有任务顺利完成且使得后续任务正常进行,最终完成树种识别。
1 持续学习的网络模型
1.1 灾难性遗忘
据近年相关报道,机器学习在图像分类和目标检测等单个任务中表现出超高的准确率[8]。尽管这些结果令人印象深刻,但这是通过静态模型获得的,不能随时间调整其行为,每当有新数据时,训练过程必须重新启动。这种方法难以处理数据流,且由于存储限制或隐私问题无法长期应用。在机器学习中,一旦学习到一个新模型,以前的模型都会被遗忘,这称为灾难性遗忘[9]。具体来说,当接受新的任务训练时,标准的神经网络会忘记与先前学习任务相关的大部分信息。当样本随时间推移逐渐可用时,传统神经网络模型的性能随着新任务的学习而显著降低[10],如图1所示。
为克服灾难性遗忘,一方面,学习系统应该在持续输入的基础上获取新知识和精炼现有知识;另一方面,应防止新输入对现有知识的显著干扰。在现实世界中,人脑能够适应和学习新知识,以适应不断变化的环境,可以不断地学习不同的任务,并不否认以前的知识或直接拒绝新的信息,而是保留之间学过的任务,并用新的信息来改进[11-12]。因此,按顺序学习多个任务仍然是深度学习的主要挑战。
1.2 持续学习的原理
持续学习试图从一段信息流中提取知识,然后建立知识记忆以改进未来预测[9],如图2所示。其思想是建立一个系统来总结不同的预测任务和可能的数据模式,并为每个任务保留有效的特定于任务的知识,以后再遇到类似任务,可以调用并应用这些知识。
持續学习问题,即单个神经网络模型需要连续学习一系列的任务。在训练过程中,只有当前任务的数据是可用的,并且假设任务是明确分开的[13]。持续学习中有2种流行的模式:①任务增量学习(Task-IL),模型可以访问任务分隔符(例如:任务ID)来划分任务。此模型的配置通常是多头的,每个任务都有一个单独的分类层。②类增量学习(Class-incremental learning,Class-IL),模型不访问任务分隔符,在推理过程中需要区分所有类和所有任务。因此,为该模式设计的模型通常是单头模式。类增量学习更贴近真实场景,更具挑战性。
在学习方法方面,主要有3种方法:基于重放的方法、基于正则化的方法以及参数隔离方法[11]。在基于正则化的方法中,Li 等[14]使用了知识蒸馏;Dhar等 [15]通过增加注意力损失来改善知识蒸馏;Kirkpatrick等 [16]和Zenke等 [17]估计网络参数的重要性,并对重要参数的变化进行惩罚。参数隔离方法在计算上是昂贵的,并且需要访问任务标识符;基于重放和正则化的方法都可以用于2种持续学习模式,但前者除了网络参数之外,其内存需求与当前深度网络的大小相当,而且在类增量分类问题上还未得到较好地解决[17]。故本文考虑以一般的深度学习、基于正则化的持续学习和支持向量机为基础。
1.3 网络架构
1.3.1 ResNet
ResNet是在传统卷积神经网络的基础上加入残差单元,解决深度网络中梯度扩散和精度降低的问题。ResNet在两层之间添加了一个短路机制,以完成与普通网络相比的更深层次的学习,不仅提高了精度,而且提高了系统的可靠性。ResNet的一个重要设计原则是,当特征映射的大小减少一半时,特征映射的数目增加一倍,从而保持了网络层的复杂性[18]。以浅层ResNet为例,由残差块BasicBlock构建,残差学习单元图如图3所示。
由图2可知,每个输入学习都是一个残差函数,图中残差块中有2个层,公式表示为:
F=ω2σ(ω1x)。(1)
式中:σ表示非线性函数ReLu(Rectified Linear Units)。再利用shortcut(跳远连接)以及第二个ReLu函数,获得输出y
y=Fx,ωi+x。(2)
当输入及输出的维数需要变化,需要在shortcut的时候对x进行线性变换,表达式如下:
y=Fx,ωi+ωsx。(3)
1.3.2 持续学习的神经网络结构
这些方法可以从概念上分为整个网络的循环和学习任务的适应,以防止灾难性遗忘。如图4(a)所示,有选择地训练网络并在必要时扩展网络以表示新任务,如图4(b)和(c)所示,以及构建用于记忆整合的互补学习系统模型的方法,例如用记忆重放来整合内部表示。
其中,正则化方法通过对神经网络中的权值更新施加约束来减轻灾难性遗忘。从计算的角度来看,这通常是通过额外的正则化项来建立模型的,这些正则化项会惩罚神经网络映射函数的变化。如果θn表示对应于第n个任务Tn的模型参数,那么二次正则化下的总训练损失为:
L=LTn+λ2∑kαkn-1(θkn-θ(k)n-1)2。(4)
式中:LTn为第n个任务的损失;λ为正则化常数;θn-1为第n-1个任务结束时的模型参数;αn-1为第0个任务到第n-1个任务参数的重要性。
对二次正则化函数机制的分析是基于参数更新的分解。具体来说,前面提到的计算公式的梯度,按公式(5)对参数θn进行更新:
θni+1-θni=-η(SymbolQC@θniLTn+
λαn-1⊙θni-θn-1)。(5)
当学习新任务时,模型参数可以被正则化,以确保参数的当前值和先前值之间的任意插值在新的和先前学习的任务上实现较低的损失。这种策略大大减轻了灾难性遗忘。对公式(5)重新排列:
θni+1=1-ηλαn-1⊙θni+
ηλαn-1⊙θn-1-ηSymbolQC@θniLTn。(6)
公式(6)表明,二次正则化下的参数更新可分解为2个同时进行的操作:①利用模型参数当前值与前一任务结束时的值之间的插值来限制任何给定迭代中模型参数的变化;②模型参数移动沿着特定任务的梯度学习新任务。
与现有的一般深度学习的微调不同,微調指向相似样本学习的迁移性,而本文则是增加了一个有效的正则化项来指导在树叶和树干不同样本之间进行学习以完成树种识别网络的训练。本研究中树种识别方法的过程如图5所示。由图5可知,树种识别方法包括2个阶段,第1阶段为特征学习阶段,对树干数据集进行特征提取,在此期间计算并记录每个参数的重要性,并构建分类器,此阶段最后一层仅有Softmax层;第2阶段为新任务学习阶段,在第1阶段模型的基础上,利用引入的正则化损失优化阶段1的训练网络,对树干识别任务的重要参数进行限制,以保持网络提取叶片图像特征的能力,避免树种识别的过拟合;同时利用阶段网络作为特征提取器以共享参数,对新样本进行特征提取后,产生一个分类权重向量,通过额外的全连接层将其扩展到阶段1训练的分类器权重中,以适应对新样本的分类任务,获取第1阶段树干数据和第2阶段树叶数据的特征,并将第2阶段提取的特征用于对树干和树叶进行分类。
本研究分析了树干识别和树叶识别的区别和联系,并将持续学习的思想应用到树种识别中,避免了由于训练数据不足致使模型拟合过度。通过正则化参数,保持了树干识别模型强大的特征提取能力,减少了重要参数的变化,从而可以学习树叶相关特征信息。
2 数据集
为保证数据集采集过程公平公正,作者依据不同距离、不同角度、不同光照、不同气候的原则进行图像采集,以确保外采集到的图像尽可能多样化。每个保存的图像都有匹配的标签来识别不同的树种类别。另外,剔除由于运动模糊而无法清晰拍摄的图片,然后手动将大小剪切为256×256,使图像处理过程更加方便,去除每张图片的背景(此过程相当于手动划分数据集的感兴趣区域(region of interest, ROI))。
2.1 树干数据集
图片数据采集来自东北林业大学校园内的树木,在数据收集过程中,根据拍摄环境(镜头前的遮挡物或曝光严重程度),为每棵树选择合适的拍摄位置,距离在20~30 cm不等。共收集了10种植物2 000张树干照片。树干类型见表1。表1中第1行是10种树木的名称,第2行是实验中使用的每种树木的树干图片数。原始图像如图6所示(第1行和第2行),与之相应的去除背景的图像如图7所示(第1行和第2行)。
2.2 树叶数据集
由于大部分树叶易于采集,故保持与树干数据集相同类别和相同数量,共采集10种类别2 000张树叶图像,见表2。表2中第1行第2行显示的是10种树种的类别名称,第3行是树叶采集图片数目。原始图像如图6中所示(第3行和第4行),与之相应的去除背景的图像如图7所示(第3行和第4行)。
3 实验与分析
3.1 网络训练
在实验过程中,使用PyCharm软件进行树种识别分类研究,选用Python语言,利用PyCharm软件中的Pytorch框架。实验采用ubuntu16.04系统,服务器内存为16 GB,处理器为Inter-i7,显卡为NVIDIA GeForce GTX 1080 Ti。
选择ResNet作为卷积神经网络(Convolutional Neural Networks, CNN)骨干网络,CNN提取的特征维度为224×224像素。2个训练阶段均使用SGD(随机梯度下降)优化器,动量设为0.5,权重衰减项设为0.000 5。
在第1阶段,使用树干数据集训练树干识别模型,选择交叉熵损失作为损失函数,批量大小设为32,该阶段仅使用Softmax层构建分类器;第2阶段使用树叶数据集,通过引入的正则化损失层对参数权重进行约束,全连接层也会用于该阶段的训练,以适应由旧样本到新样本的分类任务。网络共训练50个epoch(使用训练样本的次数),初始学习率为0.01,从第30个epoch开始,每10个epoch学习率下降到之前的1/10。第2阶段批量大小设为16,初始学习率设为0.01,每10个的学习率下降到前一个时期的1/10,一共训练20个epoch。基线的训练超参数与之相同。
3种机器学习方式:首先是从零开始对训练集进行训练,即一般的深度学习;其次是持续学习网络模型,2种方法的区别为是否对参数有所约束;最后是传统的支持向量机分类器。本文对3种方式进行训练1测试数据集上的性能分析。实验见表3。
为了使测试结果公正可信,经过几轮调试,统一超参数见表4。
3.2 研究方法
本文将2 000幅树干图像分为10个子集作为第1阶段的数据输入,分为4类训练集和测试集,即80%训练,20%测试;60%训练,40%测试;40%训练,60%测试;20%训练,80%测试。第2阶段的训练是用2 200张树叶图片以相同的树干识别模式进行的。
最后利用生成的混淆矩阵对持续学习进行解释和分析。在本研究中,混淆矩阵的显示仅使用80%的训练-20%测试的原始图像和去除背景图像,即:树干图像总数为2 000张,1 600张为训练图像,400张为测试图像;树叶图像与之相同。通过矩阵归一化,可以直观地看到每种树木类别的分类得分。
3.3 结果分析
3.3.1树干图像识别结果与分析
在树干识别任务中,普通深度学习、持续学习以及SVM分类器的识别精度见表5。
普通深度学习的识别精度在训练集占比分别为80%、60%、40%、20%时的数值为70.43%、68.28%、64.78%、62.53%,持续学习的识别精度 81.54%、79.32%、76.48%、72.35%。识别精度随着训练图片图像数量的减少,而呈降低趋势。
对原始图像进行实验结束以后,笔者对去除背景的树干图像进行实验,实验结果表明,经过去除复杂背景后的图像识别准确率相比原始图像识别准确率有所提升,具体结果见表5。从表5可以看出,4种不同训练集/测试集比例的实验结果中,利用普通深度学习得到的识别率分别是73.72%、70.56%、67.39%、65.47%,持续学习方式学习到的识别准确率为91.75%、87.97%、83.24%、79.86%。
3.3.2 樹叶图像识别结果与分析
表6为在树叶识别模型中普通深度学习、持续学习以及SVM分类器的识别率。从表6可以看出,本文方法在原始树叶图像和去除背景的树叶图像上分别达到了94.34%和98.85%的识别率。这表明通过正则化,模型可能具有更好的泛化性能。
实验结果表明,在少量样本的数据集上,尽管存在图像类型的不同、训练-测试比例不同以及源数据不同的条件,但是持续学习的识别效果很大程度上都好于其余学习方式。实验结果显示对图像去除背景在一定程度上有助于提高识别准确率,这表明对于重要的区域,深度学习网络会给予一个较大的权重值,而对于无关的区域,深度学习网络给定的权重值就会越小,去除背景相当于将输入图像中的重要区域筛选出来。
3.4 混淆矩阵
3.4.1 树干图像的混淆矩阵
作者分析了利用混淆矩阵进行持续学习的方法。在本实验的混淆矩阵中,以蓝色显示识别的准确性:颜色越深,识别越精确。横轴表示测试集,纵轴表示训练集。持续学习方法的识别结果如图8所示,可以看出在胡桃楸这一类别的图像中识别率为0.99,在紫椴这一类别上也达到了0.98的识别率,最低识别率0.79是水曲柳。
3.4.2 树叶图像的混淆矩阵
在混淆矩阵中,横纵坐标显示10种树叶类别名称。持续学习的方法如图9所示。
持续学习在蒙古栎、羽叶槭和紫椴树种的识别上全部正确,在树干识别最高的胡桃楸这一类别上也保持着全部识别正确的高识别率。另外,第2阶段对水曲柳和兴安落叶松的识别率也相较于第1阶段有所提高。以上就是普通学习、持续学习和支持向量机(Support Vector Machine,SVM)在树种识别的表现,从图9中可以看出,持续学习得到的结果最优。虽然有些图像被错误识别,但是大多数图像都得到了正确地识别。这是由于不同树干、树叶在颜色、纹理和形状等方面的相似性导致的。
4 结论
本文成功地将持续学习引入到少量不同样本的树种识别中,并与普通深度学习和传统的支持向量机分类方法进行了比较,在训练集-测试集比例为80%-20%的条件下,基于持续学习的树叶和树干最高识别率为91.75%、98.85%,比普通深度学习提高了18.03%和11.92%,比支持向量机提高了20.11%和25.57%,该方法较大程度地提升了识别准确率。
但也存在一些问题。首先,同一树种类别之间存在差异,不同树种之间存在相似性,这将影响识别的准确性,这些差异在构建的混淆矩阵中得到了呈现。其次,照片中红皮云杉和兴安落叶松的针叶类叶片形状较小。当被识别树种特征时,很难有效地提取特征,去除背景后的图像仍然无法避开不相关的区域。目前,还没有相关的研究成果。针对上述问题,作者将在后续实验中引入恰当的处理方法,并选择合适的网络模型来攻克此类难题,也会在以后的工作中,关注在这些数据集上的识别性能。
【参 考 文 献】
[1]张颖,潘静.中国森林资源资产核算及负债表编制研究——基于森林资源清查数据[J].中国地质大学学报(社会科学版),2016,16(6):46-53.
ZHANG Y, PAN J. Study on accounting of forest resources assets and preparation of balance sheet in China – based on forest resources inventory data[J]. Journal of China University of Geosciences (Social Sciences Edition), 2016, 16(6): 46-53.
[2]牟凤娟,胡秀,赵雪利,等.比较教学法在“树木学”课程教学中的应用[J].中国林业教育,2019,37(3):40-43.
MOU F J, HU X, ZHAO X L, et al. Application of comparative teaching method in dendrology course[J]. Forestry Education in China, 2019, 37(3): 40-43.
[3]刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014,31(7):1921-1930,1942.
LIU J W, LIU Y, LUO X L. Research and development on deep learning[J]. Application Research of Computers, 2014, 31(7): 1921-1930, 1942.
[4]张国栋.基于深度学习的图像特征学习和分类方法的研究及应用[J].网络安全技术与应用,2018(7):52-53.
ZHANG G D. Research and application of image feature learning and classification based on deep learning[J]. Network Security Technology & Application, 2018(7): 52-53.
[5]SUN Y, LIU Y, WANG G, et al. Deep learning for plant identification in natural environment[J]. Computational Intelligence and Neuroscience, 2017, 2017: 7361042.
[6]郑一力,张露.基于迁移学习的卷积神经网络植物叶片图像识别方法[J].农业机械学报,2018,49(S1):354-359.
ZHENG Y L, ZHANG L. Plant leaf image recognition method based on transfer learning with convolutional neural networks[J]. Transactions of the Chinese Society for Agricultural Machinery, 2018, 49(S1): 354-359.
[7]高旋,赵亚凤,熊强,等.基于迁移学习的树种识别[J].森林工程,2019,35(5):68-75.
GAO X, ZHAO Y F, XIONG Q, et al. Identification of tree species based on transfer learning[J]. Forest Engineering, 2019, 35(5): 68-75.
[8]DELANGE M, ALJUNDI R, MASANA M, et al. A continual learning survey: Defying forgetting in classification tasks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 5: 1.
[9]PHILPS D G. Continual learning: the next generation of artificial intelligence[J]. Foresight: The International Journal of Applied Forecasting, 2019, 55: 43-47.
[10]KEMKER R, MCCLURE M, ABITINO A, et al. Measuring catastrophic forgetting in neural networks[EB/OL]. 2017: arXiv: 1708.02072[cs.AI].
[11]ABDELSALAM M, FARAMARZI M, SODHANI S, et al. IIRC: incremental implicitly-refined classification[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). June 20-25, 2021, Nashville, TN, USA. IEEE, 2021: 11033-11042.
[12]劉嘉政,王雪峰,王甜,等. 基于深度学习的树种图像自动识别[J].南京林业大学学报(自然科学版),2020,44(1):138-144.
LIU Jiazheng, WANG Xuefeng, WANG Tian. Automatic identification of tree species based on deep learning[J].Journal of Nanjing Forestry University (Natural Science Edition), 2020, 44(1): 138-144.
[13]VEN G M V D, TOLIAS A S. Three scenarios for continual learning[EB/OL]. 2019: arXiv: 1904.07734[cs.LG].
[14]LI Z Z, HOIEM D. Learning without forgetting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(12): 2935-2947.
[15]DHAR P, SINGH R V, PENG K C, et al. Learning without memorizing[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). June 15-20, 2019, Long Beach, CA, USA. IEEE, 2019: 5133-5141.
[16]KIRKPATRICK J, PASCANU R, RABINOWITZ N, et al. Overcoming catastrophic forgetting in neural networks[J]. PNAS, 2017, 114(13): 3521-3526.
[17]ZENKE F, POOLE B, GANGULI S. Continual learning through synaptic intelligence[EB/OL]. 2017: arXiv: 1703.04200[cs.LG].
[18]REBUFFI S A, KOLESNIKOV A, SPERL G, et al. iCaRL: incremental classifier and representation learning[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). July 21-26, 2017, Honolulu, HI, USA. IEEE, 2017: 5533-5542.
[19]HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 770-778.