CN113705662A - 一种协同训练方法、装置及计算机可读存储介质 - Google Patents
一种协同训练方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113705662A CN113705662A CN202110987831.2A CN202110987831A CN113705662A CN 113705662 A CN113705662 A CN 113705662A CN 202110987831 A CN202110987831 A CN 202110987831A CN 113705662 A CN113705662 A CN 113705662A
- Authority
- CN
- China
- Prior art keywords
- task
- sample
- training
- feature
- combined
- 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
- 238000012549 training Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000006870 function Effects 0.000 claims description 37
- 239000013598 vector Substances 0.000 claims description 17
- 238000011478 gradient descent method Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000013527 convolutional neural network Methods 0.000 description 11
- 238000011176 pooling Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 241000283690 Bos taurus Species 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种协同训练方法、装置、系统及计算机可读存储介质,该方法包括:利用训练数据集分别对多个任务进行预训练,得到多个任务模型;基于多个任务模型迭代进行协同训练,其中,在每次迭代中,获取至少一个任务模型针对样本的输出结果,将至少一个输出结果和样本对应于指定任务的特征值一并输入指定任务模型以进行协同训练。利用上述方法,采用多任务协同建模,能够互相提升模型效果,且任务之间可以互相补充模型特征,降低了训练成本。
Description
技术领域
本发明属于模型训练领域,具体涉及一种协同训练方法、装置及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
机器学习在工业界具有非常优越的性能。但是相当多的模型依赖于数据集的标签。例如当判断一张照片是否为“猫”时,我们不得不事先准备大量的已经打好标签的图片,喂给分类模型进行学习,这样导致往往模型的训练具有非常高的数据标注成本。
因此,如何提高任务模型的识别效果且提高训练效率、降低训练成本是一个亟待解决的问题。
发明内容
针对上述现有技术中存在的问题,提出了一种协同训练方法、装置及计算机可读存储介质,利用这种方法、装置及计算机可读存储介质,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供一种协同训练方法,包括:利用训练数据集分别对多个任务进行预训练,得到多个任务模型;基于多个任务模型迭代进行协同训练,其中,在每次迭代中,获取至少一个任务模型针对样本的输出结果,将至少一个输出结果和样本对应于指定任务的特征值一并输入指定任务模型以进行协同训练。
在一种实施方式中,协同训练为半监督训练。
在一种实施方式中,预训练还包括:获取T个任务对应的T个训练数据集,其中,任务k对应的训练数据集至少包括样本i的特征向量xki;将每个任务对应于各个样本的特征向量和指定数量的空特征和/或随机特征进行矢量组合,以创建每个任务对应于各个样本的第一组合特征,空特征和/或随机特征为第一组合特征的附加特征的初始值;基于第一组合特征对T个任务进行预训练,得到T个任务模型;其中,k为任务标识,取值为1至T之间的整数,i为样本标识,取值为1至dk之间的整数,dk为任务k的样本个数,相同的样本标识指示相同的样本对象。
在一种实施方式中,指定数量根据每个任务有关联的其他任务的数量而确定;或者,指定数量为T-1。
在一种实施方式中,任务k对应的训练数据集包括特征向量及其标签。
在一种实施方式中,协同训练还包括迭代执行以下步骤:获取每个任务对应于样本i的第一组合特征,第一组合特征包括特征向量和附加特征;以及,将每个任务对应于样本i的第一组合特征分别输入对应的任务模型中,得到每个任务对应于样本i的输出结果;根据指定任务以外的一个或多个其他任务对应于样本i的输出结果对指定任务对应于样本i的第一组合特征的附加特征进行更新,得到指定任务对应于样本i的第二组合特征;将指定任务对应于样本i的第二组合特征输入指定任务模型,以进行协同训练。
在一种实施方式中,在每次迭代之后,还包括:根据指定任务对应于样本i的第二组合特征对第一组合特征进行迭代更新。
在一种实施方式中,得到指定任务对应于样本i的第二组合特征之后,还包括:获取对应于第二组合特征中的每个附加特征的权重系数;基于权重系数对第二组合特征中的每个附加特征进行加权,得到指定任务对应于样本i的第三组合特征;根据指定任务对应于样本i的第三组合特征对指定任务模型进行训练。
在一种实施方式中,获取对应于第二组合特征中的每个附加特征的权重系数,还包括:依据以下公式计算对应于任务k的附加特征的权重系数αk:其中,k取值为1至T之间的整数,β是预设参数,x′ki为第一组合特征的初始值,x″ki为第二组合特征。
在一种实施方式中,预设参数β根据任务之间的关联性程度确定。
在一种实施方式中,指定任务为T个任务中的每一个任务。
在一种实施方式中,预训练还包括:针对任务k,构建第k任务模型fk并按照以下公式优化:其中,k的取值为1至T之间的整数,x′ki为任务k对应于样本i的第一组合特征,yki为任务k对应于样本i的标签,lk表示损失函数,dk为任务k的样本个数。
在一种实施方式中,协同训练还包括:针对任务k,按照以下公式优化第k任务模型fk:其中,x″ki为样本i对应于任务k的第二组合特征,yki为样本i对应于任务k的标签,lk表示损失函数,dk为任务k的样本个数。
在一种实施方式中,协同训练还包括:针对任务k,按照以下公式优化第k任务模型fk:其中,x″′ki为样本i对应于任务k的第三组合特征,yki为样本i对应于任务k的标签,lk表示损失函数,dk为任务k的样本个数。
在一种实施方式中,损失函数采用交叉熵函数。
在一种实施方式中,还包括:预训练和协同训练采用梯度下降法进行迭代训练。
第二方面,提高一种协同训练装置,其被配置为用于执行如第一方面的方法,装置包括:预训练模块,用于利用训练数据集分别对多个任务进行预训练,得到多个任务模型;协同训练模块,用于基于多个任务模型迭代进行协同训练,其中,在每次迭代中,获取至少一个任务模型针对样本的输出结果,将至少一个输出结果和样本对应于指定任务的特征值一并输入指定任务模型以进行协同训练。
第三方面,提供一种协同训练装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如第一方面的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被多核处理器执行时,使得多核处理器执行如第一方面的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本实施例中,采用多任务协同建模,能够互相提升模型效果,且任务之间可以互相补充模型特征,降低了训练成本。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为根据本发明一实施例的协同训练方法的流程示意图;
图2为根据本发明一实施例的协同训练方法的示意图;
图3为根据本发明一实施例的预训练的流程示意图;
图4为根据本发明一实施例的协同训练的流程示意图;
图5为根据本发明一实施例的协同训练装置的结构示意图;
图6为根据本发明又一实施例的协同训练装置的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本申请实施例的描述中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请中的所有代码都是示例性的,本领域技术人员根据所使用的编程语言,具体的需求和个人习惯等因素会在不脱离本申请的思想的条件下想到各种变型。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1为根据本申请一实施例的协同训练方法的流程示意图,用于训练任务模型,在该流程中,从设备角度而言,执行主体可以是一个或者多个电子设备;从程序角度而言,执行主体相应地可以是搭载于这些电子设备上的程序。
如图1所示,本实施例提供的方法可以包括以下步骤:
S10、利用训练数据集分别对多个任务进行预训练,得到多个任务模型;
S20、基于多个任务模型迭代进行协同训练。
其中,在每次迭代中,获取至少一个任务模型针对样本的输出结果,将至少一个输出结果和样本对应于指定任务的特征值一并输入指定任务模型以进行协同训练。
一个示例中,很多不同的任务具有一定的关联性。例如,给定两个任务:1、判断一张人脸图像的性别;2、判断上述人脸的年龄。然而,针对一张人脸图像,在事先知道其性别的前提下,对于其年龄的判断会更加准确。而在事先知道其年龄的前提下,对于其性别的判断也会更加准确。基于此,本申请可以利用训练数据集分别对性别识别任务、年龄识别任务进行预训练,得到性别识别任务模型和年龄识别任务模型,之后,可以将性别识别任务模型针对某一样本(比如某一张人脸图像)的输出结果和年龄识别任务针对该样本的特征值一起作为年龄识别任务模型的输入特征,以对年龄识别任务模型进行融合其他任务因素的协同训练。与此同时,也可以将年龄识别任务模型针对某一样本(比如某一张人脸图像)的输出结果和性别识别任务针对该样本的特征值一起作为性别识别任务模型的输入特征,以对性别识别任务模型进行协同训练。简言之,在上述协同训练中,将其他任务针对某一样本的输出结果作为自身任务针对该样本的输入特征之一。
如此,使得这多个任务的训练能够借鉴其它任务的结果,能够互相提升任务模型效果、补充模型特征。通过任务间协作,解决原有数据集标注较少的问题。
进一步地,上述协同训练为半监督训练。本实施例优选地可以采用半监督学习进行训练,监督学习往往需要大量的标注数据,而标注数据的成本比较高.因此,利用大量的无标注数据来提高监督学习的效果有着十分重要的意义.这种利用少量标注数据和大量无标注数据进行学习的方式称为半监督学习(Semi-Supervised Learning,SSL),本申请中能够多任务协同建模,能够互相提升模型效果、补充模型特征。并且通过半监督学习的方法,能够补充原有数据集的标签。
可选地,也可以采用有监督训练或无监督训练。换言之,训练数据集可以是标注数据集,也可以是无标注数据集,也可以包含部分标注样本和部分无标注样本。本申请对此不作具体限制。
图2是本发明另一示例性实施例示出的协同训练方法的示意图,本实施例在图1所示实施例的基础上,对协同训练方法的过程进一步详细描述。
图3示出了预训练的流程示意图,以更为具体地阐述预训练过程。
参考图2和图3,S10具体可以包括:
S101、获取T个任务对应的T个训练数据集。
例如,T为大于1的整数,假设有任务集合k为任务标识,取值为1至T之间的整数,对于每个任务k,均有标注数据集(也可以是无标注数据集或部分标注数据集,此处以标注数据集为例进行描述,但不限于此)。其任务k对应的训练数据集至少包括样本i的特征向量xki,i为样本标识,取值为1,…,dk,dk为任务k的样本个数。相同的样本标识指示相同的样本对象,例如i=1,可以指示商户1,商户1的特征向量可以包括x11,x21,…,xT1,用于标识该商户1的任务1特征为x11,任务2特征x21,…,任务T特征xT1,诸如此类。此外,可能商户1并不存在对每个任务的特征,当无对应的任务特征时,可以使用空特征。
S102、将每个任务对应于各个样本的特征向量和指定数量的空特征和/或随机特征进行矢量组合,以创建每个任务对应于各个样本的第一组合特征。
例如,原始的任务k对应于样本i的特征向量为xki,进一步可以创建第一组合特征x′ki=(xki;0,…,0),其中0标识空特征,也可以用随机特征来替代该空特征,其均是第一组合特征中的附加特征的初始值。
S103、基于第一组合特征对T个任务进行预训练,得到T个任务模型。
由此即可完成预训练步骤,并且,通过引入上述附加特征,可以在后续的协同训练中更为简单地引入其他任务的输出结果来更新上述附加特征。
进一步地,上述指定数量根据每个任务有关联的其他任务的数量而确定,例如,参考图2,若任务1只与任务2有关联,而与任务3没有任何相关性,则可以只引入一项附加特征。而如果任务3与任务2、任务1均有关联性,则可以引入两项附加特征;或者,指定数量为T-1,换言之,无论任务之间有没有实质的关联关系,都可以引入对应于其他所有任务的附加特征,即T-1个。
进一步地,任务k对应的训练数据集包括特征向量及其标签。可选地,预训练与协同训练中采用的训练数据集合可以是相同或不同的。
进一步地,S10的预训练还可以包括:针对任务k,构建第k任务模型fk并按照以下公式优化:
其中,k的取值为1至T之间的整数,x′ki为任务k对应于样本i的第一组合特征,即x′ki=(xki;0,…,0),yki为任务k对应于样本i的标签,lk表示损失函数,dk为任务k的样本个数。
以下给出预训练过程的一个具体示例,选取2个任务,任务1为识别商户是否为黄牛商户,任务2为识别商户是否存在营销舞弊行为。从业务角度上看,黄牛商户是营销舞弊参与的主体,营销舞弊是黄牛商户参与非法套利的途径,因此这两个任务存在着一定的关联性。
对于预训练步骤,本实施例可以分别使用神经网络对这两任务进行分类预训练,采用交叉熵作为损失函数lk(·,·)。其中任务1的样本特征有3个,以及预留给任务2的初始空特征1个。例如,对于样本i,x′1i=(0.5,0.2,0.1,0),其中0.5,0.2,0.1为样本特征,最后的0为空特征。标签为1或0,分别表示是否为黄牛商户,如y1i=1。任务2的样本特征有2个,以及预留给任务1的初始空特征1个。例如,对于第i个样本,x′2i=(0.7,0.4,0),其中0.7,0.4为样本特征,最后的0为空特征。标签为1或0,分别表示是否为营销舞弊商户,如y2i=0。
进一步,对任务1构建三层神经网络,比如令 其中和分别是神经网络从输入层到第一层隐藏层的权值与偏置,和分别是神经网络从第一层隐藏层到输出层的权值与偏置。接着,用交叉熵计算损失函数:l1(f1(x′1i),y1i)=-[y1i·log(f1(x′1i))+(1-y1i)·log(1-f1(x′1i))],用梯度下降法,训练迭代,最小化上述式子。
同理,对任务2也构建三层神经网络,即令 其中和分别是神经网络从输入层到第一层隐藏层的权值与偏置,和分别是神经网络从第一层隐藏层到输出层的权值与偏置。接着,用交叉熵计算损失函数:l2(f2(x′2i),y2i)=-[y2i·log(f2(x′2i))+(1-y2i)·log(1-f2(x′2i))]。同样采用梯度下降法,训练迭代以最小化上述公式。
以下给出另一个预训练过程的一个具体示例,选取2个任务,任务3为判断人脸图像的性别,任务4为判断人脸图像的年龄。对于一张人脸图像,在事先知道性别的前提下,对于年龄的判断会更加准确。而在事先知道年龄的前提下,对于性别的判断也会更加准确。因此这两个任务存在着一定的关联性。
对于预训练步骤,本实施例可以分别使用卷积神经网络对这两任务进行分类及回归预训练,任务3采用交叉熵作为损失函数l3(·,·),任务4采用均方误差作为损失函数l4(·,·)。其中任务3的样本特征为输入图像,是一个28×28的矩阵,以及预留给任务4的初始空特征1个。例如,对于样本i,x′3i=(CNN(x3i),0),其中x3i为样本的原始图像特征,CNN(·)代表卷积神经网络。最后的0为空特征。标签为1或0,分别表示男/女,如y3i=1。任务4的样本特征为输入图像,是一个28×28的矩阵,以及预留给任务3的初始空特征1个。例如,对于样本i,x′4i=(CNN(x4i),0),其中x4i为样本的原始图像特征。最后的0为空特征。标签为正整数,表示年龄,如y4i=25。
进一步,任务3中的卷积神经网络,包含两个卷积池化层和两个全连接层。第一个卷积池化层的通道数量为64,卷积核为5×5,池化窗口大小为2×2,窗口滑动步长为2。第二个卷积池化层的通道数量为128,卷积核为5×5,池化窗口大小为2×2,窗口滑动步长为2。
第一个全连接层的神经元个数为1024。第二个全连接层的神经元个数为1。接着,用交叉熵计算损失函数:l3(f3(x′3i),y3i)=-[y3i·log(f3(x′3i))+(1-y3i)·log(1-f3(x′3i))],用梯度下降法,训练迭代,最小化上述式子。
同理,任务4中的卷积神经网络,也包含两个卷积池化层和两个全连接层。第一个卷积池化层的通道数量为64,卷积核为5×5,池化窗口大小为2×2,窗口滑动步长为2。第二个卷积池化层的通道数量为128,卷积核为5×5,池化窗口大小为2×2,窗口滑动步长为2。第一个全连接层的神经元个数为1024。第二个全连接层的神经元个数为1。接着,用均方误差计算损失函数:l4(f4(x′4i),y4i)=(y4i-f4(x′4i))2。同样采用梯度下降法,训练迭代以最小化上述公式。
图4示出了协同训练的流程示意图,以更为具体地阐述协同训练过程。
参考图2和图4,S20可以具体包括迭代执行以下步骤:
S201、获取每个任务对应于样本i的第一组合特征,第一组合特征包括特征向量和附加特征;以及,
S202、将每个任务对应于样本i的第一组合特征分别输入对应的任务模型中,得到每个任务对应于样本i的输出结果;
S203、根据指定任务以外的一个或多个其他任务对应于样本i的输出结果对指定任务对应于样本i的第一组合特征的附加特征进行更新,得到指定任务对应于样本i的第二组合特征;
S204、将指定任务对应于样本i的第二组合特征输入指定任务模型,以进行协同训练。
例如,可以将预训练过程中的采用的空特征替换为其余任务的输出。对于第k任务模型来说,在预训练中其对应于样本i的第一组合特征为x′ki=(xki;0,…,0);其中空特征即为附加特征。在协同训练中,需要将第一组合特征转换为第二组合特征来进行协同训练,第二组合特征x″ki=(xki;f1(x′1i),…,fk-1(x′(k-1)i),fk+1(x′(k+1)i),…,fT(x′Ti)),其中,f1(x′1i)为任务1的输出结果,x′1i是任务1对应于样本i的第一组合特征;fT(x′Ti)为任务T对应于样本i的输出结果,x′Ti是任务T对应于样本i的第一组合特征,以此类推。可以理解,第k任务模型采用上述第二组合特征进行训练,参考了其他任务因素,可以获得更好的模型效果。
进一步地,上述协同训练具体可以包括:针对任务k,按照以下公式优化第k任务模型fk:
其中,x″ki为样本i对应于任务k的第二组合特征,yki为样本i对应于任务k的标签,lk表示损失函数,dk为任务k的样本个数。
预训练和协同训练可以采用梯度下降法进行迭代训练。
基于上述预训练过程的一个具体示例,进一步给出协同训练过程的一个具体示例,预训练完成后,将任务1是否为黄牛的结果,作为任务2的特征;将任务2是否存在营销舞弊行为的结果,作为任务1的特征,分别继续训练。
即在任务1中,对于步骤1中的第i个样本x″1i=(0.5,0.2,0.1,f2(x′2i))。上述损失函数修改为:l1(f1(x″1i),y1i)=-[y1i·log(f1(x″1i))+(1-y1i)·log(1-f1(x″1i))]。
类似地,在任务2中,对于步骤1中的第i个样本x″2i=(0.7,0.4,f1(x′1i))。上述损失函数修改为:l2(f2(x″2i),y2i)=-[y2i·log(f2(x″2i))+(1-y2i)·log(1-f2(x″2i))]。分别继续训练,直至收敛。
以下给出协同训练过程的第二组具体示例,预训练完成后,将任务3判断人脸图像性别的结果,作为任务4的特征;将任务4判断人脸图像年龄的结果,作为任务3的特征,分别继续训练。
即在任务3中,对于步骤1中的第i个样本x″3i=(CNN(x3i),f4(x′4i))。上述损失函数修改为:l3(f3(x″3i),y3i)=-[y3i·log(f3(x″3i))+(1-y3i)·log(1-f3(x″3i))]。
类似地,在任务4中,对于步骤1中的第i个样本x″4i=(CNN(x4i),f3(x′3i))。上述损失函数修改为:l4(f4(x″4i),y4i)=(y4i-f4(x″4i))2。分别继续训练,直至收敛。
进一步地,在每次迭代之后,还包括:根据指定任务对应于样本i的第二组合特征对第一组合特征进行迭代更新。
例如:第一次迭代时,第一组合特征x′ki=(xki;0,…,0),由任务k输入其他任务的输出结果为fk(x′kk)。第一次迭代完成后,可以根据本次迭代获得的第二组合特征将上述第一组合特征更新为x′ki=(xki;f1(x′1i),…,fk-1(x′(k-1)i),fk+1(x′(k+1)i),…,fT(x′Ti))。在下一次迭代中,由任务k输入其他任务的输出结果仍为fk(x′ki),只是此时,x′ki中的附加特征并非为空特征,而是当前迭代值。
进一步地,得到指定任务对应于样本i的第二组合特征之后,还包括:获取对应于第二组合特征中的每个附加特征的权重系数;基于权重系数对第二组合特征中的每个附加特征进行加权,得到指定任务对应于样本i的第三组合特征;根据指定任务对应于样本i的第三组合特征对指定任务模型进行训练。
权重系数用于评价任务之间影响程度,可以理解,任务之间不一定存在着联系,任务之间的影响程度也很不相同,因此考虑设置一个参数,使得那些影响不大的任务,对现有任务的影响降低。例如,任务k对应于样本i的第三组合特征可以是:
x″′ki=(xki;α1f1(x′1i),…,αk-1fl-1(x′(k-1)i),αk+1fk+1(x′(k+1)i),…,αTfT(x′Ti))
其中,α1,…,αk-1,αk+1,,…,αT也即每个附加特征的权重系数,可以理解,附加特征和其他任务一一对应,同样地,权重系数也是和其他任务一一对应的。
进一步地,为了获取对应于第二组合特征中的每个附加特征的权重系数,还包括:依据以下公式计算对应于任务k的附加特征的权重系数αk:
其中,k取值为1至T之间的整数,β是预设参数,x′ki为任务k对应于样本i的第一组合特征的初始值,即x′ki=(xki;0,…,0);x″ki为任务k对应于样本i的第二组合特征。
可以理解,当任务模型在使用第一组合特征和使用第二组合特征的两种情况下,如果结果差异较大,则会降低第二组合特征中各个附加特征的影响,避免模型与原模型差异过大。
进一步地,预设参数β根据任务之间的关联性程度确定,可以依据经验或历史数据设定。
进一步地,指定任务为T个任务中的每一个任务。换言之,可以同步对每个任务均执行上述协同训练。
进一步地,基于所得到的第三组合特征,协同训练具体可以包括:针对任务k,按照以下公式优化第k任务模型fk:
其中,x″′ki为样本i对应于任务k的第三组合特征,yki为样本i对应于任务k的标签,lk表示损失函数,dk为任务k的样本个数。
进一步地,上述损失函数采用交叉熵函数。也可以采用其他任意一种分类损失函数,本申请对此不作具体限制。
基于预训练过程的一个具体示例,进一步给出协同训练过程的另一个具体示例。本实施例每轮训练过程中,可以计算附加特征的权重系数以进行加权,具体可以设置β=0.01。
计算得到第三组合特征:x″′1i=(0.5,0.2,0.1,α2f2(x′2i)),x″′2i=(0.7,0.4,α1f1(x′1i))。
并将损失函数修改为:l1(f1(x″′1i),y1i)=-[y1i·log(f1(x″′1i))+(1-y1i)·log(1-f1(x″′1i))]和l2(f2(x″′2i),y2i)=-[y2i·log(f2(x″′2i))+(1-y2i)·log(1-f2(x″′2i))]。分别继续训练,直至收敛。
以下给出协同训练过程的第二组具体示例。
计算得到第三组合特征:x″′3i=(CNN(x3i),α4f4(x′4i)),x″′4i=(CNN(x4i),α3f3(x′3i))。
并将损失函数修改为:l3(f3(x″′3i),y3i)=-[y3i·log(f3(x″′3i))+(1-y3i)·log(1-f3(x″′3i))]和l4(f4(x″′4i),y4i)=(y4i-f4(x″′4i))2。分别继续训练,直至收敛。
在另外的示例中,实施例中的多个任务也可以替换为诸如:一、①判断一张人脸图像的性别;②判断上述人脸的年龄。二、①预测某产品销量;②预测该产品的质量合格率;③预测该产品的生命周期,等等。
在本说明书的描述中,参考术语“一些可能的实施方式”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
关于本申请实施例的方法流程图,将某些操作描述为以一定顺序执行的不同的步骤。这样的流程图属于说明性的而非限制性的。可以将在本文中所描述的某些步骤分组在一起并且在单个操作中执行、可以将某些步骤分割成多个子步骤、并且可以以不同于在本文中所示出的顺序来执行某些步骤。可以由任何电路结构和/或有形机制(例如,由在计算机设备上运行的软件、硬件(例如,处理器或芯片实现的逻辑功能)等、和/或其任何组合)以任何方式来实现在流程图中所示出的各个步骤。
基于相同的技术构思,本发明实施例还提供一种协同训练装置,用于执行上述任一实施例所提供的协同训练方法。图5为本发明实施例提供的一种协同训练装置结构示意图。
如图5所示,装置500包括:
预训练模块501,用于利用训练数据集分别对多个任务进行预训练,得到多个任务模型;
协同训练模块502,用于基于多个任务模型迭代进行协同训练,其中,在每次迭代中,获取至少一个任务模型针对样本的输出结果,将至少一个输出结果和样本对应于指定任务的特征值一并输入指定任务模型以进行协同训练。
需要说明的是,本申请实施例中的协同训练装置可以实现前述协同训练方法的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。
图6为根据本申请一实施例的协同训练装置,用于执行图1所示出的协同训练方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例所述的方法。
根据本申请的一些实施例,提供了协同训练方法的非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行:上述实施例所述的方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和计算机可读存储介质与方法是一一对应的,因此,装置、设备和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和计算机可读存储介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (19)
1.一种协同训练方法,其特征在于,包括:
利用训练数据集分别对多个任务进行预训练,得到多个任务模型;
基于所述多个任务模型迭代进行协同训练,其中,在每次迭代中,获取至少一个所述任务模型针对样本的输出结果,将至少一个输出结果和所述样本对应于指定任务的特征值一并输入指定任务模型以进行所述协同训练。
2.根据权利要求1所述的方法,其特征在于,所述协同训练方法为半监督训练方法。
3.根据权利要求1所述的方法,其特征在于,所述预训练还包括:
获取T个任务对应的T个训练数据集,其中,任务k对应的训练数据集至少包括样本i的特征向量xki;
将每个任务对应于各个样本的特征向量和指定数量的空特征和/或随机特征进行矢量组合,以创建每个任务对应于各个样本的第一组合特征,所述空特征和/或随机特征为第一组合特征的附加特征的初始值;
基于所述第一组合特征对T个任务进行所述预训练,得到T个任务模型;
其中,k为任务标识,取值为1至T之间的整数,i为样本标识,取值为1至dk之间的整数,dk为任务k的样本个数,相同的样本标识指示相同的样本对象。
4.根据权利要求3所述的方法,其特征在于,所述指定数量根据每个任务有关联的其他任务的数量而确定;或者,所述指定数量为T-1。
5.根据权利要求1所述的方法,其特征在于,所述任务k对应的所述训练数据集包括所述特征向量及其标签。
6.根据权利要求3所述的方法,其特征在于,所述协同训练还包括迭代执行以下步骤:
获取每个任务对应于样本i的所述第一组合特征,所述第一组合特征包括所述特征向量和所述附加特征;以及,
将每个任务对应于样本i的所述第一组合特征分别输入对应的任务模型中,得到每个任务对应于样本i的输出结果;
根据指定任务以外的一个或多个其他任务对应于样本i的所述输出结果对所述指定任务对应于样本i的所述第一组合特征的所述附加特征进行更新,得到所述指定任务对应于样本i的第二组合特征;
将所述指定任务对应于样本i的第二组合特征输入所述指定任务模型,以进行所述协同训练。
7.根据权利要求6所述的方法,其特征在于,在每次迭代之后,还包括:
根据所述指定任务对应于样本i的所述第二组合特征对所述第一组合特征进行迭代更新。
8.根据权利要求1所述的方法,其特征在于,得到所述指定任务对应于样本i的第二组合特征之后,还包括:
获取对应于所述第二组合特征中的每个附加特征的权重系数;
基于所述权重系数对所述第二组合特征中的每个附加特征进行加权,得到所述指定任务对应于样本i的第三组合特征;
根据所述指定任务对应于样本i的所述第三组合特征对所述指定任务模型进行训练。
10.根据权利要求6所述的方法,其特征在于,所述预设参数β根据任务之间的关联性程度确定。
11.根据权利要求6所述的方法,其特征在于,所述指定任务为所述T个任务中的每一个任务。
15.根据权利要求12至14中任一项所述的方法,其特征在于,所述损失函数采用交叉熵函数。
16.根据权利要求1所述的方法,其特征在于,还包括:
所述预训练和所述协同训练采用梯度下降法进行迭代训练。
17.一种协同训练装置,其特征在于,被配置为用于执行如权利要求1-7中任一项所述的方法,所述装置包括:
预训练模块,用于利用训练数据集分别对多个任务进行预训练,得到多个任务模型;
协同训练模块,用于基于所述多个任务模型迭代进行协同训练,其中,在每次迭代中,获取至少一个所述任务模型针对样本的输出结果,将至少一个输出结果和所述样本对应于指定任务的特征值一并输入指定任务模型以进行所述协同训练。
18.一种协同训练装置,其特征在于,包括:
至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如权利要求1-16中任一项所述的方法。
19.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被多核处理器执行时,使得所述多核处理器执行如权利要求1-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110987831.2A CN113705662A (zh) | 2021-08-26 | 2021-08-26 | 一种协同训练方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110987831.2A CN113705662A (zh) | 2021-08-26 | 2021-08-26 | 一种协同训练方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113705662A true CN113705662A (zh) | 2021-11-26 |
Family
ID=78655178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110987831.2A Pending CN113705662A (zh) | 2021-08-26 | 2021-08-26 | 一种协同训练方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705662A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816719A (zh) * | 2022-06-23 | 2022-07-29 | 小米汽车科技有限公司 | 多任务模型的训练方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190475A (zh) * | 2018-08-01 | 2019-01-11 | 中国计量大学 | 一种人脸识别网络与行人再识别网络协同训练方法 |
CN110490052A (zh) * | 2019-07-05 | 2019-11-22 | 山东大学 | 基于级联多任务学习的人脸检测及人脸属性分析方法及系统 |
US20190362846A1 (en) * | 2018-05-24 | 2019-11-28 | Siemens Healthcare Gmbh | System and method for an automated clinical decision support system |
CN110580695A (zh) * | 2019-08-07 | 2019-12-17 | 深圳先进技术研究院 | 一种多模态三维医学影像融合方法、系统及电子设备 |
CN111695415A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 图像识别模型的构建方法、识别方法及相关设备 |
CN112036322A (zh) * | 2020-09-01 | 2020-12-04 | 清华大学 | 多任务网络跨域行人重识别模型构建方法、系统及装置 |
CN112949583A (zh) * | 2021-03-30 | 2021-06-11 | 京科互联科技(山东)有限公司 | 复杂城市场景的目标检测方法、系统、设备及存储介质 |
CN112966644A (zh) * | 2021-03-24 | 2021-06-15 | 中国科学院计算技术研究所 | 用于手势检测和手势识别的多模态多任务模型及其训练方法 |
-
2021
- 2021-08-26 CN CN202110987831.2A patent/CN113705662A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190362846A1 (en) * | 2018-05-24 | 2019-11-28 | Siemens Healthcare Gmbh | System and method for an automated clinical decision support system |
CN109190475A (zh) * | 2018-08-01 | 2019-01-11 | 中国计量大学 | 一种人脸识别网络与行人再识别网络协同训练方法 |
CN110490052A (zh) * | 2019-07-05 | 2019-11-22 | 山东大学 | 基于级联多任务学习的人脸检测及人脸属性分析方法及系统 |
CN110580695A (zh) * | 2019-08-07 | 2019-12-17 | 深圳先进技术研究院 | 一种多模态三维医学影像融合方法、系统及电子设备 |
CN111695415A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 图像识别模型的构建方法、识别方法及相关设备 |
CN112036322A (zh) * | 2020-09-01 | 2020-12-04 | 清华大学 | 多任务网络跨域行人重识别模型构建方法、系统及装置 |
CN112966644A (zh) * | 2021-03-24 | 2021-06-15 | 中国科学院计算技术研究所 | 用于手势检测和手势识别的多模态多任务模型及其训练方法 |
CN112949583A (zh) * | 2021-03-30 | 2021-06-11 | 京科互联科技(山东)有限公司 | 复杂城市场景的目标检测方法、系统、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
孙晓 等: "基于多特征融合的混合神经网络模型讽刺语用判别", 《中文信息学报》, vol. 30, no. 06, pages 233 - 241 * |
董兰芳;张军挺;: "基于深度学习与随机森林的人脸年龄与性别分类研究", 《计算机工程》, vol. 44, no. 05, pages 246 - 251 * |
郑超 等: "改进的协同训练框架下压缩跟踪", 《电子与信息学报》, vol. 38, no. 07, pages 73 - 79 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816719A (zh) * | 2022-06-23 | 2022-07-29 | 小米汽车科技有限公司 | 多任务模型的训练方法及装置 |
CN114816719B (zh) * | 2022-06-23 | 2022-09-30 | 小米汽车科技有限公司 | 多任务模型的训练方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110892417B (zh) | 具有学习教练的异步代理以及在不降低性能的情况下在结构上修改深度神经网络 | |
US20220027738A1 (en) | Distributed synchronous training architecture using stale weights | |
BR112021009042A2 (pt) | geração automatizada de modelos de aprendizagem por máquina | |
Ke et al. | Data equilibrium based automatic image annotation by fusing deep model and semantic propagation | |
US11373117B1 (en) | Artificial intelligence service for scalable classification using features of unlabeled data and class descriptors | |
CN110619044A (zh) | 一种情感分析方法、系统、存储介质及设备 | |
Ma et al. | Lightweight attention convolutional neural network through network slimming for robust facial expression recognition | |
Ghanbari et al. | Reconstruction of gene networks using prior knowledge | |
US11790232B2 (en) | Method and apparatus with neural network data input and output control | |
US20220414470A1 (en) | Multi-Task Attention Based Recurrent Neural Networks for Efficient Representation Learning | |
Jain et al. | TensorFlow Machine Learning Projects: Build 13 real-world projects with advanced numerical computations using the Python ecosystem | |
Glauner | Comparison of training methods for deep neural networks | |
Ahirwar | Generative adversarial networks projects: Build next-generation generative models using TensorFlow and Keras | |
WO2020209860A1 (en) | Leveraging lagging gradients in machine-learning model training | |
Karakas et al. | Fairstyle: Debiasing stylegan2 with style channel manipulations | |
Shanthamallu et al. | Machine and deep learning algorithms and applications | |
CN113705662A (zh) | 一种协同训练方法、装置及计算机可读存储介质 | |
Jadon et al. | Hands-on one-shot learning with python: Learn to implement fast and accurate deep learning models with fewer training samples using pytorch | |
Rai | Advanced deep learning with R: Become an expert at designing, building, and improving advanced neural network models using R | |
JP2024516629A (ja) | 生体信号分析方法 | |
US20220121924A1 (en) | Configuring a neural network using smoothing splines | |
Liu et al. | Hands-On Deep Learning Architectures with Python: Create deep neural networks to solve computational problems using TensorFlow and Keras | |
Sikka | Elements of Deep Learning for Computer Vision: Explore Deep Neural Network Architectures, PyTorch, Object Detection Algorithms, and Computer Vision Applications for Python Coders (English Edition) | |
CN110851600A (zh) | 基于深度学习的文本数据处理方法及装置 | |
CN108460453B (zh) | 一种用于ctc训练的数据处理方法、装置及系统 |
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 |