基于双边采样对比增强的不平衡图像分类研究

2023-07-07 03:10彭祎祺林珊玲林志贤周雄图郭太良
计算机应用与软件 2023年6期
关键词:类别分类器准确率

彭祎祺 林珊玲 林志贤 周雄图 郭太良

1(福州大学物理与信息工程学院 福建 福州 350116) 2(中国福建光电信息科学与技术创新实验室 福建 福州 350116) 3(福州大学先进制造学院 福建 晋江 362200)

0 引 言

近年来,深度学习在图像分类任务中的应用愈加广泛,并且大多实验方法都能达到极佳分类效果。现有的图像分类的数据集通常呈均匀分布,即数据集中各个类别与其相对应样本的数目大致相同。但实际分类任务中的数据集通常会产生极端不平衡长尾分布现象[1],也就是数据集的头部类别对应样本数量较多,而尾部类别对应样本数目只占据极少部分。数据长尾分布现象使得模型在训练时,头部类别数据易产生过拟合并且对尾部数据的建模能力不足,从而使模型预测精度降低,因此寻找一种能够对长尾分布数据进行有效分类是当前的亟待解决的问题。针对训练数据不平衡的问题,目前的方法主要是训练时将样本采样进行重新平衡,即过采样或欠采样、重新加权。

过采样方法主要是重复抽取少数类别中样本,以降低类别不平衡程度;文献[2]提出使用类平衡采样,首先对类别标签采样,再对包含被采样类别的图像进行统一采样从而达到类别均衡。虽然过采样方法能够对数据不足的类别样本进行较大改进,但在训练阶段容易产生过拟合现象。而欠采样方法的核心是删除多数样本类别中的一些可用训练数据,达到数据平衡;文献[3]使用卷积神经网络(Convolutional Neural Network,CNN)进行目标检测,训练过程中随机选取背景图像块的10%进行模型训练,解决背景图像块与目标图像块类别样本不平衡问题。但由于长尾数据中头部数据和尾部数据不平衡比例较大,重采样方法会丢失数据的重要信息使深度网络丧失泛化能力。

重加权法是为不同训练样本分配权重,文献[4]通过类别频数的倒数和使用平滑的类别频数的平方根倒数两种加权法达到数据平衡;在样本水平进行加权中,文献[5]通过增加难以判别样本的权重和减少对应容易区分样本权重,使神经网络对误差敏感;在损失函数改造上,文献[6]提出Softmax equalization同时应用在样本水平和类别水平训练,解决头部数据训练的负梯度抑制同期训练的尾部数据的学习问题,对不同样本分配不同权值从而有效对长尾数据进行分类。

在特征学习和分类结合方面,文献[7]将传统的分类网络分解为特征学习和分类器学习两部分,首先使用三种不同采样策略抽取数据来训练并提取特征,然后使用类别均衡数据重新训练线性分类器的参数,对学习到的特征进行KNN分类,利用归一化分类器的权值来使得权值的尺度使数据更加平衡。文献[8]引入记忆模块,由于尾部数据无法利用特征提取器充分提取特征,将每个通过特征提取器的特征从记忆模块对应类似特征的表示信息,促进长尾数据的分类。这些方法将长尾类别分布问题视为训练期间批量采样的不平衡因素,虽然重平衡模型可以正确分类尾部数据,但类内分布更稀疏,而且在一定上损害深度网络学习的深度特征的表示能力。

对比学习在自监督领域取得很好效果,其通过相似类别样本和不同类别样本学习特征,并且无须关注样本的每个细节,学到特征就能够与其他样本进行区分。文献[9]提出一种基于视觉表示对比框架,计算同一数据示例的不同增强视图之间潜在空间中的对比损失,在特征和对比损失间引入可学习线性变换达到特征质量提高。文献[10]在自监督学习基础上,将每个样本进行数据增强使同类图像的特征更接近,实现了同类特征接近、异类特征远离的效果。

针对上述方法存在的问题以及对比学习的特征学习原理,本文提出一种基于双边采样对比增强的渐进式学习分类网络。首先将训练样本进行均匀采样和倒置采样;将均匀采样后样本经过两种随机增强,生成视图样本;之后倒置采样样本和对视图样本分别送入卷积神经网络进行特征学习;进一步利用对比学习方法得到高质量的视图样本特征,达到聚合同类分散异类的效果;通过渐进式学习累加提取到的两种特征向量并送入分类器学习,最后计算整个网络的损失函数,训练整个模型得到更加精准的分类准确率。

