CN113807183B - 模型训练方法及相关设备 - Google Patents
模型训练方法及相关设备 Download PDFInfo
- Publication number
- CN113807183B CN113807183B CN202110945460.1A CN202110945460A CN113807183B CN 113807183 B CN113807183 B CN 113807183B CN 202110945460 A CN202110945460 A CN 202110945460A CN 113807183 B CN113807183 B CN 113807183B
- Authority
- CN
- China
- Prior art keywords
- image
- feature
- training
- feature vector
- data set
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 280
- 238000000034 method Methods 0.000 title claims abstract description 157
- 239000013598 vector Substances 0.000 claims abstract description 272
- 238000013508 migration Methods 0.000 claims abstract description 158
- 230000005012 migration Effects 0.000 claims abstract description 158
- 238000003062 neural network model Methods 0.000 claims abstract description 126
- 238000012545 processing Methods 0.000 claims abstract description 81
- 238000000605 extraction Methods 0.000 claims abstract description 10
- 238000009826 distribution Methods 0.000 claims description 73
- 230000015654 memory Effects 0.000 claims description 68
- 238000013135 deep learning Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 44
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000013528 artificial neural network Methods 0.000 description 51
- 238000013527 convolutional neural network Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 31
- 238000011176 pooling Methods 0.000 description 31
- 239000011159 matrix material Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 20
- 230000001364 causal effect Effects 0.000 description 16
- 230000004913 activation Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 12
- 210000002569 neuron Anatomy 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 10
- 230000006978 adaptation Effects 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 229940079593 drug Drugs 0.000 description 3
- 239000003814 drug Substances 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 241000228740 Procrustes Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- NNJPGOLRFBJNIW-HNNXBMFYSA-N (-)-demecolcine Chemical compound C1=C(OC)C(=O)C=C2[C@@H](NC)CCC3=CC(OC)=C(OC)C(OC)=C3C2=C1 NNJPGOLRFBJNIW-HNNXBMFYSA-N 0.000 description 1
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 210000002478 hand joint Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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/211—Selection of the most significant subset of features
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (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)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种模型训练方法及相关设备。涉及人工智能领域,具体涉及计算机视觉领域。该方法包括:利用第二图像训练反事实特征生成器,利用特征提取器对第一图像进行特征提取以得到提取特征向量;利用反事实特征生成器对第一图像的真实标签和第一随机噪声向量进行处理得到训练对象的反事实特征向量;利用预测器对提取特征向量和反事实特征向量进行处理得到第一图像的预测标签;根据第一图像的真实标签、预测标签、提取特征向量和反事实特征向量调整神经网络模型的网络参数,以得到领域迁移后的神经网络模型。利用反事实特征向量干预源领域数据集的训练过程,使训练后的特征提取器更关注训练对象的内容特征,提升模型在跨领域场景下的泛化性能。
Description
技术领域
本发明实施例涉及计算机视觉领域,尤其涉及一种模型训练方法及相关设备。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主***中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工***从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成像***代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
其中,三维姿态估计是指从输入的图像或者视频中,估计出肢体/手部关节点的三维坐标。它是计算机视觉的一个关键任务,在人机交互、数字孪生、隐私保护,行为识别等场景有非常重要的应用。
现有技术中,基于深度学习的人体/人手姿态估计方法,其主要原理是利用人体/人手图像及对应的三维姿态真值,训练一个神经网络模型,用来对人体/人手三维姿态进行估计。然而,该类训练方法得到的模型在实际应用时通常面临着泛化性能有限的问题,即对于训练数据之外的新数据域的姿态估计性能表现较差。因此,亟需对上述技术问题进行改进。
发明内容
本申请提供一种模型训练方法及相关设备,用于实现神经网络模型的领域迁移,提升领域迁移后的神经网络模型在迁移领域中的使用效果,提高模型在跨领域场景下的泛化性能。
第一方面,提供一种模型训练方法,包括以下步骤:获取源领域数据集,源领域数据集用于预训练神经网络模型,神经网络模型包括特征提取器和预测器,源领域数据集包括第一图像和第一图像中训练对象的真实标签;利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用迁移领域数据集的第二图像训练得到的,第二图像包括训练对象;利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
本发明实施例中的模型训练方法用于重新训练神经网络模型(包括特征提取器和预测器),以将模型跨领域应用到迁移领域上;其中,重新训练利用到的数据集包括原先用于预训练上述神经网络模型的源领域数据集以及迁移领域对应的数据集,即迁移领域数据集;重新训练神经网络模型时,先利用迁移领域数据集训练一个反事实特征生成器,该反事实特征生成器用于根据指定的内容和随机噪声向量生成一个反事实特征向量,训练后的反事实特征生成器可以学习到迁移领域数据集的第二图像的领域特征(可以理解为第二图像中与模型任务无关的特征)。接着,利用该反事实特征生成器生成的反事实特征向量来干预源领域数据集的训练过程,即利用特征提取器对第一图像进行特征提取以得到提取特征向量;以及利用反事实特征生成器对第一图像的真实标签和第一随机噪声向量进行处理,得到第一图像的反事实特征向量;利用预测器对提取特征向量和反事实特征向量进行处理以得到第一图像的预测标签;最后,根据第一图像的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。其中,由于反事实特征生成器已经学习了迁移领域数据集的领域特征,结合第一图像的真实标签和第一随机噪声向量可以生成第一图像对应的反事实特征向量,再利用反事实特征向量来干预源领域数据集的训练过程,使得训练后的特征提取器更关注图像的内容特征,而不是图像的领域特征,以提升领域迁移后的神经网络模型的泛化性能,保障领域迁移后的神经网络模型在迁移领域中的使用效果。
特别地,源领域数据集中包括一张以上的第一图像,对于每一张第一图像,均进行上述处理,直到源领域数据集中的第一图像均完成上述处理,则完成了对神经网络模型的重新训练,也即得到了领域迁移后的神经网络模型。
可选地,根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和/或预测器的网络参数,以得到领域迁移后的神经网络模型,具体包括以下步骤:确定第一图像对应的真实标签和预测标签之间的第一误差损失,以及确定提取特征向量的第一概率分布和反事实特征向量的第二概率分布之间的第二误差损失;调整特征提取器和预测器的网络参数,直到第一误差损失满足第一收敛条件,且第二误差损失满足第二收敛条件,以得到领域迁移后的神经网络模型。
本发明实施例中,通过计算第一误差损失和第二误差损失,以确定第一误差损失是否满足第一收敛条件,以及第二误差损失是否满足第二收敛条件;在第一误差损失满足第一收敛条件,且第二误差损失满足第二收敛条件时,停止第一图像的训练流程;而当第一误差损失不满足第一收敛条件,和/或第二误差损失不满足第二收敛条件时,则调整特征提取器和预测器的网络参数,并重新计算第一误差损失和第二误差损失,重新判断是否满足第一收敛条件和第二收敛条件,直到重新计算的第一误差损失满足第一收敛条件和重新计算的第二误差损失满足第二收敛条件,则停止第一图像的训练流程。
可选地,方法还包括以下步骤:利用预训练的特征编码器获取第二图像的第一特征向量,其中,特征编码器为利用迁移领域数据集预训练得到的;利用训练前的反事实特征生成器,对第二随机噪声向量以及已知标签进行处理,以得到第二特征向量,已知标签为至少一个已知的真值标签;调整训练前的反事实特征生成器的网络参数,直到第一特征向量和第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器。
本发明实施例中,在训练反事实特征生成器时,利用预训练的特征编码器获取第二图像的第一特征向量;另外,利用训练前的反事实特征生成器,对第二随机噪声向量和已知标签进行处理,以生成第二特征向量,已知标签为至少一个已知的真值标签;最后根据第一特征向量和第二特征向量是否服从同一概率分布,调整训练前的反事实特征生成器的网络参数,直到第一特征向量和第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器,使得训练后的反事实特征生成器可以学习到第二图像的领域特征。
可选地,调整训练前的反事实特征生成器的网络参数,直到第一特征向量和第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器,包括:将第一特征向量和第二特征向量输入分布判别器进行处理,以得到判别结果;根据判别结果确定第一特征向量和第二特征向量不服从同一概率分布时,调整训练前的反事实特征生成器的网络参数。
本发明实施例中,利用分布判别器判断第一特征向量和第二特征向量是否服从同一概率分布,分布判别器的判别结果为不服从同一概率分布和服从同一概率分布。当判别结果为不服从同一概率分布时,调整训练器的反事实特征生成器的网络参数,并重新判断第一特征向量和调整后的第二特征向量是否服从同一概率分布,直到两者服从同一概率分布,则停止第二图像的训练流程。
可选地,特征编码器为自编码器中的编码器。
本发明实施例中,自编码器包括一个编码器和一个解码器,上述的特征编码器为自编码器中的编码器。在训练特征编码器时都需要利用解码器对特征编码器的训练效果进行验证,因此,实际上训练特征编码器的过程,是训练自编码器的过程。
可选地,迁移领域数据集为已知领域的数据集或无限制领域数据集。
本发明实施例中,领域迁移训练时所使用的迁移领域数据集可以为已知领域的数据集,可以理解为迁移领域是特定的,已知的。或者,迁移领域数据集也可以为无限制领域的数据集,即无限制领域数据集由两个以上具有不同数据分布的数据集所组成,即不指定迁移的具体领域为哪个领域。
第二方面,提供一种模型训练方法,该方法包括:获取迁移领域数据集,迁移领域数据集包括第二图像,第二图像包括训练对象;根据迁移领域数据集对预训练的神经网络模型进行重新训练,得到领域迁移后的神经网络模型,神经网络模型包括特征提取器和预测器;其中,根据迁移领域数据集对预训练的神经网络模型进行重新训练,具体包括:获取用于预训练神经网络模型的源领域数据集,源领域数据集包括第一图像和第一图像中训练对象的真实标签;利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用第二图像训练得到的;利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
本发明实施例提供另一种模型训练方法,其中,先获取迁移领域数据集,再利用迁移领域数据集对预训练的神经网络模型进行重新训练,以得到领域迁移后的神经网络模型。实现模型领域迁移,又能提升领域迁移后的神经网络模型的泛化性能,保障领域迁移后的神经网络模型在迁移领域中的使用效果。
第三方面,提供一种模型训练装置,包括:
获取模块,用于源领域数据集,源领域数据集用于预训练神经网络模型,神经网络模型包括特征提取器和预测器,源领域数据集包括第一图像和第一图像中训练对象的真实标签;
提取模块,用于利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;
确定模块,用于利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用迁移领域数据集的第二图像训练得到的,第二图像包括训练对象;
处理模块,用于利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;
第一调整模块,用于根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
可选地,第一调整模块,具体用于:确定第一图像对应的真实标签和预测标签之间的第一误差损失,以及确定提取特征向量的第一概率分布和反事实特征向量的第二概率分布之间的第二误差损失;调整特征提取器和预测器的网络参数,直到第一误差损失满足第一收敛条件,且第二误差损失满足第二收敛条件,以得到领域迁移后的神经网络模型。
可选地,装置还包括:
特征提取模块,用于利用预训练的特征编码器获取第二图像的第一特征向量,其中,特征编码器为利用迁移领域数据集预训练得到的;
生成模块,用于利用训练前的反事实特征生成器,对第二随机噪声向量以及已知标签进行处理,以得到第二特征向量,已知标签为至少一个已知的真值标签;
第二调整模块,用于调整训练前的反事实特征生成器的网络参数,直到第一特征向量和第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器。
可选地,第二调整模块,具体用于:将第一特征向量和第二特征向量输入分布判别器进行处理,以得到判别结果;根据判别结果确定第一特征向量和第二特征向量不服从同一概率分布时,调整训练前的反事实特征生成器的网络参数。
可选地,特征编码器为自编码器中的编码器。
可选地,迁移领域数据集为已知领域的数据集或无限制领域数据集。
第四方面,提供一种模型训练装置,该装置包括:
获取模块,用于获取迁移领域数据集,迁移领域数据集包括第二图像,第二图像包括训练对象;
处理模块,用于根据迁移领域数据集对预训练的神经网络模型进行重新训练,得到领域迁移后的神经网络模型,神经网络模型包括特征提取器和预测器;其中,根据迁移领域数据集对预训练的神经网络模型进行重新训练,具体包括:获取用于预训练神经网络模型的源领域数据集,源领域数据集包括第一图像和第一图像中训练对象的真实标签;利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用第二图像训练得到的;利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
第五方面,提供一种模型训练设备,包括处理器和存储器,其中,处理器和存储器相连,其中,存储器用于存储程序代码,处理器用于调用程序代码,以执行如第一方面或第二方面所述的模型训练方法。
第六方面,提供一种终端设备,在终端设备上运行利用如第一方面或第二方面所述的模型训练方法得到的领域迁移后的深度学习网络。
第七方面,提供一种计算机视觉处理***,包括图片获取设备和第六方面所述的终端设备,图片获取设备用于获取包括目标对象的待处理图片,并将待处理图片发送给终端设备,终端设备利用领域迁移后的深度学习网络获取待处理图片对应的预测标签。
第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面或第二方面所述的模型训练方法。
第九方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第一方面或第二方面所述的模型训练方法。
第十方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第二方面所述的模型训练方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面所述的模型训练方法。
附图说明
下面对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的***架构的结构示意图;
图2是本申请实施例提供的CNN模型的示意图;
图3是本申请实施例提供的一种芯片硬件结构示意图;
图4是本申请实施例提供的一种模型训练方法的流程图;
图5是本申请实施例提供的一种模型训练方法的示意图;
图6是本申请实施例提供的一种反事实特征生成器G的训练过程示意图;
图7是本申请实施例提供的一种特征编码器的训练过程示意图;
图8是本申请实施例提供的另一种模型训练方法的流程图;
图9是本申请实施例提供的一种模型训练装置的结构示意图;
图10是本申请实施例提供的另一种模型训练装置的结构示意图;
图11是本申请实施例提供的一种模型训练设备的结构示意图;
图12是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)、机器视觉任务
机器视觉就是用机器代替人眼来做测量和判断。机器视觉任务包括姿态估计、物体识别、语义分割、行人再识别、图像分类、目标检测、场景文字识别、人体关键点检测、视频分类、度量学习等。
(2)、源领域、目标领域
源领域(Source Domain)数据集为已知的数据集,该数据集具有大量的标签数据;而目标领域(Target D omain)数据集为无标签或者只有少量标签的数据集,也即本申请中的迁移领域数据集。其中,源领域数据集和迁移领域数据集往往属于同一类任务,但是它们的数据经验分布不同,因此,直接将在源领域数据集上训练的模型用于迁移领域数据集上时,往往难以取得很好的效果,需要进行领域迁移训练,才能得到效果好的用于迁移领域数据集上的模型。领域迁移的目标是利用已知的源域和目标域数据训练一个在目标域上的模型。
(3)、无限制领域数据集
无限制领域数据集包括若干个具有不同数据分布的数据集。
(4)、领域泛化
领域泛化(Domain Generalization,DG)研究的问题是如何利用源领域数据集训练一个模型,其目的是使得该模型能够泛化到其他不同数据分布的目标领域,以便在未知的测试集上取得较好的效果。根据源领域数据集的来源数量,领域泛化的问题又可以分为单一领域泛化(Single-Source Domain Generalization),或者是多领域泛化(Multi-Source Domain Generalization)。顾名思义,前者只能用单一来源的数据做模型训练,而后者则是采用多个来源不同的数据做模型训练。
(5)、领域自适应
领域自适应(Domain Adaptation,DA)是利用源领域数据集中标注好的数据去学习一个模型,使得学习到的模型能运用到无标注或只有少量标注的目标域中。领域泛化与领域自适应最大的不同:DA在训练中,源域和目标域数据均能访问(无监督DA中则只有无标记的目标域数据);而在DG问题中,只能访问若干个用于训练的源域数据,测试数据是不能访问的。
(6)、因果表示学习
因果表示学习是指从数据中学习变量,也就意味着,经过大数据学习,基于因果表示学习的机器学习算法或者能够超越传统的符号人工智能(symbolic AI)。它不要求人工划分的先验知识,就能从数据中学到信息。直接定义与因果模型相关的对象或变量,相当于直接提取真实世界的更详细的粗粒度模型。
具体地,因果关系能够反映数据生成机制,该机制在不同领域之间往往是通用且不变的,能向未知的领域提供最具可转移性的信息。例如,在拍摄一张图片既涉及内容(例如人和物体等)又涉及特定领域(例如背景和视点等)。即使两张照片的领域可能不同,只要内容不变,照片的语义仍然是一样的。因此,因果表示学习的目的是学习一种能够表达因果关系的特征,该因果关系在不同的干预下保持不变。这使得我们可以训练一个对现实世界中自然发生的领域变化具有适应性的预测模型。
(7)、反事实
因果推理的研究问题是,在样本应用了不同的干预措施情况下,估计结果的变化情况。例如,假设患者可以使用两种治疗方法,即药物A和B。考虑到服用药物A的患者的恢复率为70%。如果吃另一种药,他们的康复率会更高吗?这种问题也被称之为反事实问题。用形式化的语言描述反事实问题为:当实际观测到变量X=x',Y=y'时,如果假设变量X=x,那么推测变量Y=y的概率,即P(y_x|x^',y')。
(8)、反事实特征
在现实中观测到的样本和结果,被定义为事实样本和事实结果;未观测到的干预措施下的样本和结果(即需要因果推理得出的),被定义为反事实样本和反事实结果。对于计算机视觉中的图像,在现实中采集到的数据集即为事实样本,如果定义一个神经网络f,从图像x中提取特征,那么f(x)即为事实特征。对于图像x,假设与其对应的未观测到的干预措施下的样本为x',即反事实样本,神经网络f从中提取的特征f(x')即为反事实特征。
(9)、反事实特征生成器
由于实际情况中无法获得每个观测样本对应的反事实样本(其定义决定)。所以本申请实施例采用反事实特征生成器的方法来生成反事实特征。根据计算机视觉中图像生成的因果关系,即图像是由内容和领域共同决定的,图像语义信息是由内容决定的,且改变领域不会改变图像的语义信息。通常事实样本图像的语义标签是已知的,事实样本的领域可以用事实特征的概率分布表示,那么利用已知的语义标注y(即图像的真实标签)和确定的领域d即可以生成该语义标注对应的反事实特征。用形式化的语言描述这一过程即为:已知事实样本图像x和其语义标签y,特征提取神经网络f,及事实特征f(x),训练一个神经网络生成器G和分布判别器D,神经网络生成器G的输入为语义标签y和随机噪声u,其输出为z=G(y,u)。判别器的输入为z和f(x),其输入为判定两个输入特征是否来自同一分布。生成器G和分布判别器D进行对抗训练后,生成器G即为反事实特征特则生成器。
(10)、神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(11)、深度神经网络
深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,/>是输出向量,/>是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量/>经过如此简单的操作得到输出向量/>由于DNN层数多,则系数W和偏移向量/>的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为/>上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为/>需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(12)、卷积神经网络
卷积神经网络(CNN,Convolutional Neuron Network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(13)、循环神经网络
循环神经网络(RNN,Recurrent Neural Networks)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如W,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法Back propagation Through Time(BPTT)。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(14)、损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(15)、反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
现有技术中,神经网络模型容易学到虚假的内在联系,使得该神经网络模型在应用到训练样本之外的数据域时,泛化能力较差。即在跨场景情况下,所学习到的模型在应用到未见过的新视角或者新场景时,性能急剧退化。
具体地,参考上述“(9)、反事实特征生成器”的描述,根据图像生成过程中的因果关系,本发明申请假设图像的形成是一个内容变量(即定义性特征)和领域变量(即描述性特征)共同控制的,改变领域变量可以看作是对图像的一种“干预”。以人体三维姿态估计为例,图像的内容变量可以理解为姿态估计任务所关注、相关的信息,例如人体的关节点等特征信息;而图像的领域变量可以理解为图像与姿态估计任务无关的其他信息,例如图像的拍摄角度、背景、人穿着的衣服等信息。为了解决上述技术问题,本发明申请提出了一种基于因果表示学习的跨领域模型训练方法,该模型训练方法基于计算机视觉任务的图像生成过程中变量之间的因果关系,提出将领域变化看作是对图像的一种“干预”,利用迁移领域数据集进行因果表示学习,即训练反事实特征生成器从指定的内容和随机噪声生成反事实特征向量来实现这种“干预”操作,然后利用反事实特征向量“干预”源领域数据集对神经网络模型的训练过程。最后,约束不同“干预”情况下学习到的表示分布之间的相似性,使神经网络模型学习到跨不同领域的,具有可迁移性的因果关系,从而提升模型在跨领域场景下的泛化性能。
实施例一
下面介绍本申请实施例提供的***架构。
参见附图1,本发明实施例提供了一种***架构100。如所述***架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:源领域数据集和迁移领域数据集,其中,源领域数据集包括第一图像和第一图像中训练对象的真实标签,迁移领域数据集包括第二图像,第二图像包括训练对象;并将训练数据存入数据库130,模型训练设备120基于数据库130中维护的训练数据重新训练预训练的神经网络模型得到神经网络模型101(这里的101就是前面介绍的经训练阶段训练得到的领域迁移后的神经网络模型,即重新训练后的神经网络模型)。模型训练设备120可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端,监控设备,车载自动驾驶***,无人售货机等,还可以是服务器或者云端等。下面将以实施例二更详细地描述模型训练设备120如何基于训练数据得到神经网络模型101,该神经网络模型101能够用于将包括目标对象的待处理图片通过相关预处理后输入该神经网络模型101,即可得到对应该待处理图片的模型处理结果,神经网络模型101可以用于实现各种机器视觉任务。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的,例如相机等。另外需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,模型训练设备120也不一定完全基于数据库130维护的训练数据进行神经网络模型101的重新训练,也有可能从云端或其他地方获取训练数据进行模型重新训练,上述描述不应该作为对本申请实施例的限定。
根据模型训练设备120重新训练得到的神经网络模型101可以应用于不同的***或设备中,如应用于图1所示的终端设备110,所述终端设备110可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端,监控设备,车载自动驾驶***,无人售货机等,还可以是服务器或者云端等。在附图1中,终端设备110配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:包括目标对象的待处理图片,可以是用户输入的,还可以有数据库中来的;其中,客户设备140可以是图片获取设备,如相机。
预处理模块113用于根据I/O接口112接收到的输入数据(如待处理图片)进行预处理,在本申请实施例中,预处理模块113用于根据I/O接口112接收到的输入数据(如待处理图片)进行预处理,预处理之后的数据进入计算模块111。在本申请实施例中,预处理模块113可以用于对待处理图片进行滤波、增强、去噪等中的至少一种处理,以得到满足要求的待处理图片。
在终端设备110对输入数据进行预处理,或者在终端设备110的计算模块111执行计算等相关的处理过程中,终端设备110可以调用数据存储***150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储***150中。
最后,I/O接口112将待处理图片的模型处理结果返回给客户设备140,从而提供给用户,此时,客户设备140可以为显示器。
值得说明的是,模型训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的神经网络模型101,该相应的神经网络模型101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看终端设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图1所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图1所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储***150相对终端设备110是外部存储器,在其它情况下,也可以将数据存储***150置于终端设备110中。另外,模型训练设备120和终端设备110可以为同一个设备。
如图1所示,根据模型训练设备120训练得到神经网络模型101,该神经网络模型101在本申请实施例中可以包括:特征提取器和预测器,其中,特征提取器用于提取待处理图片的特征向量,而预测器用于根据待处理图片的特征向量进行处理以得到对应的处理结果。在本申请实施例中,特征提取器和预测器都可以是卷积神经网络。
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括姿态估计、图像识别,图像分类,图像超分辨率重建等等。
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。以姿态估计为例,此时预测器的输出层240的输出结果可以为关节点体素热力图,根据关节点体素热力图可以得到预测的三维姿态。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
下面介绍本申请实施例提供的一种芯片硬件结构。
图3为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器30。该芯片可以被设置在如图1所示的终端设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的模型训练设备120中,用以完成模型训练设备120的训练工作并输出神经网络模型101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现。
神经网络处理器NPU 30作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路303,通过控制器304控制运算电路303提取存储器(权重存储器302或输入存储器301)中的矩阵数据并进行乘法运算。
在一些实现中,运算电路303内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器302中取矩阵B相应的数据,并缓存在运算电路303中每一个PE上。运算电路303从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器308accumulator中。
向量计算单元307可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现中,向量计算单元307将经处理的输出的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器306用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器305(Direct Memory AccessController,DMAC)将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入被搬运到权重存储器302中以及将统一存储器306中的数据存入外部存储器。输入数据也通过DMAC被搬运到统一存储器306中。
总线接口单元(Bus Interface Unit,BIU)310,用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。
与控制器304连接的取指存储器(instruction fetch buffer)309,用于存储控制器304使用的指令。
控制器304,用于调用指存储器309中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器。外部存储器为私有于该NPU外部的存储器硬件架构,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous DynamicRandom Access Memory,简称DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
其中,图1和图2中的程序算法是由主CPU和NPU共同配合完成的。图2所示的卷积神经网络中各层的运算可以由运算电路303或向量计算单元307执行。
实施例二
下面介绍本申请实施例提供的一种模型训练方法。
图4为本发明实施例提供的一种模型训练方法400,包括以下步骤:
步骤401、获取源领域数据集,源领域数据集用于预训练神经网络模型,神经网络模型包括特征提取器和预测器,源领域数据集包括第一图像和第一图像中训练对象的真实标签。
具体地,源领域数据集为原先用于预训练神经网络模型的数据集,其中,源领域数据集包括一张以上的第一图像和第一图像中训练对象的真实标签,以三维姿态估计为例,则源领域数据集包括含人体或手势的RGB图像,以及对应的三维姿态真实值。而神经网络模型用于实现某一机器视觉任务,其包括特征提取器和预测器,该特征提取器用于对输入的图片进行特征提取得到特征向量,而预测器用于根据特征提取器提取的特征向量进行处理以得到模型处理结果,以三维姿态估计为例,则模型处理结果为预测的三维姿态。其中,训练对象是神经网络模型关注的对象,与神经网络模型所要实现的任务有关。以姿态估计为例,则训练对象为人体或者手部等。而当神经网络模型为目标识别时,识别目标即为训练对象,例如各种人体、动物或者其他静物对象等,当神经网络模型实现其他机器视觉任务时,对应的训练对象也不同,不做特别赘述。
步骤402、利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用迁移领域数据集的第二图像训练得到的,第二图像包括训练对象。
具体地,迁移领域数据集和源领域数据集所针对的模型任务相同。迁移领域数据集为预训练的神经网络模型将要迁移应用到的新领域的数据集,迁移领域数据集包括一张以上的第二图像,第二图像包括训练对象。参考图5,图5示意了模型训练方法的具体流程,以三维姿态估计为例,此时的训练对象为人体,其中,第一图像501为包括人体的图像。预先利用迁移领域数据集训练得到反事实特征生成器G,接着,根据反事实特征生成器G来干预源领域数据集的训练过程。该反事实特征生成器G用于根据指定的内容和随机噪声向量生成一个反事实特征向量,利用迁移领域数据集训练后得到的反事实特征生成器更关注迁移领域数据集的第二图像的领域特征(可以理解为第二图像中与模型任务无关的特征)。本实施例中,上述指定的内容可以理解为训练对象的真实标签。
重新训练神经网络模型时,利用特征提取器F对第一图像501进行特征提取得到对应的提取特征向量502;另外,利用反事实特征生成器G对第一随机噪声向量和第一图像501对应的真实标签进行处理,得到第一图像501对应的反事实特征向量505。其中,由于反事实特征生成器G已经学习到了第二图像的领域特征,因此,结合第一图像501对应的真实标签和第一随机噪声向量可以生成第一图像501对应的反事实特征向量505。
步骤403、利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签。
具体地,以三维姿态估计为例,预测器H对提取特征向量502和相应的反事实特征向量505进行处理,得到第一图像501对应的预测标签503。
步骤404、根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
具体地,根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。特别地,源领域数据集中包括一张以上的第一图像,对于每一张第一图像,均进行上述处理,直到源领域数据集中的第一图像均完成上述处理,则完成了对神经网络模型的重新训练,也即得到了领域迁移后的神经网络模型。
本发明实施例中的模型训练方法用于重新训练神经网络模型,以将模型跨领域应用到迁移领域上。其中,由于反事实特征生成器学习了迁移领域数据集的领域特征,结合第一图像的真实标签(即内容特征)和第一随机噪声向量可以生成第一图像对应的反事实特征向量,再利用反事实特征向量来干预源领域数据集的训练过程,使得训练后的特征提取器更关注图像的内容特征,而不是图像的领域特征,以提升领域迁移后的神经网络模型的泛化性能,保障领域迁移后的神经网络模型在迁移领域中的使用效果。
在一些可能的实施例中,迁移领域数据集为已知领域的数据集或无限制领域数据集。
具体地,领域迁移训练时所使用的迁移领域数据集可以为已知领域的数据集,可以理解为迁移领域是特定的,已知的。例如,以三维估计为例,假设预训练的神经网络模型的源领域数据集为室内人体姿态数据集,则迁移领域数据集可以为室外人体姿态数据集。另外一些可能的情况中,迁移领域数据集也可以为无限制领域的数据集,即无限制领域数据集由两个以上具有不同数据分布的数据集所组成,即不指定迁移的具体领域为哪个领域。以三维姿态估计为例,假设源领域数据集为在A市拍摄得到的室外人体姿态数据集,而无限制领域数据集可以为两种以上领域组成的数据集,例如包括在B市拍摄得到人体姿态数据集、在C市拍摄得到人体姿态数据集、在D市拍摄得到人体姿态数据集等等。另外,假设神经网络模型用于进行行为识别,此时无限制领域数据集可以为UCF101数据集或ImageNet数据集。
特别指出的是,当迁移领域数据集为已知领域的数据集时,此时领域迁移可以理解为领域自适应。而当迁移领域数据集为无限制领域数据集时,此时领域迁移可以理解为领域泛化。
在一些可能的实施例中,方法400还包括以下步骤:
步骤A1、利用预训练的特征编码器获取第二图像的第一特征向量,其中,特征编码器为利用迁移领域数据集预训练得到的;利用训练前的反事实特征生成器,对第二随机噪声向量以及已知标签进行处理,以得到第二特征向量,已知标签为至少一个已知的真值标签。
具体地,参考图6,图6是本申请实施例提供的一种反事实特征生成器G的训练过程示意图;预先利用迁移领域数据集训练得到特征编码器602,在利用迁移领域数据集训练反事实特征生成器时,对于每一张第二图像,进行步骤A1和A2的处理。即利用预训练的特征编码器602获取第二图像601的特征表示,即对应的第一特征向量603;另外,利用训练前的反事实特征生成器G对第二随机噪声向量以及已知标签进行处理,得到第二特征向量604。该已知标签为至少一个已知的真值标签,以三维姿态为例,此时的已知标签为三维姿态坐标,至少一个已知的真值标签不要求与当前输入的第二图像601的真实姿态标签对应,例如,已知标签可以为任意一个姿态估计数据集中的至少一个真值标签,当任意数据集为源领域数据集时,第一图像的真实标签即为此时的真值标签;已知标签也可以为通过运动估计得到的人体的至少一个真实姿态,也可以是其他情况获得的至少一个真值标签。而第二随机噪声向量,与第一随机噪声向量相同的,可以是由高斯分布中采样获得到的随机向量。
步骤A2、调整训练前的反事实特征生成器的网络参数,直到第一特征向量和第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器。
具体地,判断第一特征向量和第二特征向量是否服从同一概率分布,当两者不服从同一概率分布时,调整训练前的反事实特征生成器的网络参数,并重新计算第二特征向量,根据第一特征向量和重新计算的第二特征向量,再次确定两者是否服从同一个概率分布,若服从,则停止第二图像的训练过程;若仍不服从,则继续调整反事实特征生成器的网络参数,直到第一特征向量和调整后的第二特征向量服从同一概率分布。
本发明实施例中,在训练反事实特征生成器时,利用预训练的特征编码器获取第二图像的第一特征向量;另外,利用训练前的反事实特征生成器,对第二随机噪声向量和已知标签进行处理,以生成第二特征向量;最后根据第一特征向量和第二特征向量是否服从同一概率分布,调整训练前的反事实特征生成器的网络参数,直到第一特征向量和第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器。其中,已知标签属于图像的内容,通过控制第一特征向量和第二特征向量服从同一概率分布,也即使得第一特征向量和第二特征向量比较接近,可以使反事实特征生成器G学习到第一特征向量的领域特征,也即第二图像的领域特征。
在一些可能的实施例中,步骤A2具体包括:
将第一特征向量和第二特征向量输入分布判别器进行处理,以得到判别结果;根据判别结果确定第一特征向量和第二特征向量不服从同一概率分布时,调整训练前的反事实特征生成器的网络参数。
本发明实施例中,参考图6,利用分布判别器D判断第一特征向量603和第二特征向量604是否服从同一概率分布,分布判别器的判别结果为不服从同一概率分布和服从同一概率分布。当判别结果为不服从同一概率分布时,调整训练器的反事实特征生成器的网络参数,并重新判断第一特征向量和调整后的第二特征向量是否服从同一概率分布,直到两者服从同一概率分布,则停止第二图像的训练流程。
在一些可能的实施例中,参考图7,图7是本申请实施例提供的一种特征编码器的训练过程示意图;自编码器(autoencoder,AE)包括一个编码器E和一个解码器M,编码器E将输入的图像编码为特征表示,解码器M将特征表示重建为图像。上述的特征编码器为自编码器中的编码器E。在训练特征编码器时都需要利用解码器M对特征编码器的训练效果进行验证,因此,实际上训练特征编码器的过程,是训练自编码器的过程。参考图7,训练编码器E时,将第二图像701输入编码器E中得到对应的特征向量702,解码器M根据特征向量702进行重构得到重建图像703,通过对比第二图像701和重建图像703之间的差异,可以确定编码器E的编码效果好坏,根据情况调节编码器E的网络参数,在确定输入图像和重建图像之间的差异程度满足要求时,可以停止自编码器的训练,即得到了训练好的特征编码器。
在一些可能的实施例中,步骤404具体包括以下步骤:
确定第一图像对应的真实标签和预测标签之间的第一误差损失,以及确定提取特征向量的第一概率分布和反事实特征向量的第二概率分布之间的第二误差损失;调整特征提取器和预测器的网络参数,直到第一误差损失满足第一收敛条件,且第二误差损失满足第二收敛条件,以得到领域迁移后的神经网络模型。
本发明实施例中,通过计算第一误差损失和第二误差损失,以确定第一误差损失是否满足第一收敛条件,以及第二误差损失是否满足第二收敛条件;在第一误差损失满足第一收敛条件,且第二误差损失满足第二收敛条件时,停止第一图像的训练流程;而当第一误差损失不满足第一收敛条件,和/或第二误差损失不满足第二收敛条件时,则调整特征提取器和预测器的网络参数,并重新计算第一误差损失和第二误差损失,重新判断是否满足第一收敛条件和第二收敛条件,直到重新计算的第一误差损失满足第一收敛条件和重新计算的第二误差损失满足第二收敛条件,则停止第一图像的训练流程。其中,第一收敛条件和第二收敛条件可以根据实际情况进行设置,不做特别限制。例如,第一收敛条件可以为第一误差损失收敛至某一阈值。
下面神经网络模型以三维姿态估计模型为例,对其重新训练过程进行说明:
步骤(1)、分别获取源领域姿态估计数据集和迁移领域姿态估计数据集,其中源领域姿态估计数据集和迁移领域姿态估计数据集,其中包括含人体或手势RGB图像和三维姿态真实值;并将迁移领域姿态估计数据集划分为训练集和测试集,训练集用于训练特征编码器和反事实特征生成器。
步骤(2)、确定基于因果表示学习的深度学习神经网络框架。
首先设计一个以RGB图像作为输入的变分自编码器网络,其模型结构由卷积神经网络构成,分为编码器(即特征编码器)和解码器两个部分,编码器将输入的图像编码为特征表示,解码器将特征表示重建为RGB图像。例如,编码器包含有6个卷积层,核大小为3×3,步长为2,每层卷积层后是批正则化层和LeakyReLU激活函数,最后是两个全连接层分别预测均值和方差。编码器输入的大小为256×256×3,全连接层输出的大小为256。解码器包含6个卷积层,核大小为3×3,步长为1,使用复制填充方法,使用尺度为2的最近邻方法进行升采样,每层卷积层后是批正则化层和LeakyReLU激活函数。
然后设计一个以随机噪声向量和真实姿态作为输入的反事实特征生成器,输出为生成的反事实特征,例如,其网络结构包含两个块,每块由全连接层、批正则化层、ReLU激活函数和dropout层构成。全连接层维度为1024,Dropout值设置为0.5。最后一层是维度为256的全连接层,激活函数为tanh。
然后设计一个特征提取器,例如,其模型结构由卷积神经网络构成,输入为RGB图像,输出为提取的特征,其网络结构可以采用HR-Net结构。
最后设计一个预测器,例如,其模型结构由卷积神经网络构成,输入为特征,输出为关节点体素热力图,由体素热力图可以得到预测的三维姿态。其中包含三个反卷积层,以及批正则化层和ReLU激活函数。
步骤(3)、使用步骤(2)设计的深度学习神经网络模型,在迁移领域姿态估计数据集上,训练变分自编码器E°M、反事实特征生成器G和分布判别器D。利用迁移领域姿态估计数据集中的图像训练变分自编码器E°M,然后利用训练好的变分自编码器中的编码器E,训练反事实特征生成器G和分布判别器D。
具体来说,将迁移领域姿态估计数据集中的图像输入编码器E中,得到该输入图像的特征向量,将随机噪声向量和任意一个真实姿态输入到反事实特征生成器G中,得到生成的反事实特征向量,将编码器E输出的特征向量和反事实特征生成器G生成的反事实特征向量输入到分布判别器D中,判断两个特征向量是否来自同一分布。
训练变分自编码器的损失函数为最小化证据下界:
训练反事实特征生成器G和分布判别器D的损失函数为:
步骤(4)、在源领域姿态估计数据集上,利用步骤(2)中设计的深度学习神经网络模型和步骤(3)中训练好的反事实特征生成器G,训练特征提取器F和预测器H。将源领域姿态估计数据集中的RGB图像输入到特征提取器F中,得到提取特征向量;将输入图像对应的真实姿态和随机噪声向量输入到特征生成器G中,得到生成的反事实特征向量;将得到的两种特征向量,输入到预测器H中,输入两种特征向量以预测对应的关节点体素热力图,由体素热力图得到预测的三维姿态。计算预测三维姿态与姿态真实值之间的误差损失,以及预测器H输入的两种特征向量的分布之间的距离误差损失。预测三维姿态与姿态真实值之间的误差损失可以采用光滑L1损失,其计算公式为:
而提取特征向量的分布和反事实特征向量的分布之间的距离误差损失可以采用提取特征向量的分布和反事实特征向量的分布之间的最大平均误差。
步骤(5)、利用测试集测试由步骤(4)得到的最优模型参数的特征提取器F和预测器H。
所述方法400具体可以由如图1所示的模型训练设备120执行,可选地,所述方法400中的源领域数据集和/或迁移领域数据集可以是如图1所示的数据库130中维护的训练数据,可选的,所述方法400可以在模型训练设备120中执行,也可以在模型训练设备120之前由其他功能模块预先执行,即先对从所述数据库130中接收或者获取到的训练数据进行预处理,如对图像进行滤波、增强、去噪等中的至少一种处理得到源领域数据集和迁移领域数据集,作为所述模型训练设备120的输入,并由所述模型训练设备120执行方法400。
可选的,所述方法400可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
下面对实施例二的模型训练方法和现有模型训练方法进行效果分析对比说明:
为了对实施例二中的方法进行测试,分别在人体姿态估计数据集H3.6M,3DPW,SURREAL,GPA等数据集上进行了验证,并比较了从一个数据集迁移到其它数据集的结果。同时,也在手部三维姿态估计数据集,FreiHand,STB,RHD等数据集上进行上验证,验证结果分别如表1与表2所示,它们对比了现有方法和实施例二的效果,其中,现有方法包括深度领域混淆(Deep Domain Confusion,DDC)方法、深度适配网络(Deep Adaptation Netowrk,DAN)方法、域对抗迁移网络(Domain-Adversarial Training of Neural Networks,DANN)方法、第一方法和第二方法等。
其中,DDC方法提出了一种迁移层和对应的领域混淆损失函数,以此达到学习领域无关特征的目的。DAN方法提出了一种深度领域迁移网络,通过多个迁移层将学习到的特征迁移到目标域上。DANN方法提出了一种无监督的领域自适应方法,设计了一种梯度反转层,从而实现领域分类器与特征提取网络的对抗学习效果。
第一方法为一种通过预测相机视角来改善模型泛化能力的方法。
第二方法为一种测试模型在手势姿态数据集上泛化能力的方法。
表1和表2中的SD+TD代表使用源域数据集和无标记的目标域数据集;SD+UD表示使用源域数据集和单个无限制数据集;SD+Multi-UDs表示使用源域数据集和4个无限制数据集。
表1
表2
表1中,对于人体姿态估计任务,采用两个常用的评估指标来评估模型的性能,使用平均关节位来计算真实和预测关节点之间的平均欧几里德距离,使用对齐后的关节点位置平均误差(Procrustes Aligned Mean Per Joint Position Error,PAMPJPE)计算预测的姿态与真实姿态以Procrustes方法对齐后的关节点位置平均欧几里德距离误差。
表2中,对于手势姿态估计任务,采用两个常用的评估指标来评估模型的性能,首先是平均关节点位置误差(EPE),定义为预测关节点和真实关节点之间的平均欧几里德距离。其次是正确关节点百分比(PCK)曲线的面积(AUC),其中PCK是相对于真实标注在给定阈值距离内的预测关节的百分比。
可见,与现有方法相比,本实施例的训练方法,在提供无标记的已知领域数据集样本情况下,能够提升模性的泛化性能,且优于现有的领域自适应方法和领域泛化方法。在提供无限制领域数据集样本的情况下,能够对未见数据具有接近于领域自适应方法的泛化性能。
实施例三
下面介绍本申请实施例提供的另一种模型训练方法。
图8为本发明实施例提供的另一种模型训练方法800,包括以下步骤:
步骤801、获取迁移领域数据集,迁移领域数据集包括第二图像,第二图像包括训练对象;
具体地,对于在终端上执行方法800时,可以直接选择图像输入终端以将输入的图像作为迁移领域数据集。而对于在云端上执行方法800时,获取迁移领域数据集的方法可以是用户通过在人工交互界面上操作以选择一张以上的第二图像上传云端,以使云端将上传的图像作为迁移领域数据集。其中,本申请实施例对于获取迁移领域数据集的方法不做特别限定。
步骤802、根据迁移领域数据集对预训练的神经网络模型进行重新训练,得到领域迁移后的神经网络模型,神经网络模型包括特征提取器和预测器;其中,根据迁移领域数据集对预训练的神经网络模型进行重新训练,具体包括:获取用于预训练神经网络模型的源领域数据集,源领域数据集包括第一图像和第一图像中训练对象的真实标签;利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用第二图像训练得到的;利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
具体地,本实施的训练方法中,先获取迁移领域数据集,再利用迁移领域数据集对预训练的神经网络模型进行重新训练,以得到领域迁移后的神经网络模型。实现模型领域迁移,又能提升领域迁移后的神经网络模型的泛化性能,保障领域迁移后的神经网络模型在迁移领域中的使用效果。
特别地,本实施例中的关于模型训练方法的具体描述,可以参考实施例二的描述,不再赘述。
同样地,所述方法800具体可以由如图1所示的模型训练设备120执行,可选地,所述方法800中的源领域数据集和/或迁移领域数据集可以是如图1所示的数据库130中维护的训练数据。
可选的,所述方法800可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
可以理解实施例二或实施例三为神经网络模型的重新训练阶段(如图1所示的模型训练设备120执行的阶段),而实施例一则可以理解为是领域迁移后的神经网络模型的应用阶段(如图1所示的终端设备110执行的阶段),具体可以体现为采用由实施例二训练得到的领域迁移后的神经网络模型,并根据用户输入的待处理图片,从而得到模型处理结果。
实施例四
基于实施例二提供一种模型训练装置,参考图9,图9是本申请实施例提供的一种模型训练装置的结构示意图;装置900包括:
获取模块901,用于源领域数据集,源领域数据集用于预训练神经网络模型,神经网络模型包括特征提取器和预测器,源领域数据集包括第一图像和第一图像中训练对象的真实标签;
提取模块902,用于利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;
确定模块903,用于利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用迁移领域数据集的第二图像训练得到的,第二图像包括训练对象;
处理模块904,用于利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;
第一调整模块905,用于根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
装置900的具体执行过程可以参考实施例二的描述,不再赘述。
实施例五
基于实施例三提供一种模型训练装置,参考图10,图10是本申请实施例提供的另一种模型训练装置的结构示意图;装置1000包括:
获取模块1001,用于获取迁移领域数据集,迁移领域数据集包括第二图像,第二图像包括训练对象;
处理模块1002,用于根据迁移领域数据集对预训练的神经网络模型进行重新训练,得到领域迁移后的神经网络模型,神经网络模型包括特征提取器和预测器;其中,根据迁移领域数据集对预训练的神经网络模型进行重新训练,具体包括:获取用于预训练神经网络模型的源领域数据集,源领域数据集包括第一图像和第一图像中训练对象的真实标签;利用特征提取器对第一图像进行特征提取,以获得训练对象的提取特征向量;利用反事实特征生成器对第一图像对应的真实标签和第一随机噪声向量进行处理,以得到第一图像的反事实特征向量;其中,反事实特征生成器为利用第二图像训练得到的;利用预测器对提取特征向量和反事实特征向量进行处理,以得到第一图像中训练对象的预测标签;根据第一图像对应的真实标签、预测标签、提取特征向量和反事实特征向量调整特征提取器和预测器的网络参数,以得到领域迁移后的神经网络模型。
装置1000的具体执行过程可以参考实施例三的描述,不再赘述。
图11是本申请实施例提供的一种模型训练设备的结构示意图。图11所示的模型训练设备120(该设备120具体可以是一种计算机设备)包括存储器1101、处理器1102、通信接口1104以及总线1103。其中,存储器1101、处理器1102、通信接口1104通过总线1103实现彼此之间的通信连接。
存储器1101可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1101可以存储程序,当存储器1101中存储的程序被处理器1102执行时,处理器1102和通信接口1104用于执行本申请实施例二或实施例三的模型训练方法的各个步骤。
处理器1102可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例四或实施例五的模型训练装置中的单元所需执行的功能,或者执行本申请方法实施例二或实施例三的模型训练方法。
处理器1102还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例二或实施例三的模型训练方法的各个步骤可以通过处理器1102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1102还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例二或实施例三所公开的模型训练方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1101,处理器1102读取存储器1101中的信息,结合其硬件完成本申请实施例四或实施例五的模型训练装置中包括的单元所需执行的功能,或者执行本申请方法实施例二或实施例三的模型训练方法。
通信接口1104使用例如但不限于收发器一类的收发装置,来实现模型训练设备120与其他设备或通信网络之间的通信。例如,可以通过通信接口1104获取训练数据(如本申请实施例二所述的源领域数据集和迁移领域数据集)。
总线1103可包括在模型训练设备120各个部件(例如,存储器1101、处理器1102、通信接口1104)之间传送信息的通路。
应理解,模型训练装置900中的获取模块901或模型训练装置1000中的获取模块1001相当于模型训练设备120中的通信接口1104,模型训练装置900中的提取模块902、确定模块903、处理模块904、第一调整模块905可以相当于处理器1102。同样地,模型训练装置1000中的处理模块1002可以相当于处理器1102。
图12是本申请实施例提供的终端设备的结构示意图。图12所示的终端设备110(该终端设备110具体可以是一种计算机设备)包括存储器1201、处理器1202、通信接口1204以及总线1203。其中,存储器1201、处理器1202、通信接口1204通过总线1203实现彼此之间的通信连接。
存储器1201可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1201可以存储程序,当存储器1201中存储的程序被处理器1202执行时,处理器1202和通信接口1204用于运行利用如实施例二或实施例三所述的模型训练方法得到的领域迁移后的深度学习网络。
处理器1202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的XX图像的生成装置中的单元所需执行的功能,或者执行本申请方法实施例的XX图像的生成方法。
处理器1202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的领域迁移后的深度学习网络的各个执行步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1202还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1201,处理器1202读取存储器1201中的信息,结合其硬件完成本申请实施例的领域迁移后的深度学习网络所需执行的功能。
通信接口1204使用例如但不限于收发器一类的收发装置,来实现终端设备110与其他设备或通信网络之间的通信。例如,可以通过通信接口1204获取待处理图片。
总线1203可包括在终端设备110各个部件(例如,存储器1201、处理器1202、通信接口1204)之间传送信息的通路。
应注意,尽管图11和图12所示的模型训练设备120和终端设备110仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,模型训练设备120和终端设备110还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,模型训练设备120和终端设备110还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,模型训练设备120和终端设备110也可仅仅包括实现本申请实施例所必须的器件,而不必包括图11或图12中所示的全部器件。
可以理解,图11所示的所述模型训练设备120相当于图1中的所述模型训练设备120,图12的所述终端设备110相当于图1中的所述终端设备110。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例还提供一种计算机视觉处理***,包括图片获取设备和所述的终端设备110,图片获取设备用于获取包括目标对象的待处理图片,并将待处理图片发送给终端设备110,终端设备110利用领域迁移后的深度学习网络获取待处理图片对应的预测标签。其中,目标对象和训练对象一致。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种模型训练方法,其特征在于,包括以下步骤:
获取源领域数据集,所述源领域数据集用于预训练神经网络模型,所述神经网络模型包括特征提取器和预测器,所述源领域数据集包括第一图像和所述第一图像中训练对象的真实标签;
利用所述特征提取器对所述第一图像进行特征提取,以获得所述训练对象的提取特征向量;
利用反事实特征生成器对所述第一图像对应的真实标签和第一随机噪声向量进行处理,以得到所述第一图像的反事实特征向量;其中,所述反事实特征生成器为利用迁移领域数据集的第二图像训练得到的,所述第二图像包括所述训练对象;
利用所述预测器对所述提取特征向量和所述反事实特征向量进行处理,以得到所述第一图像中训练对象的预测标签;
根据所述第一图像对应的真实标签、所述预测标签、所述提取特征向量和所述反事实特征向量调整所述特征提取器和所述预测器的网络参数,以得到领域迁移后的神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一图像对应的真实标签、所述预测标签、所述提取特征向量和所述反事实特征向量调整所述特征提取器和/或所述预测器的网络参数,以得到领域迁移后的神经网络模型,具体包括以下步骤:
确定所述第一图像对应的真实标签和所述预测标签之间的第一误差损失,以及确定所述提取特征向量的第一概率分布和所述反事实特征向量的第二概率分布之间的第二误差损失;
调整所述特征提取器和所述预测器的网络参数,直到所述第一误差损失满足第一收敛条件,且所述第二误差损失满足第二收敛条件,以得到所述领域迁移后的神经网络模型。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括以下步骤:
利用预训练的特征编码器获取所述第二图像的第一特征向量,其中,所述特征编码器为利用所述迁移领域数据集预训练得到的;
利用训练前的反事实特征生成器,对第二随机噪声向量以及已知标签进行处理,以得到第二特征向量,所述已知标签为至少一个已知的真值标签;
调整所述训练前的反事实特征生成器的网络参数,直到所述第一特征向量和所述第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器。
4.根据权利要求3所述的方法,其特征在于,所述调整所述训练前的反事实特征生成器的网络参数,直到所述第一特征向量和所述第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器,包括:
将所述第一特征向量和所述第二特征向量输入分布判别器进行处理,以得到判别结果;
根据所述判别结果确定所述第一特征向量和所述第二特征向量不服从同一概率分布时,调整所述训练前的反事实特征生成器的网络参数。
5.根据权利要求3所述的方法,其特征在于,所述特征编码器为自编码器中的编码器。
6.根据权利要求1、2、4或5所述的方法,其特征在于,所述迁移领域数据集为已知领域的数据集或无限制领域数据集。
7.一种模型训练方法,其特征在于,所述方法包括:
获取迁移领域数据集,所述迁移领域数据集包括第二图像,所述第二图像包括训练对象;
根据所述迁移领域数据集对预训练的神经网络模型进行重新训练,得到领域迁移后的神经网络模型,所述神经网络模型包括特征提取器和预测器;其中,所述根据所述迁移领域数据集对预训练的神经网络模型进行重新训练,具体包括:获取用于预训练所述神经网络模型的源领域数据集,所述源领域数据集包括第一图像和所述第一图像中训练对象的真实标签;利用所述特征提取器对所述第一图像进行特征提取,以获得所述训练对象的提取特征向量;利用反事实特征生成器对所述第一图像对应的真实标签和第一随机噪声向量进行处理,以得到所述第一图像的反事实特征向量;其中,所述反事实特征生成器为利用所述第二图像训练得到的;利用所述预测器对所述提取特征向量和所述反事实特征向量进行处理,以得到所述第一图像中训练对象的预测标签;根据所述第一图像对应的真实标签、所述预测标签、所述提取特征向量和所述反事实特征向量调整所述特征提取器和所述预测器的网络参数,以得到所述领域迁移后的神经网络模型。
8.一种模型训练装置,其特征在于,包括:
获取模块,用于源领域数据集,所述源领域数据集用于预训练神经网络模型,所述神经网络模型包括特征提取器和预测器,所述源领域数据集包括第一图像和所述第一图像中训练对象的真实标签;
提取模块,用于利用所述特征提取器对所述第一图像进行特征提取,以获得所述训练对象的提取特征向量;
确定模块,用于利用反事实特征生成器对所述第一图像对应的真实标签和第一随机噪声向量进行处理,以得到所述第一图像的反事实特征向量;其中,所述反事实特征生成器为利用迁移领域数据集的第二图像训练得到的,所述第二图像包括所述训练对象;
处理模块,用于利用所述预测器对所述提取特征向量和所述反事实特征向量进行处理,以得到所述第一图像中训练对象的预测标签;
第一调整模块,用于根据所述第一图像对应的真实标签、所述预测标签、所述提取特征向量和所述反事实特征向量调整所述特征提取器和所述预测器的网络参数,以得到领域迁移后的神经网络模型。
9.根据权利要求8所述的装置,其特征在于,所述第一调整模块,具体用于:
确定所述第一图像对应的真实标签和所述预测标签之间的第一误差损失,以及确定所述提取特征向量的第一概率分布和所述反事实特征向量的第二概率分布之间的第二误差损失;
调整所述特征提取器和所述预测器的网络参数,直到所述第一误差损失满足第一收敛条件,且所述第二误差损失满足第二收敛条件,以得到所述领域迁移后的神经网络模型。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
特征提取模块,用于利用预训练的特征编码器获取所述第二图像的第一特征向量,其中,所述特征编码器为利用所述迁移领域数据集预训练得到的;
生成模块,用于利用训练前的反事实特征生成器,对第二随机噪声向量以及已知标签进行处理,以得到第二特征向量,所述已知标签为至少一个已知的真值标签;
第二调整模块,用于调整所述训练前的反事实特征生成器的网络参数,直到所述第一特征向量和所述第二特征向量服从同一概率分布,以得到训练后的反事实特征生成器。
11.根据权利要求10所述的装置,其特征在于,所述第二调整模块,具体用于:
将所述第一特征向量和所述第二特征向量输入分布判别器进行处理,以得到判别结果;
根据所述判别结果确定所述第一特征向量和所述第二特征向量不服从同一概率分布时,调整所述训练前的反事实特征生成器的网络参数。
12.根据权利要求10所述的装置,其特征在于,所述特征编码器为自编码器中的编码器。
13.根据权利要求8、9、11或12所述的装置,其特征在于,所述迁移领域数据集为已知领域的数据集或无限制领域数据集。
14.一种模型训练装置,其特征在于,所述装置包括:
获取模块,用于获取迁移领域数据集,所述迁移领域数据集包括第二图像,所述第二图像包括训练对象;
处理模块,用于根据所述迁移领域数据集对预训练的神经网络模型进行重新训练,得到领域迁移后的神经网络模型,所述神经网络模型包括特征提取器和预测器;其中,所述根据所述迁移领域数据集对预训练的神经网络模型进行重新训练,具体包括:获取用于预训练所述神经网络模型的源领域数据集,所述源领域数据集包括第一图像和所述第一图像中训练对象的真实标签;利用所述特征提取器对所述第一图像进行特征提取,以获得所述训练对象的提取特征向量;利用反事实特征生成器对所述第一图像对应的真实标签和第一随机噪声向量进行处理,以得到所述第一图像的反事实特征向量;其中,所述反事实特征生成器为利用所述第二图像训练得到的;利用所述预测器对所述提取特征向量和所述反事实特征向量进行处理,以得到所述第一图像中训练对象的预测标签;根据所述第一图像对应的真实标签、所述预测标签、所述提取特征向量和所述反事实特征向量调整所述特征提取器和所述预测器的网络参数,以得到所述领域迁移后的神经网络模型。
15.一种模型训练设备,其特征在于,包括处理器和存储器,其中,所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至7任一项所述的模型训练方法。
16.一种终端设备,其特征在于,在所述终端设备上运行利用权利要求1至7任一项所述的模型训练方法得到的所述领域迁移后的深度学习网络。
17.一种计算机视觉处理***,其特征在于,包括图片获取设备和权利要求16所述的终端设备,所述图片获取设备用于获取包括目标对象的待处理图片,并将所述待处理图片发送给所述终端设备,所述终端设备利用所述领域迁移后的深度学习网络获取所述待处理图片对应的预测标签。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1至7任一项所述的模型训练方法。
19.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行权利要求1至7任一项所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110945460.1A CN113807183B (zh) | 2021-08-17 | 2021-08-17 | 模型训练方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110945460.1A CN113807183B (zh) | 2021-08-17 | 2021-08-17 | 模型训练方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113807183A CN113807183A (zh) | 2021-12-17 |
CN113807183B true CN113807183B (zh) | 2024-06-14 |
Family
ID=78893780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110945460.1A Active CN113807183B (zh) | 2021-08-17 | 2021-08-17 | 模型训练方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113807183B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817896B (zh) * | 2022-02-16 | 2023-10-01 | 鴻海精密工業股份有限公司 | 機器學習方法以及裝置 |
CN114494890B (zh) * | 2022-04-14 | 2022-08-23 | 广州市玄武无线科技股份有限公司 | 一种模型训练方法、商品图像管理方法及装置 |
CN114863225B (zh) * | 2022-07-06 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 图像处理模型训练方法、生成方法、装置、设备及介质 |
CN115170887B (zh) * | 2022-07-22 | 2023-08-01 | 北京百度网讯科技有限公司 | 目标检测模型训练方法、目标检测方法及其装置 |
CN117785964A (zh) * | 2024-02-28 | 2024-03-29 | 宜宾市万事通网络信息服务有限公司 | 应用于网络服务的数据处理方法及*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902798A (zh) * | 2018-05-31 | 2019-06-18 | 华为技术有限公司 | 深度神经网络的训练方法和装置 |
CN110580496A (zh) * | 2019-07-11 | 2019-12-17 | 南京邮电大学 | 一种基于熵最小化的深度迁移学习***及方法 |
EP4022441A1 (en) * | 2019-08-27 | 2022-07-06 | Netflix, Inc. | Interactive testing platform based on computational causal inference and average and conditional average treatment effect |
CN112529146B (zh) * | 2019-09-18 | 2023-10-17 | 华为技术有限公司 | 神经网络模型训练的方法和装置 |
CN110647991B (zh) * | 2019-09-19 | 2022-04-05 | 浙江大学 | 一种基于无监督领域自适应的三维人体姿态估计方法 |
CN111695673B (zh) * | 2020-05-09 | 2024-05-24 | 华为技术有限公司 | 训练神经网络预测器的方法、图像处理方法及装置 |
CN111898635A (zh) * | 2020-06-24 | 2020-11-06 | 华为技术有限公司 | 神经网络的训练方法、数据获取方法和装置 |
CN112884147B (zh) * | 2021-02-26 | 2023-11-28 | 上海商汤智能科技有限公司 | 神经网络训练方法、图像处理方法、装置及电子设备 |
CN113065633B (zh) * | 2021-02-26 | 2024-07-09 | 华为技术有限公司 | 一种模型训练方法及其相关联设备 |
-
2021
- 2021-08-17 CN CN202110945460.1A patent/CN113807183B/zh active Active
Non-Patent Citations (1)
Title |
---|
Learning Causal Representation forTraining Cross Domain Pose Estimator via Generative Interventions;Xiheng Zhang et al.;《2021 IEEE/CVF Internationl Conference on Computer Vision》;20220228;11250-11260 * |
Also Published As
Publication number | Publication date |
---|---|
CN113807183A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446270B (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
CN113807183B (zh) | 模型训练方法及相关设备 | |
WO2020238293A1 (zh) | 图像分类方法、神经网络的训练方法及装置 | |
CN110532871B (zh) | 图像处理的方法和装置 | |
CN111819568B (zh) | 人脸旋转图像的生成方法及装置 | |
CN109993707B (zh) | 图像去噪方法和装置 | |
CN111291809B (zh) | 一种处理装置、方法及存储介质 | |
CN111797895B (zh) | 一种分类器的训练方法、数据处理方法、***以及设备 | |
WO2022052601A1 (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
WO2022001805A1 (zh) | 一种神经网络蒸馏方法及装置 | |
WO2021190296A1 (zh) | 一种动态手势识别方法及设备 | |
CN111797881B (zh) | 图像分类方法及装置 | |
CN113065645B (zh) | 孪生注意力网络、图像处理方法和装置 | |
CN111695673B (zh) | 训练神经网络预测器的方法、图像处理方法及装置 | |
CN112668366B (zh) | 图像识别方法、装置、计算机可读存储介质及芯片 | |
WO2022179606A1 (zh) | 一种图像处理方法及相关装置 | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
WO2021018245A1 (zh) | 图像分类方法及装置 | |
CN113128285A (zh) | 一种处理视频的方法及装置 | |
CN110705564B (zh) | 图像识别的方法和装置 | |
CN111833363B (zh) | 图像边缘和显著性检测方法及装置 | |
CN114693986A (zh) | 主动学习模型的训练方法、图像处理方法及装置 | |
CN113011562B (zh) | 一种模型训练方法及装置 | |
CN111797882B (zh) | 图像分类方法及装置 |
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 |