CN111191781A - 训练神经网络的方法、对象识别方法和设备以及介质 - Google Patents
训练神经网络的方法、对象识别方法和设备以及介质 Download PDFInfo
- Publication number
- CN111191781A CN111191781A CN201811349293.9A CN201811349293A CN111191781A CN 111191781 A CN111191781 A CN 111191781A CN 201811349293 A CN201811349293 A CN 201811349293A CN 111191781 A CN111191781 A CN 111191781A
- Authority
- CN
- China
- Prior art keywords
- class
- training
- neural network
- samples
- loss
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及训练神经网络的方法、对象识别方法和设备以及介质。一种训练神经网络的方法包括:使用神经网络的初始模型从第一训练集中提取特征;根据第一训练集中的各个类的至少一个属性的分布来调整第一类和至少另一个类之间的与间距相关联的参数;根据调整后的与间距相关联的参数来计算损失;使用所计算的损失和反向传播算法来更新初始模型,以得到经过训练的模型。
Description
技术领域
本公开总地涉及对象识别,具体地涉及训练神经网络以用于识别对象的领域。
背景技术
Softmax损失函数被广泛用作对象识别,并且该函数可以保证特征的可分离性。然而,当类内变化可能大于类间差异时(例如使用具有数百万个类进行面部识别时),此时Softmax损失函数不能充分有效地区分特征。
最近,主流方法是通过在Softmax损失函数中添加间距margin,即使用间距(margin)损失函数代替Softmax损失函数来加大学习的难度,逼迫模型不断学习更具区分性的特征,从而使得类间距离更大,类内距离更小。
Deng J、Guo J,Zafeiriou S在2018年的arxiv上发表的文章《ArcFace:AdditiveAngular Margin Loss for Deep Face Recognition》提出了一种几何可解释的间距损失函数,被称为ArcFace(cos(θ+m))。该间距损失函数基于L2规范化的权重和特征,直接最大化角度的决策边界(arc)。
发明内容
现有技术中的间距损失函数能够有效地区分特征。但是,现有技术中,间距是固定的,这导致难以处理长尾(long tail,即一些类有足够的样本用于训练,而对于大多数的类,只有极少数样本可用于训练)和低样本(low shot,例如每个类包含一个样本)问题(这些类也被称之为小类)。这是由于,训练集很可能具有小类,小类具有很少的训练样本,所以小类的特征空间较窄。
对于较大的类,由于具有充足的样本,因此其特征分布类似于特征空间中的真实分布,这将使得较大的类容易被识别。而对于小类,其特征分布有可能远远小于特征空间中的真实分布。因此,对于小类而言,如果使用较小的间距,则容易导致错误识别。
图1B和图1C示出对小类进行训练(分类)和测试(识别)时使用较小间距和较大间距的示例。如图1B和图1C所示,特征空间中存在两个类,这两个类的权重向量分别是w1和w2,其中类w2是一个小类。实心圆形123表示类w1的训练样本,空心圆形122表示类w2的训练样本,实心星形121和空心星形124表示测试样本。如图1B所示,当间距m较小时,在进行测试时,原本应该属于小类w2的测试样本124有可能被错误地识别为属于相邻的大类w1。而当间距m增大时,如图1C所示,由于小类w2与大类w1充分地间隔开,所以测试样本124可以被正确地识别为属于小类w2。
从图1B和图1C中可以看出,对于长尾和低样本问题,需要使用较大的间距来计算损失函数以训练神经网络模型。
此外,对于某些特殊的类(比如类间距离小的类,诸如双胞胎的面部图像)的区分难度大,而一些具有较高重要性的类(比如频繁使用某个***的人的面部图像)对识别的精度有较高的要求,此时使用固定间距不足以实现类的有效区分和对象的高精度识别。
因此,需要一种能够根据训练集中的类的属性的分布来自适应地调整间距,以计算损失用于训练神经网络的自适应训练方法。
根据本公开的一方面,提供了一种训练神经网络的方法,该方法包括:使用神经网络的初始模型从第一训练集中提取特征;根据第一训练集中的各个类的至少一个属性的分布来调整第一类和至少另一个类之间的与间距相关联的参数;根据调整后的与间距相关联的参数来计算损失;使用所计算的损失和反向传播算法来更新初始模型,以得到经过训练的模型。
根据本公开的另一方面,提供了一种训练多个神经网络模型的方法,该方法包括:从基础训练集得到多个不同的训练集;针对多个不同的训练集中的每一个,使用根据本公开的实施例中的任一个或任何组合所描述的方法进行训练,以得到多个不同的经过训练的模型。
根据本公开的另一方面,提供了一种对象识别方法,该方法包括使用根据本公开的实施例中任一个所描述的训练神经网络的方法获得的经过训练的模型来进行对象识别。
根据本公开的又一方面,提供了一种训练神经网络的设备,该设备包括处理器和存储器,存储器存储有计算机程序,计算机程序当被处理器执行时使处理器执行根据本公开的实施例中的任一个或任何组合所述的方法的步骤。
根据本公开的又一方面,提供了一种对象识别设备,该设备包括:根据本公开的实施例所描述的训练神经网络的设备;特征提取装置,被配置为使用经过训练的模型从输入的对象中提取特征;以及相似度计算装置,被配置为计算所提取的特征和真实对象的特征之间的相似度。
根据本公开的又一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序当被处理器执行时使处理器执行根据本公开的实施例中的任一个或任何组合所描述的方法的步骤。
附图说明
下面结合具体的实施例,并参照附图,对本公开的实施方式的上述和其它目的和优点做进一步的描述。在附图中,相同的或对应的技术特征或部件将采用相同或对应的附图标记来表示。
图1A示出根据本公开的第一实施例的训练神经网络的方法的流程图。
图1B示出对小类进行训练和测试时使用较小间距的示意图。
图1C示出对小类进行训练和测试时使用较大间距的示意图。
图2示出根据本公开的第一实施例的训练方法的一个示例的框图。
图3示出根据本公开的第二实施例的使用类的样本数目分布来动态调整间距的流程图。
图4示出第二实施例的一个具体示例。
图5示出根据本公开的第三实施例的函数的一个示例的示意图。
图6A示出根据本公开的第四实施例的深度Q学习网络的示意图。
图6B示出根据本公开的第四实施例的通过使用DQN调整间距的训练方法的示例的流程图。
图6C示出根据本公开的第四实施例的使用预先训练的神经网络收集样本的方法的示例的流程图。
图6D示出根据本公开的第四实施例的使用DQN调整间距的流程图。
图6E示出根据本公开的第四实施例的使用调整后的间距计算损失的方法的示例的流程图。
图7A示出根据本公开的第五实施例的使用近邻分布进行特征增广的方法的流程图的示例。
图7B示出根据本公开的第五实施例的使用近邻分布进行特征增广的方法的示意图。
图8A示出根据本公开的第六实施例的使用高斯分布进行特征增广的方法的流程图。
图8B示出根据本公开的第六实施例的使用高斯分布进行特征增广的方法的示意图。
图9A示出根据本公开的第七实施例的训练神经网络的方法的一个示例的流程图。
图9B示出根据本公开的第七实施例的训练神经网络的方法的另一示例的流程图。
图9C示出根据本公开的第七实施例的训练神经网络的方法的另一示例的流程图。
图10A示出根据本公开的第八实施例的根据训练集中的噪声类型和间距来计算损失的方法的示例的流程图。
图10B示出根据本公开的第七实施例和第八实施例的组合的训练方法的示例的示意图。
图11示出特征空间中的类的示意图。
图12示出根据本公开的第九实施例的通过Arcface训练的神经网络中最后一个全连接层的权重的内积以及随机向量的内积的分布的示意图。
图13示出根据本公开的第九实施例的根据正交损失函数训练神经网络模型的一个示例流程图。
图14示出根据本公开的第十实施例的多模型训练方法的示例的流程图。
图15示出根据本公开的第十一实施例的训练方法的示例的流程图。
图16示出根据本公开的第十二实施例的对象识别方法的示例的流程图。
图17示出根据本公开的第十三实施例的训练神经网络的设备的框图。
图18示出根据本公开的第十四实施例的一种对象识别设备的框图。
图19示出能够实施本公开的第十五实施例的计算机***的硬件配置的框图。
具体实施方式
在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实施例的所有特征。然而,应该了解,在对实施例进行实施的过程中必须做出很多特定于实施方式的设置,以便实现开发人员的具体目标,例如,符合与设备及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还应当注意,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与至少根据本公开的方案密切相关的处理步骤和/或***结构,而省略了与本公开关系不大的其他细节。
接下来,按照以下顺序进行描述。
第一实施例
神经网络是使用数学模型对人脑神经元网络进行的一种模拟和抽象。神经网络模型中包含众多神经元(节点),这些节点可以分为输入层、隐藏层和输出层。相邻层的节点之间可以相互连接。节点间的连接通常用带有箭头的连线表示,该连线指示权重值。由此,可以根据节点之间的连接关系以及权重值来表示神经网络的输出。
在神经网络中,使用反向传播算法对实际输出与目标输出之间的误差进行反向传播,从而不断更新神经网络模型中的权重值,使得获得的输出的误差越来越小,从而实现有效的“学习”。神经网络可以应用于聚类、对象识别等各个领域。
神经网络的结构例如可以是VGG16、ResNet、SENet等等。
首先参照图1A描述根据本公开的第一实施例的训练神经网络的方法的流程图。在该方法中,使用第一训练集来训练神经网络的初始模型,根据训练集的各个类的至少一个属性,自适应地调整与间距关联的参数,从而计算损失并获得经过训练的神经网络模型。
在步骤S101,使用神经网络的初始模型从第一训练集中提取特征。
此处,第一训练集可以是承载要被训练的对象的数据的集合。优选地,第一训练集例如可以是图片的集合,诸如人像图片、汽车图片、动物图片等等。可替代地或附加地,第一训练集可以是声音的集合,诸如歌曲的集合、方言的集合、动物叫声的集合等等。优选地,第一训练集是一组人脸图片。
对象例如可以是人脸、人体、物体、声音或者属性,属性例如可以是年龄、性别。
特征是第一训练集中的原始数据的抽象表示,特征例如可以表示为向量。
特征空间是特征所存在的空间。优选地,特征空间可以通过对各特征向量进行归一化所形成的超球体来表示。
在步骤S102,根据第一训练集中的各个类的至少一个属性的分布来调整第一类和至少另一个类之间的与间距相关联的参数。
类是同一个对象或具有相同或相似性质的一些对象的所有样本的集合。优选地,类可以是人脸图片的集合中关于同一个人的图片。可替代地或附加地,类可以是第一训练集中关于一些人的图片。
优选地,第一类是第一训练集中的任何类。可替代地或附加地,第一类是第一训练集的子集中的任何类。
优选地,类的属性可以是类的样本数量。可替代地或附加地,类的属性可以包括类的难度,或者类的重要性,等等。
类的特征空间是指在特征空间中由该类的所有样本所确定的子空间。
间距是指在特征空间中两个类的特征空间之间的夹角。例如,优选地,与间距相关联的参数可以是间距本身。可替代地或附加地,与间距相关联的参数可以是各类之间的类中心相似度。
在步骤S103中,根据调整后的与间距相关联的参数计算损失。
在神经网络中,通过对最后一层的输出与目标输出(GT,Ground Truth)进行比较来获得损失。损失例如可以表示为函数。根据不同的需要,损失函数可以是对数损失函数、平方损失函数、指数损失函数、Hinge损失函数等。优选地,可以使用间距损失函数来计算损失。间距损失函数可以是SphereFace,CosineFace或者ArcFace等等。可替代地或附加地,可以使用类中心相似度来计算损失。
在步骤S104,判断损失是否满足预定条件,若不满足,则前进到步骤S105。若满足,则结束该过程。
在步骤S105,使用所计算的损失和反向传播算法来更新神经网络模型,以得到经过训练的模型。
图2示出根据本公开的第一实施例的训练方法的一个示例的框图。
如图2所示,一方面,从第一训练集201经过预处理得到输入图像202,通过神经网络204提取特征以得到特征图205。另一方面,根据训练集的各个类的至少一个属性的分布,自适应地调整间距,以获得调整后的间距203。然后,例如使用间距损失函数ArcFace来计算损失206。此后,根据计算出的损失,使用反向传播算法207更新神经网络中的参数,得到经过训练的神经网络模型。
由此可见,本公开根据训练集中的类的至少一个属性的分布来自适应调整间距,从而能够避免现有技术中由于固定间距的缺点,改进训练神经网络的准确度,在训练过程中的间距调整尤其适用于具有长尾和低样本的不平衡训练数据。因此,可以更准确地使用神经网络进行对象识别。
第二实施例
图3示出了根据本公开的第二实施例的使用类的样本数目分布来动态调整间距的流程图。在本实施例中,属性可以是类的样本数量,与间距相关联的参数可以是间距本身,并且根据类的样本数目的大小直接确定间距的值。其步骤如下:
S301:对于第一训练集,统计每个类的样本数目。
S302:根据类的样本数目的大小把所有类分成N部分。
S303:为每一个部分定义一个间距。其中,给样本数目少的类定义较大的间距值以及样本数目多的类定义较小的间距值,即所述间距与所述样本数量负相关。
图4示出该实施例的一个具体示例。在该示例中,横轴表示样本数量,纵轴表示间距m,并且将所有类分成3部分:
1)当类的样本数目大于等于100时,令m=0.3;
2)当类的样本数目小于100,大于等于50时,令m=0.4;
3)当类的样本数目小于50时,令m=0.5。由此实现根据样本数目自适应调整间距。
在调整间距之后,可以类似地执行图1中的后续步骤S103-S105。在该实施例中,根据调整后的间距m优选地使用间距损失函数来计算损失。在本实施例以及后续实施例中,重点描述与之前实施例的不同之处并且不再重复描述与之前实施例重复的部分。
由此可见,该实施例在训练神经网络过程中考虑到类的样本数量的分布,对不同的类使用不同的间距,提高了训练模型的正确识别率。
表1示出根据本公开的第二实施例的以上示例的训练方法获得的模型的正确识别率和现有技术的方法的正确识别率的对比。其中,使用FaceScrub和FGNet测试集来对本公开第二实施例的方法和现有技术的方法所获得的模型进行测试,106是gallery数据库的大小,Rank1指第一候选。可以看出,使用FaceScrub和FGNet测试集进行测试时,本公开的方法的正确识别率均优于现有技术的方法。
算法(LResNet50E-IR) | Rank1@10<sup>6</sup>(FaceScrub) | Rank1@10<sup>6</sup>(FGNet) | |
现有技术 | Arcface(m=0.5) | 77.1% | 58.26% |
第二实施例 | 第二实施例(m=0.3,0.4,0.5) | 79.35% | 60.10% |
表1.第二实施例的方法和现有技术的结果对比
第三实施例
在本实施例中,属性可以是类的样本数量,与间距相关联的参数可以是间距本身,并且定义一个函数来动态调整间距,这里,间距和类的样本数目之间具有负相关关系。
对于一个类i,可以将其间距m(i)定义如下:
m(i)=A–B*f(Ni/C),(1)
这里,Ni是类i的样本数目,A,B和C是常数,可以通过实验或经验获得。f是函数。
图5示出该实施例的一个示例。在该示例子中,A=0.5,B=0.1,C=所有类的样本数目中的最大值(max),min是所有类的样本数目中的最小值,而函数f选用的是arcsin函数。在图5中,横坐标表示类内样本数目,纵坐标表示间距值,可以看出,随着样本数目的增大,间距相应地减小。
在调整间距之后,可以类似地执行图1中的后续步骤S103-S105。与第二实施例相比,使用该实施例的方法,可以更加灵活地调整间距m,从而获得更加精确的训练和识别结果。
第四实施例
在本实施例中,属性可以是类的样本数量,与间距相关联的参数可以是间距本身,并且使用深度Q学习网络(Deep Q-learning network DQN)的方法来自动学习和调整间距。
在DQN中,将Q(si,ai)定义为在当前状态si下采取某一动作ai所获得的累积回报。ri表示在当前状态si下采取某一动作ai所获得的即时回报。
在训练中,可以使用以下公式来迭代地更新Q函数:
其中s′i、a′i表示下一状态和动作,学习参数γ例如是满足0≤γ≤1的常数。下标i表示第yi类。当γ的取值趋近于0时,表示主要考虑即时回报,而γ趋近于1时表示还要同时考虑未来的回报。关于DQN的具体算法可以参见:Mnih V、Kavukuuoglu K和Silver D等人2015年在《自然》上发表的《Human-level Control through Deep ReinforcementLearning》。
在本实施例中,可以使用DQN,根据当前间距、类的样本数量、类内方差和类间距离来确定间距的变化趋势。下面介绍该实施例的一个非限制性的示例。
在本实施例中,DQN的输入例如可以表示为{(si,ai,ri,s′i)}。例如可以使用如下方式分别确定DQN的状态、动作和即时回报。
状态:
考虑到每个类所需要的间距可能受到该类中的样本数量和类内方差的影响。因此,可以使得状态si包括与当前间距、类的样本数量和类内方差相关的参数。其中,根据类的样本数量和类内方差将所有类分成若干组。使用值来表示组集合G中的组号,其中而表示第yi类中的样本数量。表示第yi类的类内方差,并可以用公式表示如下:
这里,xj是由当前神经网络提取并且经过L2规范化的特征。为了使得状态空间离散,令mi(t)∈M,并且定义函数f(Vi)∈F来量化Vi,其中
动作:
在本实施例中,在每个状态si下,可以有三个动作ai:
(1)使m保持不变;
(2)使m增大固定步长;以及
(3)使m减小固定步长。
在训练中将考虑所有的动作以及与每个动作相关联的回报,以便通过训练来得到更好的决策。
优选地,该固定步长可以是0.25。但是固定步长的取值不限于此。
即时回报:
在本实施例中,为了使得训练集中的各个类能够更好地区分,即时回报ri例如可以被定义为与类内方差负相关,并且与类间距离正相关的函数,该函数使得当类间距离越大,并且类内方差越小时,即时回报越大。
为此,可以首先定义一个R函数:
Ri=αDi-βVi (8)
于是,可以将即时回报函数ri定义为:
ri=R′i-Ri (10)
其中Ri和R′i分别是R函数在状态si和s′i下的值。
注意,ri不限于以上的形式。例如,ri可以仅与类间距离正相关,或者可以仅与类内方差负相关,或者可以与其他变量相关,或者可以根据需要采用任何其他形式。
图6A示出根据本实施例的训练方法的示意图。
如图6A所示,使用训练集604、根据固定的间距601来预先训练神经网络605。使用预先训练的神经网络605计算类内方差603,并且根据类内图像数量和类内方差603来对类进行分组。随后根据间距、样本数量、类内方差603和类间距离602来获得606要被输入到神经网络DQN中的样本:当前状态607、当前动作608、即时回报609和下一状态610。
在DQN中,根据以上输入进行训练611,获得的输出612~614分别是在当前状态607下,采取三个动作612~614(即,m增大、m减小、m不变)中的任何一个时所获得的实际累积回报的值。
在每次迭代中,通过使得实际累积回报尽可能接近目标累积回报
(例如通过使用实际累积回报与目标累积回报的差值来计算损失并进行反向传播),来训练611DQN。随后,根据自适应间距损失函数,来训练615自适应间距损失网络。
注意,在本实施例中,DQN的输入和输出的种类可以根据需要而增加或减少,而不限于上文给出的具体形式。
优选地,当间距被调整之后,例如可以使用以下公式来计算间距损失函数:
函数P可以用以下公式表示:
优选地,函数P*的形式可以例如是CosineFace或ArcFace函数。特别地,对于CosineFace,函数P*可以用如下公式表示:
对于ArcFace,函数P*可以用如下公式表示:
在本公开的实施例中,以上两个公式中的m就是上文中被自适应调整的间距mi(t)。
注意,间距损失函数可以采取各种形式,而不限于上文示出的那些。
图6B示出根据本实施例的通过使用DQN调整间距的训练方法的示例的流程图。
如图6B所示,在步骤S621,使用预先训练的神经网络收集样本;
在步骤S622,使用所收集的样本作为输入,训练DQN参数;
在步骤S623,根据自适应间距损失函数对自适应间距损失网络进行训练。
图6C示出了根据本实施例的使用预先训练的神经网络收集样本的方法的示例的流程图。
如图6C所示,在步骤S631,执行预处理。执行预处理可以包括:使用固定的间距损失函数预先训练神经网络,使用预先训练的神经网络计算类内方差,并且根据类内图像数量和类内方差来对类进行分组。
在步骤S632,收集样本。收集样本例如可以包括:对于组g中的每个类,根据上一神经网络计算当前状态si,然后执行动作空间中的每个当前动作ai以便修改组g中的间距,然后,对于每个动作,使用修改后的间距再次训练上一个神经网络,然后,根据一次训练来计算组g所转移到的下一状态s′i,然后,使用上一个神经网络和当前神经网络来计算即时回报ri;最后将当前状态si、当前动作ai、即时回报ri和下一状态s′i记录为样本。
图6D示出了根据本实施例的训练DQN参数的流程图。
如图6D所示,在步骤S641,向前传播数据(si,ri);
在步骤S642,获得DQN输出(即实际累积回报);
在步骤S643,对于动作空间中的每个动作a′i,向前传播(s′i,a′i);
在步骤S644,计算目标累积回报ri(目标输出);该目标累积回报例如可以使用公式(2)来计算;
在步骤S645,对实际累积回报与目标累积回报之间的差值进行优化;
在步骤S646,根据优化的结果更新DQN中的参数。
图6E示出了根据本实施例的根据自适应间距损失函数对自适应间距损失网络进行训练的方法的示例的流程图。
如图6E所示,在步骤S651,制作一个状态-动作表,该操作可以通过将状态空间中的每个状态输入到所训练的DQN模型中以得到对应的输出动作来完成。优选地,选取612、613以及614中数值最大的动作作为输出动作。
在步骤S652,训练自适应间距损失网络。该操作可以包括:进行正常的深度CNN训练;在每次训练结束时,对于每个组的类,计算当前状态;然后,查询状态-动作表并且执行相关的动作,以便修改每个组的间距。
通过使用DQN来调整间距,可以在每次迭代时改变间距值,并且考虑类间分布和类内分布等因素,因此,与其他方法相比,可以获得较高准确度。
第五实施例
在本实施例中,属性可以是类的样本数量,与间距相关联的参数可以是间距本身,并且对于样本数量较小的类,可以通过特征增广增大类的样本数量来调整间距。
优选地,使用近邻分布进行特征增广,图7A示出使用近邻分布进行特征增广的方法的流程图的示例。如图7A所示,该方法的步骤如下:
在步骤S701,找到与第一类最接近的一个大类,其样本数量高于预定阈值。
在步骤S702,找到该大类的特征空间的中心,并且获得该大类的所有样本的特征与该中心之间的残差。
在步骤S703,对残差分布进行统计。
在步骤S704,保留在预定范围内的残差分布。
在步骤S705,将所获得的残差分布映射到该样本数量较小的类上,获得经过增广的特征。
由此可见,在该实施例中,对于样本数量较小的类进行特征增广,利用了另一个样本数量较大的类的特征分布。在进行特征增广之后,该样本数量较小的类的间距例如可以根据以下公式来计算:
其中S是特征空间的超球体的半径,ri是表示范围的参数。由于间距m需要为正值,所以将m’设置为固定的正数,并且ri<S*m’。由此,可以获得调整后的间距。
图7B示出该方法的示意图。如图7B所示,深色实心圆形722表示需要进行特征增广的小类中的样本,浅色实心圆形721表示在该小类附近的一个大类中的样本,通过将大类的样本分布映射到小类并截取范围ri内的分布,可以获得特征增广后的小类的样本723(使用虚线表示)。
根据第五实施例,针对样本数量较小的类,例如仅包含一个样本的类,使用特征增广并设置范围来适当地扩展类中样本的数量。与不进行特征增广的情况相比,m被适当调整减小,从而改进了训练过程的收敛速度。
第六实施例
该实施例是特征增广的另一实施例,其不使用另一个样本数量较大的类的特征分布。优选地,使用高斯分布进行特征增广。图8A示出使用高斯分布进行特征增广的方法的流程图。如图8A所示,该方法的步骤如下:
在步骤S801,设定高斯分布的均值和方差。
在步骤S802,使用样本数量较小的类的所有特征来获得高斯分布的特征中心。
在步骤S803,生成预定范围内的新特征。
在进行特征增广之后,可以使用与第五实施例相似的方法来调整间距。
图8B示出该方法的示意图。如图8B所示,与近邻分布类似,通过将高斯分布映射到小类并截取范围r内的分布,可以获得特征增广后的小类的样本821。
注意,特征增广的方法不限于以上描述的两种方法,而是可以根据需要采用任何合适的特征增广方法,例如对于第五实施例,不使用近邻分布而使用相似性分布或选取任意样本数量较多的类;或者对于第六实施例,不使用高斯分布而使用统计学中的其它分布。并且,在进行特征增广之后对间距进行调整的方法也不限于所示出的公式,而是可以根据需要采用任何合适的公式来调整间距。
第七实施例
在本实施例中,属性可以是类的难度,并且使用类的难度分布来调整与间距相关联的参数。例如,与间距相关联的参数可以是类中心相似度。此外,在本实施例中,使用另外的损失函数来代替间距损失函数。
优选地,类的难度分布可以手动确定,例如直接指定类的难度。可替代地或附加地,类的难度分布可以基于类与类之间的类中心距离或类中心相似度来确定,例如中心距离较近的类(如双胞胎,或相似的人脸图像等)的难度值较大。
优选地,对难度高于预定阈值的类,根据类中心相似度来计算损失。
图9A示出了根据本实施例的根据类中心相似度来对模型进行训练的示例的流程图。
如图9A所示,在步骤S901,对于每个类选取n个样本。
在步骤S902,使用所选取的n个样本,计算每两个类的相似度。优选地,该相似度可以用类中心相似度来表示,或者用类的特征中心的距离来表示,但不限于此。
优选地,类i和类j之间的类中心相似度Si,j可以用以下公式来表示:
其中,Ci和Cj表示类i和类j的归一化的特征的中心,并且可以使用以下公式表示:
其中,xt是从类i中随机选择的第t个样本的特征,类i中具有ni个样本,并且随机选择固定数量的n个样本。由此,即使训练集中存在一定的噪声,Ci和Cj也相对鲁棒。
可以看出,在类中心相似度Si,j中,类i,j之间的相似度越大,Si,j的取值越小。
在步骤S903,选取与最高的(一个或多个)相似度对应的m个类作为难度较高的类。优选地,在该步骤中,对相似度进行排序,例如按照从大到小的顺序排序。然后,将与相似度序列中第一个相似度(最高的相似度)对应的类放入难度较高的类的集合。然后,将与相似度序列中第二个相似度(第二高的相似度)对应的类放入难度较高的类的集合。以此类推,直到难度较高的类的集合中存在m个类为止。
在步骤S904,使用难度较高的类和中心分散损失函数对模型进行训练。
优选地,中心分散损失函数可以被表示为类中心相似度的函数:
可替代地,中心分散损失函数可以被表示为类中心距离的函数,或者表示为能够实现上述功能的任何其他函数。
可以看出,总成本(即损失)是这m个类两两组合所计算的相似度的平均值。
由此可见,根据本实施例的训练方法能够有效地提取难度大的类(例如十分相似的人脸图像),并且对其进行区分,从而提高训练的准确度。
注意,虽然中心分散损失函数在本实施例中用来对难度较大的类进行训练,但是,中心分散损失函数的应用不限于此,而是可以根据需要在任何类的训练中使用,例如在样本数量少的类的训练中使用。
图9B示出了根据本公开的第七实施例的训练神经网络的方法的另一示例的流程图。
如图9B所示,该方法的步骤如下:
在步骤S911,将第一训练集划分为两部分。
优选地,第一部分由难度较小的类组成,第二部分由难度较大的类组成(即,从第一训练集中提取较难的类,以便进行进一步的处理)。
优选地,可以通过计算类中心相似度来度量类的难度。
注意,划分第一训练集的方式并不限于以上示出的方法。例如,可替代地或附加地,可以将第一训练集中类中心相似度大于预定阈值的类划分为第二部分,而类中心相似度小于等于阈值的部分被划为第一部分。
注意,虽然在本实施例中描述了按照类的难度来划分第一训练集,但是第一训练集的划分标准不限于此,而是可以根据需要以任何标准来划分。例如,可以根据类内样本数量的分布来将第一训练集划分为第一部分和第二部分。
在步骤S911中完成对第一训练集的划分之后,进入步骤S912。
在步骤S912,对于第一部分,因为难度较小,所以可以使用根据本公开的任何其他实施例的训练算法或者任何已知的训练算法训练神经网络的模型。然后进入步骤S913。
由于第二部分的类难度较大,需要使用能够有效区分这些类的方法。所以,在步骤S913,对于第二部分,使用在步骤S912获得的经过训练的模型作为初始模型,通过使用中心分散损失函数来训练神经网络的模型。
图9C示出了根据本公开的第七实施例的训练神经网络的方法的另一示例的流程图。
如图9C所示,存在第一训练集和第二训练集,其中第二训练集中的每个类是较难的类。优选地,第二训练集中的类可以是使用图9A所述的方法从某个基础训练集中提取的,但不限于此。可替代地,第二训练集中的类可以是基础训练集中难度高于预定阈值的类。此外,可以根据需要使用任何合适的方法来获得第二训练集。
优选地,该基础训练集可以是第一训练集。可替代地,该基础训练集可以与第一训练集部分重合(交集不为空)。可替代地,该基础训练集可以与第一训练集完全不同(交集为空)。例如,第二训练集可以由与第一训练集中的人完全不同的人的图像组成。
该方法的步骤如下:
在步骤S921,对于第一训练集,可以使用根据本公开的任何其他实施例的训练算法或者任何已知的训练算法进行训练,得到经过训练的模型。
在步骤S922,对于第二训练集,由于类的难度较大,所以可以使用在步骤S921获得的经过训练的模型作为初始模型,通过使用中心分散损失函数计算损失来进行训练。
第八实施例
在该实施例中,讨论如何去除训练集中噪声的影响,从而提高训练的准确性。训练集中经常会存在噪声,这些噪声会对训练的准确性产生影响。为此,需要使用鲁棒性较高的函数来计算损失。
在本实施例中,除了前述实施例中的与间距相关联的参数,还根据训练集中的噪声类型来计算损失。
训练集中主要存在三种类型的噪声:
第一类型:标记翻转。在这种情况下,训练集中的图像本应属于一个类,却被错误地标记为另一个类。
第二类型:异常值。在这种情况下,图像实际上并不属于训练集中的任何一类。只是由于该图像与训练集中的某一类非常相似,所以在训练的时候会被模型预测为该相似的类。例如,训练集中本来只应该包括双胞胎中的一个,而双胞胎中的另一个的图像被错误地标记到训练集的该类中。
第三类型:完全的脏数据。在这种情况下,图像被错误地标记为训练集中的类,而实际上,图像并不属于训练集中的任何类,它甚至都不能作为对象识别中的任何样本。例如,由于图像过于模糊、图像分辨率太低等等导致图像中的噪声过大,完全不能作为某一类的样本来使用。因此,被错误标记的非样本图像被视为噪声。第三类型的噪声与第二类型的噪声的区别在于,第三类型的噪声是完全的脏数据,在训练过程中不能被包括在训练集中的任何类中。
通过实验可以发现,当模型训练得较好时,可以使用训练集中的类的预测概率P来屏蔽第三类型的噪声,即“完全的脏数据”。因为当模型已经被充分训练时,第三类型的噪声的类的预测概率P非常小,而在其他类型的噪声数据和干净数据中并没有出现该特性。因此,可以通过在训练过程中逐渐移除出现该效果的数据来消除第三类型的噪声。
在一个实施例中,可以仅通过预测概率P来区分第一类型的噪声、第二类型的噪声和正确标记的训练数据。
在另一实施例中,可以通过以下方法来减少上述两种类型的噪声。
通过实验可以发现,第一类型的噪声和第二类型的噪声的标记可能与模型预测非常不一致。而且,随着训练的推进,可以增大对模型预测结果的信任度,以这种方式,可以减小训练集中第一类型和第二类型的噪声的影响。
因此,考虑到以上因素,可以通过以下描述动态调整学习标准来减小以上三种类型的噪声的干扰。
首先,可以通过丢弃第三类型的噪声来完全消除它的影响。同时,学习标准假定,如果训练集中不包含第三类型的噪声,那么“真实”标记是原始标记以概率α与当前预测类以概率(1-α)的凸组合。
于是,可以使用以下公式来表示用于减小噪声影响的噪声抑制损失函数:
其中N是一批样本中的训练样本的数量,α(P)和β(P)控制组合的程度,并且
在训练过程中,参数α和t是分阶段设置的。也就是说,在开始训练时,α被设置为1,t被设置为0。当模型被训练得相对充分时,模型本身就可以区分噪声,因此,α被稍微减小,例如被减小到0.9,而t被设置为一个小的正数,例如0.001。
优选地,例如可以使用Arcface函数来计算噪声抑制损失函数:
其中||xi||被缩放到超球体半径s,m是间距。
由此,可以根据训练集中的噪声类型和间距来计算损失。
图10A示出了根据本实施例的根据训练集中的噪声类型和间距来计算损失的方法的示例的流程图。
在步骤S1001,使用神经网络的初始模型从第一训练集中提取特征。
在步骤S1002,分析训练集中噪声的类型。
在步骤S1003,判断训练集的样本中的噪声是否是第三类型的噪声。如果是,则在步骤S1004丢弃该样本。如果不是,则继续进行步骤S1005。
在步骤S1005,使用调整后的间距,根据“真实”标记的预测概率和当前预测标记的预测概率的组合来计算噪声抑制损失函数。
在步骤S1006,使用反向传播算法根据计算的损失来更新初始模型,由此获得经过训练的模型。
注意,本实施例可以与本公开的任一实施例组合,也就是说,可以将通过本公开的任一实施例所获得的调整后的间距代入本实施例中的间距m,进而通过噪声抑制损失函数来计算损失,实现噪声抑制效果。
优选地,可以使用通过本实施例的训练方法获得的模型作为第七实施例中的步骤S922或步骤S913中的初始模型,来对难度高于阈值的类进行训练。由于在初始阶段就排除了噪声的干扰,这种训练方法可以进一步抑制训练集中的噪声,获得精确的、经过训练的模型。
第七实施例和第八实施例的组合的示例
图10B示出了本公开的第七实施例和第八实施例的组合的训练神经网络的方法的示例的示意图。
如图10B中所示,将训练集中的类划分1013为第一部分(头部数据)1011和第二部分(尾部数据)1012。在此示例中,头部数据1011是类内样本数量较大的部分,尾部数据1012是类内样本数量较小的部分。但是不限于此。
首先使用头部数据1011来进行训练,得到基础模型,随后,使用得到的基础模型作为两个相同的初始模型1016和1017,将头部数据1011输入1014到初始模型1016中,将尾部数据1012输入1015到初始模型1017中。其中,对头部数据1011所在的模型1016使用第八实施例中描述的噪声抑制损失函数1018进行训练,对尾部数据1012所在的模型1017使用第七实施例中参考图9A所描述的方法来提取较难的类,并使用第七实施例中描述的中心分散损失函数1019进行训练。
优选地,在使用尾部数据对模型进行训练的过程中,尾部数据是以迭代的方式逐渐输入1015模型1017中的。
优选地,在这两个模型之间共享1020权重,以便使得模型稳定,并且两个模型均能够获得最优性能。
通过使用以上示例中所描述的方法,可以获得能够同时抑制噪声并且有效区分较难的类的模型,大大提高了模型训练效率和识别正确率。
第九实施例
在本实施例中,属性可以是类的重要性,并且在本实施例中,使用类的重要性分布来调整与间距相关联的参数,例如该参数可以是特征空间之间的关系。
优选地,类的重要性分布可以手动确定。或者,类的重要性分布可以基于类的被查询的频率来确定,例如属于某个类的人频繁出入某个场所并且因此被查询的频率较高,因此赋予该类较高的重要性。
已经知道在p维空间中,存在p个彼此正交的矢量。当两个矢量彼此正交时,它们之间的区分程度较好。虽然由于训练集中存在成千上万的类而不能使这些类全部正交,但是可以使用正交方法针对重要性高于阈值的类进行训练。
优选地,可以进一步通过使重要性高于预定阈值的类的特征空间与除该类之外的任何其他类的特征空间尽可能正交来计算损失。如图11所示,对于在特征空间中的重要性高于阈值的类1101和其他类1102、1103,定义θ为类1101和类1102的权重之间的角度。当θ接近π/2时,类1101可以较好地与类1102区分。对于类1101和1103,情况也是如此。
例如,可以进一步通过正交损失函数来计算损失。
优选地,正交损失函数通过使用一阶矩和二阶矩来使得神经网络中最后一个全连接层的权重矢量(其表示各个类的中心)尽可能正交。优选地,还可以通过使用高阶矩来使得权重尽可能正交。在以下示例中,给出仅考虑一阶矩和二阶矩的情况。
例如可以通过以下公式来计算神经网络中最后一个全连接层的权重之间的内积的一阶矩和二阶矩:
其中,n是类的数量,wi是神经网络中最后一个全连接层的权重W的第i列。
T.Cai、J.Fan和T.Jiang在2013年的JMI.R.org的文章《Distributions of Anglesin Random Packing on Spheres》中已经指出,高维空间中的随机向量之间几乎总是接近正交的。
图12以示例的方式示出通过Arcface训练的神经网络中最后一个全连接层的权重的内积以及随机(random)向量的内积的分布。在该示例中,向量的维度例如可以是512,向量的数量是20000。从图12中可以看出,通过Arcface训练的神经网络中的权重向量之间的区分度不如随机向量的区分度,还有改进的空间。
现在,使得作为第一损失的一阶矩最小化以便将图12中的曲线的对称轴约束为在0附近。但是,想要区分w,这还不够。为此,考虑作为另一损失的二阶矩以使得曲线更陡峭。通过将和组合起来,可以使得神经网络满足使得权重尽可能正交的约束,并且尽可能接近高维随机向量的分布。
具体地,正交损失函数可以使用以下公式来表示:
其中α和β是平衡系数。
优选地,可以将正交损失函数与其他损失函数组合使用来训练神经网络模型。组合后的损失函数可以使用以下公式表示:
α和β均为正数。
优选地,可以使用标准stochastic梯度下降方法来优化正交损失函数,因为该问题是凸的。对应的梯度如下:
优选地,例如可以使用以下公式来实现反向传播算法:
图13以示例的方式示出的根据本实施例的使用正交损失函数训练神经网络的方法的流程图。
根据该实施例,可以使得重要性高于预定阈值的类与训练集中的其他类尽可能正交,从而提高训练准确度和识别准确度。
第十实施例
在本实施例中,描述通过使用根据本公开的各个实施例的训练方法获得多个不同的经过训练的模型的方法。
图14示出了根据本实施例的多模型训练方法的示例的流程图。
如图14所示,该方法的步骤如下:
在步骤S1401,从基础训练集得到多个不同的训练集。
在步骤S1402,针对所述多个不同的训练集中的每一个,使用根据本公开个各个实施例中的任何一个中的训练方法进行训练,以得到多个不同的经过训练的模型。
优选地,多个不同的训练集中的每个训练集是通过对基础训练集中的对象的目标区域进行以下操作中的至少一项得到的:裁剪和过滤。例如,基础训练集可以是人脸图像的训练集,从该基础训练集通过裁剪可以得到眼睛图像的训练集、鼻子图像的训练集和嘴图像的训练集,以此类推。
根据该实施例,因为经过裁剪的训练集更加集中于对象的某个区域,所以对于细节的区分更加准确,从而能够改进训练模型的准确性。同时,独立地训练多个模型,并使用这些模型进行对象识别,可以有效地减少使用单一模型进行识别时的误差,提高识别准确度。
第十一实施例
在本实施例中,描述根据本公开的实施例的训练方法的组合的一个示例。
图15示出根据本公开的第十一实施例的方法的示例的流程图。
如图15所示,在步骤S1501中,使用神经网络的初始模型来提取特征。
在步骤S1502中,获得难度较高的类。
优选地,可以使用第七实施例中参照图9A所描述的方法来获得难度较高的类。
在步骤S1503中,使用第八实施例中的方法来计算噪声抑制损失函数。
优选地,可以使用根据本公开的实施例中的任何一个或任何组合所描述的训练方法获得的间距来计算噪声抑制损失函数。
在步骤S1504中,使用反向传播算法根据计算的损失来更新初始模型。
应当注意,该组合仅为示例,其目的在于给本领域技术人员进行组合实施的一种示范性教导,使得在此基础上能够进行其它组合的实施。因此,本公开的实施例的组合方式当然不限于图15中所示出的方式,而是可以根据需要对本公开的实施例中的任何两个或更多个实施例进行组合。
第十二实施例
在本实施例中,将描述一种对象识别方法。该对象识别方法包括使用根据本公开的实施例中的任何一个或任何组合的训练方法获得的经过训练的模型从输入的对象中提取特征来进行对象识别。
优选地,通过计算所提取的特征和真实对象的特征之间的相似度来进行对象识别。
图16示出了根据第十二实施例的对象识别方法的示例的流程图。
如图16所示,在步骤S1601,输入图像。
在步骤S1602,对图像进行预处理。预处理例如可以包括面部检测,面部对齐等等。
在步骤S1603,使用神经网络模型进行特征提取。优选地,该神经网络模型可以是根据本公开的任何实施例或实施例的任何组合的方法得到的经过训练的神经网络模型。
在步骤S1604,通过计算输入图像中对象的提取的特征与真实对象的特征之间的相似度,来对输入图像进行识别。
根据该实施例,因为根据本公开的神经网络模型的改进的准确性,所以对象识别的准确性也相应地得以改进。
应注意,根据本公开的各个实施例的方法的步骤不一定以示出的顺序执行,而是可以并行执行或以其他顺序执行。
第十三实施例
如图17所示,在本实施例中,描述了一种训练神经网络的设备1700。该设备1700包括:用于使用神经网络的初始模型从第一训练集中提取特征的特征提取装置1701,用于根据第一训练集中的各个类的至少一个属性的分布来调整第一类和至少另一个类之间的与间距相关联的参数的间距参数调整装置1702,用于根据调整后的与间距相关联的参数来计算损失的损失计算装置1703,和用于使用所计算的损失和反向传播算法来更新初始模型以得到经过训练的模型的模型更新装置1704。
第十四实施例
如图18所示,在本实施例中,描述了一种对象识别设备1800。该对象识别设备包括:根据本公开的第十三实施例中的训练神经网络的设备1801;特征提取装置1802,被配置为使用经过训练的模型从输入的对象中提取特征;以及相似度计算装置1803,被配置为计算所提取的特征和真实对象的特征之间的相似度。
以上第十三实施例和第十四实施例描述的设备是用于实施本公开中描述的方法的示例性和/或优选的设备。这些设备可以实现与对应方法类似的效果。这些设备可以是硬件单元(诸如场可编程门阵列、数字信号处理器、专用集成电路或计算机等)和/或软件装置(诸如计算机可读程序)。以上并未详尽地描述用于实施各个步骤的装置。然而,只要有执行某个处理的步骤,就可以有用于实施同一处理的对应的装置(由硬件和/或软件实施)。通过所描述的步骤以及与这些步骤对应的装置的所有组合限定的技术方案都被包括在本公开的公开内容中,只要它们构成的这些技术方案是完整并且可应用的。
此外,由各种装置构成的上述设备可以作为功能模块被并入到诸如计算机之类的硬件装置中。除了这些功能模块之外,计算机当然可以具有其他硬件或者软件部件。
第十五实施例
用以实施本公开的方法和设备的计算机设备。图19是示出能够实施本公开的实施例的计算机***的硬件配置的框图。
如图19中所示,计算机***包括经由***总线1904连接的处理单元(处理器)1901、只读存储器1902、随机存取存储器1903和输入/输出接口1905,以及经由输入/输出接口1905连接的输入单元1906、输出单元1907、存储单元1908、通信单元1909和驱动器1910。程序可以预先记录在作为计算机中内置的记录介质的ROM(只读存储器)1902或者存储单元1908中。或者,程序可以存储(记录)在可移除介质1911中。在本文中,可移除介质1911包括例如软盘、CD-ROM(压缩光盘只读存储器)、MO(磁光)盘、DVD(数字多功能盘)、磁盘、半导体存储器等。
输入单元1906用于输入用户请求并被配置有键盘、鼠标、触摸屏、麦克风、摄像头等。另外,输出单元1907配置有LCD(液晶显示器)、扬声器等。
通信单元1909可以例如是无线通信单元,包括至少一个收发器模块和定位模块。收发器模块用于向远程服务器发送请求并从远程服务器接收响应。定位模块例如是GPS模块,用于获取位置。
存储单元1908或ROM 1902存储图像、音频等等。RAM 903可以存储临时状态信息和中间计算结果。
此外,除了通过驱动器1910从以上提到的可移除介质1911把程序安装到计算机***的配置之外,可以通过通信网络或广播网络把程序下载到计算机***以安装在内置存储单元1908中。换言之,可以例如以无线方式通过用于数字卫星广播的卫星从下载点向计算机***或者以有线方式通过诸如LAN(局域网)或互联网等的网络向计算机***传输程序。
如果通过对输入单元1906的用户操控等、经由输入/输出接口1905向计算机***输入了命令,则CPU 1901根据命令来执行ROM 1902中存储的程序。或者,CPU 1901把存储单元1908中存储的程序加载在RAM 1903上以执行程序。
因此,CPU 1901执行根据以上提到的流程图的某些处理或者通过以上提到的框图的配置执行的处理。接下来,如果有必要,则CPU 1901允许处理的结果例如通过输入/输出接口1905从输出单元1907输出、从通信单元1909传输、在存储单元1908中记录等。
另外,程序可以由一个计算机(处理器)执行。另外,程序可以由多个计算机以分布式的方式处理。另外,可以把程序传输给远程计算机执行。
图19所示的计算机***仅仅是说明性的并且决不意图对本公开、其应用或用途进行任何限制。图19所示的计算机***可以被实施于任何实施例,可作为独立计算机,或者也可作为设备中的处理***,可以移除一个或更多个不必要的组件,也可以向其添加一个或更多个附加的组件。
在一个示例中,计算机***实施为用于训练神经网络的设备。
在又一个示例中,计算机***实施为用于识别对象的设备。该设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序当被处理器执行时能够使所述设备执行根据本公开的实施例所述的方法。
可以通过许多方式来实施本公开的方法和设备。例如,可以通过软件、硬件、固件、或其任何组合来实施本公开的方法和设备。上述的方法步骤的次序仅是说明性的,本公开的方法步骤不限于以上具体描述的次序,除非以其他方式明确说明。此外,在一些实施例中,本公开还可以被实施为存储在计算机可读存储介质中的计算机程序。计算机程序当被处理器1901执行时能够使处理器1901执行根据本公开的任何实施例或实施例的任何组合的方法。因而,本公开还覆盖存储用于实现根据本公开的方法的计算机程序的计算机可读存储介质。
虽然已通过示例详细描述了本公开的一些具体实施方式,但是本领域技术人员应当理解,上述示例仅是说明性的而不限制本公开的范围。本领域技术人员应该理解,上述实施例可以被修改而不脱离本公开的范围和实质。本公开的范围是通过所附的权利要求限定的。
Claims (23)
1.一种训练神经网络的方法,其特征在于包括:
使用神经网络的初始模型从第一训练集中提取特征;
根据第一训练集中的各个类的至少一个属性的分布来调整第一类和至少另一个类之间的与间距相关联的参数;
根据调整后的与间距相关联的参数来计算损失;
使用所计算的损失和反向传播算法来更新初始模型,以得到经过训练的模型。
2.根据权利要求1所述的方法,其中所述至少一个属性是第一训练集中的类的样本数量。
3.根据权利要求1-2中任一项所述的方法,其中所述与间距相关联的参数是间距本身,并且所述方法包括,使用间距损失函数来计算损失。
4.根据权利要求3所述的方法,其中所述调整包括:根据第一类的样本数量直接确定间距使得所述间距与所述样本数量负相关。
5.根据权利要求3所述的方法,其中所述调整包括:将间距设置为第一类的样本数量的函数,使得间距与所述样本数量负相关。
6.根据权利要求3所述的方法,其中所述调整包括:使用Q-学习函数,根据当前间距、类的样本数量、类内方差和类间距离来确定间距的变化趋势。
7.根据权利要求3所述的方法,其中所述调整包括:通过特征增广增大第一类的样本数量来调整间距。
8.根据权利要求7所述的方法,其中使用近邻分布进行特征增广。
9.根据权利要求7所述的方法,其中使用高斯分布进行特征增广。
10.根据权利要求1所述的方法,其中所述属性是第一训练集中的类的难度。
11.根据权利要求10所述的方法,其中所述难度能够手动确定,或者基于所述第一类与至少另一个类之间的类中心距离或类中心相似度确定。
12.根据权利要求10-11中任一项所述的方法,其中所述与间距相关联的参数是类中心相似度,并且所述方法包括,对难度高于预定阈值的类,根据类中心相似度来计算损失。
13.根据权利要求1所述的方法,其中所述属性是第一训练集中的类的重要性。
14.根据权利要求13所述的方法,其中类的重要性能够手动确定或通过类的被查询的频率来确定。
15.根据权利要求14所述的方法,其中,所述与间距相关联的参数是类的特征空间之间的关系,并且所述方法包括,进一步通过使重要性高于预定阈值的类的特征空间与除该类之外的任何其他类的特征空间尽可能正交来计算损失。
16.根据权利要求1所述的方法,其中所述计算损失包括:根据噪声类型和调整后的间距,使用噪声抑制损失函数来计算损失。
17.一种训练神经网络的方法,其特征在于包括:
从基础训练集得到多个不同的训练集;
针对所述多个不同的训练集中的每一个,使用根据权利要求1-16中任一项所述的方法进行训练,以得到多个不同的经过训练的模型。
18.根据权利要求17所述的方法,其中所述多个不同的训练集中的每个训练集是通过对所述基础训练集中的对象的目标区域进行以下操作中的至少一项得到的:裁剪和过滤。
19.一种对象识别方法,其特征在于,
使用根据权利要求1至18中任一项所述的方法获得的经过训练的模型来进行对象识别。
20.一种训练神经网络的设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序当被处理器执行时使处理器执行根据权利要求1至18中任一项所述的方法的步骤。
21.一种训练神经网络的设备,其特征在于,所述设备包括被配置为执行根据权利要求1至18中任一项所述的方法的步骤的装置。
22.一种对象识别设备,其特征在于,所述对象识别设备包括:
如权利要求21所述的训练神经网络的设备;
特征提取装置,被配置为使用经过训练的模型从输入的对象中提取特征;以及
相似度计算装置,被配置为计算所提取的特征和真实对象的特征之间的相似度。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使处理器执行根据权利要求1至19中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811349293.9A CN111191781A (zh) | 2018-11-14 | 2018-11-14 | 训练神经网络的方法、对象识别方法和设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811349293.9A CN111191781A (zh) | 2018-11-14 | 2018-11-14 | 训练神经网络的方法、对象识别方法和设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111191781A true CN111191781A (zh) | 2020-05-22 |
Family
ID=70706977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811349293.9A Pending CN111191781A (zh) | 2018-11-14 | 2018-11-14 | 训练神经网络的方法、对象识别方法和设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191781A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598190A (zh) * | 2020-07-21 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 图像目标识别模型的训练方法、图像识别方法及装置 |
CN112434576A (zh) * | 2020-11-12 | 2021-03-02 | 合肥的卢深视科技有限公司 | 一种基于深度相机的人脸识别方法及*** |
CN113989519A (zh) * | 2021-12-28 | 2022-01-28 | 中科视语(北京)科技有限公司 | 一种长尾目标检测方法及*** |
-
2018
- 2018-11-14 CN CN201811349293.9A patent/CN111191781A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598190A (zh) * | 2020-07-21 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 图像目标识别模型的训练方法、图像识别方法及装置 |
CN111598190B (zh) * | 2020-07-21 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 图像目标识别模型的训练方法、图像识别方法及装置 |
CN112434576A (zh) * | 2020-11-12 | 2021-03-02 | 合肥的卢深视科技有限公司 | 一种基于深度相机的人脸识别方法及*** |
CN113989519A (zh) * | 2021-12-28 | 2022-01-28 | 中科视语(北京)科技有限公司 | 一种长尾目标检测方法及*** |
CN113989519B (zh) * | 2021-12-28 | 2022-03-22 | 中科视语(北京)科技有限公司 | 一种长尾目标检测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109598231B (zh) | 一种视频水印的识别方法、装置、设备及存储介质 | |
CN108280477B (zh) | 用于聚类图像的方法和装置 | |
Dobrišek et al. | Towards efficient multi-modal emotion recognition | |
CN106294344B (zh) | 视频检索方法和装置 | |
WO2019015246A1 (zh) | 图像特征获取 | |
CN109919252B (zh) | 利用少数标注图像生成分类器的方法 | |
JP2017091525A (ja) | 視覚質問応答用の注目に基づく設定可能な畳み込みニューラルネットワーク(abc−cnn)のシステム及び方法 | |
US9378464B2 (en) | Discriminative learning via hierarchical transformations | |
US20200134455A1 (en) | Apparatus and method for training deep learning model | |
CN111191781A (zh) | 训练神经网络的方法、对象识别方法和设备以及介质 | |
Ghosh et al. | The class imbalance problem in deep learning | |
CN113627151B (zh) | 跨模态数据的匹配方法、装置、设备及介质 | |
WO2021245277A1 (en) | Self-supervised representation learning using bootstrapped latent representations | |
WO2023088174A1 (zh) | 目标检测方法及装置 | |
US10163000B2 (en) | Method and apparatus for determining type of movement of object in video | |
Franchi et al. | Latent discriminant deterministic uncertainty | |
Gu et al. | Unsupervised and semi-supervised robust spherical space domain adaptation | |
CN115270752A (zh) | 一种基于多层次对比学习的模板句评估方法 | |
Wang et al. | Intelligent radar HRRP target recognition based on CNN-BERT model | |
CN116109907B (zh) | 目标检测方法、装置、电子设备及存储介质 | |
CN113762005A (zh) | 特征选择模型的训练、对象分类方法、装置、设备及介质 | |
Du et al. | More than accuracy: An empirical study of consistency between performance and interpretability | |
JP7270839B2 (ja) | 顔認識のための汎用特徴表現学習 | |
CN110609961A (zh) | 一种基于词嵌入的协同过滤推荐方法 | |
TWI814619B (zh) | 用於以少量學習訓練樣本產生器之系統及方法,以及非暫時性電腦可讀儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200522 |