1 相关概念

1.1 ResNet50卷积神经网络

深度网络能够提取丰富特征,但由于梯度消失等原因,训练数据和测试数据的准确率随着网络层增多而降低。正则化和初始化梯度问题的解决方法会使网络逐渐退化,优化效果更差[11-12]。ResNet是利用残差块搭建的深度神经网络,残差学习将输入信息给到输出,减少信息的损失以保证网络的整体性能。它由49个卷积层和1个全连接层组成并且有两种残差模块,一种是以两个3×3的卷积网络串接的残差模块,一种是1×1、3×3、1×1的3个卷积网络依次串接的残差模块。每个残差模块首先使用1×1卷积下采样,高和宽减半削减维度,使分辨率降低,然后用3×3的卷积核下采样,最后用1×1的卷积恢复维度,能够避免造成数据损失。利用网络的残差函数F(x)=H(x)-x,拟合恒等映射网络。使用shortcut连接,不会引入额外的参数和增加模型的复杂度。残差块将输入通过shortcut通道直接给到输出,再与经过卷积后的输出相加。这种跳跃结构,能在网络训练到最优,继续加深层数时,恒等映射理论上保留最优状态。本文中选用三层残差块,能够降低网络中参数的数目,且达到充分训练网络的效果。

1.2 图像增强

图像增强是通过对给定数据样本做随机变换,产生相似但与原始图像不同的训练样本,以增多训练数据集的数量,增强模型对未学习过的数据的分类效果,降低模型对样本的依赖性,提升模型的泛化能力[13]。

常用的图像增强主要包括空间变换法、像素变换法和增强对比度法。随机翻转的空间变化法是以一定的概率随机水平或垂直翻转图片,翻转结果不会改变图像的类别,从而达到图片增强目的;随机裁剪的空间变化法则会让目标随机出现在图像的不同位置,生成包含不同信息的目标样本;通过随机空间增强,降低模型对目标位置的敏感性。像素变换法是通过增加噪声、滤波、调整对比度和亮度等生成不同样本。当训练过程中经常出现某类图像时,神经网络会学习高频特征,从而导致模型发生过拟合;加入噪声使高频特征失真,生成极为有用的图像以增加有效样本。图像亮区与暗区的灰度比值即为对比度,采用增强对比度以更突出目标区域,将暗区变得更加清晰;通过调整亮度、色彩等因素能降低模型对色彩的敏感度。

1.3 对比学习

对比学习主要包括正样本和负样本两个部分,通过潜在空间的对比损失最大限度地提高相同数据样本的不同扩充视图间的一致性来学习特征[14]。对比学习的计算流程:首先选取一个批次样本N个,对每个样本进行两次随机数据增强,得到2N个新图像数据送入网络训练,经过特征提取产生2N个特征向量。对于任意一幅图像,其余2N-1幅图像都会存在与该图像类似的样本,将同一样本的两幅图像即正样本和其他样本的图像即负样本的特征分别对比,达到区分样本特征的目的,极大地提高了学习特征的质量。在没有标签的数据的自监督对比学习中,由于无法预知图像类别,只能让相同图像特征彼此接近。对于有图像类别的监督学习,可以将同类图像的特征更接近,正样本对来自同一个训练样本,通过数据增强等操作得到的两个特征向量,使得两个特征越接近越好,负样本对来自不同训练样本的两个特征向量,使得两个特征越远离越好,实现了同类特征接近、异类特征远离的效果。

2 基于双边采样对比增强算法

2.1 BBRCL模型结构

模型主要分为特征学习部分、分类器学习部分和对比学习部分。

为解决图像分类中类别不平衡的问题,通常会对训练数据进行重采样或重加权法来调整类别的均衡性以此影响分类器的权重更新,但这种方法在一定程度上破坏学习到的深度特征,使得类别分布更加离散。为改善传统平衡类别存在的缺陷,本文提出的BBRCL模型,通过均匀采样和倒置采样数据训练网络提取深层特征训练分类器,且随机增强样本的对比学习能得到更丰富的特征优化分类效果,模型的整体结构如图1所示。

图1 BBRCL模型的整体结构

