CN111353610A - 一种模型参数确定方法、装置、存储介质及电子设备 - Google Patents
一种模型参数确定方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111353610A CN111353610A CN202010135254.XA CN202010135254A CN111353610A CN 111353610 A CN111353610 A CN 111353610A CN 202010135254 A CN202010135254 A CN 202010135254A CN 111353610 A CN111353610 A CN 111353610A
- Authority
- CN
- China
- Prior art keywords
- preset model
- parameters
- data
- iteration
- model
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种模型参数确定方法、装置、存储介质及电子设备。其中,模型参数确定方法包括:基于第一领域中的基础数据以及元学习算法初始化预设模型的参数;基于第二领域中针对特定应用的应用数据微调预设模型的参数。该方法的预设模型并非利用统计规律进行初始化,而是基于第一领域中的基础数据,利用元学习算法进行初始化,由于元学习算法能够归纳基础数据中存在的偏见,因此可以为预设模型的参数找到一个良好的初始点,在该初始点的基础上针对第二领域中的特定应用微调模型参数后,就可使预设模块具备执行该特定应用并取得较好效果的能力。
Description
技术领域
本发明涉及机器学习技术领域,具体而言,涉及一种模型参数确定方法、装置、存储介质及电子设备。
背景技术
随着人工智能的发展,机器学习技术在日常生活中发挥着越来越重要的作用,由于目前的主流深度学习技术一般包含非凸优化,因此模型最终结果依赖于模型的初始化参数。现有的模型初始化方法一般根据某种统计规律给出模型的初始化参数,然而这样的模型在用于某些具体的应用场景时效果较差,无法满足实际需求。
发明内容
本申请实施例的目的在于提供一种模型参数确定方法、装置、存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种模型参数确定方法,包括:基于第一领域中的基础数据以及元学习算法初始化预设模型的参数;基于第二领域中针对特定应用的应用数据微调所述预设模型的参数。
所谓模型初始化,就是为一个预设模型的参数确定一组合理的初始值。上述模型参数确定方法分为两个步骤,第一个步骤即初始化预设模型,第二个步骤即微调初始化好的预设模型,使之适应于特定的应用场景。
在该方法的第一个步骤中,预设模型并非利用统计规律进行初始化,而是基于第一领域中的基础数据,利用元学习算法进行初始化,由于采用的基础数据是第一领域的领域数据,并且元学习算法能够归纳领域数据中存在的偏见(偏见可以理解为数据存在的规律或特征,归纳偏见可以理解为使预设模型学习到这些规律或特征),因此可以为预设模型的参数找到一个良好的初始点(即一组初始值),在该初始点的基础上预设模型可以进行快速适应,即在第二个步骤中针对第二领域中的特定应用微调(fine-tune)模型参数后,就可使预设模块具备执行该特定应用并取得较好效果(如较高的精度、性能等)的能力。
在第一方面的一种实现方式中,所述基于第一领域的基础数据以及元学习算法初始化预设模型的参数,包括:确定第一重迭代开始时所述预设模型的参数;将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第一重迭代对所述预设模型的参数进行更新,直至在第一重迭代结束时完成模型参数的初始化,其中,每一轮第一重迭代执行以下步骤:利用所述预设模型的参数初始化所述预设模型的临时参数;将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新,并在第二重迭代结束时利用所述预设模型的临时参数更新所述预设模型的参数。
元学习算法与普通学习算法的重要区别之一在于以任务为最小训练单位,通过从基础数据中选择出的第一样本构造不同的任务来模拟对于新任务进行适应的情况,从而使得元学习算法能够学习到模型参数的一个较好的初始点。
此外,上述实现方式中的元学习算法采用两重迭代,第一重迭代为外部循环,第二重迭代为执行第一重迭代时的内部循环,在第一重迭代中更新预设模型的参数,在第二重迭代中则更新预设模型的临时参数。其中,临时参数的更新受制于基础数据中的具体任务,是在这些具体任务上进行的参数优化;而参数的更新则从全局进行考虑,并且并非仅考虑基础数据中的任务所引起的预测损失,而是着眼于最大化预设模型的学习能力,使得初始化后的预设模型具备快速适应的特点,这样最终得到的预设模型的一组参数初始值才是较好的初始点。
在第一方面的一种实现方式中,每个任务均包含从所述基础数据中选择出的N×K个第一样本,其中,N和K均取正整数,N为从所述基础数据的所有数据类别中选择出的数据类别的个数,K为从被选择出的每个数据类别中进一步选择出的第一样本的个数。
上述实现方式给出了一种构建任务的方式,即先选择数据类别,然后再选择类别下的第一样本,其中选择的方式可以是,但不限于随机选择,以便尽可能覆盖到基础数据中所有的样本。当然,也不排除通过其他方式构建任务作为训练数据。
在第一方面的一种实现方式中,在每一轮第一重迭代中,在所述将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新之前,所述方法还包括:从所述基础数据的所有数据类别中选择出N个数据类别;所述将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新,包括:在每一轮第二重迭代中从被选择出的所述N个数据类别中的每个数据类别中进一步选择出K个第一样本以构建包含N×K个第一样本的任务,并利用构建好的任务训练所述预设模型以更新所述预设模型的临时参数。
在上述实现方式中,同一轮第一重迭代内的所有轮次的第二重迭代都使用从相同的数据类别中选择出的第一样本构建的任务。作为对照的,同一轮第一重迭代内的各轮第二重迭代也可以采用从不同的数据类别中选择的第一样本构建的任务,但在后一种方式中,不同类别的任务具有不同的最优点使得更新时梯度下降方向不一致,从而可能导致整体梯度下降没有一个稳定的方向,进而使得预设模型难以收敛到较好的初始点。
在第一方面的一种实现方式中,更新所述预设模型的临时参数采用如下公式:其中,θ为所述预设模型的临时参数,i为第二重迭代的轮次,β为所述预设模型的临时参数的学习率,为梯度算子,T为从所述基础数据中选择出的第一样本构建的任务,L为损失函数;更新所述预设模型的参数采用如下公式:φk=φk-1-α(θm-φk-1);其中,φ为所述预设模型的参数,k为第一重迭代的轮次,α为所述预设模型的参数的学习率,m为第二重迭代的总轮次。
利用上面的更新公式,可以快速实现高阶梯度的近似计算,从而加快预设模型的收敛速度,高效地完成模型初始化的过程。
在第一方面的一种实现方式中,所述方法还包括:每进行预设轮次的第一重迭代后,将从所述基础数据中选择出的第二样本构建的任务作为测试数据,对所述预设模型进行测试。
在上述实现方式中,第一重迭代每经过预设轮次,可以构建测试任务测试对预设模型进行测试,以便评估训练的效果,还可以根据测试结果决定是否要继续进行训练。
在第一方面的一种实现方式中,所述第一领域和所述第二领域为同一领域。
第一领域和第二领域可以相同,也可以不同。比如,第一领域可以是图像分类领域,第二领域可以是目标检测领域,或者,第一领域和第二领域可以都是图像分类领域。当然,若第一领域和第二领域相同,则元学习算法在基础数据上进行的偏见归纳可能更有效,即最终预设模型在执行该领域中的特定应用时可能取得更好的效果。比如,利用包含苹果、香蕉、橘子的图像(第一领域中的基础数据,用于水果分类)初始化预设模型,而利用包含西瓜、菠萝的图像(第二领域中用于水果分类应用的应用数据)微调初始化好的预设模型,最终利用该模型执行西瓜和菠萝分类可能取得较高的分类精度。
第二方面,本申请实施例提供一种模型参数确定装置,包括:参数初始化模块,用于基于第一领域中的基础数据以及元学习算法初始化预设模型的参数;参数微调模块,用于基于第二领域中针对特定应用的应用数据微调所述预设模型的参数。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种模型参数确定方法的流程图;
图2示出了本申请实施例提供的一种模型参数确定装置的模块图;
图3示出了本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本申请实施例提供的一种模型参数确定方法的流程图,该方法可以由一电子设备执行,图3示出了该电子设备可能的结构,具体可见后文关于图3的阐述。参照图1,该方法包括:
步骤S100:基于第一领域中的基础数据以及元学习算法初始化预设模型的参数。
步骤S110:基于第二领域中针对特定应用的应用数据微调预设模型的参数。
所谓模型初始化就是要为模型的参数确定一组合理的初始值。不失一般性,将需要初始化的模型称为预设模型,该预设模型的结构可以是确定的,所包含的参数也可以是确定的,但参数的初始值尚未确定,需要通过初始化步骤来确定。预设模型具体是何种模型本申请并不限定,例如,可以是在机器学习领域比较常见的神经网络模型(包括卷积神经网络、循环神经网络、对抗网络等)。
在上面的两个步骤中,步骤S100为模型初始化的步骤,经该步骤后预设模型的参数被初始化为一组合理的值。步骤S110为模型参数的调整步骤,经该步骤后预设模型的参数取值针对特定应用进行了进一步调整,从而最终得到的预设模型适于执行该特定应用。需要指出,在现有技术中常见的说法是利用模型执行某项任务,比如,利用卷积神经网络模型执行图像分类任务,但在本申请方案中,模型被用于执行的任务容易和元学习中任务的概念产生混淆,所以统一将模型的用途中涉及的任务改用“应用”一词来指代。
步骤S100中的第一领域可以是图像分类、图像语义分割、目标检测、强化学习、少样本学习等领域,基础数据是第一领域中已知数据,基础数据可以由大量样本构成。例如,若第一领域为图像分类领域,基础数据可以包含大量类别已知的图像,比如猫、狗、兔等动物的图像,每张图像视为一个样本。
元学习算法也是一种利用训练样本训练模型的方法,但与普通的学习算法的主要区别在于元学习算法是以任务而非样本为最小单元进行训练,其中任务是由若干训练样本构成的小集合。在步骤S100中利用元学习方法进行训练时,会在不同的任务上切换从而不断更新预设模型的参数,最终在训练结束时确定预设模型的参数初始值。常见的元学习算法包括MAML算法、Reptile算法等,后文中还会给出一种新的元学习算法。
步骤S110中的第二领域也可以是图像分类、图像语义分割、目标检测、强化学习、少样本学习等领域。第二领域和上面的第一领域可以相同,也可以不同,比如,第一领域可以是图像分类领域,第二领域可以是目标检测领域,或者,第一领域和第二领域都是图像分类领域。特定应用是指第二领域中的一项具体的应用,应用数据就是针对该特定应用的一些样本,例如,若第二领域为图像分类领域,特定应用可以是一项水果分类应用,应用数据可以是包含水果的图像,比如苹果、香蕉、橘子等水果的图像,每张图像视为一个样本。又例如,若第二领域为目标检测领域,特定应用可以是一项车辆检测应用,应用数据可以是包含实际道路的图像,道路上可能有正在行驶的车辆。
微调(fine-tune)一般是指在一个已训练好的模型的基础上,利用少量新数据训练新模型(也就是调整模型参数)的方法,其具体细节可参考现有技术,此处不展开阐述。在步骤S110中,上述所谓已训练好的模型就是指步骤S100中通过元学习完成初始化的预设模型,所谓新数据就是指步骤S110中的应用数据,利用这些应用数据可以对预设模型的参数进行适当调整,使最终得到的模型适于执行步骤S110中提到的特定应用。
在上述模型参数确定方法中,预设模型并非利用某种统计规律进行初始化,而是基于第一领域中的基础数据,利用元学习算法进行初始化,元学习算法以基于基础数据中的样本构建的任务为最小训练单位,通过在训练时不断切换任务来模拟对于新任务进行适应的情况,从而使得元学习算法能够学习到模型参数的一个较好的初始点(即一组初始值)。在该初始点的基础上预设模型具有快速适应能力,比如利用第二领域中特定应用的应用数据(应用数据可以只有少量)微调模型参数后,就可使预设模块具备执行该特定应用并取得较好效果(如较高的精度、性能等)的能力。
另一方面,步骤S100中采用的基础数据是第一领域的领域数据,利用元学习算法初始化预设模型的过程亦可以理解为一个归纳领域数据中存在的偏见的过程。其中,偏见可以理解为特定数据中存在的规律或特征,归纳偏见则可以理解为通过训练使预设模型学习到这些规律或特征,或者说将这些规律或特征固化在预设模型初始化好的参数中,从而,在此基础上微调预设模型的参数后,就可以快速得到适于执行特定应用并取得较好结果的预设模型。
前文提到,第一领域和第二领域可以相同或不同,但应当理解,若第一领域和第二领域相同,则基础数据中存在的规律或特征和应用数据中存在的规律或特征可能更相似,从而元学习算法在基础数据上进行的偏见归纳可能更有效,即最终(指微调后的)预设模型在执行该领域中的特定应用时可能取得更好的效果。比如,利用包含苹果、香蕉、橘子的图像(第一领域中的基础数据,用于水果分类)初始化预设模型,而利用包含西瓜、菠萝的图像(第二领域中用于水果分类应用的应用数据)微调初始化好的预设模型,最终利用该模型执行西瓜和菠萝分类可能取得较高的分类精度,其原因在于第一领域和第二领域都是图像分类领域,并且在这个例子中,基础数据和应用数据还都是用于水果分类的数据,其相似性更高。
下面再进一步介绍本申请提出的一种新的元学习算法,该算法包括两重迭代:第一重迭代和第二重迭代,若对应于计算机程序实现,第一重迭代可以是一个外层循环,而第二重迭代可以是一个内层循环(可参考后文伪代码)。
在开始第一重迭代之前,首先确定预设模型的参数的原始值,例如,可以是一组随机值,或者根据统计规律得到的一组值。
然后,将从基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第一重迭代对预设模型进行训练以更新其参数,在第一重迭代结束时预设模型的参数取值就是模型参数的初始值,或者说在第一重迭代结束时就完成了模型参数的初始化。注意,结合后文内容可知,训练数据的实际使用是在第二重迭代中用于更新模型的临时参数,但由于第二重迭代包含在每一轮第一重迭代内,并且预设模型的临时参数最终也被用于更新预设模型的参数,所以此处说在第一重迭代中使用训练数据更新预设模型的参数也是可以的。
前文提到,基础数据由若干样本组成,其中用于构建训练所用的任务的样本称为第一样本,便于和后文构建测试所用的任务的第二样本相区分,此处的“第一”、“第二”并不具有其他特殊含义。在第一重迭代中需要使用多个不同的任务作为训练数据,每个任务包含一定数量的第一样本(例如,10个、20个等),在常见的实现方式中,各任务包含的第一样本数量相同。至于如何从基础数据中选择第一样本以构建任务则可以有不同的实现方式,下面仅举一种常见的实现方式:
先从基础数据的所有数据类别中选择出N个数据类别(N取正整数),然后从被选出的N个数据类别中的每个数据类别包含的样本中进一步选出K个第一样本(K取正整数),这样每个任务均包含从基础数据中选择出的N×K个第一样本。可以理解的,若采用这种实现方式需要先将基础数据划分为若干数据类别,例如,若基础数据是图像分类领域的数据,这样的划分是容易的,每一种待分类目标的图像划分为一个数据类别即可。
上述实现方式中的选择数据类别、选择第一样本可以采用随机选择,或者也可以按照某种有目的性的规则筛选。若采用随机选择,则选择出的第一样本可以比较均匀地覆盖基础数据中所有的样本。
构建任务的时机可以有不同的方式,比如,可以在第一重迭代以及第二重迭代的过程中构建,也可以事先基于基础数据构建若干任务,在迭代过程中直接使用已经构建好的任务。
第一重迭代的结束条件不作限定,例如,可以是迭代次数到达了预设次数(比如,10000次),又例如,可以是基础数据中的所有样本都已被使用过,又例如,可以是预设模型的效果无明显变换(比如,每训练一段时间就用验证集测试一下模型的效果),等等。并且,以上条件既可以单独作为结束条件,也可以组合起来作为结束条件。
每一轮第一重迭代都会更新预设模型的参数,不妨将预设模型的参数记为φ,并用k表示第一重迭代的轮次(k取正整数),则第k轮第一重迭代开始时预设模型的参数可以表示为φk-1,第k轮第一重迭代结束后预设模型的参数被更新为φk。比如,φ0表示第0轮第一重迭代(指还未开始第一重迭代)时的参数,φ1就是第1轮第一重迭代结束后的参数(φ0被更新为φ1),φ2就是第2轮第一重迭代结束后的临时参数(φ1被更新为φ2),以此类推。
在本申请提出的元学习算法中,更新预设模型的参数还需要利用预设模型的临时参数。其具体做法如下:
在每一轮第一重迭代中,首先利用预设模型的参数初始化预设模型的临时参数,预设模型的临时参数可记为θ。比如,在第k轮第一重迭代开始时,预设模型的参数为φk-1,预设模型的临时参数为θ0(θ的下标稍后解释),则有θ0=φk-1。
然后,将从基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对预设模型进行训练以更新其临时参数,假设第二重迭代共进行m轮(m取正整数),则第二重迭代结束时预设模型的临时参数就是θm,θ的下标表示第二重迭代进行的轮次,比如上面的θ0就是第0轮第二重迭代(指还未开始第二重迭代)时的临时参数,θ1就是第1轮第二重迭代结束后的临时参数(θ0被更新为θ1),θ2就是第2轮第二重迭代结束后的临时参数(θ1被更新为θ2),以此类推。当然,第二重迭代也可以有不同的结束条件,不过这里为简单起见,不妨仅以这个条件就是执行预设的轮次(m轮)后结束为例。得到θm后,可以利用θm更新预设模型的参数,即φk←φk-1;θm(假设此时的第一重迭代为第k轮),该式表示利用θm按照某种方式将φk-1更新为φk,后文会给出一种可能的具体公式。每一轮第一重迭代都会更新一次预设模型的参数φ,在下一轮第一重迭代开始时,更新后的φ会作为临时参数θ的新的初始值。由于临时参数在每一轮第一重迭代开始时都会重新初始化,也可以理解为每一轮第一重迭代中都使用一套新的临时参数。
上述元学习算法中除了使用预设模型的参数外,还引入临时参数的概念。在第一重迭代中更新预设模型的参数,在第二重迭代中则更新预设模型的临时参数。其中,临时参数直接基于预设模型在基础数据中的具体任务上的预测损失进行更新,也就是说临时参数的优化受制于具体任务。而模型参数的更新是基于临时参数在多轮第二重迭代后的最终结果进行更新,并不受制于具体任务,而是从全局考虑参数的优化,并且并非仅考虑基础数据中的任务所引起的预测损失(并不追求模型在训练数据上的表现是最优的,若追求在训练数据上的最优,则无需设置临时参数,直接优化模型参数即可),而是着眼于最大化预设模型的学习能力,使得初始化后的预设模型具备快速适应的特点,这样最终得到的预设模型的一组参数初始值才是较好的初始点。
进一步的,在上面提出的元学习算法中,更新预设模型的临时参数可以采用,但不限于如下公式(梯度下降算法):
而更新预设模型的参数可以采用,但不限于如下公式:
φk=φk-1-α(θm-φk-1)
其中,φ为预设模型的参数,k为第一重迭代的轮次,α为预设模型的参数的学习率,m为第二重迭代的总轮次。由于θm是由θ0经m轮第二重迭代后更新得到的,所以φk的取值实际上和第k轮第一重迭代中出现过的全部临时参数θ0、θ1、…、θm都有关。
上面两个公式中用到的学习率参数α和β都是元学习算法的超参数,可以通过在验证集上测试不同的取值先行确定。此外,还需要指出,以上两个更新公式仅为示例,也不排除采用其他更新公式。
其他一些元学习算法,如MAML,更新参数用到高阶梯度计算公式,其计算方式比较复杂,上面提出的两个公式对高阶梯度的计算做了简化,从而可以快速实现高阶梯度的近似计算,从而加快预设模型的收敛速度,高效地完成模型初始化的过程,同时对预设模型的效果并不产生负面影响。
之前曾提到,任务可以在第一重迭代以及第二重迭代的过程中实时构建,一种可能的做法如下:在每一轮第一重迭代中开始第二重迭代之前,先从基础数据的所有数据类别中选择出N个数据类别,在每一轮第二重迭代中从被选择出的N个数据类别中的每个数据类别中进一步选择出K个第一样本以构建包含N×K个第一样本的任务,并利用构建好的任务训练预设模型以更新预设模型的临时参数。
在上面的做法中,同一轮第一重迭代内的所有轮次的第二重迭代中使用的任务都来自相同的N个数据类别(指构建任务的第一样本都来自这N个数据类别)。在一个对照实施例中,也可以在每轮第二重迭代开始时先从基础数据的所有数据类别中选择出N个数据类别,然后从被选择出的N个数据类别中的每个数据类别中进一步选择出K个第一样本,但发明人研究发现,若采用对照实施例中的方法,由于不同类别的任务具有不同的最优点使得更新时梯度下降方向不一致,从而可能导致整体梯度下降没有一个稳定的方向,进而使得预设模型难以收敛到较好的初始点。因此,上面的做法相较于对照实施例有一些优势,当然也并非要完全排除对照实施例中的方案。
下面,再通过一段伪代码直观地展示本申请新提出的元学习算法的一种具体实现(出现的各参数定义同前文):
1.算法要求:超参数α、β;
2.确定开始第一重迭代前的模型参数φ0;
3.fork=1,2,…do//第一重循环开始
4.从基础数据的全部数据类别中选择出N个数据类别;
5.初始化预设模型的临时参数θ0=φk-1;
6.for i=1,2,…,m do//第二重循环开始
7.从步骤4选择出的N个数据类别中的每个数据类别包含的样本中
选择出K个第一样本,共选择N×K个第一样本构建任务Ti;
8.计算损失L(Ti;θi-1);
10.end for//第二重循环结束
11.更新预设模型的参数φk=φk-1-α(θm-φk-1);
12.end for//第一重循环结束
进一步的,在一些实现方式中,每进行预设轮次(比如5轮、10轮等)的第一重迭代后,还可以将从基础数据中选择出的第二样本构建的任务作为测试数据,对预设模型进行测试,以便评估训练的效果,并且还可以根据测试结果决定是否要继续进行训练(比如,模型已满足要求则可以停止训练)。构建测试所用的任务的方法可以参考前文构建训练所用的任务的方法,此处不再重复阐述。测试所用的任务可以在迭代过程中构建,也可以事先基于基础数据构建好,在迭代过程中直接使用已经构建好的任务进行测试。在上面的伪代码中,若要加入测试逻辑,则可以添加在11行与12行之间。
图2示出了本申请实施例提供的模型参数确定装置200的功能模块图。参照图2,模型参数确定装置200包括:
参数初始化模块210,用于基于第一领域中的基础数据以及元学习算法初始化预设模型的参数;
参数微调模块220,用于基于第二领域中针对特定应用的应用数据微调所述预设模型的参数。
在模型参数确定装置200的一种实现方式中,参数初始化模块210基于第一领域的基础数据以及元学习算法初始化预设模型的参数,包括:确定第一重迭代开始时所述预设模型的参数;将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第一重迭代对所述预设模型的参数进行更新,直至在第一重迭代结束时完成模型参数的初始化,其中,每一轮第一重迭代执行以下步骤:利用所述预设模型的参数初始化所述预设模型的临时参数;将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新,并在第二重迭代结束时利用所述预设模型的临时参数更新所述预设模型的参数。
在模型参数确定装置200的一种实现方式中,每个任务均包含从所述基础数据中选择出的N×K个第一样本,其中,N和K均取正整数,N为从所述基础数据的所有数据类别中选择出的数据类别的个数,K为从被选择出的每个数据类别中进一步选择出的第一样本的个数。
在模型参数确定装置200的一种实现方式中,参数初始化模块210还用于:在每一轮第一重迭代中,在所述将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新之前,从所述基础数据的所有数据类别中选择出N个数据类别;参数初始化模块210将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新,包括:在每一轮第二重迭代中从被选择出的所述N个数据类别中的每个数据类别中进一步选择出K个第一样本以构建包含N×K个第一样本的任务,并利用构建好的任务训练所述预设模型以更新所述预设模型的临时参数。
在模型参数确定装置200的一种实现方式中,更新所述预设模型的临时参数采用如下公式:其中,θ为所述预设模型的临时参数,i为第二重迭代的轮次,β为所述预设模型的临时参数的学习率,为梯度算子,T为从所述基础数据中选择出的第一样本构建的任务,L为损失函数;更新所述预设模型的参数采用如下公式:φk=φk-1-α(θm-φk-1);其中,φ为所述预设模型的参数,k为第一重迭代的轮次,α为所述预设模型的参数的学习率,m为第二重迭代的总轮次。
在模型参数确定装置200的一种实现方式中,参数初始化模块210还用于:每进行预设轮次的第一重迭代后,将从所述基础数据中选择出的第二样本构建的任务作为测试数据,对所述预设模型进行测试。
在模型参数确定装置200的一种实现方式中,所述第一领域和所述第二领域为同一领域。
本申请实施例提供的模型参数确定装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
图3示出了本申请实施例提供的电子设备300的一种可能的结构。参照图3,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。
处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。
在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的模型参数确定方法以及其他期望的功能。
可以理解,图3所示的结构仅为示意,电子设备300还可以包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的模型参数确定方法。例如,计算机可读存储介质可以实现为图3中电子设备300中的存储器320。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种模型参数确定方法,其特征在于,包括:
基于第一领域中的基础数据以及元学习算法初始化预设模型的参数;
基于第二领域中针对特定应用的应用数据微调所述预设模型的参数。
2.根据权利要求1所述的参数确定方法,其特征在于,所述基于第一领域的基础数据以及元学习算法初始化预设模型的参数,包括:
确定第一重迭代开始时所述预设模型的参数;
将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第一重迭代对所述预设模型的参数进行更新,直至在第一重迭代结束时完成模型参数的初始化,其中,每一轮第一重迭代执行以下步骤:
利用所述预设模型的参数初始化所述预设模型的临时参数;
将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新,并在第二重迭代结束时利用所述预设模型的临时参数更新所述预设模型的参数。
3.根据权利要求2所述的参数确定方法,其特征在于,每个任务均包含从所述基础数据中选择出的N×K个第一样本,其中,N和K均取正整数,N为从所述基础数据的所有数据类别中选择出的数据类别的个数,K为从被选择出的每个数据类别中进一步选择出的第一样本的个数。
4.根据权利要求3所述的参数确定方法,其特征在于,在每一轮第一重迭代中,在所述将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新之前,所述方法还包括:
从所述基础数据的所有数据类别中选择出N个数据类别;
所述将从所述基础数据中选择出的第一样本构建的任务作为训练数据,通过多轮第二重迭代对所述预设模型的临时参数进行更新,包括:
在每一轮第二重迭代中从被选择出的所述N个数据类别中的每个数据类别中进一步选择出K个第一样本以构建包含N×K个第一样本的任务,并利用构建好的任务训练所述预设模型以更新所述预设模型的临时参数。
6.根据权利要求2所述的参数确定方法,其特征在于,所述方法还包括:
每进行预设轮次的第一重迭代后,将从所述基础数据中选择出的第二样本构建的任务作为测试数据,对所述预设模型进行测试。
7.根据权利要求1-6中任一项所述的参数确定方法,其特征在于,所述第一领域和所述第二领域为同一领域。
8.一种模型参数确定装置,其特征在于,包括:
参数初始化模块,用于基于第一领域中的基础数据以及元学习算法初始化预设模型的参数;
参数微调模块,用于基于第二领域中针对特定应用的应用数据微调所述预设模型的参数。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-8中任一项所述的方法。
10.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010135254.XA CN111353610A (zh) | 2020-02-28 | 2020-02-28 | 一种模型参数确定方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010135254.XA CN111353610A (zh) | 2020-02-28 | 2020-02-28 | 一种模型参数确定方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111353610A true CN111353610A (zh) | 2020-06-30 |
Family
ID=71194229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010135254.XA Pending CN111353610A (zh) | 2020-02-28 | 2020-02-28 | 一种模型参数确定方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353610A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112116002A (zh) * | 2020-09-18 | 2020-12-22 | 北京旋极信息技术股份有限公司 | 一种检测模型的确定方法、验证方法和装置 |
CN112180726A (zh) * | 2020-09-29 | 2021-01-05 | 北京航空航天大学 | 一种基于元学习的航天器相对运动轨迹规划方法 |
CN112766388A (zh) * | 2021-01-25 | 2021-05-07 | 深圳中兴网信科技有限公司 | 模型获取方法、电子设备和可读存储介质 |
CN112992174A (zh) * | 2021-02-03 | 2021-06-18 | 深圳壹秘科技有限公司 | 一种语音分析方法及其语音记录装置 |
CN113313254A (zh) * | 2021-06-10 | 2021-08-27 | 浙江工业大学 | 面向记忆增强元学习的深度学习模型去偏方法 |
CN113673488A (zh) * | 2021-10-21 | 2021-11-19 | 季华实验室 | 基于少样本的目标检测方法、装置及物件分拣智能系统 |
US20220004867A1 (en) * | 2020-07-01 | 2022-01-06 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Optimizer learning method and apparatus, electronic device and readable storage medium |
CN114241717A (zh) * | 2021-12-17 | 2022-03-25 | 广州西麦科技股份有限公司 | 一种防触电安全预警方法及系统 |
CN116112762A (zh) * | 2023-04-17 | 2023-05-12 | 武汉理工大学三亚科教创新园 | 一种基于元学习的补充数据下的说话视频生成方法 |
-
2020
- 2020-02-28 CN CN202010135254.XA patent/CN111353610A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220004867A1 (en) * | 2020-07-01 | 2022-01-06 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Optimizer learning method and apparatus, electronic device and readable storage medium |
CN112116002A (zh) * | 2020-09-18 | 2020-12-22 | 北京旋极信息技术股份有限公司 | 一种检测模型的确定方法、验证方法和装置 |
CN112180726A (zh) * | 2020-09-29 | 2021-01-05 | 北京航空航天大学 | 一种基于元学习的航天器相对运动轨迹规划方法 |
CN112766388A (zh) * | 2021-01-25 | 2021-05-07 | 深圳中兴网信科技有限公司 | 模型获取方法、电子设备和可读存储介质 |
CN112992174A (zh) * | 2021-02-03 | 2021-06-18 | 深圳壹秘科技有限公司 | 一种语音分析方法及其语音记录装置 |
CN113313254A (zh) * | 2021-06-10 | 2021-08-27 | 浙江工业大学 | 面向记忆增强元学习的深度学习模型去偏方法 |
CN113313254B (zh) * | 2021-06-10 | 2024-03-29 | 浙江工业大学 | 面向记忆增强元学习的深度学习模型去偏方法 |
CN113673488A (zh) * | 2021-10-21 | 2021-11-19 | 季华实验室 | 基于少样本的目标检测方法、装置及物件分拣智能系统 |
CN113673488B (zh) * | 2021-10-21 | 2022-02-08 | 季华实验室 | 基于少样本的目标检测方法、装置及物件分拣智能系统 |
CN114241717A (zh) * | 2021-12-17 | 2022-03-25 | 广州西麦科技股份有限公司 | 一种防触电安全预警方法及系统 |
CN116112762A (zh) * | 2023-04-17 | 2023-05-12 | 武汉理工大学三亚科教创新园 | 一种基于元学习的补充数据下的说话视频生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353610A (zh) | 一种模型参数确定方法、装置、存储介质及电子设备 | |
CN109376615B (zh) | 用于提升深度学习网络预测性能的方法、装置及存储介质 | |
EP3711000B1 (en) | Regularized neural network architecture search | |
US11113600B2 (en) | Translating sensor input into expertise | |
CN110717554A (zh) | 图像识别方法、电子设备及存储介质 | |
Yu et al. | Simple and effective stochastic neural networks | |
CN111079780A (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
CN109492093A (zh) | 基于高斯混合模型和em算法的文本分类方法及电子装置 | |
CN110364185A (zh) | 一种基于语音数据的情绪识别方法、终端设备及介质 | |
US20220101140A1 (en) | Understanding deep learning models | |
CN114492601A (zh) | 资源分类模型的训练方法、装置、电子设备及存储介质 | |
CN112420125A (zh) | 分子属性预测方法、装置、智能设备和终端 | |
CN114896395A (zh) | 语言模型微调方法、文本分类方法、装置及设备 | |
CN115081613A (zh) | 生成深度学习模型的方法、装置、电子设备及存储介质 | |
CN114170484B (zh) | 图片属性预测方法、装置、电子设备和存储介质 | |
CN115062779A (zh) | 基于动态知识图谱的事件预测方法及装置 | |
CN113254645B (zh) | 一种文本分类方法、装置、计算机设备及可读存储介质 | |
CN112100509B (zh) | 信息推荐方法、装置、服务器和存储介质 | |
EP4414901A1 (en) | Model weight acquisition method and related system | |
CN117009539A (zh) | 知识图谱的实体对齐方法、装置、设备及存储介质 | |
US20230041338A1 (en) | Graph data processing method, device, and computer program product | |
CN117011909A (zh) | 人脸识别模型的训练方法、人脸识别的方法和装置 | |
CN114898184A (zh) | 模型训练方法、数据处理方法、装置及电子设备 | |
CN114116456A (zh) | 测试用例生成方法、系统及计算机可读存储介质 | |
CN109885504A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200630 |