CN110598837A - 人工神经网络调整方法和装置 - Google Patents
人工神经网络调整方法和装置 Download PDFInfo
- Publication number
- CN110598837A CN110598837A CN201810609939.6A CN201810609939A CN110598837A CN 110598837 A CN110598837 A CN 110598837A CN 201810609939 A CN201810609939 A CN 201810609939A CN 110598837 A CN110598837 A CN 110598837A
- Authority
- CN
- China
- Prior art keywords
- class
- ann
- dominant
- weight
- loss function
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000006870 function Effects 0.000 claims description 90
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000003062 neural network model Methods 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 45
- 238000013527 convolutional neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000010885 neutral beam injection Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Probability & Statistics with Applications (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提出了一种人工神经网络(ANN)调整方法和装置。所述ANN包括多个层并且被训练用于进行分类推理。例如,所述ANN可以是人脸识别神经网络。所述方法包括:将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别;以及以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。本发明通过使用对不同类别的损失进行加权的损失函数来对人工神经网络进行调整,能够大幅提升稀少类别的分类准确率,从而整体提升人工神经网络的整体精度。
Description
技术领域
本发明涉及深度学习,尤其涉及对人工神经网络的调整方法和装置。
背景技术
近些年来,人工神经网络(ANN)在目标检测、图像分类等领域都取得了重大进展。但是在工程中,经常会发生标注数据类别不均衡的情况。倘若需要分类的类别较多,例如,人脸识别任务,上述标注数据的类别不均衡会而对分类结果产生较大影响。
为了解决上述问题,业已提出了各种各样的改进方案,例如数据增强和局部特征标注等。但上述方案也都未能很好地解决因标注数据的类别不均衡而导致的分类结果不准确的问题。
有鉴于此,仍然需要一种改进的神经网络调整方法。
发明内容
本发明通过使用对不同类别的损失进行加权的损失函数来对人工神经网络进行调整,能够大幅提升稀少类别的分类准确率,从而整体提升人工神经网络的整体精度。
根据本发明的一个方面,提出了一种人工神经网络(ANN)调整方法,所述ANN包括多个层并且被训练用于进行分类推理。例如,所述ANN可以是人脸识别神经网络。所述方法包括:将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别;以及以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。由此,能够提升稀少分类对网络整体精度的影响,从而能够调整得到更能正确预测稀少分类数据的网络参数。
优选地,可以使得每个所述稀少类别的权重固定为1,并使得每个所述主导类别的权重与其被正确预测的概率负相关。所述第一损失函数可以基于下式进行计算:
其中,A为稀有类别,B为主导类别,t为当前类别,Pt为预测为该类别的概率,并且调整参数γ大于0。由此,主导类别的权重可以随着正确预测概率的增大而进一步减小,同时确保稀有类别权重始终大于主导类别权重。通过此种区别分类,能够进一步拉大主导类别和稀有类别的损失差别,从而提升网络对稀有类别的预测精确度。
针对类别的划分方法,优选可以将数据样本数小于预定阈值的类别认定为稀少类别。例如,预定阈值可以是所述训练数据集的每类平均数据样本数。
优选地,训练数据集可以被进一步精细分类。将用于训练的数据集按照各个类别的数据样本数划分为主导类别和稀少类别可以包括:将主导类别按照各个类别的数据样本数进一步划分为两个或以上细分主导类别,并且为各个细分主导类别分配不同的权重计算方法或权重值,以使得样本数据数更多的细分主导类别所占权重更低;和/或将稀少类别按照各个类别的数据样本数进一步划分为两个或以上细分稀少类别,并且为各个细分稀少类别分配不同的权重计算方法或权重值,以使得样本数据数更少的细分稀少类别所占权重更高。由此,可以根据实际情况,对高主导类别进行更为严苛的权重分配,和/或进一步调高极稀少类别的权重,从而使得训练误差能够被合理回传,从而得到实现对稀少类别精确分类的网络。
在使用第一损失函数对所述ANN进行调整之前,可以使用第二损失函数对所述ANN进行初始训练。或者,可以使用第三损失函数与第一损失函数对所述ANN进行联合调整。优选地,第一损失函数和第三损失函数在所述ANN的调整过程中被赋予不同的权重。所述第一损失函数的权重也随着迭代的加深逐渐增大。由此,可以根据实际情况,合理选择进行第一损失函数网络调整的时机和强度,从而在确保网络正常收敛的同时,实现对稀少类别分类精度的提升。
根据本发明的另一个方面,提供了一种人工神经网络(ANN)调整装置,所述ANN包括多个层并且被训练用于进行分类推理,所述方法包括:类别划分装置,用于将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别;以及神经网络调整装置,用于以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。
所述神经网络调整装置可以使得每个所述稀少类别的权重固定为1,并且每个所述主导类别的权重与其被正确预测的概率负相关。例如,所述第一损失函数可以基于下式进行计算:
其中,A为稀有类别,B为主导类别,t为当前类别,Pt为预测为该类别的概率,并且调整参数γ大于0。
类别划分装置可以将数据样本数小于预定阈值的类别认定为稀少类别。优选地,类别划分装置可以进一步用于:将主导类别按照各个类别的数据样本数进一步划分为两个或以上细分主导类别,并且为各个细分主导类别分配不同的权重计算方法或权重值,以使得样本数据数更多的细分主导类别所占权重更低;和/或将稀少类别按照各个类别的数据样本数进一步划分为两个或以上细分稀少类别,并且为各个细分稀少类别分配不同的权重计算方法或权重值,以使得样本数据数更少的细分稀少类别所占权重更高。
神经网络调整装置还可以用于:在使用第一损失函数对所述ANN进行调整之前,使用第二损失函数对所述ANN进行初始训练。作为替换或者补充,所述神经网络调整装置还可进一步用于:使用第三损失函数与第一损失函数对所述ANN进行联合调整。第一损失函数和第三损失函数可以在所述ANN的调整过程中被赋予不同的权重。优选地,第一损失函数的权重随着迭代的加深逐渐增大。
根据本发明的一个方面,提出了一种人工神经网络(ANN)部署方法,包括:在至少部分包括FPGA、GPU和/或ASIC的定点计算平台上部署如上方法调整得到的神经网络模型以执行推理。
根据本发明的又一个方面,提出了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的人脸识别神经网络调整方法。
根据本发明的另一个方面,提出了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的人脸识别神经网络调整方法。
根据本发明的再一个方面,提出了一种定点计算平台,其至少部分由FPGA、GPU和/或ASIC构成,用于基于根据如上方法得到的定点神经网络模型进行推理计算。
本发明的ANN调整方法和装置通过对不同类别加以区别地进行权重赋值,能够很好地解决稀少类别随损失函数影响过低而对分类结果造成的不利影响,因此尤其适用于训练数据集不平衡的情况。上述权重区分可以通过损失函数施加,并且可以根据具体应用,选择不同的添加时机和权重,由此在确保网络正常收敛的情况下实现更为准确的稀少类别分类。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了典型的CNN的示意图。
图2示出了根据本发明一个实施例的ANN调整方法的流程图。
图3示出了本发明用于进行权重调整的函数的例子。
图4示出了根据本发明一个实施例的ANN调整装置的示意图。
图5示出了根据本发明一个实施例可用于实现上述调整方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本申请的方案适用于各种人工神经网络(ANN),包括深度神经网络(DNN)、循环神经网络(RNN)与卷积神经网络(CNN)。以下以CNN为例进行一定程度的背景说明。
CNN基本概念
CNN在广泛的视觉相关任务中都达到最先进的性能。为帮助理解本申请中分析的基于CNN的分类算法(例如,人脸识别算法),首先介绍CNN的基础知识。
如图1所示,典型的CNN由一系列有序运行的层组成。
CNN神经网络由输入层、输出层和多个隐藏层串联组成。CNN的第一层读取输入值,例如输入图像,并输出一系列的激活值(也可称为特征图)。下面的层读取由上一层产生的激活值,并输出新的激活值。最后一个分类器(classifier)输出该输入图像可能属于的每一类别的概率。
这些层大致可分为带权重的层(如卷积层、全连接层、批量归一化层等)和不带权重的层(如池化层、ReLU层、Softmax层等)。在这其中,CONV层(Convolutional layers,卷积层)以一系列特征图作为输入,并以卷积内核卷积获得输出激活值。池化层通常与CONV层相连,用于输出每个特征图中的每个分区(sub area)的最大值或平均值,由此通过亚采样降低计算量,同时保持某种程度的位移、尺度和形变不变性。一个CNN中可以包括卷积层和池化层之间的多个交替,由此逐步降低空间分辨率并增加特征映射的数量。随后可以连接至至少一个全连接层,通过应用于输入特征向量上的线性变换,得到包括多个特征值的一维向量输出。
总体来说,带权重的层的操作可以表示为:
Y=WX+b,
其中W为权重值,b为偏置,X为输入激活值,Y为输出激活值。
不带权重的层的操作可以表示为:
Y=f(X),
其中f(X)为非线性函数。
在此,“权重”(weights)指代隐藏层中的参数,从广义上理解可以包括偏置,是通过训练过程习得的数值,并且在推理时保持不变;激活值指代从输入层开始,每一层的输出由输入值和权重值通过运算得到,在各层之间传递的数值,也称为特征值。与权重值不同,激活值的分布会根据输入数据样本而动态变化。
在部署使用CNN进行推理(例如,图像分类)之前,首先需要对CNN进行训练。通过训练数据的大量导入,确定神经网络模型各层的参数,例如权重和偏置。
CNN的训练
训练模型表示通过有标签样本来学习(确定)所有权重和偏置的理想值。这些确定了的权重和偏置则能够在神经网络部署阶段对输入的特征值进行高准确率的推理,例如,对输入的图片进行正确的分类。
在监督式学习中,机器学习算法通过检查多个样本并尝试找出可最大限度地减少损失的模型来学习参数,这一过程称为经验风险最小化。
损失是对不良预测的惩罚。即,损失可以是一个表示对于单个样本而言模型预测的准确程度的数值。如果模型的预测完全准确,则损失为零,否则损失会较大。训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。
在神经网络的训练过程中,为了量化目前的权重和偏置是否能够让网络输入拟合所有的网络输入,需要定义一个损失函数。由此,训练网络的目的可以转变为最小化权重和偏置的损失函数的过程。通常,使用梯度下降算法(多层神经网络训练中,使用反向传播算法)来实现上述最小化的过程。
在反向传播算法中,涉及前向传播和反向传播的重复迭代过程。前向传播过程是层间神经元通过权值矩阵的连接使得刺激(特征值)经每一层的激励函数不断由前一层向下一层传递的过程。而在反向传播中,本层的误差需要由下一层的误差反向推导。由此通过上述正向和反向传播的迭代过程不断调整权重和偏置,使得损失函数逐渐接近最小值,从而完成对神经网络的训练。
本发明的ANN调整方案
近些年来,人工神经网络(ANN)在目标检测、图像分类等领域都取得了重大进展。但是在网络训练过程中经常会发生标注数据类别不均衡的情况。倘若需要分类的类别较多,例如,人脸识别任务,上述标注数据的类别不均衡会对分类结果产生较大影响。
例如,在人脸识别网络的实际应用场景中,能够获得的人脸数据往往呈现不平衡的长尾分布,每个ID(对应于一张人脸)的图片数从一张到上百张不等,这对于数据驱动的神经网络而言是灾难性的——数据的增长不一定能够带来算法性能的提升,甚至会带来相反的效果。因此解决非平衡数据集的人脸识别问题显得尤为迫切。
针对这个问题有业已提出了各式各样的算法,主要涉及到数据增强、和局部特征标注等。但上述方案也都未能很好地解决因标注数据的类别不均衡而导致的分类结果不准确的问题。
有鉴于此,本发明提出了一种针对损失函数的改进方案,通过对不同类别的损失进行加权,能够显著提升稀少数据的分类精度。
图2示出了根据本发明一个实施例的ANN调整方法的流程图。在此,ANN是包括多个层的被训练用于分类的神经网络,尤其是诸如卷积神经网络的深度神经网络。
在步骤S210,将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别。在步骤S220,以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。
本发明的ANN调整方法尤其涉及分类较多且用于训练的数据集呈现不平衡的长尾分布的应用场景。输入ANN的训练数据可以是各类数据分布不等的非平衡数据集。该ANN网络例如可以是人脸识别神经网络。
在现有的损失函数网络训练中,诸如softmax loss的损失函数具有强大的训练性能。但这些损失函对于所有的类别权重相同。由于在每一个训练批次中,属于占主导数量的类别的输入数量(例如,特征图)都远高于稀少类别的输入数量,因此占主导数量的类别的损失对于整体样本的损失往往影响巨大。主导类别分类损失较小会导致整体损失也较小,即使此时稀少类别的分类损失较大。换句话说,由于主导分类的数据占比过多,稀少分类的损失不能很好地回传以用于网络训练或是微调。因此,为了使得不同类别均能得到充分地训练,本发明对于不同类别的损失进行加权,增大稀少类别的权重,减小主导类别的权重。
在此,可以基于各种预定规则来对主导类别和稀少类别加以区分。在一个实施例中,可以将数据样本数小于预定阈值的类别认定为稀少类别。例如,预定阈值可以是训练数据集的每类平均数据样本数。即,将划分标准设置为是否大于N/C,其中N为样本总数,C为类别数。也可以设置其他的预定阈值。例如,可以将数据样本数小于5的类别划分为稀少类别。或者,也可以首先对训练数据集进行分析,根据各个分类的数据样本数的分布状况,合理制定用于划分主导类别和稀少类别的规则。
在一个实施例中,可以将数据集划分为两个以上的权重赋值部分。此时,步骤S210可以包括将主导类别按照各个类别的数据样本数进一步划分为两个或以上细分主导类别,并且为各个细分主导类别分配不同的权重计算方法或权重值,以使得样本数据数更多的细分主导类别所占权重更低;和/或将稀少类别按照各个类别的数据样本数进一步划分为两个或以上细分稀少类别,并且为各个细分稀少类别分配不同的权重计算方法或权重值,以使得样本数据数更少的细分稀少类别所占权重更高。
例如,在训练数据集内存在数据样本数特别高的类别时,可以强制使得这些类别的权重小于一个较小值,或者应用比次主导类别更为严苛的权重限制规则。
再例如,可以将普通的稀少类别的权重设为1,而对于样本数极少的类别,例如只有一两幅图像的人脸ID,则可以为这些极稀少类别分配更高的权重,例如2或3。
在一个实施例中,可以将每个所述稀少类别的权重固定为1,并且向每个所述主导类别的权重施加预定规则,以使得权重与其被正确预测的概率负相关。在一个实施例中,例如可以使用(1-pt)γ来作为向主导对象施加的规则,其中t为当前类别,Pt为预测为该类别的概率。在一个实施例中,第一损失函数基于下式进行计算:
其中,A为稀有类别,B为主导类别,t为当前类别,Pt为预测为该类别的概率。在此,取调整参数γ大于0,因此(1-pt)γ一定对应于一个小于1的权重。
图3示出了根据本发明一个实施例的概率-损失关系图。图中横坐标是Pt,即为预测为该类别的概率,纵坐标是损失。LA是标准交叉熵公式,即本发明中用于稀少类别的损失函数。LB是用于主导函数的改进交叉熵。由此通过引入一个调制系数γ来减少易分类样本(即,属于主导类别的样本)的权重,从而使得模型在训练时更专注于难分类的样本。
图中示出了γ=0,0.5,1,2和5的五条曲线。当时γ=0,相当于(1-pt)γ=1,即,相当于不添加调制,并且对应于LA的情况。当γ大于0时,权重会随着概率的增大(即,样本的易分类性)而降低。例如假设一个二分类,样本x1属于类别1的Pt=0.9,样本x2属于类别1的Pt=0.6,样本x1属于易分类样本。此时假设γ=1,那么对于Pt=0.9,权重为0.1;对于Pt=0.6,权重为0.4。即,难分样本x2(Pt=0.6)的权重更大。
在某一训练批次中,计算出两种损失后,用稀少类别和主导类别的数目进行加权求和,得到这一训练批次的损失,如下式所示:
其中,NA为稀少类别的数目,NB为主导类别的数目。
根据不同的应用场景,可以直接使用本发明的权重调整的第一损失函数对所述ANN进行训练;也可以在使用第一损失函数对所述ANN进行调整之前,使用第二损失函数对所述ANN进行训练以确定各类的初始特征中心。换句话说,在本发明中,根据类别调整权重的第一损失函数可以是训练用损失函数,也可以是微调用损失函数。无论是微调还是训练,上述损失函数都是在用于神经网络的调整。在用作微调的情况下,可以首先使用一个其他的损失函数训练好一个神经网络模型,例如人脸模型,以使得各个特征之间具备一定的分离度。这时再使用本发明的第一函数进行微调,可以避免网络的过快收敛,识别效果也更好。
在使用第一函数对ANN进行的微调或是训练,还可以配合其他损失函数使用。在一个实施例中,使用不加约束的第三损失函数与第一损失函数对所述ANN进行联合调整。优选地,第一损失函数和第三损失函数在所述ANN的调整过程中被赋予不同的权重。
在一个实施例中,第一损失函数的权重随着迭代的加深逐渐增大。在另一个实施例中,可以是第一损失函数的损失约束的权重随着迭代的加深逐渐增大。换句话说,本发明的调整方案可以通过退火方式进行网络训练。具体而言,在网络初始化的时候特征接近随机分布,这时直接加约束训练可能回复导致网络不收敛。于是可以加入一个与迭代次数有关的权重项,该权重项的值可以随着迭代次数增加不断从0增加到1,最后稳定在1。由此可以使得特征有一个初步的分布之后,再增大稀少类别的分布以满足系统整体精度的要求。
在一个实施例中,第三损失函数可以是以对分类特征中心的夹角进行约束的损失函数,由此使得各个特征中心的夹角分布趋于均匀。上述函数可以与本发明中的基于类别的权重调整损失函数结合使用,由此进一步提升多分类网络的分类精度。
可以理解的是,在此的“第一”、“第二”和“第三”是为了说明本发明中提及的用以施加角度约束的损失函数、用于进行网络初始训练的损失函数以及进行联合训练的损失函数不完全相同,而非对这三者的次序或关系有任何规定或暗示。例如,在此的第一和第二函数可以都是softmax loss损失函数,但由于第一函数是施加了权重约束的softmax loss损失函数,因此与原始的用于训练初始网络的softmax loss损失函数依旧是不同的。
ANN调整装置
本发明的上述调整方法可由特定的ANN调整装置实现。图4示出了根据本发明一个实施例的ANN调整装置的示意图。在此,该ANN包括多个层并且被训练用于进行分类推理。
ANN调整装置400包括类别划分装置410和神经网络调整装置420。类别划分装置420可以用于将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别。神经网络调整装置420可以用于以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。
优选地,神经网络调整装置420使得每个所述稀少类别的权重固定为1,并且每个所述主导类别的权重与其被正确预测的概率负相关。例如,第一损失函数可以基于下式进行计算:
其中,A为稀有类别,B为主导类别,t为当前类别,Pt为预测为该类别的概率。
在某一训练批次中,计算出两种损失后,用稀少类别和主导类别的数目进行加权求和,得到这一训练批次的损失,如下式所示:
其中,NA为稀少类别的数目,NB为主导类别的数目。
优选地,类别划分装置410可以将数据样本数小于预定阈值的类别认定为稀少类别。类别划分装置410还可以进一步用于:将主导类别按照各个类别的数据样本数进一步划分为两个或以上细分主导类别,并且为各个细分主导类别分配不同的权重计算方法或权重值,以使得样本数据数更多的细分主导类别所占权重更低;和/或将稀少类别按照各个类别的数据样本数进一步划分为两个或以上细分稀少类别,并且为各个细分稀少类别分配不同的权重计算方法或权重值,以使得样本数据数更少的细分稀少类别所占权重更高。
神经网络调整装置420可以按照需要对神经网络进行训练和微调,例如,神经网络调整装置420可以进一步用于:在使用第一损失函数对所述ANN进行调整之前,使用第二损失函数对所述ANN进行初始训练。神经网络调整装置420还可进一步用于使用第三损失函数与第一损失函数对所述ANN进行联合调整。第一损失函数和第三损失函数在所述ANN的调整过程中可被赋予不同的权重。例如,第一损失函数的权重可以随着迭代的加深逐渐增大。
在一个实施例中,本发明还包括一种人工神经网络(ANN)部署方法,用于在至少部分包括FPGA、GPU和/或ASIC的定点计算平台上部署如上所述调整获得的神经网络模型以执行推理。例如,人脸识别任务。定点量化的位宽可由所述FPGA、GPU和/或ASIC的位宽决定。
所述ANN可以是人脸识别神经网络,并且部署的所述ANN不包括所述最后一层全连接层。用于训练的人脸识别神经网络还包括用于输出提取的人脸特征向量的倒数第二个全连接层1。而在部署的神经网络中,由于最后一层不输出,因此训练中的倒数第二个全连接层可以用作实际部署在硬件计算平台上的神经网络模型的输出层。该神经网络模型执行推理输出的人脸特征向量被用于与已有的人脸特征(例如,存储在数据库中的现有人脸特征)相比对以进行人脸识别。
另外,人脸识别在实际应用场景中可能收集到大量应用数据,利用这些数据可以直接在硬件平台上对部署的定点模型进行微调,实现热更新的效果。因此,在一个实施例中,本发明的部署方法还可以包括将所述推理的验证结果用于对部署的所述神经网络的微调。
本领域技术人员应该明了的是,本发明的原理适用于各类非平衡数据集的网络训练,例如针对人脸识别任务进行训练的网络,以及其他多分类网络,例如车辆型号和动物所述种类的分类。
图5示出了根据本发明一个实施例可用于实现上述调整方法的计算设备的结构示意图。
参见图5,计算设备500包括存储器510和处理器520。
处理器550可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器520可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器520可以使用定制的电路实现,例如特定用途集成电路(ASIC)或者现场可编程逻辑门阵列(FPGA)。
存储器510可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器520或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器510可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器510可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器510上存储有可处理代码,当可处理代码被处理器520处理时,可以使处理器520执行上文述及的神经网络调整方法。
在实际使用中,上述计算设备500可以是包括大容量存储装置510和CPU 520的通用计算设备,上述设备用于执行神经网络的训练。而根据本发明的调整方案获取的用于分类的神经网络则可在至少部分由FPGA、GPU和/或ASIC实现的定点计算平台上执行。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可由执行规定的功能或操作的专用的基于硬件的系统实现,或者可由专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (24)
1.一种人工神经网络(ANN)调整方法,所述ANN包括多个层并且被训练用于进行分类推理,所述方法包括:
将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别;以及
以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。
2.如权利要求1所述的方法,其中,每个所述稀少类别的权重固定为1,并且每个所述主导类别的权重与其被正确预测的概率负相关。
3.如权利要求2所述的方法,其中,所述第一损失函数基于下式进行计算:
其中,A为稀有类别,B为主导类别,t为当前类别,Pt为预测为该类别的概率,并且调整参数γ大于0。
4.如权利要求1所述的方法,其中,将数据样本数小于预定阈值的类别认定为稀少类别。
5.如权利要求4所述的方法,其中,所述预定阈值是所述训练数据集的每类平均数据样本数。
6.如权利要求1所述的方法,其中,将用于训练的数据集按照各个类别的数据样本数划分为主导类别和稀少类别包括:
将主导类别按照各个类别的数据样本数进一步划分为两个或以上细分主导类别,并且为各个细分主导类别分配不同的权重计算方法或权重值,以使得样本数据数更多的细分主导类别所占权重更低;和/或
将稀少类别按照各个类别的数据样本数进一步划分为两个或以上细分稀少类别,并且为各个细分稀少类别分配不同的权重计算方法或权重值,以使得样本数据数更少的细分稀少类别所占权重更高。
7.如权利要求1所述的方法,所述方法包括:
在使用第一损失函数对所述ANN进行调整之前,使用第二损失函数对所述ANN进行初始训练。
8.如权利要求1所述的方法,还包括;
使用第三损失函数与第一损失函数对所述ANN进行联合调整。
9.如权利要求8所述的方法,其中,所述第一损失函数和第三损失函数在所述ANN的调整过程中被赋予不同的权重。
10.如权利要求9所述的方法,其中,所述第一损失函数的权重随着迭代的加深逐渐增大。
11.如权利要求1所述的方法,其中,所述ANN是人脸识别神经网络。
12.一种人工神经网络(ANN)调整装置,所述ANN包括多个层并且被训练用于进行分类推理,所述方法包括:
类别划分装置,用于将训练数据集按照各个类别的数据样本数划分为主导类别和稀少类别;以及
神经网络调整装置,用于以每个主导类别所占权重比每个稀少类别所占权重更低的第一损失函数对所述ANN进行调整。
13.如权利要求12所述的装置,其中,所述神经网络调整装置使得每个所述稀少类别的权重固定为1,并且每个所述主导类别的权重与其被正确预测的概率负相关。
14.如权利要求13所述的装置,其中,所述第一损失函数基于下式进行计算:
其中,A为稀有类别,B为主导类别,t为当前类别,Pt为预测为该类别的概率,并且调整参数γ大于0。
15.如权利要求12所述的装置,其中,所述类别划分装置将数据样本数小于预定阈值的类别认定为稀少类别。
16.如权利要求12所述的装置,其中,所述类别划分装置进一步用于:
将主导类别按照各个类别的数据样本数进一步划分为两个或以上细分主导类别,并且为各个细分主导类别分配不同的权重计算方法或权重值,以使得样本数据数更多的细分主导类别所占权重更低;和/或
将稀少类别按照各个类别的数据样本数进一步划分为两个或以上细分稀少类别,并且为各个细分稀少类别分配不同的权重计算方法或权重值,以使得样本数据数更少的细分稀少类别所占权重更高。
17.如权利要求12所述的装置,其中,所述神经网络调整装置进一步用于:
在使用第一损失函数对所述ANN进行调整之前,使用第二损失函数对所述ANN进行初始训练。
18.如权利要求12所述的装置,其中,所述神经网络调整装置进一步用于:
使用第三损失函数与第一损失函数对所述ANN进行联合调整。
19.如权利要求18所述的装置,其中,所述第一损失函数和第三损失函数在所述ANN的调整过程中被赋予不同的权重。
20.如权利要求19所述的装置,其中,所述第一损失函数的权重随着迭代的加深逐渐增大。
21.一种人工神经网络(ANN)部署方法,包括:
在至少部分包括FPGA、GPU和/或ASIC的定点计算平台上部署如权利要求1-11中任一项的方法调整得到的神经网络模型以执行推理。
22.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-11中任一项所述的方法。
23.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-11中任一项所述的方法。
24.一种定点计算平台,至少部分由FPGA、GPU和/或ASIC构成,用于部署基于根据权利要求1-11中任一项的方法获取的人工神经网络进行推理计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810609939.6A CN110598837A (zh) | 2018-06-13 | 2018-06-13 | 人工神经网络调整方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810609939.6A CN110598837A (zh) | 2018-06-13 | 2018-06-13 | 人工神经网络调整方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110598837A true CN110598837A (zh) | 2019-12-20 |
Family
ID=68849555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810609939.6A Pending CN110598837A (zh) | 2018-06-13 | 2018-06-13 | 人工神经网络调整方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598837A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210073675A1 (en) * | 2019-09-11 | 2021-03-11 | Samsung Display Co., Ltd. | System and method to improve accuracy of regression models trained with imbalanced data |
CN113111997A (zh) * | 2020-01-13 | 2021-07-13 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN113222942A (zh) * | 2021-05-17 | 2021-08-06 | 北京百度网讯科技有限公司 | 多标签分类模型的训练方法和预测标签的方法 |
WO2021155706A1 (zh) * | 2020-02-07 | 2021-08-12 | 支付宝(杭州)信息技术有限公司 | 利用不平衡正负样本对业务预测模型训练的方法及装置 |
CN113780321A (zh) * | 2021-01-13 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 图片审核方法、系统、电子设备及计算机可读介质 |
CN118313423A (zh) * | 2024-06-13 | 2024-07-09 | 北京德和顺天科技有限公司 | 一种汽车技术知识智能管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103489033A (zh) * | 2013-09-27 | 2014-01-01 | 南京理工大学 | 融合自组织映射与概率神经网络的增量式学习方法 |
CN103969211A (zh) * | 2013-01-28 | 2014-08-06 | 广州白云山和记黄埔中药有限公司 | 一种采用近红外光谱检测复方丹参片水分含量的方法 |
CN106295242A (zh) * | 2016-08-04 | 2017-01-04 | 上海交通大学 | 基于代价敏感lstm网络的蛋白质域检测方法 |
CN107480144A (zh) * | 2017-08-03 | 2017-12-15 | 中国人民大学 | 具备跨语言学习能力的图像自然语言描述生成方法和装置 |
-
2018
- 2018-06-13 CN CN201810609939.6A patent/CN110598837A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103969211A (zh) * | 2013-01-28 | 2014-08-06 | 广州白云山和记黄埔中药有限公司 | 一种采用近红外光谱检测复方丹参片水分含量的方法 |
CN103489033A (zh) * | 2013-09-27 | 2014-01-01 | 南京理工大学 | 融合自组织映射与概率神经网络的增量式学习方法 |
CN106295242A (zh) * | 2016-08-04 | 2017-01-04 | 上海交通大学 | 基于代价敏感lstm网络的蛋白质域检测方法 |
CN107480144A (zh) * | 2017-08-03 | 2017-12-15 | 中国人民大学 | 具备跨语言学习能力的图像自然语言描述生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘江涛: "距离度量学习中的类别不平衡问题研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210073675A1 (en) * | 2019-09-11 | 2021-03-11 | Samsung Display Co., Ltd. | System and method to improve accuracy of regression models trained with imbalanced data |
US11720818B2 (en) * | 2019-09-11 | 2023-08-08 | Samsung Display Co., Ltd. | System and method to improve accuracy of regression models trained with imbalanced data |
CN113111997A (zh) * | 2020-01-13 | 2021-07-13 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN113111997B (zh) * | 2020-01-13 | 2024-03-22 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和相关产品 |
WO2021155706A1 (zh) * | 2020-02-07 | 2021-08-12 | 支付宝(杭州)信息技术有限公司 | 利用不平衡正负样本对业务预测模型训练的方法及装置 |
CN113780321A (zh) * | 2021-01-13 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 图片审核方法、系统、电子设备及计算机可读介质 |
CN113222942A (zh) * | 2021-05-17 | 2021-08-06 | 北京百度网讯科技有限公司 | 多标签分类模型的训练方法和预测标签的方法 |
CN118313423A (zh) * | 2024-06-13 | 2024-07-09 | 北京德和顺天科技有限公司 | 一种汽车技术知识智能管理方法 |
CN118313423B (zh) * | 2024-06-13 | 2024-08-16 | 北京德和顺天科技有限公司 | 一种汽车技术知识智能管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598837A (zh) | 人工神经网络调整方法和装置 | |
US10275719B2 (en) | Hyper-parameter selection for deep convolutional networks | |
CN110826379B (zh) | 一种基于特征复用与YOLOv3的目标检测方法 | |
US20170091619A1 (en) | Selective backpropagation | |
US11100374B2 (en) | Apparatus and method with classification | |
CN111860236A (zh) | 一种基于迁移学习的小样本遥感目标检测方法及系统 | |
CN112508186A (zh) | 训练用于图像识别的神经网络的方法和神经网络设备 | |
US20200265307A1 (en) | Apparatus and method with multi-task neural network | |
US20220156508A1 (en) | Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation | |
US20230274150A1 (en) | Performing Inference And Training Using Sparse Neural Network | |
CN114842343A (zh) | 一种基于ViT的航空图像识别方法 | |
CN112132255A (zh) | 人工智能神经网络引擎中模型推断的批量归一化层融合和量化方法 | |
CN116912796A (zh) | 一种基于新型动态级联YOLOv8的自动驾驶目标识别方法及装置 | |
CN114091597A (zh) | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 | |
US20240144086A1 (en) | Method and apparatus with machine learning | |
CN116563850A (zh) | 多类别目标检测方法及其模型训练方法、装置 | |
CN110598723B (zh) | 人工神经网络调整方法和装置 | |
Momo et al. | Speech recognition using feed forward neural network and principle component analysis | |
US20240054349A1 (en) | Training apparatus, classification apparatus, training method, classification method, and program | |
CN110633722A (zh) | 人工神经网络调整方法和装置 | |
EP4244768A1 (en) | Automatic early-exiting machine learning models | |
JP7283566B2 (ja) | モデル生成システム、方法およびプログラム | |
CN115270997B (zh) | 基于迁移学习的火箭目标姿态稳定判别方法及相关装置 | |
US20230325671A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US12033370B2 (en) | Learning device, learning method, and computer program product |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200901 Address after: Unit 01-19, 10 / F, 101, 6 / F, building 5, yard 5, Anding Road, Chaoyang District, Beijing 100029 Applicant after: Xilinx Electronic Technology (Beijing) Co.,Ltd. Address before: 100083, 17 floor, four building four, 1 Wang Zhuang Road, Haidian District, Beijing. Applicant before: BEIJING DEEPHI INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191220 |
|
RJ01 | Rejection of invention patent application after publication |