特征学习部分包含均匀采样特征学习,倒置采样特征学习,通过神经网络训练进行特征学习。当训练集验证集收集完成时,训练样本输入该模型,为对应标签,上部分经过均匀采样处理,获得一组样本(xc,yc),下部分经过倒置采样处理,获得一组样本(xr,yr)。并且两部分使用相同的残差网络结构,除最后一个残差块外均共享网络权重。两组样本输入到上下部分网络中通过全局平均池化层获得特征向量fc和fr。其中均匀采样为每个样本在一轮训练中被采样的概率相同,且仅被采样一次;倒置采样为每类被采样的概率与样本数量成反比,一个类的样本越多,该类采样的概率越小。假设类别i的样本数为Ni,所有类的最大样本数为Nmax,权重可表示为wi=Nmax/Ni,因此具体的采样概率如式(1)所示。

(1)

根据Pi随机采样,可得到一批训练数据。在网络中共享权重,不仅有利于两部分的特征学习,而且降低了网络训练的复杂度,减少计算量。

分类器学习部分主要采取渐进式学习策略,通过控制主干网络提取到的特征向量fc、fr和分类损失函数L,来平衡两部分的学习。

具体过程首先设置自适应参数α,根据训练的周期以抛物线形式衰减,计算公式如式(2)所示。

(2)

式中:Tmax是总训练周期;T是当前训练周期数。再给两个特征分别加上权重得到对应加权特征αfc,(1-αfr)输入到各自的分类器中,通过逐元素相加得特征输出概率分数,如式(3)所示。

z=αWcfc+(1-α)Wrfr

(3)

式中:Wc与Wr为正常采样倒置采样分别对应的分类器,最后使用softmax函数,预测样本的类别。

由式(4)计算两种采样bloss,其中E(·)为交叉熵。

(4)

在特征学习和分类器学习的基础上,加入对比学习策略。输入的每个样本经过均匀采样后,会随机进行两种不同的随机数据增强,生成两个来源同一个样本的图像,输入到各自不经过全连接层的残差网络,通过MLP多层感知器映射到对比损失的空间。将来自同一样本的图像对,与其他样本生成的图像对使用矩阵相似对比法的对比学习策略,得到高质量的样本特征。整个模型的损失函数如式(5)和式(6)所示。

(5)

(6)

式中:Nyi是一个批次中数据总量;yi是i图像的标签。多层感知器的层与层之间每个神经元都有连接,本模型采用的MLP使用基础的三层结构,输入层、一层隐藏层和输出层,使用ReLU激活函数,隐藏层大小为2 048,输出向量大小为128维。对该向量进行归一化,使其位于单位超球面上,从而可以使用内积测量投影空间中的距离。

最后将对比学习部分损失closs加入BBRCL的损失中,理想收敛情况下,可以增加样本数量,使得同类样本特征足够相似,以此优化分类器学习的预测准确率。

因此,整个BBRCL模型的总损失如式(7)所示。

loss=lboss+lcoss

(7)

2.2 模型训练

训练数据集数据(xi,yi),i=1,2,…,n,依次进行均匀采样(xc,yc),倒置采样(xr,yr),经过均匀采样的样本(xc,yc)随机进行两种数据增强,得到来自同个样本两个的不同视图(xci,yc),(xcj,yc),倒置采样的样本经过随机数据采样得到(xri,yr)。将这三组样本输入相应的CNN网络,经过全局平均池化层获得特征向量fc、fci和fr。fc和fr输入进行分类器Wc、Wr训练,分类器的学习主要采取渐进式学习,通过自适应参数α控制权重,输入特征向量得到概率,从而计算得到两种采样的bloss函数。均匀采样的特征向量fc、fcj,输入多层感知器MLP映射到投影空间,对比学习计算closs函数。最后,由总的损失函数loss控制网络训练,训练至分类准确率最高,得到最优的分类模型。

3 实验结果与分析

3.1 数据集介绍

CIFAR-10数据集中包含10个类,每类有6 000幅图像,总共6 000幅32×32的彩色图像,其中划分成50 000幅训练集和10 000幅测试集[15]。测试集数据取自10类中的每一类,每一类随机取1 000幅,剩余数据随机排列组成每批次10 000幅图像的五批训练集。这些类完全相互排斥。

为创建不平衡的版本[16],人为减少每个类别的训练样本数量,并保持验证集不变。设计一个不平衡参数η来控制数量最多和数量最少样本之间的比率,η=maxNi/minNi,调整η可以改变数据不平衡的程度。训练的过程中训练集采取随机裁剪,随机垂直或水平翻转,随机色彩失真,0.2概率转为灰度图,验证集不进行任何随机变换。

3.2 对比实验

为了探究BBRCL算法训练过程,在不平衡系数为20的CIFAR-10,设置训练轮数200个epoch,初始学习率为0.1,使用随机梯度下降法,在前5个epoch使用学习率优化策略-线性学习率warm up对学习率进行初步调整,在100和150 epoch学习率各衰减0.01。

图2为BBRCL在不平衡系数为20的CIFAR-10上训练集与验证集准确率。200个epoch训练过程中,前50个epoch更关注样本数据大的类别,即头部数据,训练精度train_acc不断增加,而后模型开始提取样本较少的类别特征,逐渐关注尾部数据,训练准确率train_acc开始下降。经过学习率的衰减和分类器的训练,在140个epoch后train_acc急剧上升,训练集准确率达到98.49%。验证集valid_acc前期迅速上升,在开始关注少量样本时,有短暂不稳定的下降,而当训练稳定,valid_acc一直稳步上升,直到拟合达到最大分类准确率84.64%。

图2 训练集与验证集准确率曲线

图3为BBRCL在不平衡系数为20的CIFAR-10上训练集与验证集的损失函数。train_loss为均匀采样随机增强两个视图之间的对比closs与两种采样间bloss之和,valid_loss为多分类交叉熵softmax计算得到的loss。由图中可看出,train_loss在前期急速减少,之后平稳减少,valid_loss在关注少量样本时,有段不稳定的波动变化,而后稳步下降直至拟合。

图3 训练集与验证集loss曲线

为对比不同采样器对于分类的影响,使用均匀采样器,平衡采样器和倒置采样器。均匀采样能够保持数据的原始分布;平衡采样器使每个类具有相同的采样概率,构建标签平衡的分布;倒置采样使样本少的数据采样概率大,使得训练时更关注数据少的类别[17]。CIFAR-10在不平衡参数设置为20,表1为使用不同采样器训练的模型top-1错误率。

表1 top-1错误率(%)

其中使用均匀采样器与倒置采样器结合训练的模型准确率有较大的提高。由此可见渐进式学习头部数据与尾部数据的特征有益于分类准确率的提升。

实验选取三个不同的不平衡参数ratio:20、50、100,分别在CIFAR-10数据集、CIFAR-100数据集上训练。表2给出不同平衡参数设置下训练的模型top-1错误率。

表2 数据集信息

在均匀采样使用数据增强每个样本产生随机两个视图,通过映射到投影空间对比计算类别距离的方法,能够在两个数据集训练中最佳准确率得到较大的提升。

本文选择四种训练不平衡数据的方法,与BBRCL进行实验对比。使用CrossEntropy交叉熵损失函数CE、Focal损失函数[17]、LDAM-DRW边缘损失函数、BBN算法训练模型。表3给出五种不平衡分类算法在CIFAR-10数据集,设置不平衡参数为50的模型训练的模型top-1错误率。图4为五种算法的top-1准确率曲线。

表3 CIFAR-10数据集上ratio 50各算法top-1错误率(%)

图4 不同算法的top-1准确率曲线

CE、Focal、LDAM-DRW采样训练样本的概率均相同,准确率处于不断上升直到收敛状态。BBN、BBRCL使用均匀采样与倒置采样渐进进行,在关注尾部数据准确率有短周期下降,继而波动最终稳定上升到收敛。从结果上看,BBRCL模型准确率显著提升。

改进后的算法不仅能提取图像更深层的特征有益于模型学习,而且在准确率上比现有最优算法提升2%,相比于传统方法提升6%~7%,模型的稳定性也高于传统算法。对比传统的处理数据不平衡方法,BBRCL算法具有很大的优势。

4 结 语

本文针对极度不平衡的长尾问题,提出一种基于双边采样增强的渐进式学习分类网络,同时训练特征学习器分类器,对训练样本分别进行均匀采样和倒置采样,使用两种不同的数据增强方法得到样本的不同视图,进行对比学习使得类内距离更近,全面提高模型分类能力。实验部分在两个数据集上与其他再平衡方法进行比较,结果表明,本文提出的方法在数据不平衡分类的任务中性能优于其他方法。对于样本数据极度不平衡的任务,具有一定的参考价值和实用性。本文提出的对比学习方法也可以扩展到无标签训练任务中,在自监督领域能够得以使用。

猜你喜欢
类别分类器准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
BP-GA光照分类器在车道线识别中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
服务类别
论类别股东会
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别