CS-Softmax:一种基于余弦相似性的Softmax损失函数

张 强1 杨吉斌2 张雄伟2 曹铁勇2 郑昌艳3

1(陆军工程大学研究生院 南京 210007)

2(陆军工程大学指挥控制工程学院 南京 210007)

3(火箭军士官学校 山东青州 262500)

(zq308297543@126.com)

摘 要 卷积神经网络分类框架广泛使用了基于Softmax函数的交叉熵损失(Softmax损失函数),在很多领域中都取得了良好的性能.但是由于Softmax损失函数并不鼓励增大类内紧凑性和类间分离性,在一些多分类问题中,卷积神经网络学习到的判别性嵌入表示的性能难以进一步提高.为了增强嵌入表示的判别性,提出了一种基于余弦相似性的Softmax(cosine similarity-based Softmax, CS-Softmax)损失函数.CS-Softmax损失函数在不改变神经网络结构的条件下,分别计算嵌入表示与分类全连接层权重的正相似性和负相似性,以实现同类紧凑和异类分离的训练目标.理论分析表明:边距因子、尺度因子、权重更新因子等参数的引入,可以调节各类别决策边距的大小,增大类内紧凑性、类间分离性,增强学习到的嵌入表示的判别性.在典型的音频、图像数据集上的仿真实验结果表明:CS-Softmax损失函数在不增加计算复杂度的同时,可以有效提升多分类任务性能,在MNIST,CIFAR10,CIFAR100图像分类任务中分别取得了99.81%,95.46%,76.46%的分类精度.

关键词 模式分类;卷积神经网络;损失函数;Softmax;余弦相似性

卷积神经网络(convolutional neural networks, CNNs)能够准确建模高维嵌入表示参数的局部分布,被广泛应用于许多视觉与听觉分类任务中,如声学场景分类[1-3]、物体识别和分割[4-10]、人脸验证[11]、手写字符识别[12]等.然而在一些多分类问题中,由于不同类别的样本间存在较强相似性,CNNs分类框架的性能还不能令人满意[13].近年来,研究人员分别针对CNNs分类框架中的嵌入表示学习和分类2个方面,提出了许多有效的改进方法,进一步增强了分类效果.

在嵌入表示学习方面,CNNs的结构、激活函数[14-15]以及学习策略[16-17]都出现了许多改进和优化,例如文献[18]将CNNs的深度扩展到100层以上,进一步提升了网络学习能力.同时,网络中的数据处理也通过引入不同的规范化技术(批处理规范化[19]、层规范化[20]、实例规范化[21]、组规范化[22])调整数据分布,防止梯度爆炸,加快收敛速度.这些技术均有效改善了嵌入表示提取的效率和准确性.

在嵌入表示分类方面,采用全连接层实现回归计算后,最通用的方法是通过最小化基于Softmax函数的交叉熵损失(Softmax损失函数)来训练分类器.虽然最小化Softmax损失函数可以使学习到的预测数据分布接近训练数据的真实分布,但Softmax损失函数存在2点问题:1)对输入值的模长敏感.当嵌入表示位于决策边界附近时,随着嵌入表示或权重的模长增加,损失会越来越小,CNNs容易过早收敛[23].2)并不鼓励增大类内紧凑性和类间分离性.此时学习到的嵌入表示虽然具有可分性,但是判别性不强.针对这2个问题,已经出现了许多解决方案.中心损失函数(center loss)[24],通过加权的方式将约束类内距离的成对聚类损失函数(coupled clusters loss, CCL)与Softmax损失函数相结合,增强了嵌入表示的类内紧凑性.L-Softmax损失函数[25]引入了边距因子,并通过设计一个与该边距因子相关的乘性角度边距函数来增加正类实例学习的难度,使嵌入表示在类内更加紧凑.文献[26]将L-Softmax损失函数中的全连接层权重归一化,得到A-Softmax损失函数,并在一系列开集人脸识别任务中验证了它的有效性.AM-Softmax损失函数[27]将A-Softmax损失函数中的乘性角度边距转换为加性角度边距,通过引入尺度因子和归一化嵌入表示,进一步提升了人脸识别准确性.除了针对Softmax损失函数进行改进外,学者们还提出了基于样本对或三元组的损失函数计算方法,如对比损失函数(contrastive loss)[28]、三元组损失函数(triplet loss)[29]、多种相似性损失函数(multi-similarity loss)[30]等.但这些方法需要样本配对组合,当训练样本量巨大时,需要筛选样本,网络的性能严重依赖所选择的训练样本.实际上,triplet loss,以及基于Softmax损失函数改进的一系列损失函数大多将类内相似性sintra和类间相似性sinter集成到相似性对中,并通过最小化sinter-sintra实现优化,但这样的收敛状态不确定.针对该问题,文献[31]基于softplus框架提出圆损失函数(circle loss),该损失函数通过引入基于相似性的权重更新因子,可以分别优化sintrasinter,改善了网络学习的收敛效果.

针对Softmax损失函数存在的问题,本文借鉴多种相似性的思想,在Softmax交叉熵损失框架下提出了一种基于余弦相似性的Softmax(cosine similarity-based Softmax, CS-Softmax)损失函数,可实现判别性更强的决策边界控制,有利于提高嵌入表示的类内紧凑性和类间分离性.同时,与circle loss,triplet loss等损失函数相比,使用CS-Softmax损失函数不需要筛选样本对,复杂度较低.在典型的音频和图像数据集上的实验结果也表明,使用CS-Softmax损失函数可以有效提升分类效果.

1 Softmax损失函数

采用Softmax损失函数的CNNs分类框架如图1所示.设一个包含C类实例的分类任务,若某个实例的嵌入表示为x,它属于第j类的概率可以用Softmax函数评估:

(1)

Fig. 1 Classification framework using CNNs and Softmax loss
图1 使用CNNs和Softmax损失函数的分类框架

x属于第i类,则对应的Softmax损失函数表示为



(2)

其中,表示二范数算子,(y1,y2,…,yk,…,yC)是实例的标签,yk∈{0,1}.wi,bi分别表示第i类对应的全连接层权重和偏置,θi表示wix的夹角.从式(1)、式(2)可以看出,采用Softmax损失函数,全连接层输出值的大小决定了实例所属的类别.

Fig. 2 Decision boundaries of Softmax loss function under binary classification
图2 在二分类任务中Softmax损失函数的决策边界

若全连接层某个节点的输出过大,Softmax损失函数值会接近0,此时CNNs训练容易出现早停问题.以二分类任务为例,类别1和类别2的决策边界在概率平面上是一条直线(如图2(a)所示),在嵌入表示空间中,该决策边界对应为一个线性超平面:+b1=+b2,图2(b)(c)给出了其在2维平面上的投影.假设位于决策边界附近的某个x属于类别1,与w1,w2的夹角余弦值cos(θ1),cos(θ2)分别为0.05,-0.05.w1,w2模长为1,b1=b2=0,而x的模长从1变化到50(如图2(b)所示),相应的Softmax函数输出从[0.52,0.48]变化为[0.99,0.01],此时损失函数值接近0.同样,若xw1的模长为1保持不变,b1=b2=0,w2的模长从1变为100(如图2(c)所示),相应的Softmax函数输出从[0.52,0.48]变化为[0.99,0.01],损失函数值接近0.当Softmax损失函数值接近0时,网络训练将变慢乃至过早收敛,出现早停,这时学习到的嵌入表示判别性不强,分类器分类性能难以提高.

2 CS-Softmax损失函数

2.1 正负余弦相似性

在全连接层中,将各输出节点的偏置设为0,对嵌入表示x和权重进行归一化(如图3所示),将输出转换为x与全连接层权重的余弦相似性向量S=(s1,s2,…,sk,…,sC).其中,sk

(3)

Fig. 3 Classification module of embedding based on cosine-similarity
图3 基于余弦相似性的嵌入表示分类模块

为了增强嵌入表示的类内紧凑性和类间分离性,对同类样本和异类样本的余弦相似性采用不同的映射方式进行转换.对于包含V个嵌入表示的集合定义第i类的嵌入表示xi与第i类分类器权重wi的余弦相似性为正余弦相似性si;与其他类分类器权重的余弦相似性为负余弦相似性sj(ji).此时,基于正、负余弦相似性的Softmax损失函数为

(4)

2.2 CS-Softmax损失函数的推导

已有研究表明:在Softmax损失函数中引入尺度因子,可以扩大逻辑值的取值范围,使逻辑值的可分性更强[32];引入边距因子,可以将类别间的决策边界分开,增强嵌入表示的判别性能[32];引入权重更新因子,可以实现分别优化正、负余弦相似性[31].在基于正、负余弦相似性的Softmax损失函数的基础上,同时引入上述3种因子,分别对正、负余弦相似性(后文简称为正、负相似性)做相应转换,得到新的正、负相似性度量

(5)

其中,sip表示第i类实例的正相似性度量,表示第i类实例与第j类分类器权重形成的负相似性度量,λ为尺度因子,Δpn分别为正负相似性对应的边距因子,αp,αn分别为正负相似性对应的权重更新因子,f()和g()分别为正负相似性转换函数.此时,对于第i类的实例,基于sip可以得到CS-Softmax函数:

(6)

该实例对应的CS-Softmax损失函数为



