CN110909785A - 基于语义层级的多任务Triplet损失函数学习方法 - Google Patents
基于语义层级的多任务Triplet损失函数学习方法 Download PDFInfo
- Publication number
- CN110909785A CN110909785A CN201911124067.5A CN201911124067A CN110909785A CN 110909785 A CN110909785 A CN 110909785A CN 201911124067 A CN201911124067 A CN 201911124067A CN 110909785 A CN110909785 A CN 110909785A
- Authority
- CN
- China
- Prior art keywords
- network
- coarse
- class
- fine
- semantic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于语义层级的多任务Triplet损失函数学习方法,为数据库构建语义层级网络,语义层级进行triplets采样,对多任务Triplet网络训练,利用树分类器进行多任务分类。本发明针对Triplet网络多层次化训练的问题,提出了一种将语义层级网络与Triplet相结合的损失函数,利用语义知识指导网络层次化的区分样本结构,学习到一种包含语义层级信息且泛化性更强Triplet特征,有效的运用在多任务学习中,提升了不同语义层次下的特征可分性。同时,研究了一种新的层级化采样方法,使得网络能够挖掘到更有效的hard triplets,最终提升网络的性能。
Description
技术领域
本发明涉及机器学习和图像识别领域,尤其涉及基于语义层级的多任务Triplet损失函数学习。
背景技术
随着卷积神经网络计算量和任务复杂度的增加,传统的学习方法已经显示出了诸多不足,而度量学习通过计算图像之间的相似度来更新网络参数,已经成为应用在此领域内的一种有效检索相似图像的方法。度量学习的目的是计算图像之间的相似度,在特征空间中分离异类图像并聚集同类图像,最终学习出可区分性较强的图像特征。传统的softmax损失函数的目标是将不同类别的数据特征分别压缩到特征空间的某个范围,因此类间差异没有得到保留,但是这种差异性对于查找视觉和语义相似的实例却是至关重要。因此度量学习就通过从不同实例中进行差异学习来弥补这一不足,类内方差也同时得以保留。尽管在度量学习中学习的特征能够有效地检索到相似示例,但其分类精度可能会低于强调分类损失的模型。因此也有很多研究将两种损失结合起来进行网络学习,这样不仅可以有效地找到相似的实例,而且可以获得更准确的分类精度。
最经典的度量学习方法之一Triplet网络通常需要输入一个三元组triplets(包括 anchor,positive,negative三个样本),其中positive与anchor来自同一类别,negative 与anchor来自不同类别。该网络的损失函数引入了两种输入的差异性度量,还使用阈值来灵活控制样本之间的距离。因此,当两个输入相似时,Triplet损失函数可以更好地为细节建模并学习更好的特征表示。因此,Triplet网络可以训练出高区分性的样本特征,这将在许多领域发挥巨大作用,尤其是在细粒度图像任务中。但是Triplet网络也存在缺点,例如,网络的损失函数收敛缓慢,采样方法对网络的影响太大,这些缺陷使得网络在很大程度上取决于所选tripets的可用性。除此之外,Triplet网络还很难在大规模数据集上进行训练。随着样本数量和类型的增加,网络将生成许多对训练没有帮助的triplets。因此,在细粒度图像中训练Triplet网络是一项非常具有挑战性的任务。
Triplet网络在细粒度图像领域的应用领域,研究发现在Tripet网络的发展中,大多数研究只关注一个语义层级下的类别信息。随着多任务学习需求的增加,在不同语义相关程度上定位相似细粒度特征非常重要。以正在研究的兰科植物识别为例,尽管区分不同的兰科物种是任务的目的,但同一兰科属下的物种之间仍然存在某些相似性。因此,当专注于兰科植物属的分类时,还将注意这些物种之间的相似性,这要求在更抽象的层次上定位不同的植物类别,所以这非常值得将样本的语义层级信息引入到度量学习中。语义层级实际上是根据逻辑上的从属关系来组织各种属概念的,该概念的层次越高,抽象概括的层次越高。由于传统的softmax忽略了类间相关性,因此很多研究在大规模和细粒度数据库中使用语义层级来组织类内相似性和类间差异性。因此如果将这种结构应用到“度量学习”中,就可以学习到不同层级下的样本相似性,这将为更复杂的任务提供更通用的Triplet特征。
发明内容
为了克服现有技术的不足,本发明提供一种基于语义层级的多任务Triplet损失函数学习方法。本发明使用语义层级来构造一种新的多任务Triplet损失函数,使用该损失函数,可以学习具有分层信息的广义Tripet特征,该特征有效地用于多任务学习中,以提高不同语义层级下的特征可分性。同时,还研究了一种新的语义层级采样方法,使网络能够挖掘更有效的hard triplets(较难分的triplets)从而提高网络性能。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:为数据库构建语义层级网络;
对于一个数据库,构建一个两层级语义层级网络,将数据库中已知的图像类别称作细类,作为语义层次结构的第二层,然后根据类别之间的视觉相似度或语义关系将细类归纳到新的类别中得到粗类,作为语义层次结构的第一层;
步骤2:语义层级triplets采样;
在将图像输入到Triplet网络训练之前,需要获取包含anchor,positive和negative 的triplets对,其中,anchor表示选择的参考图像,positive为和anchor来自于同一类别的图像,negative为和anchor来自不同类别的图像,计算相似度损失,从而进行网络训练;根据步骤1的语义层级关系,进行采样,采样的具体步骤如下:
采用balanced sampling,即对于整个数据集,先采样m个粗类,然后在每个粗类中采样n个细类,在每个细类中再采样t个样本,因此,每一次训练的batch中包含 m*n*t个样本;
步骤3:多任务Triplet网络训练;
采样完成后,将采样后的样本输入到网络中进行训练;假设x是输入图像,作为anchor图像,是和anchor来自同一类别的positive图像,是和anchor来自不同类别的negative图像,网络利用三个图像组成的Triplets对用公式(1) 计算最小化网络的损失,若总共输入N张训练图像,则Triplet损失函数如下式:
其中,阈值m控制同类聚集和异类分离的程度,表示margin的大小,m值范围在1-10之间;公式(1)最小化的要求为:
是和anchor来自同一细类的positive图像,是和anchor来自不同细类的negative图像,是和anchor来自不同粗类的negative图像,网络利用四个图像组成的quadruplets最小化网络的损失,在细类层级采用和式(1)相同的triplet损失,在粗类层级引入一个新的限制项,用于限制样本和不同粗类图像之间的距离,则多任务Triplet函数为:
其中,其中f(.)表示输入一张图像后,CNN最后一层全连接层所输出的特征向量,mf表示细类margin,控制细类之间图像的聚集度和分离度,mc表示粗类margin,控制粗类之间的分离度,mf以相对距离控制细类,mc以绝对距离控制粗类,λ为权重;
梯度计算为:
以梯度更新网络的参数,使得网络的损失最小化;
步骤4:树分类器进行多任务分类;
在网络训练完成后得到多任务Triplet特征,构建一个树分类器对特征进行简单的分类,结合两层语义结构和softmax构建一个层次化的softmax树分类器,即在CNN 的最后一层分类层并联粗分类softmax层和细分类softmax层,同时进行粗类和细类损失的计算和分类结果输出,从而实现多任务分类,细分类和粗分类的概率计算为:
假如将l类记为任意一类,其中为输入到粗分类器的特征值,为输入到细分类器的特征值,P表示总的粗分类概率,而Cl和Fl分别表示图像x被分类到的特定的粗类 l和细类l的类别,M是属的总数,N代表图像被分类到的粗类任务组,精细分类预测分数应由粗层预测分数和细层预测分数共同确定;
当分类器中各类概率计算出来后,概率值最大值所对应的类别,即为所对应的类别。
其中B表示选取的batch,M表示batchsize的大小。
本发明有益效果在于针对Triplet网络多层次化训练的问题,提出了一种将语义层级网络与Triplet相结合的损失函数,利用语义知识指导网络层次化的区分样本结构,学习到一种包含语义层级信息且泛化性更强Triplet特征,可以有效的运用在多任务学习中,提升了不同语义层次下的特征可分性。同时,研究了一种新的层级化采样方法,使得网络能够挖掘到更有效的hard triplets,最终提升网络的性能。
附图说明
图1(a)为本发明中subset of Orchid2608数据库的两层语义层次结构;图1(b)为Fashion60数据库的两层语义层次结构;图1(c)为CUB200-2011数据库的两层语义层次结构。
图2为本发明中基于语义层级采样方式的不同采样空间示意图。
图3为本发明中的多任务Triplet网络结构示意图。
图4为树分类器结构示意图。
图5为本发明的多任务Triplet与传统Triplet、Structured label方法所提取样本粗类特征在训练集上的可分性对比。图5(a)为传统Triplet+sofmax分类器训练特征;图5(b)为Structured label+树分类器训练特征;图5(c)多任务Triplet+树分类器训练特征。
图6为本发明的多任务Triplet与传统Triplet、Structured label方法所提取样本粗类特征在测试集上的可分性对比。图6(a)为传统Triplet+sofmax分类器训练特征;图6(b)为Structured label+树分类器训练特征;图6(c)多任务Triplet+树分类器训练特征。
图7为本发明的多任务Triplet与传统Triplet、Structured label方法所提取样本细类特征在训练集上的可分性对比。图7(a)为传统Triplet+sofmax分类器训练特征;图7(b)为Structured label+树分类器训练特征;图7(c)多任务Triplet+树分类器训练特征。
图8为本发明的多任务Triplet与传统Triplet、Structured label方法所提取样本细类特征在测试集上的可分性对比。图8(a)为传统Triplet+sofmax分类器训练特征;图8(b)为Structured label+树分类器训练特征;图5(c)多任务Triplet+树分类器训练特征。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
为了使发明实现的技术手段、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
本发明提出的损失函数仅关注度量学习部分以提供更有效和可分离的图像特征,它将为图像识别和检索等机器学习领域提供更有效的应用。
本发明针对Triplet网络在细粒度图像领域的应用领域,研究发现在Tripet网络的发展中,大多数研究只关注一个语义层级下的类别信息。随着多任务学习需求的增加,在不同语义相关程度上定位相似细粒度特征非常重要,所以这非常值得将样本的语义层级信息引入到度量学习中,从而可以学习到不同层级下的样本相似性,这将为更复杂的任务提供更通用的Triplet特征。
步骤1:为数据库构建语义层级网络;
对于一个数据库,构建一个两层级语义层级网络,将数据库中已知的图像类别称作细类,作为语义层次结构的第二层,然后根据类别之间的视觉相似度或语义关系将细类归纳到新的类别中得到粗类,作为语义层次结构的第一层;
语义层级网络中各类属概念按逻辑的上下级关系组织在一起,网络中第一层的概念更抽象,类别间具有较大的类内视觉差异,第二层的概念更具体,类别间具有较小的类内视觉差异,由此,语义层次网络将差异性大的粗类分开,指导网络区分不同的粗类;同时将更相似的细类聚集起来,使网络更加关注到相似细类中存在的hard triplets 样本;
本发明以自然体系为参考,为三种细粒度图像数据库分别构建一种有效的语义层级网络。本发明构建了包含250个类别的兰科植物数据库Subset of Orchid,参考兰科植物自然语义关系构造了一个两层语义结构,如图1(a)所示,8个粗类代表兰科植物的 8个属,250个子类代表每个属下的的兰科植物种类;本发明构建了包含60个服装类别的Fashion60数据库,参考功能关系建立的两级语义结构如图1(b)所示。5个粗类别代表5种服装类别,60个子类别代表不同服装功能下的特定服装类别;本发明还选用公开数据库,对于包含200种鸟类的Caltech-UCSD Birds-200-2011数据库,参照鸟类的自然语义关系构建了一个两层语义结构,如图1(c)所示,8个粗类代表8种鸟类属,200 个子类代表每种属下的鸟类物种。
步骤2:语义层级triplets采样;
在将图像输入到Triplet网络训练之前,需要获取包含anchor,positive和negative的 triplets对,其中,anchor表示选择的参考图像,positive为和anchor来自于同一类别的图像,negative为和anchor来自不同类别的图像,计算相似度损失,从而进行网络训练;根据步骤1的语义层级关系,进行采样,使得网络挖掘到更多有效的hard triplets来提升网络性能,采样的具体步骤如下:
由于多任务Triplet网络需要在训练的时候同时兼顾粗类和细类层级下的图像相似度,所以需要利用到两个层级的标签信息,因此,在采样的时候采用balanced sampling,即对于整个数据集,先采样m个粗类,然后在每个粗类中采样n个细类,在每个细类中再采样t个样本,因此,每一次训练的batch中包含m*n*t个样本,故在训练的过程中,同时利用到粗类和细类的样本信息,获得更加均衡的样本分部;
步骤3:多任务Triplet网络训练;
采样完成后,将采样后的样本输入到网络中进行训练;假设x是输入图像,作为anchor图像,是和anchor来自同一类别的positive图像,是和anchor来自不同类别的negative图像,网络利用三个图像组成的Triplets对用公式(1)计算最小化网络的损失,从而达到训练的目的;若总共输入N张训练图像,则Triplet损失函数如下式:
其中,阈值m控制同类聚集和异类分离的程度,表示margin的大小,使得negative与anchor的距离大于阈值m,m太小不够把negative和anchor分开,太大的m使得损失函数难以收敛,m值范围在1-10之间;公式(1)最小化的要求为:
是和anchor来自同一细类的positive图像,是和anchor来自不同细类的negative图像,是和anchor来自不同粗类的negative图像,网络利用四个图像组成的quadruplets最小化网络的损失,在细类层级采用和式(1)相同的triplet损失,在粗类层级引入一个新的限制项,用于限制样本和不同粗类图像之间的距离,则多任务Triplet函数为:
其中,其中f(.)表示输入一张图像后,CNN最后一层全连接层所输出的特征向量,mf表示细类margin,控制细类之间图像的聚集度和分离度,mc表示粗类margin,控制粗类之间的分离度,mf以相对距离控制细类,mc以绝对距离控制粗类,这样设置有利于控制不同层级之间的训练程度,更加灵活的控制粗类分类,且不会它影响到下一级的细类分类。为了进一步控制两层级信息,设置λ作为权重控制细类和粗类损失对整体损失的贡献程度;
因此,控制同细类之间的特征更加聚集,异细类和异粗类之间的特征更加分离,在控制不同粗类特征时指导细类特征且不影响不同细类之间的区分,两部分的损失相结合,共同指导网络学习出来具有层级信息、泛化性更强并且可分性更高的triplet特征;
梯度计算为:
以梯度用来更新网络的参数,使得网络的损失最小化。
有以下作用:(1)粗类的标签有一定的知识指导作用,可以指导网络学习到更加丰富且有效的信息。由于粗类标签的引入使得网络可以有效地关注到在粗类层级下样本之间的可分性,并且只关注粗类之间的分离,而不聚集同粗类的特征,因此不会对下一层细类分类产生影响。(2)粗类之间的限制使得每一种粗类下的样本相比于之前的样本相对距离更加接近,产生更多的hard triplets,同时也使得之前的hard triplets更加难以区分,这些triplets产生的损失梯度更大,因此网络在训练的过程中可以更加有效地关注到这些难分的样本,从而提升细类层级下样本之间的可分性。(3)层次化样本信息的引入使得我们可以训练得到泛化性更强的triplet 特征,这样的特征能够在不同程度的相关性上定位类似图像,可以很好地用于多任务检索和分类等机器学习任务中。
步骤4:树分类器进行多任务分类;
在网络训练完成后得到多任务Triplet特征,构建一个树分类器对特征进行简单的分类,如图4所示,结合两层语义结构和softmax构建一个层次化的softmax树分类器,即在CNN的最后一层分类层并联粗分类softmax层和细分类softmax层,同时进行粗类和细类损失的计算和分类结果输出,从而实现多任务分类,细分类和粗分类的概率计算为:
假如将l类记为任意一类,其中为输入到粗分类器的特征值,为输入到细分类器的特征值,P表示总的粗分类概率,而Cl和Fl分别表示图像x被分类到的特定的粗类l 和细类l的类别,M是属的总数,N代表图像被分类到的粗类任务组,精细分类预测分数应由粗层预测分数和细层预测分数共同确定;
当分类器中各类概率计算出来后,概率值最大值所对应的类别,即为对应的类别。
当使用树分类器对多任务Triplet特征进行分类时,保证某个粗分类下的一个细分类不受到其他粗分类中其他细分类的影响,因此网络仅关注同一粗分类下的困难样本,同时,树分类器可以同时输出两个级别的分类任务,实现了兼具分类精度和语义层级信息的多任务学习。
所述步骤2中,利用一般的采样方式只能随机采样到海量的triplets对,然而真正对网络训练有效果的是那些hard tripets(negative到anchor比positive到anchor距离加上margin小),过多的easy triplets占用训练资源,且降低网络的训练效率。所以为了进一步提升采样样本的有效性,关注hard triplets的样本分布,基于语义层次结构,发现在每一种粗类下的样本子空间中,细类之间的差异小,样本的相似度高,所以存在着更多的hardtriplets。于是迭代从每一种粗类中进行采样,对于每一个粗类下的样本子空间,采样k个细类,每一个细类中采样l个样本,因此,每一次训练的batch中包含k*l 个样本,这样就可以更加有效地挖掘到batch中hard triplets,将此种采样方式结合到 balanced sampling中,有效地用于多任务Triplet网络中进行训练;
将计算损失的公式(3)扩展到batch训练中,在一个batch里寻找所有符合匹配的细类triplets和粗类在细类和粗类的层级上分别计算网络产生的损失,以充分挖掘batch中最大损失,网络的损失函数如下式所示:
其中B表示选取的batch,M表示batchsize的大小。在实际应用中,在线选取batch训练既节省计算资源又可以得到可分性更好的特征。
如果想要构建多层结构,将精细分类的损失作为最抽象最低级别的损失进行替换,并将粗分类的损失作为其他层的损失进行替换,以便获得相同的训练效果。
第一部分,为了验证本发明所提出损失函数的有效性,首先训练一个传统的Triplet 网络作为基准,选择structure label网络(将不同层级的Triplet损失仅做简单加和的一种方法)作为对比方法,在样本的可分性上进行比较。为了更清楚的展示图像特征的可分性,将特征进行了可视化,然后将特征用于分类任务上,展示了最终的分类结果。第二部分试验中,为了验证语义层级采样方法的有效性,选择传统的Triplet采样方法作为基准,选择hard sample作为对比方法,在样本的可分性上进行了比较,同时展示了loss变化曲线,已说明本发明所选取hard triplets的有效性。第三部分,讨论超参数对损失函数的影响,以选取最优参数。
训练时采用的基础CNN网络架构是Alexnet,并且在特征层去掉relu,linear层去掉 dropout,实验证明这样的网络结构效果最好,最后利用树分类器进行最终的分类。初始学习率设置为0.001,Margin设置为10。使用三种数据库,并分别相应的一些实验结果和分析。所有的实验都是在深度学习框架pytorch上进行,使用的GPU为GeForce GTX 1080。
1.多任务Triplet
选择上述最优结构的CNN网络架构,利用本发明中提出的算法和另外两种方法对网络进行训练。为了证明本发明损失函数的有效性,这几种方法采样方式都采用 balancedsampling,triplets匹配方式为all possible triplets。为了对特征进行准确的可视化,训练两维的特征,然后将特征表示出来。
在Orchid数据集中,选取5类粗类的特征,三种方法在训练集和测试集上的特征分别如图5和图6所示。对于细类来说,选取前10类细类,并将他们的特征表示出来,如图7和图8所示。
由特征图可以看出,本发明算法和传统Triplet、structured label方法相比同时提升了粗类和细类图像特征的可分性,同类之间的样本特征更加聚集,不同类之间的样本特征更加分离。这也说明了这种训练方式的有效性,猜测类可分性的提升是因为粗类语义引入的知识导向作用,而细类可分性的提升不仅是因为层次化信息的丰富,也是粗类限制项在一定程度上促使细类之间产生更多的hard triplets,这也促使网络更加关注和学习这些更加难分的样本,从而提升特征之间的可分性。可分性优于structured label可能是因为两层的triplet损失直接加和会在一定程度上产生限制,而仅仅引入粗类间的差异限制项会更加灵活,不会影响细类特征的分离,从而更好的嵌入层次化的结构。
为了进一步证明本算法的有效性,用softmax分类器对特征进行多任务分类,同时输出粗类和细类的分类结果,其中,粗类的输出为8类,细类的输出为250类。以下分别三种方法在三个数据库上的分类结果:
表1 Orchid数据库分类结果
表2 Fashion60数据库分类结果
表3 CUB200数据库分类结果
由以上的分类结果可以看出,本发明相较于传统的Triplet和structured label方法在粗类和细类上都提升了特征的可分性。其次,在Orchid数据库中的分类提升效果大于Fashion60 数据库中的提升效果,分析这可能是由于Orchid数据库的细类较多,粗类之间相似度较小,所以利用这种语义层级损失可以更好的关注到hard triplets,区分相似的图像,从而提升训练效果。而Fashion60数据库的细类较少,粗类之间相似度较大,网络中本身需要区分的hard triplets相对来说就会少一点,所以利用这种语义层次结构带来的提升效果相对来说不是很明显。所以猜测这种训练方法能够使得网络在学习的时候更适用于细粒度图像分类。
利用粗类和细类的预训练对三种方法的影响,以下实验在Orchid数据库上进行。
表4 粗类预训练后的Orchid数据库分类结果
表5 细类预训练后的Orchid数据库分类结果
由实验结果可以看出,细类预训练对于多任务Triplet的细类提升效果较好,这可能是因为对于细粒度图像相似度很高,预训练细类有利于区分细粒度样本的类别。
2.语义层级采样
为了进一步展示语义层级采样的效果,分别选取一般的Triplets采样方式作为基准,hard sampling作为对比方法,分类的准确率如下表所示:
表6 应用不同采样方式的Orchid数据库分类结果
由以上表格可以看出,本发明得到更高的准确率,这是因为迭代从粗类中采样的过程中,在相似图像的样本空间中采样得到更多有效的hard triplets,从而提升网络训练的有效性。
同时,将三种方法损失的变化记录下来如下表所示:
表7 应用不同采样方式的损失变化(1-40轮之间的训练)
可以清楚地看到,本发明采样方法选择到了使得损失更大的triplets,从而网络也会趋向于学习使得梯度更小的样本,更加关注难分的特征。
3.阈值控制
以下为超参数对于多任务Triplet的影响。首先不设置权重λ,仅讨论m的影响,实验结果如下表所示:
表8 mf和mc不同设置的Orchid实验结果
可以看出,mf=10和mc=10达到了最佳性能,可以分析出,在适当范围内的设置较高阈值仍然可以更好地发挥损失函数的性能。
将m都设置为10,讨论λ的影响,如下表所示:
表9 λ不同设置的Orchid实验结果
很容易看出,λ=0.5表示相同程度的粗类损失和细类损失贡献,λ>0.5表示细类损失做出较大贡献,λ<0.5表示粗类损失做出较大贡献。可以看出,λ=0.6表现出了最佳性能。分析认为,在多级损失中,细类损失占据着决定最终结果的主导地位,粗类损失仅对语义指令有所贡献,它不能被设置为损失的主要部分。
Claims (2)
1.一种基于语义层级的多任务Triplet损失函数学习方法,其特征在于包括下述步骤:
步骤1:为数据库构建语义层级网络;
对于一个数据库,构建一个两层级语义层级网络,将数据库中已知的图像类别称作细类,作为语义层次结构的第二层,然后根据类别之间的视觉相似度或语义关系将细类归纳到新的类别中得到粗类,作为语义层次结构的第一层;
步骤2:语义层级triplets采样;
在将图像输入到Triplet网络训练之前,需要获取包含anchor,positive和negative的triplets对,其中,anchor表示选择的参考图像,positive为和anchor来自于同一类别的图像,negative为和anchor来自不同类别的图像,计算相似度损失,从而进行网络训练;根据步骤1的语义层级关系,进行采样,采样的具体步骤如下:
采用balanced sampling,即对于整个数据集,先采样m个粗类,然后在每个粗类中采样n个细类,在每个细类中再采样t个样本,因此,每一次训练的batch中包含m*n*t个样本;
步骤3:多任务Triplet网络训练;
采样完成后,将采样后的样本输入到网络中进行训练;假设x是输入图像,作为anchor图像,是和anchor来自同一类别的positive图像,是和anchor来自不同类别的negative图像,网络利用三个图像组成的Triplets对用公式(1)计算最小化网络的损失,若总共输入N张训练图像,则Triplet损失函数如下式:
其中,阈值m控制同类聚集和异类分离的程度,表示margin的大小,m值范围在1-10之间;公式(1)最小化的要求为:
是和anchor来自同一细类的positive图像,是和anchor来自不同细类的negative图像,是和anchor来自不同粗类的negative图像,网络利用四个图像组成的最小化网络的损失,在细类层级采用和式(1)相同的triplet损失,在粗类层级引入一个新的限制项,用于限制样本和不同粗类图像之间的距离,则多任务Triplet函数为:
其中,其中f(.)表示输入一张图像后,CNN最后一层全连接层所输出的特征向量,mf表示细类margin,控制细类之间图像的聚集度和分离度,mc表示粗类margin,控制粗类之间的分离度,mf以相对距离控制细类,mc以绝对距离控制粗类,λ为权重;
梯度计算为:
以梯度更新网络的参数,使得网络的损失最小化;
步骤4:树分类器进行多任务分类;
在网络训练完成后得到多任务Triplet特征,构建一个树分类器对特征进行简单的分类,结合两层语义结构和softmax构建一个层次化的softmax树分类器,即在CNN的最后一层分类层并联粗分类softmax层和细分类softmax层,同时进行粗类和细类损失的计算和分类结果输出,从而实现多任务分类,细分类和粗分类的概率计算为:
假如将l类记为任意一类,其中为输入到粗分类器的特征值,为输入到细分类器的特征值,P表示总的粗分类概率,而Cl和Fl分别表示图像x被分类到的特定的粗类l和细类l的类别,M是属的总数,N代表图像被分类到的粗类任务组,精细分类预测分数应由粗层预测分数和细层预测分数共同确定;
当分类器中各类概率计算出来后,概率值最大值所对应的类别,即为所对应的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124067.5A CN110909785B (zh) | 2019-11-18 | 2019-11-18 | 基于语义层级的多任务Triplet损失函数学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124067.5A CN110909785B (zh) | 2019-11-18 | 2019-11-18 | 基于语义层级的多任务Triplet损失函数学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110909785A true CN110909785A (zh) | 2020-03-24 |
CN110909785B CN110909785B (zh) | 2021-09-14 |
Family
ID=69816769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911124067.5A Active CN110909785B (zh) | 2019-11-18 | 2019-11-18 | 基于语义层级的多任务Triplet损失函数学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909785B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705527A (zh) * | 2021-09-08 | 2021-11-26 | 西南石油大学 | 一种基于损失函数集成和粗细分级卷积神经网络的表情识别方法 |
CN113850243A (zh) * | 2021-11-29 | 2021-12-28 | 北京的卢深视科技有限公司 | 模型训练、人脸识别方法、电子设备及存储介质 |
CN114863542A (zh) * | 2022-07-06 | 2022-08-05 | 武汉微派网络科技有限公司 | 基于多模态的未成年人识别方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778918A (zh) * | 2017-01-22 | 2017-05-31 | 北京飞搜科技有限公司 | 一种应用于手机端的深度学习图像识别系统及实现方法 |
US20180114055A1 (en) * | 2016-10-25 | 2018-04-26 | VMAXX. Inc. | Point to Set Similarity Comparison and Deep Feature Learning for Visual Recognition |
CN109190513A (zh) * | 2018-08-14 | 2019-01-11 | 中山大学 | 结合图像显著性检测和神经网络的车辆重识别方法与系统 |
CN109447146A (zh) * | 2018-10-24 | 2019-03-08 | 厦门美图之家科技有限公司 | 分类优化方法及装置 |
CN109919320A (zh) * | 2019-01-23 | 2019-06-21 | 西北工业大学 | 基于语义层次结构的Triplet网络学习方法 |
CN110309888A (zh) * | 2019-07-11 | 2019-10-08 | 南京邮电大学 | 一种基于分层多任务学习的图像分类方法与系统 |
-
2019
- 2019-11-18 CN CN201911124067.5A patent/CN110909785B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180114055A1 (en) * | 2016-10-25 | 2018-04-26 | VMAXX. Inc. | Point to Set Similarity Comparison and Deep Feature Learning for Visual Recognition |
CN106778918A (zh) * | 2017-01-22 | 2017-05-31 | 北京飞搜科技有限公司 | 一种应用于手机端的深度学习图像识别系统及实现方法 |
CN109190513A (zh) * | 2018-08-14 | 2019-01-11 | 中山大学 | 结合图像显著性检测和神经网络的车辆重识别方法与系统 |
CN109447146A (zh) * | 2018-10-24 | 2019-03-08 | 厦门美图之家科技有限公司 | 分类优化方法及装置 |
CN109919320A (zh) * | 2019-01-23 | 2019-06-21 | 西北工业大学 | 基于语义层次结构的Triplet网络学习方法 |
CN110309888A (zh) * | 2019-07-11 | 2019-10-08 | 南京邮电大学 | 一种基于分层多任务学习的图像分类方法与系统 |
Non-Patent Citations (2)
Title |
---|
ZIHAO HU ET AL: "Person Re-Identification with Hybrid Loss and Hard Triplets Mining", 《2018 IEEE FOURTH INTERNATIONAL CONFERENCE ON MULTIMEDIA BIG DATA (BIGMM)》 * |
张安琪: "基于孪生卷积神经网络与三元组损失函数的图像", 《电子制作》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705527A (zh) * | 2021-09-08 | 2021-11-26 | 西南石油大学 | 一种基于损失函数集成和粗细分级卷积神经网络的表情识别方法 |
CN113705527B (zh) * | 2021-09-08 | 2023-09-22 | 西南石油大学 | 一种基于损失函数集成和粗细分级卷积神经网络的表情识别方法 |
CN113850243A (zh) * | 2021-11-29 | 2021-12-28 | 北京的卢深视科技有限公司 | 模型训练、人脸识别方法、电子设备及存储介质 |
CN114863542A (zh) * | 2022-07-06 | 2022-08-05 | 武汉微派网络科技有限公司 | 基于多模态的未成年人识别方法及系统 |
CN114863542B (zh) * | 2022-07-06 | 2022-09-30 | 武汉微派网络科技有限公司 | 基于多模态的未成年人识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110909785B (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851645B (zh) | 一种基于深度度量学习下相似性保持的图像检索方法 | |
CN108132927B (zh) | 一种融合图结构与节点关联的关键词提取方法 | |
CN110909785B (zh) | 基于语义层级的多任务Triplet损失函数学习方法 | |
CN106649275A (zh) | 基于词性信息和卷积神经网络的关系抽取方法 | |
CN107220337B (zh) | 一种基于混合迁移网络的跨媒体检索方法 | |
CN110413791A (zh) | 基于cnn-svm-knn组合模型的文本分类方法 | |
CN112597285B (zh) | 一种基于知识图谱的人机交互方法及系统 | |
Elayidom et al. | A generalized data mining framework for placement chance prediction problems | |
CN110765781B (zh) | 一种领域术语语义知识库人机协同构建方法 | |
Qin et al. | Semi-supervised domain adaptive structure learning | |
CN109919320B (zh) | 基于语义层次结构的Triplet网络学习方法 | |
Lu et al. | Decision tree algorithm in machine learning | |
González-Almagro et al. | Semi-supervised constrained clustering: An in-depth overview, ranked taxonomy and future research directions | |
CN107194468A (zh) | 面向情报大数据的决策树增量学习方法 | |
CN111079840B (zh) | 基于卷积神经网络和概念格的图像语义完备标注方法 | |
Sivaselvan | Data mining: Techniques and trends | |
CN110472088A (zh) | 一种基于草图的图像检索方法 | |
Purnomo et al. | Synthesis ensemble oversampling and ensemble tree-based machine learning for class imbalance problem in breast cancer diagnosis | |
CN114564594A (zh) | 一种基于双塔模型的知识图谱用户偏好实体召回方法 | |
Sarkar et al. | Accuracy-based learning classification system | |
Zhi et al. | Instance-based ensemble pruning for imbalanced learning | |
Yingfan et al. | Revisiting $ k $-Nearest Neighbor Graph Construction on High-Dimensional Data: Experiments and Analyses | |
CN112463894A (zh) | 一种基于条件互信息和交互信息的多标签特征选择方法 | |
Hao et al. | DeepFirearm: Learning discriminative feature representation for fine-grained firearm retrieval | |
Karamti et al. | A new vector space model for image retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |