本发明专利技术提供了一种面向长尾分布场景下图片分类的模型训练方法,包括:构建第一损失函数,用于加入原型归一化以及角域上与类别数量相关的带有边界的交叉熵分类损失;构建第二损失函数,使得各个类别的原型分散的更加均匀的,与类别数量相关最小角度最大化的正则项损失;构建第三损失函数,用于帮助模型有效训练的特征向量模长大小的正则化损失;将第一损失函数、第二损失函数、第三损失函数组合起来得到最终的损失函数Loss。本发明专利技术的有益效果是:本发明专利技术可以避免训练数据不均衡带来的模型先验偏差的问题以及进一步提升模型在测试集上的泛化性,从而在长尾分布场景下提升图片分类准确率。景下提升图片分类准确率。景下提升图片分类准确率。
【技术实现步骤摘要】
一种面向长尾分布场景下图片分类的模型训练方法
[0001]本专利技术涉及图像处理
,尤其涉及一种面向长尾分布场景下图片分类的模型训练方法。
技术介绍
[0002]深度学习在图片分类领域已经取得了巨大的成功,但是现有的技术选择的实验环境过于理想,在训练数据中每一类的数量都是相同的。但是在实际场景下数据中各个类别的数量分布更倾向于趋于长尾分布,长尾分布中部分类别的数据量比较大称为头类,而与之对应的数据量比较小的类称为尾类。而在测试模型时因为要求模型对于每个类别都能学习到好的分类结果而会使用每个类别数量相同的测试集。在这种场景下,传统的分类方法的效果就会大打折扣。因此如何解决长尾分布下的分类问题是将深度学习技术投入到实际场景的至关重要的一步。
[0003]目前普通的使用softmax和交叉熵损失的图片分类方法在长尾场景下的表现会比较差。虽然已有了一种针对长文分布场景下的分类方法,主要包括一些重平衡的方法以及两阶段的方法,但是普通的重平衡的方法会容易过拟合到训练数据集上而导致泛化性较差,而两阶段的方法则会面临训练与测试时决策边界不一致的问题。
技术实现思路
[0004]为了解决现有技术中的问题,本专利技术提供了一种面向长尾分布场景下图片分类的模型训练方法,解决图片数据在长尾分布的场景下尾类的分类效果差的问题。
[0005]本专利技术提供了一种面向长尾分布场景下图片分类的模型训练方法,该模型训练方法表现为一个损失函数在端到端的模型训练下提升图片分类的准确率,该模型训练方法包括如下步骤:第一损失函数构建步骤:构建第一损失函数,用于加入原型归一化以及角域上与类别数量相关的带有边界的交叉熵分类损失;第二损失函数构建步骤:构建第二损失函数,使得各个类别的原型分散的更加均匀的,与类别数量相关最小角度最大化的正则项损失;第三损失函数构建步骤:构建第三损失函数,用于帮助模型有效训练的特征向量模长大小的正则化损失;最终损失函数构建步骤:将第一损失函数、第二损失函数、第三损失函数组合起来得到最终的损失函数Loss,,其中和为超参数。
[0006]作为本专利技术的进一步改进,每个类别所采用的边界通过计算得到,其中,m表示超参数,m决定了边界的大小,θy代表的是第y类的边界角度的大小,k为4,ny代
表的是第y个类别的训练样本的数量。
[0007]作为本专利技术的进一步改进,在所述第一损失函数构建步骤中,计算得到分类损失的公式为:P(y|x)代表的是把图片的特征向量x归为第y类的概率,s是一个超参数,x为提取到的图片的特征向量,c是第c个类别,y是一个类别,θy代表的是第y类的边界角度的大小,θwy,x代表的是提取到的图片的特征向量和第y个类别的原型的向量的夹角大小,θwc,x代表的是提取到的图片的特征向量和第c个类别的原型的向量的夹角大小;N代表的是训练样本的总数量,yi代表的是第i个训练样本的标签,xi代表的是第i张训练图片的特征向量,p(yi|xi)是把第i张训练图片的特征向量分为第yi类的概率,由上面的公式计算得到。
[0008]作为本专利技术的进一步改进,在所述第二损失函数构建步骤中,计算与类别数量相关最小角度最大化的正则项损失的公式为:Weighti表示每个类别的权重,wi代表标准化后的第i个类别的原型的向量,wj代表标准化后的第j个类别的原型的向量,C代表的是类别的总数量,ni和nj代表第i类和第 j类的训练样本的数量,k取4。
[0009]作为本专利技术的进一步改进,在所述第三损失函数构建步骤中,计算向量模长大小的正则化损失的公式为:,其中N代表训练样本的数量,|| ||代表向量的长度,g(x)为一个函数,x代表提取到的图片的特征向量。
[0010]本专利技术还提供了一种图片分类方法,包括如下步骤:输入步骤:将图片输入本专利技术所述模型训练方法的损失函数Loss中;分类步骤:通过损失函数Loss对图片进行分类;输出步骤:将分类的图片进行分类显示或存储。
[0011]本专利技术还提供了一种图片分类系统,包括:输入模块:用于将图片输入本专利技术所述模型训练方法的损失函数Loss中;分类模块:用于通过损失函数Loss对图片进行分类;
输出模块:用于将分类的图片进行分类显示或存储。
[0012]本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本专利技术所述的图片分类方法的步骤。
[0013]本专利技术的有益效果是:本专利技术可以在保证训练与测试时决策边界相同的情况下避免训练数据不均衡带来的模型先验偏差的问题以及进一步提升模型在测试集上的泛化性,从而在长尾分布场景下提升图片分类准确率。
附图说明
[0014]图1是本专利技术的方法流程图。
具体实施方式
[0015]本专利技术公开了一种面向长尾分布场景下图片分类的模型训练方法,该模型训练方法具体表现为一个损失函数可以在端到端的模型训练下提升整体的分类准确率。
[0016]现有的研究指出在不均衡的训练集上进行训练时每个类别的模长的大小会有比较大的差别,而这会导致模型在分类时会更倾向于将一个新的样本分为头类。为了解决这个问题本专利技术采取了一种原型模长归一化的训练与测试方法,同时为了解决训练时面临的不同类别的原型之间角度较小的问题,本专利技术还采用了一种各个类别的原型分散的更加均匀的类别相关的最小角度最大化的方法,最后为了帮助模型更好地进行训练还加入了一个针对特征向量模长大小的正则化损失。
[0017]现有的研究指出在不均衡的训练集上进行训练时每个类别的模长的大小会有比较大的差别,而这会导致模型在分类时会更倾向于将一个新的样本分为头类。为了解决这个问题本专利技术采取了一种原型模长归一化的训练与测试方法,同时为了解决训练时面临的不同类别的原型之间角度较小的问题,本专利技术还采用了一种各个类别的原型分散的更加均匀的类别相关的最小角度最大化的方法,最后为了帮助模型更好地进行训练还加入了一个针对特征向量模长大小的正则化损失。
[0018]下面首先介绍损失函数的第一部分,第一部分为一个加入了原型归一化以及角域上与类别数量相关的margin(边界)的softmax
ꢀ‑ꢀ
cross entropy分类损失,这里的原型归一化是为了消除数据不均衡为模型带来的先验偏差。而margin则是为了提高模型的泛化性,这里加上的margin大小是和类别的数量相关的,因为对于类别少的尾类而言测试数据分布在训练数据外的概率更大一些因此在训练时的加入更大的margin会更有利于测试集上的泛化。其中每个类别所采用的margin通过计算得到。而margin选择加在角域上也是参考了现有的其他领域的研究。
[0019][0019]损失函数的第二部分为一个使得各个类别的原型分散的更加均匀的与类别数量
相关最小角度最大化的正则项约束。根据我们的实验发现使用原型归一化的损失函数进行训练时可能会面临不同类型的原型之间夹角过小的问题,而现有的研究表明原型在空间中分布的更均匀会更有利于模型本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种面向长尾分布场景下图片分类的模型训练方法,其特征在于,该模型训练方法表现为一个损失函数在端到端的模型训练下提升图片分类的准确率,该模型训练方法包括如下步骤:第一损失函数构建步骤:构建第一损失函数,用于加入原型归一化以及角域上与类别数量相关的带有边界的交叉熵分类损失;第二损失函数构建步骤:构建第二损失函数,使得各个类别的原型分散的更加均匀的,与类别数量相关最小角度最大化的正则项损失;第三损失函数构建步骤:构建第三损失函数,用于帮助模型有效训练的特征向量模长大小的正则化损失;最终损失函数构建步骤:将第一损失函数、第二损失函数、第三损失函数组合起来得到最终的损失函数Loss,,其中和为超参数。2.根据权利要求1所述的模型训练方法,其特征在于,每个类别所采用的边界通过计算得到,其中,m表示超参数,m决定了边界的大小,θy代表的是第y类的边界角度的大小,k为4,ny代表的是第y个类别的训练样本的数量。3.根据权利要求1所述的模型训练方法,其特征在于,在所述第一损失函数构建步骤中,计算得到分类损失的公式为:P(y|x)代表的是把图片的特征向量x归为第y类的概率,s是一个超参数,x为提取到的图片的特征向量,c是第c个类别,y是一个类别,θy代表的是第y类的边界角度的大小,θwy,x代表的是提取到的图片的特征向量和第y个类别的原型的向量的夹角大小,θwc,x代表的是提取到的图片的特征向量和第c个类别的原型的向量的夹角大小;N代表的是训练样本的总数量,yi代表的是第i个训练样本的标签...
【专利技术属性】
技术研发人员:高翠芸,高树政,王轩,陈清财,刘川意,廖清,罗文坚,王朝正,
申请(专利权)人:哈尔滨工业大学深圳哈尔滨工业大学深圳科技创新研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。