-ln((exp(f(λ,αp,sip)))/
(exp(f(λ,αp,sip))+

(7)

进一步地,对于嵌入表示集合X,平均CS-Softmax损失函数值估计为


(exp(f(λ,αp,sip))+

(8)

本文采用基本的线性更新公式来实现f()和g():

(9)

此时的CS-Softmax损失函数为


(exp(λαp(sip))+

(10)

观察可知,当αp=αn=1,Δn=0时,此时的CS-Softmax损失函数就退化成了AM-Softmax损失函数:


(11)

正相似性si反映同类样本间的相似性,因此越大越好.同理,负相似性sj应越小越好.因此,为有效区分正、负相似性,可分别设正相似性的训练目标op>si和负相似性的训练目标on<sj.分别以siopsjon的欧氏距离最小化为优化目标,以欧氏距离的梯度模值作为权重更新因子的调整方案:

(12)

这样,当si接近opsj接近on时,相应的权重更新因子能够动态减小,优化过程更平缓.

将式(12)代入式(9),可以得到:

(13)

为简化正、负相似性的计算,可依据各类别对应的分类决策边界优化式(13)参数设置.此时类i与类j的分类决策边界可由推得,即λ(op-si)(sip)=λ(sj-on)(sjn).则判定样本属于类i、不属于类j的决策边界为

(14)

对任意一个实例,其正相似性只有1个,而负相似性有C-1个.观察式(14)可知,si,sj的理想训练目标分别是而理想的训练目标应满足x与同类分类器权重高度正相关,即si应为1;与其他类别分类器权重完全不相关,即sj应为0.因此正负相似性之间的距离为1.由此可以得到约束条件为

(15)

因此,op=2-Δpon=-Δn,Δp=1-Δn.不失一般性,可设Δn=m(0≤m≤1),则Δp=1-m,on=-m,op=1+m.此时,简化后的正、负相似性度量为

(16)

CS -Softmax损失函数为



(exp(λ(1+m-si)(si-1+m))+

(17)

训练时,利用CS -Softmax损失函数分别最大化si、最小化sj.测试时,使用原始的余弦相似性向量S计算Softmax逻辑值进行预测.对比式(2)、式(17)可知,Softmax与CS -Softmax损失函数的唯一差别是用于Softmax函数计算的逻辑值不同:Softmax损失函数直接使用全连接层输出的内积作为逻辑值,而CS -Softmax损失函数使用的逻辑值是关于内积的二次多项式,并未增加计算复杂度.所以CS -Softmax与Softmax损失函数的时间复杂度属于同一个量级.同理,对比式(11)、式(17)可知,CS -Softmax与AM-Softmax损失函数的时间复杂度也属于同一个量级.因此使用CS -Softmax损失函数训练网络不会增加额外的时间成本.第3节的时间复杂度对比分析实验也验证了这一点.

2.3 CS-Softmax损失函数的类别决策边界

将式(15)所得的参数代入式(14)可得类i与类j之间相似性区分的决策边界为

(18)

同理可得类j与类i之间相似性区分的决策边界为

(19)

图4绘出了CNNs分类框架中Softmax损失函数和CS -Softmax损失函数对应的二分类决策边界.可以看出,Softmax损失函数对应的决策边距是0,而在CS -Softmax损失函数中,2个类之间存在2个决策边界,间距与m相关.由式(18)、式(19)可以推出,在判定实例属于类i和类j的决策边界上,余弦相似性分别满足si-sj≥1-2msi-sj≤-(1-2m).因此2个类的决策边界间距至少为2(1-2m),并且只要m≤0.5,2个类的决策边界就不会相交.对比图4(b)~(d)可以发现,当m由0.5变为0.1时,类i与类j之间的决策边距逐渐增加,即正负相似性之间的差值越来越大,这将使学习到的嵌入表示对应的正相似性不断接近1,负相似性不断接近0,即类内方差越来越小,类间方差越来越大,从而实现类内更加紧凑、类间更加远离.在测试阶段,使用原始余弦相似性向量S进行预测,2个类的决策边界是一致的,为si-sj=0.如果训练时类i的实例被正确分类,那么si-sj≥2(1-2m)>0,则在测试阶段,该实例也能至少以边距2(1-2m)被正确分类.

Fig. 4 Decision boundaries of category i and j when the classification module outputs the cosine similarity
图4 在分类模块输出余弦相似性的情况下类i和类j之间的决策边界

3 仿真实验和分析

为了评估CS -Softmax损失函数的性能,选取典型的音频和图像数据集(声学场景分类(acoustic scene classification, ASC)[33]、MNIST[12]、CIFAR10/100[34])进行仿真实验.实验中,选用Softmax损失函数和AM-Softmax损失函数[27]作为对比方法.AM-Softmax损失函数集成了尺度因子和正相似性边距因子这2类参数,含义与CS-Softmax损失函数中的对应参数类似.为了公平对比,如果损失函数存在可调整的超参数,均选取获得最佳性能的参数组合.实验性能评估采用通用的分类精度评估标准[35].所有实验在配备NVIDIA 2080Ti GPU的工作站上实现.

3.1 数据集与实验设置

实验中采用的音频和图像数据集详细信息如表1所示:

Table 1 Typical Acoustic and Image Datasets
表1 典型的音频和图像数据集

项目数据集类别数量样本数量训练集测试集通道数采样率∕kHz持续时间∕s长∕pixel宽∕pixel音频ASC109185418524810CIFAR1010500001000033232图像CIFAR100100500001000033232MNIST10600001000012828

1) ASC.使用2019年声学场景和事件检测与分类竞赛中的ASC开发数据集进行实验.实验中,将每个实例数据转换为单通道,降采样至32 kHz,计算对数梅尔谱能量特征,特征形状为640×64,其中640是帧数,64是梅尔频率数.分别采用Cnn5avg,Cnn9avg,Cnn13avg,Cnn9max模型作为网络结构[36].在这4个网络结构中,采用相同的实验设置:激活函数为ReLU[14],批大小为32.所有特征采用训练集特征的均值和方差进行归一化处理.训练持续5 000次迭代,使用Adam优化器[37],初始学习率设置为0.001,每隔200次迭代,衰减为原来的0.9倍.网络中使用权重初始化[15]和批标准化[19].

2) CIFAR10/100.实验中,2个数据集均采用ResNet34[18]作为网络结构.其中,CIFAR10采用随机水平翻转和不改变图像尺寸的随机裁剪增强训练样本.所有实例使用训练集的均值和方差进行归一化处理.CIFAR10训练持续6.4万次迭代,初始学习率设置为0.1,在第3.2万、4.8万次迭代时,依次衰减为0.01,0.001.批大小设置为128.CIFAR100训练持续200轮,初始学习率设置为0.1,在第60,120,160轮时依次衰减50%.2个任务的网络都使用SGD优化器[38].批大小设置为256.

3) MNIST.实验采用ResNet56[18]作为网络结构.所有实例使用训练集的均值和方差进行归一化处理.训练持续200轮,使用SGD优化器[38],初始学习率设置为0.1,在第100,150轮时依次衰减90%.批大小设置为256.

3.2 实验结果分析与讨论

1) ASC的实验结果.表2给出了在不同网络结构上,CS-Softmax等损失函数的分类性能及对应超参数设置.其中每个网络结构中最好的结果用黑体表示,对应的参数设置在括号中说明.Softmax损失函数对应的结果来自文献[36].从表2可以看出,当采用Cnn13avg网络模型,m=0.5,λ=4时,CS -Softmax损失函数对应的精度为68.0%,比AM-Softmax损失函数高1.1%,比Softmax损失函数高6.6%.在所有对比的网络模型中,CS -Softmax损失函数性能均超过了其他损失函数.

Table 2 Classification Accuracies of Three Loss Functions on Four Network Structures on ASC Dataset
表2 在ASC数据集上3种损失函数在4种网络结构上的分类精度

序号网络结构分类精度∕%SoftmaxAM-SoftmaxCS-Softmax1Cnn5avg69.8[36]71.5(m=0.5,λ=2)72.4(m=0.3,λ=2)2Cnn9avg70.3[36]72.7(m=0.5,λ=4)72.9(m=0.1,λ=2)3Cnn9max68.6[36]70.4(m=0.1,λ=4)70.6(m=0.5,λ=6)4Cnn13avg61.4[36]66.9(m=0,λ=8)68.0(m=0.5,λ=4)

注:黑体数字表示各个网络结构上的最高分类精度.

表3综合对比了在ASC数据集上采用不同CNNs框架和损失函数的分类结果.所有方法均使用对数梅尔谱能量特征作为输入.其中,前3行均是单模型使用Softmax损失函数进行训练得到的分类精度,行2采用了注意力机制.行4是基于二值交叉熵损失函数,使用多层感知机对3个卷积神经网络进行融合训练对应的分类精度.最后3行是在Cnn9avg网络中,分别采用3种损失函数训练取得的分类结果.其中,Softmax损失函数的准确率是69.4%,这是我们使用文献[36]提供的框架获得的最好结果.虽然这个结果比原文中的准确率70.3%低,但是差别在1%之内,复现结果可信.从表3中可以看出,CS -Softmax损失函数将Cnn9avg网络结构对应的分类精度由69.4%提升至72.9%,性能优于其他分类方法.

Table 3 Classification Accuracies of Different Schemes on ASC Dataset

表3 在ASC数据集上不同方法的分类精度

序号方法分类精度∕%12D-CNN[39]72.12Attention-basedCNN[40]70.73CNN7-Avg[41]71.14MIL-basedCNN[42]72.35Softmax69.46AM-Softmax72.77CS-Softmax72.9

注:黑体数字表示最高分类精度.

表4进一步给出了使用CS -Softmax损失函数和Softmax损失函数训练Cnn9avg模型得到的ASC的详细分类精度.图5对比了2种损失函数的分类混淆矩阵.从图5(a)中可以看出,公共汽车(bus)误判为有轨电车(tram)、公共广场(public square)误判为街头道路(street pedestrian)的比例分别为22.9%,24.3%,说明这2对类别之间相似性较大,容易误判.由表4可知,采用CS -Softmax损失函数时,虽然有轨电车等3类场景的分类准确率出现小幅度下降,但公共汽车、公共广场的分类准确率大幅提升(幅度分别为19.4%,14.8%).公共汽车和有轨电车、公共广场和街头道路这2对相似场景的误分类比例显著降低.以上结果表明:利用CS -Softmax损失函数训练网络,原本相似类别之间的差异变大,整体分类性能得到提高.

Table 4 Classification Accuracies of Two Loss Functions on ASC Dataset

表4 在ASC数据集上2种损失函数的分类精度

序号类别分类精度∕%SoftmaxCS-Softmax相对提升率∕%1Airport62.767.47.52Shoppingmall67.870.43.83Metrostation65.375.014.94Streetpedestrian73.071.2-2.55Publicsquare52.760.514.86Streettraffic87.688.71.37Tram67.266.1-1.68Bus59.871.419.49Metro76.072.1-5.110Park82.186.04.811平均精度69.472.95.0

注:黑体数字表示每个类别上取得的最高分类精度.

2) CIFAR10/100,MNIST的实验结果.表5综合对比了在CIFAR10/100,MNIST数据集上不同分类方法的结果.前9行分别是使用Softmax损失函数训练不同的网络结构得到的分类精度.行10和行11是采用CNNs框架,分别使用L-Softmax[25]和W-Softmax[23]损失函数训练得到的分类精度.最后3行是以ResNet34或ResNet56为网络结构,分别使用3种损失函数训练取得的分类结果.可以看出,不论采用何种损失函数,ResNet34或ResNet56网络结构对应的分类精度都要优于其他网络结构的结果.同时,采用CS-Softmax损失函数的方法取得了最佳分类性能.与采用相同网络结构的Softmax损失函数方法相比,在CIFAR10/100,MNIST数据集上,分类精度分别提高了1.37%,2.39%,0.08%.

