一种基于元学习的小样本学习方法、装置和电子设备与流程

文档序号:30074355发布日期:2022-05-18 02:53阅读:217来源:国知局
一种基于元学习的小样本学习方法、装置和电子设备与流程

1.本发明涉及机器学习技术领域,具体涉及一种基于元学习的小样本学习方法、装置和电子设备。


背景技术:

2.机器学习、特别是深度学习自兴起以来已成功应用于计算机视觉、自然语言处理、数据挖掘等多个领域。其之所以能在这些领域取得良好的表现的一个重要因素在于,在这些领域中易于获取海量标记数据。然而,由于诸如隐私、安全性或数据的高标签成本等一系列因素,许多现实的应用场景(例如在医学,军事和金融领域)没有条件获取足够数量的带标签的训练样本。因此,如何使得一个机器学习或深度学习系统能够从非常少量的样本中高效地学习和推广其认知能力,成为许多机器学习或深度学习研究人员迫切期待实现的蓝图。
3.其中小样本学习(又称为few-shot learning,简记为fsl)预计不会依赖大规模的训练样本,从而避免了某些特定应用中数据准备的高昂成本,且可以为一项新出现的、可采集样本很少的任务实现低成本,快速的模型部署。
4.目前的小样本学习方法,一般是通过对元网络的模型参数进行训练,提高元网络的泛化能力。但实际应用中,影响元网络的泛化能力的参数不但包括模型参数,还包括超参数。因此,现有技术中只对模型参数进行优化,只能有限的提高元网络的泛化能力的。


技术实现要素:

