CN113642671B - 基于任务分布变化的半监督元学习方法及装置 - Google Patents
基于任务分布变化的半监督元学习方法及装置 Download PDFInfo
- Publication number
- CN113642671B CN113642671B CN202111007903.9A CN202111007903A CN113642671B CN 113642671 B CN113642671 B CN 113642671B CN 202111007903 A CN202111007903 A CN 202111007903A CN 113642671 B CN113642671 B CN 113642671B
- Authority
- CN
- China
- Prior art keywords
- data
- semi
- supervised
- distribution
- 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
- 238000009826 distribution Methods 0.000 title claims abstract description 277
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000008859 change Effects 0.000 title abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 278
- 238000012360 testing method Methods 0.000 claims description 28
- 239000003550 marker Substances 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000011478 gradient descent method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 241000282472 Canis lupus familiaris Species 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 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/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种基于任务分布变化的半监督元学习方法及装置。方法的一具体实施方式包括:从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;根据第一损失和第二损失,更新识别模型。本申请提供了更真实的训练环境,解决了灾难遗忘问题。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种基于任务分布变化的半监督元学习方法及装置。
背景技术
元学习需要学习大量的相关任务,以获得适应新的未接触的任务的通用知识。在实际的场景中,标记数据稀缺,采用半监督小样本学习方式,通过额外的未标记数据提高元学习模型的性能。其基本假设为,任务分布是平稳的,即它们在一个数据集上训练。然而,在真实的应用场景中,任务分布会随着深度学习模型训练的过程演变而变化。由于任务分布的变化,现有的深度学习模型会遇到严重的灾难遗忘的问题,即当前训练得到的深度学习模型在历史任务分布上无法取得高效的分类结果。
发明内容
本申请实施例提出了一种基于任务分布变化的半监督元学习方法及装置。
第一方面,本申请实施例提供了一种基于任务分布变化的半监督元学习方法,包括:从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;根据第一损失和第二损失,更新识别模型。
在一些实施例中,上述半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集;以及上述方法还包括:区分未标记数据集中的分布内数据和分布外数据,其中,分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据;以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的依赖性、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,其中,标记数据集对应的类原型信息表征标记数据集中的训练数据所属的类别的类原型信息;以及上述根据第一损失和第二损失,更新识别模型,包括:根据第一损失、第二损失和第三损失,更新识别模型。
在一些实施例中,上述以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的依赖性、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,包括:以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的互信息、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的互信息为原则,确定第三损失。
在一些实施例中,上述区分未标记数据集中的分布内数据和分布外数据,包括:确定标记数据集的训练数据所属的类别的类原型信息;对于未标记数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离;根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据。
在一些实施例中,上述根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据,包括:对于测试数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离;根据所确定出的多个最小距离确定距离阈值;对于未标记数据集中的每个训练数据,响应于确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离不大于距离阈值,将该训练数据确定为分布内数据;响应于确定该训练数据对应的最小距离大于距离阈值,将该训练数据确定为分布外数据。
在一些实施例中,上述确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,包括:将测试数据集中的训练数据,输入经过标记数据集和未标记数据集训练后的识别模型,得到实际输出;确定对应于测试数据集中的每个训练数据的标签和实际输出之间的第一损失。
在一些实施例中,上述从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集,包括:随时间的推移,从一系列变化的任务分布中选取多个半监督数据集;将任务分布发生变化的时间节点对应的半监督数据集确定为目标数据集;对于每个目标数据集,从历史半监督数据集中选取训练数据,并结合该目标数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
在一些实施例中,上述方法还包括:响应于确定所输入的训练数据为历史半监督数据集中的训练数据,确定对应于所输入的训练数据的标签与实际输出之间的第四损失;以及上述根据第一损失、第二损失和第三损失,更新识别模型,包括:根据第一损失、第二损失、第三损失和第四损失,更新识别模型。
在一些实施例中,上述确定识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失,包括:根据历史半监督数据集中的训练数据的特征信息,确定历史半监督数据集对应的特征分布信息;根据当前半监督数据集中的训练数据的特征信息,确定当前半监督数据集对应的特征分布信息;确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
在一些实施例中,上述确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失,包括:基于最优传输算法,确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
在一些实施例中,上述方法还包括:基于预设抽样方法,从经过训练后的当前半监督数据集中选取部分训练数据,存入历史半监督训练集,并存储所选取的部分训练数据的特征信息。
在一些实施例中,识别模型用于识别所获取的待识别图像中的目标对象。
第二方面,本申请实施例提供了一种基于任务分布变化的半监督元学习装置,包括:选取单元,被配置成从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;第一确定单元,被配置成依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;更新单元,被配置成根据第一损失和第二损失,更新识别模型。
在一些实施例中,上述半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集;以及上述装置还包括:区分单元,被配置成区分未标记数据集中的分布内数据和分布外数据,其中,分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据;第二确定单元,被配置成以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的依赖性、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,其中,标记数据集对应的类原型信息表征标记数据集中的训练数据所属的类别的类原型信息;以及上述更新单元,进一步被配置成:根据第一损失、第二损失和第三损失,更新识别模型。
在一些实施例中,第二确定单元,进一步被配置成:以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的互信息、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的互信息为原则,确定第三损失。
在一些实施例中,区分单元,进一步被配置成:确定标记数据集的训练数据所属的类别的类原型信息;对于未标记数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离;根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据。
在一些实施例中,区分单元,进一步被配置成:对于测试数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离;根据所确定出的多个最小距离确定距离阈值;对于未标记数据集中的每个训练数据,响应于确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离不大于距离阈值,将该训练数据确定为分布内数据;响应于确定该训练数据对应的最小距离大于距离阈值,将该训练数据确定为分布外数据。
在一些实施例中,第一确定单元,进一步被配置成:将测试数据集中的训练数据,输入经过标记数据集和未标记数据集训练后的识别模型,得到实际输出;确定对应于测试数据集中的每个训练数据的标签和实际输出之间的第一损失。
在一些实施例中,选取单元,进一步被配置成:随时间的推移,从一系列变化的任务分布中选取多个半监督数据集;将任务分布发生变化的时间节点对应的半监督数据集确定为目标数据集;对于每个目标数据集,从历史半监督数据集中选取训练数据,并结合该目标数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
在一些实施例中,上述装置还包括:第三确定单元,别配置成响应于确定所输入的训练数据为历史半监督数据集中的训练数据,确定对应于所输入的训练数据的标签与实际输出之间的第四损失;以及更新单元,进一步被配置成:根据第一损失、第二损失、第三损失和第四损失,更新识别模型。
在一些实施例中,第一确定单元,进一步被配置成:根据历史半监督数据集中的训练数据的特征信息,确定历史半监督数据集对应的特征分布信息;根据当前半监督数据集中的训练数据的特征信息,确定当前半监督数据集对应的特征分布信息;确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
在一些实施例中,第一确定单元,进一步被配置成:基于最优传输算法,确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
在一些实施例中,上述装置还包括:抽样存储单元,被配置成基于预设抽样方法,从经过训练后的当前半监督数据集中选取部分训练数据,存入历史半监督训练集,并存储所选取的部分训练数据的特征信息。
在一些实施例中,识别模型用于识别所获取的待识别图像中的目标对象。
第三方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面任一实现方式描述的方法。
第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面任一实现方式描述的方法。
本申请实施例提供的基于任务分布变化的半监督元学习方法及装置,通过从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;根据第一损失和第二损失,更新识别模型,从而提供了一种任务分布渐变场景下的半监督元学习方法,使学习过程更符合真实场景,以针对真实场景来进行建模,提高识别模型的准确度,并最小化训练过程中所产生的特征分布信息的变化,从而提高了识别模型对之前学习到的知识的记忆能力,解决了灾难遗忘问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请基于任务分布变化的半监督元学习方法的一个实施例的流程图;
图3是根据本实施例的基于任务分布变化的半监督元学习方法的应用场景的示意图;
图4是根据本申请的基于任务分布变化的半监督元学习方法的又一个实施例的流程图;
图5是根据本申请的基于任务分布变化的半监督元学习装置的一个实施例的结构图;
图6是适于用来实现本申请实施例的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于任务分布变化的半监督元学习方法及装置的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。终端设备101、102、103之间通信连接构成拓扑网络,网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以是支持网络连接从而进行数据交互和数据处理的硬件设备或软件。当终端设备101、102、103为硬件时,其可以是支持网络连接,信息获取、交互、显示、处理等功能的各种电子设备,包括但不限于摄像头、智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如根据终端设备101、102、103发送的训练请求,使识别模型在任务分布渐变场景下进行训练,并最小化训练过程中所产生的特征分布信息的变化,从而提高了识别模型对之前学习到的知识的记忆能力,解决灾难遗忘问题。作为示例,服务器105可以是云端服务器。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
还需要说明的是,本申请的实施例所提供的基于任务分布变化的半监督元学习方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备彼此配合执行。相应地,基于任务分布变化的半监督元学习装置包括的各个部分(例如各个单元)可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当基于任务分布变化的半监督元学习方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该系统架构可以仅包括基于任务分布变化的半监督元学习方法运行于其上的电子设备(例如服务器或终端设备)。
继续参考图2,示出了基于任务分布变化的半监督元学习方法的一个实施例的流程200,包括以下步骤:
步骤201,从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集。
本实施例中,基于任务分布变化的半监督元学习方法的执行主体(例如图1中的终端设备或服务器)可以基于有线连接方式或无线连接方式从远程,或从本地获取变化的任务分布,并从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集。
任务分布可以通过大量的采集数据表征。其中,采集数据可以是信息采集装置采集的各种信息。例如。在自动驾驶领域,采集数据可以是自动驾驶车辆上的图像采集装置所采集的图像数据;在人脸识别领域,采集数据可以是人脸采集装置所采集的人脸数据。
随着时间的推移,信息采集装置采集到大量的数据。所采集到的大量数据表征一个任务的分布信息。作为示例,自动驾驶车辆在自动行驶过程中实时采集图像数据,可以将同一环境采集的数据作为一个任务,而在环境的变化过程中,采集到一系列的任务分布。作为又一示例,可以将从同一地理区域中采集的数据作为一个任务,而在环境的变化过程中,采集到一系列的任务分布。
本实施例中,上述执行主体可以通过随机采样或均匀采样等方式,从一系列变化的任务分布中获取对应于不同的任务分布的多个半监督数据集。
在本实施例的一些可选实现方式中,半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集。
具体的,上述执行主体可以通过如下方式执行上述步骤201:
第一,随时间的推移,从一系列变化的任务分布中选取多个半监督数据集。
第二,将任务分布发生变化的时间节点对应的半监督数据集确定为目标数据集。
第三,对于每个目标数据集,从历史半监督数据集中选取训练数据,并结合该目标数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
作为示例,识别模型在一系列变化的数据集上训练。从每个数据集中抽取大量的半监督任务,形成任务分布/>从而形成了一系列半监督任务分布对于一系列变化的任务分布/>对于时间t=1,…,τ1,我们从任务分布/>中在每个时间t随机抽取小批量半监督任务Tt;对于时间t=τ1+1,…,τ2,我们从任务分布/>中在每个时间t随机抽取小批量半监督任务Tt;对于时间t=τi+1,…,τi+1,我们从任务分布/>中在每个时间t随机抽取小批量半监督任务Tt。其中,任务分布在时间节点t=τ1,τ2,…,τi,…τL发生变化。从而可以将对应于t=τ1,τ2,…,τi,…τL的各时间节点对应的半监督数据集作为多个目标数据集。本实现方式中,可以将时间间隔|τi-τi-1|设置的足够大,以使得识别从每个任务分布中充分学习。需要说明的是,每个时间t表示的是一个抽象的是时刻,t+1表示的是时间t的下一个时刻,仅仅表示一个时间间隔,并不具体的指代相应的时间长短。
每一个任务Tt中的数据分为三个部分,/>由标记数据集{(xk,yk)}组成,xk为训练数据,yk为标签;未标记数据集/>表示为/> 表示测试数据集,与标记数据集/>的类别相同。
识别模型在任务分布上进行训练时,为了抽样得到一个N-way K-shot(N个种类,每个种类包括K个训练数据)的数据集,首先从所有的训练类别/>中均匀抽样N个类别。对于标记数据集/>从每个类别中采样K个训练数据;对于未标记数据集/>我们从每个类别的未标记数据中采样/>个训练数据作为分布内数据,当/>中包含分布外数据时,另外从外部数据集中采样/>个训练数据作为分布外数据。具体的,每个训练数据可以通过图像的形式表征。N、K、/>可以根据实际情况具体设置,在此不做限定。
其中,分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据。作为示例,训练数据是猫和狗的图片构成的数据集,训练的模型希望能够正确识别哪些图片是猫,哪些图片是狗。给定的一组新的数据集,当其中的数据为表征猫或者狗的数据时,这组数据就被称之为分布内数据。如果新的数据集中的数为表征猫狗之外的对象(例如老虎)的图片,这组数据就可以理解为分布外数据。
步骤202,依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失。
本实施例中,上述执行主体依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失。
其中,识别模型可以是采用任何网络结构的深度学习模型,包括但不限于是卷积神经网络、残差网络、循环卷积网络等网络模型。识别模型用于识别所获取的待识别图像中的目标对象。作为示例,在自动驾驶领域,识别模型基于识别功能可以执行障碍物检测、车道线识别等任务;在人脸识别领域,识别模型可以执行人脸识别、目标跟踪、人脸鉴伪等任务。
作为示例,对于每个半监督数据集,将该半监督数据集中的训练数据输入识别模型,通过识别模型得到所输入的特征信息,并根据特征信息得到训练数据的实际输出(识别结果或分类结果)。进而,可以确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失。并且,为了提高对之前学习到的知识的记忆能力,解决灾难遗忘问题,还要确定识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失。
历史半监督训练集为经过训练后的半监督训练集,历史半监督训练集对应的特征分布信息由历史半监督数据集中的训练数据的特征信息统计处理得到。相应的,当前半监督训练集为正在训练的半监督训练集,当前半监督训练集对应的特征分布信息由当前半监督数据集中的训练数据的特征信息统计处理得到。可以理解,历史半监督训练集可以作为记忆缓冲区,用于存储训练过的部分训练数据和相应的特征信息。通过计算当前得到的特征分布信息和记忆中的特征分布信息的第二损失,可以保证识别模型在训练过程中一直记着基于之前的任务分布而学习到的知识。
步骤203,根据第一损失和第二损失,更新识别模型。
本实施例中,上述执行主体可以根据第一损失和第二损失,更新识别模型。
作为示例,上述执行主体可以对第一损失和第二损失加权求和,得到总损失,并以最小化总损失为训练目标,更新识别模型。作为示例,上述执行主体根据总损失计算梯度,采用梯度下降法、随机梯度下降法更新识别模型的参数。
为了充分利用未标记数据集中的分布内数据与分布外数据,提高分布内数据对训练过程的影响,减小分布外数据对训练过程的影响,在本实施例的一些可选的实现方式中,上述执行主体还可以执行如下操作:
第一,区分未标记数据集中的分布内数据和分布外数据。
作为示例,上述执行主体可以预先确定出与半监督数据集中的标记数据集的代表性特征表示信息,并确定未标记数据集中的每个训练数据的特征信息与代表性特征表示信息之间的距离,进而将距离代表性信息较近的训练数据确定为分布内数据,将距离代表性信息较近的训练数据确定为分部外数据。
第二,以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的依赖性、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失。
其中,标记数据集对应的类原型信息表征标记数据集中的训练数据所属的类别的类原型信息。类原型(class prototype)信息,可以理解为同一类数据的通用的特征表示。标记数据集对应的类原型信息可以通过如下公式(1)得到:
其中,pc表示类原型信息,表示标记数据集/>中属于类别c的训练数据,hθ表示参数为θ的特征嵌入函数。
本实现方式中,上述执行主体可以基于度量学习、对比学习方法确定分布内数据的特征信息与标记数据集对应的类原型信息之间的依赖性,以及分布外数据的特征信息与标记数据集对应的类原型信息之间的依赖性。
对应于上述实时方式,上述执行主体可以通过如下方式执行上述步骤203:根据第一损失、第二损失和第三损失,更新识别模型。
作为示例,上述执行主体可以对第一损失、第二损失和第三损失加权求和,得到总损失,并以最小化总损失为训练目标,更新识别模型。作为示例,上述执行主体根据总损失计算梯度,采用梯度下降法、随机梯度下降法更新识别模型的参数。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第二步骤:以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的互信息、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的互信息为原则,确定第三损失。
互信息(Mutual Information,MI)可度量变量之间的依赖。具体的,a,b之间的互信息通过如下公式(2)计算:
其中,表示期望,p表示概率分布。
基于上述互信息计算公式,第三损失可以通过如下公式计算:
其中,eood=hθ(x);/>eid=hθ(x)。ood(out of distribution,分布外)表示分布外数据,id(inside distribution,分布内)表示分布内数据。c′=argminc‖e-pc‖。
由于MI值中,联合概率分布不可用,通过推导MI最大化的下界和MI最小化的下界来计算,得到如下公式(4):
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第一步骤,以区分分布内数据和分布外数据:
首先,确定标记数据集的训练数据所属的类别的类原型信息。
具体的,针对于标记数据集中所包括的每个类别,通过上述公式(1)得到该类别的类原型信息。
然后,对于未标记数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离。
最后,根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据。
作为示例,当该训练数据的特征信息与每个类别的类原型信息之间的距离均较大时,可以将该训练数据确定为分布外数据;当该训练数据的特征信息存在距离较近的类原型信息时,可以将该训练数据确定为分布内数据。
具体的,对于上述最后步骤,上述执行主体可以执行如下操作:
1、对于测试数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离。
2、根据所确定出的多个最小距离确定距离阈值。
具体的,上述执行主体可以先计算出多个最小距离的平均值,以及多个最小距离之间的标准差;然后,对所得到的平均值和方差进行求和,得到距离阈值。
3、对于未标记数据集中的每个训练数据,响应于确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离不大于距离阈值,将该训练数据确定为分布内数据。
4、响应于确定该训练数据对应的最小距离大于距离阈值,将该训练数据确定为分布外数据。
为了进一步说明分布内数据和分布外数据的区分过程,在此给出具体实施方式的伪代码:
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式计算第一损失:
第一,将测试数据集中的训练数据,输入经过标记数据集和未标记数据集训练后的识别模型,得到实际输出。
第二,确定对应于测试数据集中的每个训练数据的标签和实际输出之间的第一损失。
具体的,第一损失可以通过如下公式(5)计算:
其中,θ为特征嵌入函数hθ(x)的参数,分别表示标记数据集、未标记数据集和测试数据集,xi、yi表示测试数据集中的训练数据和对应的标签,p′c表示未标记数据集中的类别的类原型。
具体的,类原型p′c通过如下公式(6)计算:
其中,表示未标记数据集中的训练数据的软类别概率,通过如下公式(7)计算得到:/>
在半监督数据集中存在历史半监督数据集中的部分训练数据的情形下,为了进一步提高识别模型的记忆能力,上述执行主体还可以响应于确定所输入的训练数据为历史半监督数据集中的训练数据,确定对应于所输入的训练数据的标签与实际输出之间的第四损失
对应于上述实施方式,上述执行主体可以根据第一损失、第二损失、第三损失和第四损失,更新识别模型。
作为示例,上述执行主体可以对第一损失、第二损失、第三损失和第四损失加权求和,得到总损失,并以最小化总损失为训练目标,更新识别模型。作为示例,上述执行主体根据总损失计算梯度,采用梯度下降法、随机梯度下降法更新识别模型的参数。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式确定第二损失:
第一,根据历史半监督数据集中的训练数据的特征信息,确定历史半监督数据集对应的特征分布信息。
第二,根据当前半监督数据集中的训练数据的特征信息,确定当前半监督数据集对应的特征分布信息。
特征分布信息用于表征数据集中的训练数据的特征信息的分布信息。具体的,上述执行主体可以通过对半监督数据集中的训练数据的特征信息进行统计、分析,得到对应的特征分布信息。
第三,确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
作为示例,上述执行主体可以采用正交梯度投影算法、自适应学习率算法等方法确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的距离,作为第二损失。
在本实施例的一些可选的实现方式中,上述执行主体可以基于最优传输算法,确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
通过OT(Optimal Transport,最优传输)算法可以减小标记数据和未标记数据在网络输出上的变化。原始OT问题为用最优传输距离度量两个分布之间的距离:
Π(μ,ν)是一组联合概率分布,其两个边缘分布为μ和ν。对OT进行精确计算通常比较困难,通过添加正则项近似计算提高计算效率。
维持一个记忆缓冲区来存储历史任务分布中的少数训练数据,少数训练数据包括历史任务分布中的标记数据集中的部分训练数据和未标记数据集中的部分分布内数据。并存储少数训练数据的特征信息,内存特征信息为/>
假设之前存储的特征信息为分布为ν;当前迭代的模型参数θt生成的特征信息为/>分布为μ。则通过上述公式最小化历史半监督数据集中的训练数据的特征信息与当前半监督数据集中的训练数据的特征信息之间的差异,得到第二损失/>达到了记忆的目的,解决灾难遗忘的问题。
如此,在得到第一损失、第二损失、第三损失和第四损失后,上述执行主体可以通过如下公式(9)计算总损失:
其中,β、λ分别表示权重。
为了维持记忆缓冲区中的训练数据的有效性,在本实施例的一些可选的实现方式中,上述执行主体可以基于预设抽样方法,从经过训练后的当前半监督数据集中选取部分训练数据,存入历史半监督训练集,并存储所选取的部分训练数据的特征信息。
预设抽样方法可以是能够实现抽样功能的任意抽样算法。例如,预设抽样方法为水塘抽样算法。
为了进一步说明本申请,在此给出本申请的伪代码:
继续参见图3,图3是根据本实施例的基于任务分布变化的半监督元学习方法的应用场景的一个示意图300。在图3的应用场景中,服务器首先从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集3011、3012…N。然后,依次通过多个半监督数据集中的每个半监督数据集训练识别模型302,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失303,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失304。然后,根据第一损失303和第二损失304,更新识别模型302。
本申请的上述实施例提供的方法,通过从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;根据第一损失和第二损失,更新识别模型,从而提供了一种任务分布渐变场景下的半监督元学习方法,使学习过程更符合真实场景,以针对真实场景来进行建模,提高识别模型的准确度,并最小化训练过程中所产生的特征分布信息的变化,从而提高对之前学习到的知识的记忆能力,解决了灾难遗忘问题。
继续参考图4,示出了根据本申请的基于任务分布变化的半监督元学习方法的一个实施例的示意性流程400,包括如下步骤:
步骤401,随时间的推移,从一系列变化的任务分布中选取多个半监督数据集。
步骤402,将任务分布发生变化的时间节点对应的半监督数据集确定为目标数据集。
步骤403,对于每个目标数据集,从历史半监督数据集中选取训练数据,并结合该目标数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
其中,半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集。
步骤404,依次通过多个半监督数据集中的每个半监督数据集训练识别模型,执行如下操作:
步骤4041,区分未标记数据集中的分布内数据和分布外数据。
其中,分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据
具体的,通过如下方式区分分布内数据和分布外数据:
1、确定标记数据集的训练数据所属的类别的类原型信息。
2、对于未标记数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离。
3、确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离。
4、根据所确定出的多个最小距离确定距离阈值。
5、对于未标记数据集中的每个训练数据,响应于确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离不大于距离阈值,将该训练数据确定为分布内数据。
6、响应于确定该训练数据对应的最小距离大于距离阈值,将该训练数据确定为分布外数据。
步骤4042,以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的互信息、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的互信息为原则,确定第三损失。
步骤4043,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失。
步骤4044,确定识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失。
步骤4045,响应于确定所输入的训练数据为历史半监督数据集中的训练数据,确定对应于所输入的训练数据的标签与实际输出之间的第四损失。
步骤4046,根据第一损失、第二损失、第三损失和第四损失,更新识别模型。
为了详细说明本申请,给出本申请如下所示的一种具体实现流程:
1、对于一系列变化的任务分布对于时间t=1,…,τ1,从任务分布中在每个时间t随机抽取小批量半监督任务Tt;对于时间t=τ1+1,…,τ2,我们从任务分布/>中在每个时间t随机抽取小批量半监督任务Tt;对于时间t=τi+1,…,τi+1,我们从任务分布/>中在每个时间t随机抽取小批量半监督任务Tt。其中,任务分布在时间节点t=τ1,τ2,…,τi,…τL发生变化。从而确定出对应于t=τ1,τ2,…,τi,…τL各时间节点对应的数据集。表征任务分布变化的时间节点τi对应的数据集Tt为N-way K-shot(N个种类,每个种类中包括K个训练数据)的训练集。对于标记数据集/>每个类别中包括K幅图像。对于未标记数据集/>每个类别中包括/>幅图像,作为分布内数据;当/>中包含分布外数据时,另外从外部数据集中采样/>幅图像作为分布外数据。测试数据集/>和标记数据/>具有相同的类别集。
2、对于每个半监督数据集Τt,t=1……N,从记忆缓冲区中采样部分训练数据并进行并集运算/>以结合该数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
3、对于当前半监督数据集中的未标记数据集中的每个训练数据,通过如下方式区分分布内数据和分布外数据:
3.1、通过公式(1)在标记数据集上计算各个类别c的原型pc。
3.2、通过公式wi=hθ(xi)/‖hθ(xi)‖2正则化测试数据集中的每个训练数据的特征信息;
3.3、计算正则化后的特征信息到每个类原型的距离中的最小距离,
3.4、将测试数据集中的每个训练数据对应的最小距离的均值,与每个训练数据对应的最小距离的标准差相加,得到距离阈值。
3.5、对于未标记数据集中的每个训练数据,通过公式wi=hθ(xi)/‖hθ(xi)‖2正则化该训练数据的特征信息。
3.6、计算未标记数据集中的每个训练数据的特征信息到类原型的距离中的最小距离
3.7、如果未标记数据集中的每个训练数据对应的最小距离不大于距离阈值,则确定该训练数据为分布内数据;否则,确定该训练数据为分布外数据。
4、依次通过公式(5)、(8)、(4)计算
6、通过公式(9)计算总损失
7、通过最小化来更新识别模型的参数
通过循环执行步骤2-7可以通过多个变化的任务分布训练识别模型。
8、存储当前半监督数据集中的部分训练数据至记忆缓冲区,并存储部分训练数据对应的特征信息,以在后续的训练过程中作为历史半监督数据集使用。
从本实施例中可以看出,与图2对应的实施例相比,本实施例中的基于任务分布变化的半监督元学习方法的流程400具体说明了半监督数据集的获取过程,识别模型的更新过程,针对分布渐变的半监督元分类问题,创造性地利用了互信息来解决无标签数据的问题,同时利用最优传输算法来解决分布渐变场景下的灾难遗忘问题。
继续参考图5,作为对上述各图所示方法的实现,本申请提供了一种基于任务分布变化的半监督元学习装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,基于任务分布变化的半监督元学习装置包括:选取单元501,被配置成从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;第一确定单元502,被配置成依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;更新单元503,被配置成根据第一损失和第二损失,更新识别模型。
在本实施例的一些可选的实现方式中,上述半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集;以及上述装置还包括:区分单元(图中未示出),被配置成区分未标记数据集中的分布内数据和分布外数据,其中,分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据;第二确定单元(图中未示出),被配置成以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的依赖性、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,其中,标记数据集对应的类原型信息表征标记数据集中的训练数据所属的类别的类原型信息;以及上述更新单元503,进一步被配置成:根据第一损失、第二损失和第三损失,更新识别模型。
在本实施例的一些可选的实现方式中,第二确定单元(图中未示出),进一步被配置成:以最大化分布内数据的特征信息与标记数据集对应的类原型信息之间的互信息、最小化分布外数据的特征信息与标记数据集对应的类原型信息之间的互信息为原则,确定第三损失。
在本实施例的一些可选的实现方式中,区分单元(图中未示出),进一步被配置成:确定标记数据集的训练数据所属的类别的类原型信息;对于未标记数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离;根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据。
在本实施例的一些可选的实现方式中,区分单元(图中未示出),进一步被配置成:对于测试数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离;根据所确定出的多个最小距离确定距离阈值;对于未标记数据集中的每个训练数据,响应于确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离不大于距离阈值,将该训练数据确定为分布内数据;响应于确定该训练数据对应的最小距离大于距离阈值,将该训练数据确定为分布外数据。
在本实施例的一些可选的实现方式中,第一确定单元502,进一步被配置成:将测试数据集中的训练数据,输入经过标记数据集和未标记数据集训练后的识别模型,得到实际输出;确定对应于测试数据集中的每个训练数据的标签和实际输出之间的第一损失。
在本实施例的一些可选的实现方式中,选取单元501,进一步被配置成:随时间的推移,从一系列变化的任务分布中选取多个半监督数据集;将任务分布发生变化的时间节点对应的半监督数据集确定为目标数据集;对于每个目标数据集,从历史半监督数据集中选取训练数据,并结合该目标数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
在本实施例的一些可选的实现方式中,上述装置还包括:第三确定单元(图中未示出),别配置成响应于确定所输入的训练数据为历史半监督数据集中的训练数据,确定对应于所输入的训练数据的标签与实际输出之间的第四损失;以及更新单元503,进一步被配置成:根据第一损失、第二损失、第三损失和第四损失,更新识别模型。
在本实施例的一些可选的实现方式中,第一确定单元502,进一步被配置成:根据历史半监督数据集中的训练数据的特征信息,确定历史半监督数据集对应的特征分布信息;根据当前半监督数据集中的训练数据的特征信息,确定当前半监督数据集对应的特征分布信息;确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
在本实施例的一些可选的实现方式中,第一确定单元502,进一步被配置成:基于最优传输算法,确定历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
在本实施例的一些可选的实现方式中,上述装置还包括:抽样存储单元(图中未示出),被配置成基于预设抽样方法,从经过训练后的当前半监督数据集中选取部分训练数据,存入历史半监督训练集,并存储所选取的部分训练数据的特征信息。
在本实施例的一些可选的实现方式中,识别模型用于识别所获取的待识别图像中的目标对象。
本实施例中,基于任务分布变化的半监督元学习装置中的选取单元从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;第一确定单元依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;更新单元根据第一损失和第二损失,更新识别模型,从而提供了一种任务分布渐变场景下的半监督元学习方法,使学习过程更符合真实场景,以针对真实场景来进行建模,提高识别模型的准确度,并最小化训练过程中所产生的特征分布信息的变化,从而提高对之前学习到的知识的记忆能力,解决了灾难遗忘问题。
下面参考图6,其示出了适于用来实现本申请实施例的设备(例如图1所示的设备101、102、103、105)的计算机系统600的结构示意图。图6示出的设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括处理器(例如CPU,中央处理器)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。处理器601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向目标的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在客户计算机上执行、部分地在客户计算机上执行、作为一个独立的软件包执行、部分在客户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到客户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括选取单元、第一确定单元和更新单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,更新单元还可以被描述为“根据第一损失和第二损失,更新识别模型的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该计算机设备:从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集;依次通过多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;根据第一损失和第二损失,更新识别模型。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (13)
1.一种基于任务分布变化的半监督元学习方法,包括:
从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集,其中,所述半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集;
依次通过所述多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和所述识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及所述识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;
区分所述未标记数据集中的分布内数据和分布外数据,其中,所述分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,所述分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据;
以最大化所述分布内数据的特征信息与所述标记数据集对应的类原型信息之间的依赖性、最小化所述分布外数据的特征信息与所述标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,其中,所述标记数据集对应的类原型信息表征所述标记数据集中的训练数据所属的类别的类原型信息;
根据所述第一损失、所述第二损失和所述第三损失,更新所述识别模型,其中,所述识别模型用于识别所获取的待识别图像中的目标对象。
2.根据权利要求1所述的方法,其中,所述以最大化所述分布内数据的特征信息与所述标记数据集对应的类原型信息之间的依赖性、最小化所述分布外数据的特征信息与所述标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,包括:
以最大化所述分布内数据的特征信息与所述标记数据集对应的类原型信息之间的互信息、最小化所述分布外数据的特征信息与所述标记数据集对应的类原型信息之间的互信息为原则,确定所述第三损失。
3.根据权利要求1所述的方法,其中,所述区分所述未标记数据集中的分布内数据和分布外数据,包括:
确定所述标记数据集的训练数据所属的类别的类原型信息;
对于所述未标记数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离;
根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据。
4.根据权利要求3所述的方法,其中,所述根据该训练数据的特征信息与每个类别的类原型信息之间的距离,确定该训练数据是分布内数据,还是分布外数据,包括:
对于所述测试数据集中的每个训练数据,确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离;
根据所确定出的多个最小距离确定距离阈值;
对于所述未标记数据集中的每个训练数据,响应于确定该训练数据的特征信息与每个类别的类原型信息之间的距离中的最小距离不大于所述距离阈值,将该训练数据确定为分布内数据;
响应于确定该训练数据对应的最小距离大于所述距离阈值,将该训练数据确定为分布外数据。
5.根据权利要求1所述的方法,其中,所述确定所输入的训练数据的标签和所述识别模型根据所输入的训练数据得到的实际输出之间的第一损失,包括:
将所述测试数据集中的训练数据,输入经过所述标记数据集和所述未标记数据集训练后的识别模型,得到实际输出;
确定对应于所述测试数据集中的每个训练数据的标签和实际输出之间的第一损失。
6.根据权利要求1所述的方法,其中,所述从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集,包括:
随时间的推移,从一系列变化的任务分布中选取多个半监督数据集;
将任务分布发生变化的时间节点对应的半监督数据集确定为目标数据集;
对于每个目标数据集,从所述历史半监督数据集中选取训练数据,并结合该目标数据集和所选取的训练数据,最终得到对应于不同的任务分布的多个半监督数据集。
7.根据权利要求6所述的方法,其中,还包括:
响应于确定所输入的训练数据为所述历史半监督数据集中的训练数据,确定对应于所输入的训练数据的标签与实际输出之间的第四损失;以及
所述根据所述第一损失、所述第二损失和所述第三损失,更新所述识别模型,包括:
根据所述第一损失、所述第二损失、所述第三损失和所述第四损失,更新所述识别模型。
8.根据权利要求1所述的方法,其中,所述确定所述识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失,包括:
根据所述历史半监督数据集中的训练数据的特征信息,确定所述历史半监督数据集对应的特征分布信息;
根据当前半监督数据集中的训练数据的特征信息,确定当前半监督数据集对应的特征分布信息;
确定所述历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
9.根据权利要求8所述的方法,其中,所述确定所述历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失,包括:
基于最优传输算法,确定所述历史半监督数据集对应的特征分布信息与当前半监督数据集对应的特征分布信息之间的第二损失。
10.根据权利要求1所述的方法,其中,还包括:
基于预设抽样方法,从经过训练后的当前半监督数据集中选取部分训练数据,存入所述历史半监督训练集,并存储所选取的部分训练数据的特征信息。
11.一种基于任务分布变化的半监督元学习装置,包括:
选取单元,被配置成从一系列变化的任务分布中选取对应于不同的任务分布的多个半监督数据集,其中,所述半监督数据集包括标注有训练数据的标签的标记数据集、未标注训练数据的标签的未标记数据集和测试数据集;
第一确定单元,被配置成依次通过所述多个半监督数据集中的每个半监督数据集训练识别模型,确定所输入的训练数据的标签和所述识别模型根据所输入的训练数据得到的实际输出之间的第一损失,以及所述识别模型根据历史半监督数据集得到的特征分布信息,与根据当前半监督数据集得到的特征分布信息之间的第二损失;
区分单元,被配置成区分所述未标记数据集中的分布内数据和分布外数据,其中,所述分布内数据表征与所属的半监督数据集对应的任务分布一致的数据,所述分布外数据表征与所属的半监督数据集对应的任务分布不一致的数据;
第二确定单元,被配置成以最大化所述分布内数据的特征信息与所述标记数据集对应的类原型信息之间的依赖性、最小化所述分布外数据的特征信息与所述标记数据集对应的类原型信息之间的依赖性为原则,确定第三损失,其中,所述标记数据集对应的类原型信息表征所述标记数据集中的训练数据所属的类别的类原型信息;
更新单元,被配置成根据所述第一损失、所述第二损失和所述第三损失,更新所述识别模型,其中,所述识别模型用于识别所获取的待识别图像中的目标对象。
12.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007903.9A CN113642671B (zh) | 2021-08-27 | 2021-08-27 | 基于任务分布变化的半监督元学习方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007903.9A CN113642671B (zh) | 2021-08-27 | 2021-08-27 | 基于任务分布变化的半监督元学习方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113642671A CN113642671A (zh) | 2021-11-12 |
CN113642671B true CN113642671B (zh) | 2024-03-05 |
Family
ID=78424524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111007903.9A Active CN113642671B (zh) | 2021-08-27 | 2021-08-27 | 基于任务分布变化的半监督元学习方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113642671B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245723A (zh) * | 2019-06-27 | 2019-09-17 | 南京大学 | 一种安全可靠的图像分类半监督机器学习方法及装置 |
CN110298415A (zh) * | 2019-08-20 | 2019-10-01 | 视睿(杭州)信息科技有限公司 | 一种半监督学习的训练方法、系统和计算机可读存储介质 |
CN112183577A (zh) * | 2020-08-31 | 2021-01-05 | 华为技术有限公司 | 一种半监督学习模型的训练方法、图像处理方法及设备 |
CN112348109A (zh) * | 2020-11-18 | 2021-02-09 | 浙江树人学院(浙江树人大学) | 一种基于度量距离损失框架的半监督学习方法、设备及存储介质 |
WO2021073380A1 (zh) * | 2019-10-17 | 2021-04-22 | 腾讯科技(深圳)有限公司 | 一种图像识别模型训练的方法、图像识别的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10873782B2 (en) * | 2018-10-02 | 2020-12-22 | Adobe Inc. | Generating user embedding representations that capture a history of changes to user trait data |
US11455518B2 (en) * | 2019-11-12 | 2022-09-27 | Adobe Inc. | User classification from data via deep segmentation for semi-supervised learning |
US11514271B2 (en) * | 2019-12-19 | 2022-11-29 | Beijing Didi Infinity Technology And Development Co., Ltd. | System and method for automatically adjusting strategies |
-
2021
- 2021-08-27 CN CN202111007903.9A patent/CN113642671B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245723A (zh) * | 2019-06-27 | 2019-09-17 | 南京大学 | 一种安全可靠的图像分类半监督机器学习方法及装置 |
CN110298415A (zh) * | 2019-08-20 | 2019-10-01 | 视睿(杭州)信息科技有限公司 | 一种半监督学习的训练方法、系统和计算机可读存储介质 |
WO2021073380A1 (zh) * | 2019-10-17 | 2021-04-22 | 腾讯科技(深圳)有限公司 | 一种图像识别模型训练的方法、图像识别的方法及装置 |
CN112183577A (zh) * | 2020-08-31 | 2021-01-05 | 华为技术有限公司 | 一种半监督学习模型的训练方法、图像处理方法及设备 |
CN112348109A (zh) * | 2020-11-18 | 2021-02-09 | 浙江树人学院(浙江树人大学) | 一种基于度量距离损失框架的半监督学习方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于半监督及知识迁移的过程监测方法研究;冯海超;中国优秀硕士学位论文全文数据库 经济与管理科学辑(第12期);全文 * |
面向概念漂移的数据流分类研究分析;王军;刘三民;刘涛;;绵阳师范学院学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113642671A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191791B (zh) | 基于机器学习模型的图片分类方法、装置及设备 | |
CN108280477B (zh) | 用于聚类图像的方法和装置 | |
CN108922622B (zh) | 一种动物健康监测方法、装置及计算机可读存储介质 | |
CN108520220B (zh) | 模型生成方法和装置 | |
CN109086811B (zh) | 多标签图像分类方法、装置及电子设备 | |
CN112541458B (zh) | 基于元学习的域自适应的人脸识别方法、系统、装置 | |
CN109145828B (zh) | 用于生成视频类别检测模型的方法和装置 | |
CN112862093B (zh) | 一种图神经网络训练方法及装置 | |
CN112232384A (zh) | 模型训练方法、图像特征提取方法、目标检测方法和装置 | |
CN111597961B (zh) | 面向智能驾驶的移动目标轨迹预测方法、系统、装置 | |
CN111052128B (zh) | 用于检测和定位视频中的对象的描述符学习方法 | |
CN108509921B (zh) | 用于生成信息的方法和装置 | |
CN110096979B (zh) | 模型的构建方法、人群密度估计方法、装置、设备和介质 | |
CN112052818A (zh) | 无监督域适应的行人检测方法、系统及存储介质 | |
CN109063790A (zh) | 对象识别模型优化方法、装置和电子设备 | |
CN111161238A (zh) | 图像质量评价方法及装置、电子设备、存储介质 | |
CN111159241A (zh) | 一种点击转化预估方法及装置 | |
CN112668608B (zh) | 一种图像识别方法、装置、电子设备及存储介质 | |
CN113642671B (zh) | 基于任务分布变化的半监督元学习方法及装置 | |
CN113255819B (zh) | 用于识别信息的方法和装置 | |
CN114241411B (zh) | 基于目标检测的计数模型处理方法、装置及计算机设备 | |
CN115240843A (zh) | 基于结构因果模型的公平性预测系统 | |
CN112308090B (zh) | 图像分类方法及装置 | |
CN111062477B (zh) | 一种数据处理方法、装置及存储介质 | |
CN114385846A (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 |