Fig. 5 Confusion matrix of two loss functions on ASC dataset
图5 在ASC数据集上2种损失函数的混淆矩阵

Table 5 Classification Accuracies of Different Methods on CIFAR10/100, MNIST Datasets
表5 不同方法在CIFAR10/100,MNIST数据集上的分类精度

序号方法分类精度∕%CIFAR10CIFAR100MNIST1All-CNN[43]92.7566.292DropConnect[17]90.6899.433FitNet[44]91.6164.9699.494DSN[45]92.0365.4399.495NiN[46]91.1964.3299.536Maxout[47]90.6261.4399.557R-CNN[48]92.9168.2599.698GenPool[49]93.9567.6399.699CNN[50]99.4710L-Softmax[25]94.0870.4799.6911W-Softmax[23]71.3899.6912Softmax94.0974.0799.7313AM-Softmax94.43(m=0.3,λ=2)75.32(m=0,λ=12)99.79(m=0.4,λ=8)14CS-Softmax95.46(m=0.3,λ=2)76.46(m=0.2,λ=6)99.81(m=0.4,λ=2)

注:黑体数字表示在各个数据集上取得的最高分类精度.

3.3 CS-Softmax损失函数性能分析

3.3.1 类内与类间平均角度

为了进一步分析CS-Softmax损失函数的性能,分别计算嵌入表示和对应分类器权重的夹角平均值以及各类别分类器权重之间的夹角平均值分别计算为