5.有鉴于此,本发明的主要目的在于提供了一种基于元学习的小样本学习方法、装置和电子设备,用于提高元网络的泛化能力。
6.依据本发明的第一方面,提供了一种基于元学习的小样本学习方法,包括:
7.构建元学习的训练任务集,所述训练任务集包括多个训练任务;
8.初始化元网络的模型参数和超参数;
9.循环更新元网络的模型参数和超参数,其中利用多个训练任务更新元网络的模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参数;
10.在满足预设条件时,停止优化元网络,将停止优化时的模型参数和超参数作为元初始参数,在新的任务中基于所述元初始参数对元网络的模型参数进行训练,利用训练好的元网络进行识别与发现。
11.依据本发明的第二方面,提供了一种基于元学习的小样本学习装置,包括:
12.数据构建单元,用于构建元学习的训练任务集,所述训练任务集包括多个训练任务;
13.初始化单元,用于初始化元网络的模型参数和超参数;
14.更新单元,用于循环更新元网络的模型参数和超参数,其中利用多个训练任务更新元网络的模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参
数;
15.停止更新单元,用于在满足预设条件时,停止优化元网络,将停止优化时的模型参数和超参数作为元初始参数,在新的任务中基于所述元初始参数对元网络的模型参数进行训练,利用训练好的元网络进行识别与发现。
16.依据本发明的第三方面,提供了一种电子设备,包括处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述基于元学习的小样本学习方法。
17.依据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述基于元学习的小样本学习方法。
18.本发明采用的上述至少一个技术方案能够达到以下有益效果:本发明实施例的基于元学习的小样本学习方法、装置和电子设备是从大量训练任务中采用不同的学习方法学习元网络的模型参数和超参数,使得得到的元初始参数能够在面向新的机器学习任务时,在小样本条件下也能快速收敛到一个较优的解,提高了模型的泛化能力。
19.且由于发明本实施例的元网络是基于大量的训练任务,所以其能够在新的任务上通过少量的迭代来产生泛化的性能,即本实施例的方法训练了一个易于微调的网络模型。
20.另外,由于发明本实施例并不会对元网络的形式做任何限制,所以可适配到任何机器学习问题,如分类问题、回归问题和强化学习问题等。
附图说明
21.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
22.图1示出了根据本发明一个实施例的一种基于元学习的小样本学习方法流程图;
23.图2示出了根据本发明一个实施例的利用lstm更新元网络超参数的示意图;
24.图3示出了根据本发明一个实施例的一种基于元学习的小样本学习装置的结构示意图;
25.图4示出了根据本发明一个实施例的电子设备的结构示意图。
具体实施方式
26.下面将参照附图更详细地描述本发明的示例性实施例。提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
27.本发明实施例的基本构思是:从大量训练任务中采用不同的学习方法学习元网络的模型参数和超参数,这里模型参数和超参数构成元网络的元初始参数,该元初始参数可使得新的机器学习任务在小样本条件下也能快速收敛到一个较优的解。
28.图1示出了根据本发明一个实施例的一种基于元学习的小样本学习方法流程图,如图1所示,本实施例的方法至少包括步骤s110-步骤s140:
29.步骤s110,构建元学习的训练任务集,所述训练任务集包括多个训练任务。
30.与传统的机器学习方法不同的是,本实施例的小样本学习方法的目的是在任务级别上学习,而不是在样本数据上学习。因此,本实施例需要构建训练任务集,为了保证元网络的泛化能力,本实施例的训练任务集包括多个训练任务,每个训练任务包括两组数据集,即每个训练任务包括第一数据集和第二数据集,第一数据集和第二数据集均包括支持集(又称为support set)和查询集(又称为query set),第一数据集用于更新元网络的模型参数,第二数据集用于优化元网络的超参数。
31.步骤s120,初始化元网络的模型参数和超参数。
32.本实施例中的元网络包括人工神经网络,人工神经网络是一种模仿动物神经网络行为特征、进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,达到处理信息的目的。
33.本实施例的元网络包括两类参数:一类需要从数据中学习和估计得到,称为模型参数(又称为parameter),该类模型参数即为模型本身的参数。比如,卷积层大小、卷积核参数都是模型参数。还有一类则是机器学习算法中的调优参数(又称为tuning parameters),需要人为设定,称为超参数(又称为hyperparameter)。比如,新任务的学习率、迭代次数、批次等都是超参数。
34.对元网络的超参数和模型参数进行初始化时,可以使用随机生成的参数作为元网络的初始超参数和初始模型参数。
35.步骤s130,循环更新元网络的模型参数和超参数,其中利用多个训练任务更新元网络的模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参数。
36.这里循环更新元网络的模型参数和超参数可以理解为:利用多个训练任务更新元网络的模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参数;并利用更新后的模型参数和优化后的超参数更新元网络,再通过多个训练任务再次更新元网络的模型参数,利用再次更新后的模型参数和优化网络再次优化元网络的超参数,依此循环更新元网络。
37.如前所述,利用多个训练任务更新元网络的模型参数是指利用多个训练任务的第一数据集更新模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参数是指利用多个训练任务的第二数据集和更新后的模型参数更新优化网络的损失函数,再利用优化网络更新元网络的超参数。
38.步骤s140,在满足预设条件时,停止优化元网络,将停止优化时的模型参数和超参数作为元初始参数,在新的任务中基于所述元初始参数对元网络的模型参数进行训练,利用训练好的元网络进行识别与发现。
39.例如在优化网络的损失函数小于设定值,或者优化网络的优化次数达到目标值时,可以停止优化元网络。停止优化时的模型参数和超参数伪元初始参数,该元初始参数下的元网络,在面对新的任务时,可利用少量样本数据完成模型的快速收敛。
40.可见图1所示的方法,是从大量训练任务中采用不同的学习方法学习元网络的模型参数和超参数,使得得到的元初始参数能够在面向新的机器学习任务时,在小样本条件下也能快速收敛到一个较优的解。且由于本实施例的元网络是基于大量的训练任务,所以其能够在新的任务上通过少量的迭代来产生泛化的性能,即本实施例的方法训练了一个易
gradient descent,又称为随机梯度下降)优化算法对所述元网络的模型参数进行更新,得到对应于训练任务ti的更新后的模型参数。
52.根据第一查询集中的查询样本数据与各个分类结果vj之间的欧式距离构建距离向量f
θ
={d1,d2,...dn}作为元网络的softmax层,第一查询集中各个特征到各个分类结果vj之间的最短距离为优化目标,训练元网络,也即训练元网络的特征提取器,对每个训练任务ti上的梯度与模型参数θ进行更新,得到更新后的模型参数θi'和训练任务ti的损失函数
53.本实施例中,获取元网络在所述优化目标下的损失函数和梯度计算训练任务ti的学习率α、所述梯度和所述损失函数三者的乘积,将元网络当下的模型参数θ与所述三者的乘积的差值作为更新后的模型参数θi'。
54.这里,
[0055][0056][0057]
这里,θ和θi'分别为元网络在本轮更细时的模型参数和更新后的模型参数,α为训练任务ti的学习率,xj为第一数据集ti'中样本数据,yj为xj的标签。
[0058]
本实施例可以更新一轮或多轮模型参数之后,再更新元网络的超参数。一个实施例中,在每更新一轮模型参数之后,即更新元网络的超参数:利用更新后的模型参数更新优化网络的损失函数;将元网络的超参数作为优化网络的输入,通过优化网络对超参数进行优化。
[0059]
在一些实施例中,利用更新后的模型参数更新优化网络的损失函数,包括:
[0060]
利用更新后的模型参数更新元网络的模型参数,即将更新后的模型参数θi'赋值给元网络中的模型参数,完成模型参数的更新。利用元网络对训练任务ti的第二数据集t
i”中第二支持集的支持样本数据进行分类,得到分类结果;利用元网络计算训练任务ti的第二查询集中的查询样本数据与该训练任务ti的支持样本数据的各个分类结果之间的欧氏距离;将训练任务ti在第二数据集t
i”下的所述欧式距离作为优化目标,获取元网络在所述优化目标下的损失函数利用多个训练任务的损失函数的和值更新优化网络的损失函数,例如通过优化超参数,使最小化,即这里l为新任务的学习率,n为迭代次数、b为批次大小。
[0061]
本实施例可以采用近端策略优化算法对优化网络的损失函数进行训练,直至得到合适的超参数。在得到合适的超参数和模型参数之后,在新的任务中基于所述元初始参数对元网络的模型参数进行训练,利用训练好的元网络进行识别与发现,这里新的任务应符合前文的任务分布p(t),保证元初始参数能够快速适应到新的任务中,提高模型的收敛速度和精度。
[0062]
由于在超参数优化过程中,也需要对第二数据集进行分类与欧式距离计算,因此本实施例在构建训练任务时,使训练任务的第一数据集和第二数据集具有相同的支持集,以简化超参数优化过程中的计算步骤。
[0063]
为便于理解本发明的上述实施例,以时序信号的训练任务进行元学习为例,针对时序信号任务,利用多个语音分类任务或多个声纹识别任务构建训练任务,对训练任务的数据集进行分组处理,得到训练任务的两个数据集。
[0064]
如图2所示,采用lstm(long short-term memory,又称为长短期记忆)网络构建优化网络,利用lstm网络对元网络的超参数进行优化,由lstm网络的softmax层输出优化后的超参数,利用优化后的超参数更新元网络,元网络内部还进行模型参数的内存循环更新过程。当lstm网络的损失函数小于预设值时,停止元网络的更新,将当下的超参数和模型参数作为元初始参数。
[0065]
与前述实施例的基于元学习的小样本学习方法同属于一个技术构思,本发明实施例还提供了一种基于元学习的小样本学习装置。
[0066]
图3示出了根据本发明一个实施例的一种基于元学习的小样本学习装置的结构示意图,如图3所示,基于元学习的小样本学习装置300能够实现上述基于元学习的小样本学习方法,基于元学习的小样本学习装置300包括:
[0067]
数据构建单元310,用于构建元学习的训练任务集,所述训练任务集包括多个训练任务;
[0068]
初始化单元320,用于初始化元网络的模型参数和超参数;
[0069]
更新单元330,用于循环更新元网络的模型参数和超参数,其中利用多个训练任务更新元网络的模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参数;
[0070]
停止更新单元340,用于在满足预设条件时,停止优化元网络,将停止优化时的模型参数和超参数作为元初始参数,在新的任务中基于所述元初始参数对元网络的模型参数进行训练,利用训练好的元网络进行识别与发现。
[0071]
在一些实施例中,每个训练任务包括第一数据集,第一数据集包括第一支持集和第一查询集,更新单元330包括模型参数更新模块和超参数更新模块:
[0072]
模型参数更新模块,用于对训练任务集t中的任一训练任务ti执行以下步骤:利用元网络对训练任务ti的第一支持集中的支持样本数据进行分类,得到分类结果;利用元网络计算训练任务ti的第一查询集中的查询样本数据与该训练任务的支持样本数据的各个分类结果之间的欧氏距离;将训练任务ti的所述欧式距离作为优化目标,通过sgd优化算法对所述元网络的模型参数进行更新,得到对应于训练任务ti的更新后的模型参数。
[0073]
在一些实施例中,模型参数更新模块,用于获取元网络在所述优化目标下的损失函数和梯度;计算训练任务ti的学习率、所述梯度和所述损失函数三者的乘积;将元网络当下的模型参数与所述三者的乘积的差值作为更新后的模型参数。
[0074]
在一些实施例中,超参数更新模块,用于利用更新后的模型参数更新优化网络的损失函数;将元网络的超参数作为优化网络的输入,通过优化网络对超参数进行优化。
[0075]
在一些实施例中,每个训练任务还包括第二数据集,第二数据集包括第二支持集和第二查询集,超参数更新模块,用于利用更新后的模型参数更新元网络的模型参数;利用
元网络对训练任务ti的第二支持集中的支持样本数据进行分类,得到分类结果;利用元网络计算训练任务ti的第二查询集中的查询样本数据与该训练任务ti的支持样本数据的各个分类结果之间的欧氏距离;将训练任务ti在第二数据集下的所述欧式距离作为优化目标,获取元网络在所述优化目标下的损失函数;利用多个训练任务的损失函数的和值更新优化网络的损失函数。
[0076]
在一些实施例中,模型参数更新模块,用于利用元网络对支持样本数据进行特征提取,得到特征数据;根据支持样本数据的标签,将具有相同标签的特征数据分为一类,得到多个初始分类;对每个初始分类中的特征数据进行平均处理,得到分类结果。
[0077]
在一些实施例中,模型参数更新模块,用于利用元网络的特征提取器对支持样本数据进行特征提取,所述特征提取器包括多个残差模块,每个残差模块包括一个卷积层、两个残差块和一个最大池化层。
[0078]
在一些实施例中,数据构建单元310,用于获取多个训练任务,所述多个训练任务属于同一分布,每个训练任务包括初始支持集和初始查询集;对每个训练任务的初始支持集进行数据增强处理,得到增强后的支持集;利用增强获得支持集合初始查询集构建该训练任务的第一数据集和第二数据集。
[0079]
能够理解,上述基于元学习的小样本学习装置,能够实现前述实施例中提供的基于元学习的小样本学习方法的各个步骤,关于基于元学习的小样本学习方法的相关阐释均适用于基于元学习的小样本学习装置,此处不再赘述。
[0080]
需要说明的是:
[0081]
图4示出了根据本发明一个实施例一种电子设备示意图。请参考图4,在硬件层面,该电子设备包括处理器和存储器,可选地还包括内部总线、网络接口。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0082]
处理器、接口模块、通信模块和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0083]
存储器,用于存放计算机可执行指令。存储器通过内部总线向处理器提供计算机可执行指令。
[0084]
处理器,执行存储器所存放的计算机可执行指令,并具体用于实现以下操作:
[0085]
构建元学习的训练任务集,所述训练任务集包括多个训练任务;
[0086]
初始化元网络的模型参数和超参数;
[0087]
循环更新元网络的模型参数和超参数,其中利用多个训练任务更新元网络的模型参数,利用更新后的模型参数和事先构建的优化网络优化元网络的超参数;
[0088]
在满足预设条件时,停止优化元网络,将停止优化时的模型参数和超参数作为元初始参数,在新的任务中基于所述元初始参数对元网络的模型参数进行训练,利用训练好
的元网络进行识别与发现。
[0089]
上述如本发明图1所示实施例揭示的基于元学习的小样本学习方法执行的功能可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
[0090]
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序当被处理器执行时,实现前述的基于元学习的小样本学习方法。
[0091]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0092]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0093]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定功能的步骤。
[0094]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0095]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0096]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0097]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0098]
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
[0099]
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1