i∈{1,2,…,C},

(20)


i∈{1,2,…,C},

(21)

其中,Vi是第i类样本的数量,表示第i类样本中第j个嵌入表示,表示第i类所有嵌入表示与wi之间角度的平均值,表示wiwj(ji)之间角度的平均值.

图6(a)给出了嵌入表示和相应的分类器权重的夹角平均值.可以观察到Softmax损失函数对应的夹角平均值比不同参数设置下的CS-Softmax损失函数对应的夹角平均值都更大.由于更低的夹角平均值意味着类内嵌入表示更加紧凑,这说明CS-Softmax损失函数学习到的嵌入表示的类内紧凑性优于Softmax损失函数.

图6(b)给出了训练得到的各分类器权重之间的夹角平均值.可以看出,与Softmax损失函数对应的夹角相比,不同参数设置下的CS-Softmax损失函数对应的夹角都更加接近90°.向量之间的夹角越接近90°,意味着向量之间越不相似.这说明,CS-Softmax损失函数学习到的嵌入表示的类间相似性更小,类间可分离性优于利用Softmax损失函数学习得到的嵌入表示.

同时,从图6可以看出,随着m的减小,更趋向于更趋向于90°.此时,学习到的嵌入表示的类内紧凑性、类间分离性更高,分类更加容易.

Fig. 6 Comparison of the average angle values learned by Softmax and CS-Softmax loss functions on MNIST dataset
图6 在MNIST数据集上Softmax和CS-Softmax损失函数学习到的平均角度值比较

3.3.2 收敛性能

本节在ASC数据集上,以Cnn9avg为网络结构,对比研究了CNNs采用CS-Softmax损失函数训练时的收敛状态及收敛过程.其中,正相似性sp为公园(park)实例的嵌入表示与同类别分类器权重的余弦相似性,负相似性sn为公园实例的嵌入表示与机场(airport)类别分类器权重的余弦相似性.AM-Softmax损失函数、CS-Softmax损失函数的超参数设为表2中采用Cnn9avg网络取得最高分类精度所对应的参数.

1) 收敛状态.图7展现了分别经过3种损失函数训练之后的余弦相似性分布图.对比发现,利用CS-Softmax损失函数学习得到的嵌入表示正相似性更加接近1,负相似性更加接近0,说明学习到的嵌入表示距离所属类别分类器权重更近,可以有效避免早停问题.同时,CS-Softmax损失函数学习到的嵌入表示在(sn,sp)二维平面中更加接近点(0,1),分布更为集中,收敛状态更加明确.

Fig. 7 Comparison of positive and negative similarity distributions with Cnn9avg trained with three loss functions on ASC dataset
图7 在ASC数据集上使用3种损失函数训练Cnn9avg网络对应的正负相似性分布比较

2) 收敛过程.图8对比了使用CS-Softmax损失函数和AM-Softmax损失函数进行训练时的正负相似性变化曲线图.由于在高维嵌入表示空间中,随机分布的嵌入表示倾向于相互远离[32,51],因此所有的正负相似性初值都比较小.从图8可以看出,在训练初始阶段,AM-Softmax损失函数对应的spsn变化速率基本相同,之后spsn逐渐接近优化目标1和0.而使用CS-Softmax损失函数时,初始阶段sp的变化速率要大于对应的sn,而且比AM-Softmax损失函数的sp更新速率还要大.由于sp的优化主导了训练过程,训练更加侧重于嵌入表示的聚类效果.在训练中后期,sp值依然增加,但优化较为平缓,和AM-Softmax损失函数相比,CS-Softmax损失函数训练得到的嵌入表示相似性更加接近于优化目标.这从另一个方面验证了CS-Softmax损失函数的性能.

Fig. 8 Change curves of positive and negative similarity values during the training process
图8 训练过程中正负相似性值变化曲线

3.3.3 超参数鲁棒性

本节通过在CIFAR10数据集上的仿真实验,探究了在不同超参数设置下,使用CS-Softmax损失函数训练ResNet34模型的性能表现.表6给出了不同参数设置下的分类精度,其中黑体数字为超过95%的分类精度.从表6可以看出,无论超参数mλ在表中如何取值,CS-Softmax损失函数取得的分类精度均高于表5中Softmax损失函数取得的分类精度.结合CS-Softmax损失函数在本文各项任务中的性能表现,一般地,m的建议取值为0.1,0.2,0.3,0.4,λ的建议取值是2,4,6,8.

3.3.4 时间复杂度

本节在典型数据集上,通过对比使用3种损失函数训练相应模型对应的平均每轮时间消耗,分析了CS-Softmax损失函数的训练时间成本.在表7中,黑体数字表示各个模型对应的最短平均每轮耗时和最高分类精度,相应的参数设置标注在括号内.其中,时间栏为训练阶段每轮的平均耗时.相对差异为最长时间、最短时间之间差值除以最长时间得到的百分比.可以看出,在所有数据集上,使用CS-Softmax损失函数训练时的平均每轮耗时,与其他2种损失函数相当,差异在2%以内.这说明,与其他2种损失函数相比,使用CS-Softmax损失函数训练网络在有效提升分类精度的同时,没有增加对应的时间成本.

Table 6 Classification Accuracies of ResNet34 Trained with CS-Softmax Loss Function on CIFAR10 Dataset with Different Hyperparameters

表6 CIFAR10数据集在不同超参数下CS-Softmax损失函数训练ResNet34模型的分类精度 %

mλ=0.2λ=0.6λ=1λ=2λ=4λ=6λ=8λ=10λ=12094.6397.4894.9795.1594.9495.0595.0294.894.830.194.8394.7394.895.3795.0195.1595.0994.9594.870.294.7694.8394.5995.2195.0695.0595.0294.6194.810.394.6594.9694.7295.4695.2294.9595.0794.9894.540.494.8294.6894.8195.2695.1295.1195.0194.8694.630.594.7894.8894.8295.1294.8994.9594.8894.7294.96

注:黑体数字表示高于95%的分类精度.

Table 7 Comparison of the Time Cost of Training the Corresponding Models on Typical Datasets Using Three Loss Functions

表7 典型数据集上使用3种损失函数训练相应模型的时间复杂度对比

数据集模型损失函数分类精度∕%运行时间∕s相对差异∕%Softmax70.328.01ASCCnn9avgAM-Softmax(m=0.5,λ=4)72.727.781.3CS-Softmax(m=0.1,λ=2)72.927.65Softmax94.0929.69CIFAR10ResNet34AM-Softmax(m=0.3,λ=2)94.4330.061.2CS-Softmax(m=0.3,λ=2)95.4629.89Softmax74.0744.28CIFAR100ResNet34AM-Softmax(m=0,λ=12)75.3245.021.9CS-Softmax(m=0.2,λ=6)76.4644.16Softmax99.7312.70MNISTResNet56AM-Softmax(m=0.4,λ=8)99.7912.921.7CS-Softmax(m=0.4,λ=2)99.8112.71

注:黑体数字表示各个模型对应的最高分类精度和最短运行时间.

4 结 论

本文从余弦相似性的角度出发,对全连接层做出了新的解释,并分析了基于余弦相似性的损失函数可以有效减轻使用Softmax损失函数训练时CNNs的早停问题.基于余弦相似性,提出了一种CS-Softmax损失函数.应用该方法,可以通过参数m调整决策边距,使学习到的嵌入表示类内更加紧凑、类间更加远离,判别性更强,并且优化过程可有效区分不同目标,收敛状态更加确定.在典型音频、图像分类数据集上的初步实验表明,该损失函数与Softmax,AM-Softmax损失函数的训练时间成本相当.与Softmax损失函数相比,CS-Softmax损失函数能够明显提升分类性能;与最先进的损失函数相比,CS-Softmax损失函数能够获得相当或更好的分类精度.

作者贡献声明:张强进行了论文相关问题的定义、理论分析、实验设计、编码测试、论文撰写等工作;杨吉斌提出了研究思路,给予了理论分析和论文写作的指导;张雄伟指导了实验方案的设计、论文结构的修改;曹铁勇进行了实验补充设计讨论及论文修改;郑昌艳进行了部分实验测试和整理工作.

参考文献

[1]Giannoulis D, Benetos E, Stowell D, et al. Detection and classification of acoustic scenes and events: An IEEE AASP challenge[C] //Proc of IEEE Workshop on Applications of Signal Processing to Audio and Acoustics. Piscataway, NJ: IEEE, 2013: 18-22

[2]Barchiesi D, Giannoulis D, Stowell D, et al. Acoustic scene classification: Classifying environments from the sounds they produce[J]. IEEE Signal Processing Magazine, 2015, 32(3): 16-34

[3]Mesaros A, Heittola T, Benetos E, et al. Detection and classification of acoustic scenes and events: Outcome of the DCASE 2016 challenge[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2017, 26(2): 379-393

[4]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C] //Proc of the 25th Annual Conf on Advances in Neural Information Processing Systems. Cambridge, MA: MIT Press, 2012: 1106-1114

[5]Karpathy A, Toderici G, Shetty S, et al. Large-scale video classification with convolutional neural networks[C] //Proc of the 27th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2014: 1725-1732

[6]He Kaiming, Gkioxari G, Dollár P, et al. Mask R-CNN[C] //Proc of the 16th IEEE Int Conf on Computer Vision. Los Alamitos, CA: IEEE Computer Society, 2017: 2980-2988

[7]Qi C R, Su Hao, Mo Kaichun, et al. PointNet: Deep learning on point sets for 3D classification and segmentation[C] //Proc of the 30th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2017: 77-85

[8]Tang Xianlun, Du Yiming, Liu Yuwei, et al. Image recognition with conditional deep convolutional generative adversarial networks[J]. Acta Automatica Sinica, 2018, 44(5): 855-864 (in Chinese)(唐贤伦, 杜一铭, 刘雨薇, 等. 基于条件深度卷积生成对抗网络的图像识别方法[J]. 自动化学报, 2018, 44(5): 855-864)

[9]Jia Yingxia, Lang Congyan, Feng Songhe. A semantic segmentation method of traffic scene based on categories-aware domain adaptation[J]. Journal of Computer Research and Development, 2020, 57(4): 876-887 (in Chinese)(贾颖霞, 郎丛妍, 冯松鹤. 基于类别相关的领域自适应交通图像语义分割方法[J]. 计算机研究与发展, 2020, 57(4): 876-887)

[10]Zhang Rui, Li Jintao. A survey on algorithm research of scene parsing based on deep learning[J]. Journal of Computer Research and Development, 2020, 57(4): 859-875 (in Chinese)(张蕊, 李锦涛. 基于深度学习的场景分割算法研究综述[J]. 计算机研究与发展, 2020, 57(4): 859-875)

[11]Taigman Y, Yang Ming, Ranzato M, et al. Deepface: Closing the gap to human-level performance in face verification[C] //Proc of the 27th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2014: 1701-1708

[12]Lecun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324

[13]Luo Jianhao, Wu Jianxin. A survey on fine-grained image categorization using deep convolutional features[J]. Acta Automatica Sinica, 2017, 43(8): 1306-1318 (in Chinese)(罗建豪, 吴建鑫. 基于深度卷积特征的细粒度图像分类研究综述[J]. 自动化学报, 2017, 43(8): 1306-1318)

[14]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint, arXiv:1409.1556, 2014

[15]He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification[C] //Proc of the 15th IEEE Int Conf on Computer Vision. Los Alamitos, CA: IEEE Computer Society, 2015: 1026-1034

[16]Zeiler M D, Fergus R. Stochastic pooling for regularization of deep convolutional neural networks[J]. arXiv preprint, arXiv:1301.3557, 2013

[17]Wan Li, Zeiler M D, Zhang Sixin, et al. Regularization of neural networks using dropconnect[C] //Proc of the 30th Int Conf on Machine Learning. Brookline, MA: Microtome Publishing, 2013: 1058-1066

[18]He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C] //Proc of the 29th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2016: 770-778

[19]Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint, arXiv:1502.03167, 2015

[20]Ba J L, Kiros J R, Hinton G E. Layer normalization[J]. arXiv preprint, arXiv:1607.06450, 2016

[21]Ulyanov D, Vedaldi A, Lempitsky V. Instance normalization: The missing ingredient for fast stylization[J]. arXiv preprint, arXiv:1607.08022, 2016

[22]Wu Yuxin, He Kaiming. Group normalization[C] //Proc of the 15th European Conf on Computer Vision. Berlin: Springer, 2018: 3-19

[23]Li Xiaobin, Wang Weiqiang. Learning discriminative features via weights-biased softmax loss[J]. Pattern Recognition, 2020, 107: 107405

[24]Wen Yandong, Zhang Kaipeng, Li Zhifeng, et al. A discriminative feature learning approach for deep face recognition[C] //Proc of the 14th European Conf on Computer Vision. Berlin: Springer, 2016: 499-515

[25]Liu Weiyang, Wen Yandong, Yu Zhiding, et al. Large-margin softmax loss for convolutional neural networks[C] //Proc of the 33rd Int Conf on Machine Learning. Brookline, MA: Microtome Publishing, 2016: 507-516

[26]Liu Weiyang, Wen Yandong, Yu Zhiding, et al. Sphereface: Deep hypersphere embedding for face recognition[C] //Proc of the 30th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2017: 6738-6746

[27]Wang Feng, Cheng Jian, Liu Weiyang, et al. Additive margin softmax for face verification[J]. IEEE Signal Processing Letters, 2018, 25(7): 926-930

[28]Raia H, Sumit C, Yann L. Dimensionality reduction by learning an invariant mapping[C] //Proc of the 19th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2006:1735-1742

[29]Schroff F, Kalenichenko D, Philbin J. FaceNet: A unified embedding for face recognition and clustering[C] //Proc of the 28th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2015: 815-823

[30]Wang Xun, Han Xintong, Huang Weilin, et al. Multi-similarity loss with general pair weighting for deep metric learning[C] //Proc of the 32nd IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2019: 5022-5030

[31]Sun Yifan, Cheng Changmao, Zhang Yuhan, et al. Circle loss: A unified perspective of pair similarity optimization[C] //Proc of the 33rd IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 6397-6406

[32]Zhang Xiao, Zhao Rui, Qiao Yu, et al. Adacos: Adaptively scaling cosine logits for effectively learning deep face representations[C] //Proc of the 32nd IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2019: 10823-10832

[33]Mesaros A, Heittola T, Virtanen T. Acoustic scene classification in DCASE 2019 challenge: Closed and open set classification and data mismatch setups[C] //Proc of the Detection and Classification of Acoustic Scenes and Events 2019 Workshop. New York: University, 2019: 164-168

[34]Krizhevsky A, Hinton G. Learning multiple layers of features from tiny images[R]. Toronto, Ontario, Canada: University of Toronto, 2009

[35]Hossin M, Sulaiman M N. A review on evaluation metrics for data classification evaluations[J]. International Journal of Data Mining & Knowledge Management Process, 2015, 5(2): 1-11

[36]Kong Qiuqiang, Cao Yin, Iqbal T, et al. Cross-task learning for audio tagging, sound event detection and spatial localization: DCASE 2019 baseline systems[J]. arXiv preprint, arXiv:1904.03476, 2019

[37]Kingma D P, Ba J L. Adam: A method for stochastic optimization[J]. arXiv preprint, arXiv:1412.6980, 2014

[38]Bottou L. Large-scale machine learning with stochastic gradient descent[C] //Proc of COMPSTAT’2010. Heidelberg: Physica-Verlag, 2010: 177-186

[39]Wan Mou, Wang Rui, Wang Bolun, et al. Ciaic-ASC system for DCASE 2019 challenge task1[R/OL]. (2019-06-10) [2020-10-31]. http://dcase.community/documents/challenge2019/technical_reports/DCASE2019_Mou_41_t1.pdf

[40]Liang Han, Ma Yaxiong. Acoustic scene classification using attention-based convolutional neural network[R/OL]. (2019-06-10) [2020-10-31]. http://dcase.community/documents/challenge2019/technical_reports/DCASE2019_Liang_3. pdf

[41]Ma Xinxin, Gu Mingliang, Ma Yong. Jsnu_wdxy submission for DCASE2019: Acoustic scene classification with convolution neural networks[R/OL]. (2019-06-10) [2020-10-31]. http://dcase.community/documents/challenge2019/technical_reports/DCASE2019_JSNU_29.pdf

[42]Bilot V, Duong N Q K, Ozerov A. Acoustic scene classification with multiple instance learning and fusion[R/OL]. (2019-06-10) [2020-10-31]. http://dcase.community/documents/challenge2019/technical_reports/DCASE2019_Bilot_47.pdf

[43]Springenberg J T, Dosovitskiy A, Brox T, et al. Striving for simplicity: The all convolutional net[J]. arXiv preprint, arXiv:1412.6806, 2014

[44]Romero A, Ballas N, Kahou S E, et al. Fitnets: Hints for thin deep nets[J]. arXiv preprint, arXiv:1412.6550, 2014

[45]Lee C Y, Xie Saining, Gallagher P, et al. Deeply-supervised nets[C] //Proc of the 18th Int Conf on Artificial Intelligence and Statistics. Brookline, MA: Microtome Publishing, 2015: 562-570

[46]Lin Min, Chen Qiang, Yan Shuicheng. Network in network[J]. arXiv preprint, arXiv:1312.4400, 2013

[47]Goodfellow I J, Warde-Farley D, Mirza M, et al. Maxout networks[C] //Proc of the 30th Int Conf on Machine Learning. Brookline, MA: Microtome Publishing, 2013: 1319-1327

[48]Liang Ming, Hu Xiaolin. Recurrent convolutional neural network for object recognition[C] //Proc of the 28th IEEE Computer Society Conf on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2015: 3367-3375

[49]Lee C Y, Gallagher P W, Tu Zhuowen. Generalizing pooling functions in convolutional neural networks: Mixed, gated, and tree[C] //Proc of the 19th Int Conf on Artificial Intelligence and Statistics. Brookline, MA: Microtome Publishing, 2016: 464-472

[50]Jarrett K, Kavukcuoglu K, Ranzato M, et al. What is the best multi-stage architecture for object recognition[C] //Proc of the 12th IEEE Int Conf on Computer Vision. Los Alamitos, CA: IEEE Computer Society, 2009: 2146-2153

[51]He Lanqing, Wang Zhongdao, Li Yali, et al. Softmax dissection: Towards understanding intra- and inter-class objective for embedding learning[C] //Proc of the 34th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 10957-10964

CS-Softmax: A Cosine Similarity-Based Softmax Loss Function

Zhang Qiang1, Yang Jibin2, Zhang Xiongwei2, Cao Tieyong2, and Zheng Changyan3

1(Graduate School, Army Engineering University, Nanjing 210007)

2(School of Command and Control Engineering, Army Engineering University, Nanjing 210007)

3(High-Tech Institute, Qingzhou, Shandong 262500)

Abstract Convolutional neural networks (CNNs)-based classification framework has achieved significant effects in pattern classification tasks, where the Softmax function with the cross-entropy loss (Softmax loss) can make CNNs learn separable embeddings. However, for some multi-classification problems, training with Softmax loss does not encourage increasing intra-class compactness and inter-class separability, which means it hardly generates the embedding with strong discriminability, making it hard to improve the performance further. In order to enhance the discriminability of learned embeddings, a cosine similarity-based Softmax (CS-Softmax) loss function is proposed. Without changing the network structure, the CS-Softmax loss introduces some parameters such as margin factor, scale factor and weight update factor to calculate the positive similarity and negative similarity between embeddings and different class weights based on the Softmax loss, so as to achieve the objectives of enhancing intra-class compactness and inter-class separability. Furthermore, the size of classification decision margin can be modified flexibly. These characteristics further enhance the discriminability of learned embeddings in CNNs. Classification experimental results on typical audio and image datasets show that the CS-Softmax loss can effectively improve the classification performance without increasing the computational complexity. The classification accuracies of the proposed loss are 99.81%, 95.46%, and 76.46% on the MNIST, CIFAR10, and CIFAR100 classification tasks, respectively.

Key words pattern classification; convolutional neural networks (CNNs); loss function; Softmax; cosine similarity

中图法分类号 TP391.4

收稿日期2020-10-31;

修回日期:2021-04-16

基金项目国家自然科学基金项目(62071484)

This work was supported by the National Natural Science Foundation of China (62071484).

通信作者杨吉斌(yjbice@sina.com)

Zhang Qiang, born in 1991. PhD candidate. His main research interests include machine learning, pattern recognition, acoustic signal processing and image processing.

张 强,1991年生.博士研究生.主要研究方向为机器学习、模式识别、声信号处理和图像处理.

Yang Jibin, born in 1978. PhD, associate professor. His main research interests include acoustic signal processing, machine learning and pattern recognition.

杨吉斌,1978年生.博士,副教授.主要研究方向为声信号处理、机器学习和模式识别.

Zhang Xiongwei, born in 1965. PhD, professor. His main research interests include speech signal processing, machine learning and pattern recognition.

张雄伟,1965年生.博士,教授.主要研究方向为语音信号处理、机器学习和模式识别.

Cao Tieyong, born in 1971. PhD, professor. Member of CCF. His main research interests include signal processing, machine learning and image processing.

曹铁勇,1971年生.博士,教授,CCF会员.主要研究方向为信号处理、机器学习和图像处理.

Zheng Changyan, born in 1990. PhD, lecturer. Her main research interests include machine learning, pattern recognition and speech signal processing.

郑昌艳,1990年生.博士,讲师.主要研究方向为机器学习、模式识别和语音信号处理.