买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:渊慧科技有限公司
摘要:一种训练具有多个参数的机器学习模型的方法,其中该机器学习模型已经在第一机器学习任务上进行训练以确定该机器学习模型的参数的第一值。该方法包括:对于每一个参数,确定参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性的相应度量;获得用于在第二、不同的机器学习任务上训练机器学习模型的训练数据;以及,通过在训练数据上训练机器学习模型,在第二机器学习任务上训练机器学习模型以调节参数的第一值,使得机器学习模型在第二机器学习任务上实现可接受性能水平,同时在第一机器学习任务上保持可接受性能水平。
主权项:1.一种训练具有多个参数的机器学习模型的方法,其中,所述机器学习模型被配置为在多个机器学习任务上进行训练,对于每个机器学习任务,所述机器学习模型接收表征不同环境或环境中的不同对象的输入,基于接收到的输入和机器学习模型的参数的值生成用于与所述不同环境或环境中的不同对象进行交互的输出,其中,所述环境是真实世界环境,或者其中,所述对象是语音或图案且所述交互是对所述语音或图案进行识别,其中,所述机器学习模型已经在第一机器学习任务上进行训练以确定所述机器学习模型的参数的第一值,被配置为接收输入并基于接收的输入和所确定的第一值的参数生成用于交互的输出,并且其中,所述方法包括:对于所述多个参数中的每一个参数,确定参数对所述机器学习模型在所述第一机器学习任务上实现可接受性能的重要性的相应度量;获得用于在第二机器学习任务上训练所述机器学习模型的训练数据;以及通过在所述训练数据上训练所述机器学习模型,在所述第二机器学习任务上训练所述机器学习模型以调节所述参数的第一值,使得所述机器学习模型在所述第二机器学习任务上实现可接受性能水平,同时在所述第一机器学习任务上保持可接受性能水平,其中,在所述机器学习模型在所述第二机器学习任务上进行训练期间,对所述机器学习模型在所述第一机器学习任务上实现可接受性能更为重要的参数的值比对所述机器学习模型在所述第一机器学习任务上实现可接受性能不太重要的参数的值受到更强的约束以不偏离所述第一值,并且在所述第二机器学习任务上训练所述机器学习模型之后,只需要存储所述多个参数中的一组参数值而非多组参数值。
全文数据:在多个机器学习任务上训练机器学习模型相关申请的交叉引用本申请要求于2016年7月18日提交的、序列号为62363,652的美国临时申请的优先权。该在先申请的公开被认为是本申请公开的一部分,并通过引用并入本申请的公开中。背景技术本说明书涉及训练机器学习模型。机器学习模型接收输入,并基于接收到的输入生成输出,例如,预测的输出。一些机器学习模型是参数模型,并基于接收到的输入和模型的参数值生成输出。一些机器学习模型是深度模型,其利用模型的多个层为接收到的输入生成输出。例如,深度神经网络是包括输出层和一个或多个隐藏层的深度机器学习模型,其中每个隐藏层对接收到的输入应用非线性变换以生成输出。然而,机器学习模型在多个任务上训练时可能会经受“灾难性遗忘”,即在学习新任务时丢失先前任务的知识。一些神经网络是递归神经网络。递归神经网络是接收输入序列并根据输入序列生成输出序列的神经网络。具体地,递归神经网络在处理了输入序列中的先前输入之后,使用网络的一些或全部内部状态,根据输入序列中的当前输入生成输出。发明内容本说明书描述了在一个或多个位置处的一个或多个计算机上实施为计算机程序的系统如何在多个机器学习任务上训练机器学习模型。总的来说,一个创新方面可以体现在用于训练具有多个参数的机器学习模型的方法中。机器学习模型已经在第一机器学习任务上进行了训练以确定机器学习模型的参数的第一值。该方法包括:对于多个参数中的每一个参数,确定参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性的相应度量;获得用于在第二、不同的机器学习任务上训练机器学习模型的训练数据;以及,通过在训练数据上训练机器学习模型,在第二机器学习任务上训练机器学习模型以调节参数的第一值,使得机器学习模型在第二机器学习任务上实现可接受性能水平,同时在第一机器学习任务上保持可接受性能水平,其中,在机器学习模型在第二机器学习任务上进行训练期间,对机器学习模型在第一机器学习任务上实现可接受性能更为重要的参数的值比对机器学习模型在第一机器学习任务上实现可接受性能的不太重要的参数的值受到更强的约束以不偏离第一值。在训练数据上训练机器学习模型可以包括:调节参数的第一值以使目标函数最优化,更具体地说是旨在使目标函数最小化,该目标函数包括:i度量机器学习模型在第二机器学习任务上的性能的第一项,和ii对偏离第一参数值的参数值施加惩罚的第二项,其中,第二项对于对在第一机器学习任务上实现可接受性能更为重要的参数与第一值的偏差的惩罚比对在第一机器学习任务上实现可接受性能不太重要的参数更重。对于多个参数中的每一个参数,第二项可以取决于参数的重要性的相应度量和参数的当前值与参数的第一值之间的差的乘积。在一些实施方式中,训练可以实施“弹性权重合并elasticweightconsolidation,EWC”,其中在第二任务的训练期间,参数通过弹性惩罚锚定到它们的第一值,这是对调节参数的惩罚,该惩罚随着距离参数的第一值的距离的增大而增大。弹性惩罚的刚度或程度可以取决于参数对第一任务的重要性的度量,或者更一般地说,取决于参数对任何以前学习过的任务的重要性的度量。因此,弹性权重合并可以作为软约束实施,例如随着距离的增加呈二次型,使得每一个权重都以某个量拉回到旧值,该某个量取决于例如,成比例其对一个或多个先前执行的任务的重要性的度量。广义地说,参数由先验调和,先验是从多个先前任务导出的参数的后验分布。通常,机器学习模型包括诸如卷积神经网络或递归神经网络的神经网络,并且参数包括神经网络的权重。如下文进一步描述的,各个参数的重要性权重可以以各种不同的方式确定。可选地,在开始新任务的训练之前,可以重新计算各个参数的重要性权重。对于训练数据中的每个训练示例,在训练数据上训练机器学习模型可以包括:按照机器学习模型的参数的当前值,使用机器学习模型处理训练示例以确定模型输出;使用模型输出、训练示例的目标输出、机器学习模型的参数的当前值以及机器学习模型的参数的第一值来确定目标函数的梯度;以及,使用梯度调节参数的当前值以使目标函数最优化。对于多个参数中的每一个参数,确定参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性的相应度量可以包括:对于多个参数中的每一个参数,在给定用于在第一任务上训练机器学习模型的第一训练数据的情况下,确定参数的当前值是参数的正确值的概率的近似值。对于多个参数中的每一个参数,确定参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性的相应度量的一种方式可以包括:确定机器学习模型的多个参数相对于第一机器学习任务的费歇尔信息矩阵FisherInformationMatrix,FIM,其中对于多个参数中的每一个参数,参数的重要性的相应度量是FIM对角线上的对应值。这在计算上很方便,因为FIM可以从一阶导数中计算出来。例如,FIM可以根据模型对数概率相对于其参数的协方差来确定。使用FIM的对角线值作为重要度量可以降低计算复杂度,同时有效计算参数方差的点估计,即权重的不确定性。在一些实施方式中,权重的平均值和标准偏差或方差的估计可以通过利用BayesbyBackprop过程来获得,如Blundell等人在ICML2015的“神经网络中的权重不确定性WeightUncertaintyinNeuralNetworks”中所述。这可以使用反向传播过程的改变来完成。在一些实施方式中,第一机器学习任务和第二机器学习任务是不同的监督学习任务。在一些其他实施方式中,第一机器学习任务和第二机器学习任务是不同的强化学习任务。在强化学习任务中,目标函数可以包括折扣奖励项,该折扣奖励项取决于在某一状态下采取行动的预期奖励。机器学习模型可以基于例如深度Q网络DeepQ-Network,DQN、双DQNDouble-DQN、优势动作评价AdvantageActorCritic,A3C网络或其他架构。在一些实施方式中,特别是但不限于在强化学习reinforcementlearning,RL系统中,可以辨别机器学习任务。例如,可以使用模型来推断任务,对它们进行显式标记或自动辨别。然后,可以根据所辨别的任务来选择目标函数的一个或多个惩罚项。当辨别到任务切换时,可以选择一个或多个惩罚项来约束参数学习,使其接近为一个或多个先前任务学习的值根据它们对多个先前任务的重要性,如前所述。切换可能是切换到新的、以前看不见的任务,或者返回到以前的任务。惩罚项可以包括对除当前任务之外的所有先前看到的任务进行约束。约束可以是二次约束。可选地,当从一个学习任务切换到另一个学习任务时,可以重新计算各个参数的重要性权重。该方法还可以包括:在机器学习模型在第二机器学习任务上进行训练以确定机器学习模型的参数的第二值之后:获得用于在第三、不同的机器学习任务上训练机器学习模型的第三训练数据;以及,通过在第三训练数据上训练机器学习模型,在第三机器学习任务上训练机器学习模型以调节参数的第二值,使得机器学习模型在第三机器学习任务上实现可接受性能水平,同时在第一机器学习任务和第二机器学习任务上保持可接受性能水平,其中,在机器学习模型在第三机器学习任务上进行训练期间,对机器学习模型在第一机器学习任务和第二机器学习任务上实现可接受性能更为重要的参数的值比对机器学习模型在第一机器学习任务和第二机器学习任务上实现可接受性能不太重要的参数的值受到更强的约束以不偏离第二值。然后,该方法可以进一步包括:对于多个参数中的每一个参数,确定参数对机器学习模型在第二机器学习任务上实现可接受性能的重要性的相应度量。然后,在第三训练数据上训练机器学习模型可以包括:调节参数的第二值以使目标函数最优化,该目标函数包括度量机器学习模型在第三机器学习任务上的性能的第一项和对偏离第二参数值的参数值施加惩罚的第二项。与前面描述的方法类似,第二项对于对在第一机器学习任务和第二机器学习任务上实现可接受性能更为重要的参数与第二值的偏差的惩罚比对在第一机器学习任务和第二机器学习任务上实现可接受性能不太重要的参数更重。目标函数的第二项可以包括两个单独的惩罚项,其中一个惩罚项用于之前的任务,或者组合的惩罚项。例如,当惩罚项分别包括二次惩罚时,诸如参数与其先前值之差的平方,则两个这样的惩罚之和本身可以写成二次惩罚。上述方面可以以任何方便的形式实施。例如,各方面和实施方式可以通过适当的计算机程序来实施,该计算机程序可以在适当的载体介质上承载,该载体介质可以是有形载体介质例如,磁盘或无形载体介质例如,通信信号。各方面也可以使用合适的装置来实施,该装置可以采取运行计算机程序的可编程计算机的形式。可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。如本说明书所述,通过在多个任务上训练相同的机器学习模型,一旦对模型进行了训练,该模型就能够以可接受性能水平用于多个任务中的每一个。因此,需要能够在多个任务上实现可接受性能的系统可以这样做,同时使用更少的存储容量并降低系统复杂性。例如,通过保持模型的单个实例而不是模型的多个不同实例每个实例具有不同的参数值,只需要存储参数的一个集而不是多个不同的参数集,从而减少所需的存储空间量,同时在每个任务上保持可接受性能。此外,通过调节模型参数的值在新任务上训练模型以使目标函数最优化,该目标函数部分取决于参数对多个先前学习的任务有多重要,该模型可以有效地连续学习新任务,同时保护关于先前任务的知识。本说明书主题的一个或多个实施例的细节在附图和下面的描述中阐述。根据说明书、附图和权利要求书,主题的其它特征、方面和优点将变得显而易见。附图说明图1是训练机器学习模型的机器学习系统的示例的框图。图2是用于在多个任务上训练具有多个参数的机器学习模型的示例过程的流程图。图3是在第一和第二机器学习任务上训练机器学习模型之后,在第三机器学习任务上训练机器学习模型的示例过程的流程图。各个附图中相同的附图标记表示相同的元件。具体实施方式本说明书描述了在一个或多个位置处的一个或多个计算机上实施为计算机程序的系统例如,机器学习系统如何能够在多个机器学习任务上训练机器学习模型。在一些情况下,多个机器学习任务是不同的监督学习任务。例如,监督学习任务可以包括不同的分类任务,诸如图像处理任务、语音识别任务、自然语言处理任务或光学字符识别任务。例如,图像处理任务可以包括不同的图像识别任务,其中每个图像识别任务需要识别图像中的不同对象或图案。作为另一示例,语音识别任务可以包括多个热门词检测任务,其中每个任务需要识别不同的热门词或热门词序列。在其他一些情况下,多个机器学习任务是不同的强化学习任务。例如,强化学习任务可以包括多个任务,其中代理与不同的环境交互或者与相同的环境交互以实现不同的目标。例如,强化学习任务可以包括多个任务,其中计算机化的代理与多个不同的模拟或虚拟化环境交互。作为另一示例,强化学习任务可以包括多个任务,其中机器人代理与真实世界环境交互以尝试实现不同的目标。这种机器人代理可以体现在静态或移动的机器或车辆中。图1示出了示例机器学习系统100。机器学习系统100是在一个或多个位置处的一个或多个计算机上实施为计算机程序的系统的示例,其中实施下面描述的系统、组件和技术。机器学习系统110被配置为在多个机器学习任务上连续地训练机器学习模型110。机器学习模型110可以接收输入并基于接收到的输入生成输出,例如,预测的输出。在一些情况下,机器学习模型110是具有多个参数的参数模型。在这些情况下,机器学习模型110基于接收到的输入和模型110的参数的值生成输出。在一些其它情况下,机器学习模型110是深度机器学习模型,其利用模型的多个层为接收到的输入生成输出。例如,深度神经网络是包括输出层和一个或多个隐藏层的深度机器学习模型,其中每个隐藏层对接收到的输入应用非线性变换以生成输出。通常,机器学习系统100通过调节机器学习模型110的参数的值在特定任务上训练机器学习模型110即,学习特定任务,以使模型110在特定任务上的性能最优化例如,通过使模型110的目标函数118最优化。系统100能够训练模型110学习多个机器学习任务序列。通常,为了允许机器学习模型110学习新任务而又不会遗忘先前任务,系统100训练模型110以使模型110在新任务上的性能最优化,同时通过基于关于先前任务的信息约束参数,使参数处于先前任务的可接受性能区域例如,低误差区域中以保护模型110在先前任务上的性能。系统100使用重要性权重计算引擎112确定关于先前任务的信息。具体地,对于模型110先前训练过的每个任务,引擎112确定与这些任务相对应的重要性权重的集。给定任务的重要性权重的集通常包括模型110的每个参数的相应权重,相应权重表示参数对模型110在该任务上实现可接受性能的重要性的度量。然后,系统100使用与先前任务相对应的重要性权重的集在新任务上训练模型110,使得模型110在新任务上实现可接受性能水平,同时在先前任务上保持可接受性能水平。如图1所示,假设模型110已经使用第一训练数据在第一机器学习任务例如,任务A上进行了训练以确定模型110的参数的第一值,重要性权重计算引擎112确定与任务A相对应的重要性权重120的集。具体地,对于模型110的每个参数,引擎112确定表示参数对模型110在任务A上实现可接受性能的重要性的度量的相应重要性权重。为每个参数确定相应重要性权重包括:对于每个参数,在给定用于在任务A上训练机器学习模型110的第一训练数据的情况下,确定参数的当前值是参数的正确值的概率的近似值。例如,在模型110已经在来自先前多个机器学习任务的先前训练数据上进行训练之后,引擎112可以确定模型110的参数的可能值的后验分布。对于每个参数,后验分布为参数的当前值指定一个值,其中该值表示当前值是参数的正确值的概率。在一些实施方式中,引擎112能够使用近似方法例如,使用费歇尔信息矩阵Fisherinformationmatrix,FIM来近似后验分布。引擎112能够确定模型110的参数相对于任务A的FIM,其中对于每个参数,参数的相应重要性权重是FIM对角线上的对应值。也就是说,FIM对角线上的每个值与机器学习模型110的不同参数相对应。引擎112能够通过计算目标函数118在使目标函数118相对于任务A最优化的参数值处的二阶导数来确定FIM。FIM也能够仅根据一阶导数计算,因此即便是大型机器学习模型,FIM也易于计算。FIM保证是半正定的。FIM的计算在PascanuR、BengioY2013的“重新审视深度网络的自然梯度Revisitingnaturalgradientfordeepnetworks”arXiv:1301.3584中有更详细的描述。在引擎112已经确定了与任务A相对应的重要性权重120的集之后,系统100能够在与新机器学习任务例如,任务B相对应的新训练数据114上训练模型110。为了允许模型118学习任务B而又不会遗忘任务A,在任务B上对模型110进行训练期间,系统100使用与任务A相对应的重要性权重120的集在目标函数118中形成惩罚项,惩罚项旨在保持任务A的可接受性能。也就是说,对模型110进行训练以确定使目标函数118相对于任务B最优化的训练后参数值116,并且由于目标函数118包括惩罚项,因此模型110即使在任务B上进行训练之后,仍然会在任务A上保持可接受性能。下面参考图2对训练模型110的过程和目标函数118进行更详细地描述。当机器学习任务序列中有两个以上的任务时,例如,当模型110在任务B上进行训练之后仍然需要在第三任务例如,任务C上进行训练时,在确定了任务B的训练后参数值116之后,机器学习系统100将训练后参数值116提供给引擎112,使得引擎112能够确定与任务B相对应的新的重要性权重的集。当在任务C上训练模型110时,系统100能够训练模型110使用与任务A相对应的重要性权重的集和与任务B相对应的新的重要性权重的集,在将要由模型110相对于任务C进行最优化的目标函数118中形成新的惩罚项。下面参考图3对在任务C上训练机器学习模型110的过程进行更详细地描述。可以重复该训练过程直到模型110已经学习了机器学习任务序列中的所有任务。图2是用于在多个任务上连续地训练具有多个参数的机器学习模型的示例过程200的流程图。为方便起见,将过程200描述为由位于一个或多个位置处的一个或多个计算机的系统执行。例如,按照本说明书适当编程的机器学习系统例如,图1的机器学习系统100能够执行过程200。机器学习模型是已经在第一机器学习任务上进行训练以确定机器学习模型的参数的第一值的模型。为了在另一任务上训练机器学习模型,对于多个参数中的每一个参数,系统首先确定参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性例如,参数的重要性权重的相应度量步骤202。确定参数的重要性的相应度量包括:在给定用于在第一机器学习任务上训练机器学习模型的第一训练数据的情况下,确定参数的当前值是参数的正确值的概率的近似值。例如,在模型已经在来自多个先前机器学习任务的先前训练数据上进行训练之后,系统可以确定模型的参数的可能值的后验分布。对于每个参数,后验分布为参数的当前值指定一个值,其中该值表示当前值是参数的正确值的概率。在一些实施方式中,系统可以使用近似方法例如,使用费歇尔信息矩阵FisherInformationMatrix,FIM来近似后验分布。具体地,系统确定机器学习模型的参数相对于第一机器学习任务的费歇尔信息矩阵FIM,其中对于每个参数,参数的重要性的相应度量是FIM对角线上的对应值。也就是说,FIM对角线上的每个值与机器学习模型的不同参数相对应。接下来,系统获得用于在第二、不同的机器学习任务上训练机器学习模型的新训练数据步骤204。新训练数据包括多个训练示例。每个训练示例包括一对输入示例和输入示例的目标输出。在一些实施方式中,第一机器学习任务和第二机器学习任务是不同的监督学习任务。在一些其他实施方式中,第一机器学习任务和第二机器学习任务是不同的强化学习任务。然后,系统通过在新训练数据上训练机器学习模型,在第二机器学习任务上训练机器学习模型步骤206。为了允许机器学习模型学习第二任务而又不会遗忘第一任务例如,通过保留关于第一任务的记忆,系统通过调节参数的第一值在新训练数据上训练机器学习模型以使部分取决于惩罚项的目标函数最优化,其中该惩罚项基于所确定的参数对机器学习模型相对于第一任务的重要性的度量。惩罚项对于对在第一机器学习任务上实现可接受性能更为重要的参数与第一值的偏差的惩罚比对在第一机器学习任务上实现可接受性能不太重要的参数更重。通过调节参数的第一值使目标函数最优化例如,最小化,机器学习模型确保对机器学习模型在第一机器学习任务上实现可接受性能更为重要的参数的值比对机器学习模型在第一机器学习任务上实现可接受性能不太重要的参数的值受到更强的约束以不偏离第一值。在一些实施方式中,目标函数可以表示为:等式1所示的目标函数包括两项。第一项LBθ度量机器学习模型在第二项机器学习任务上的性能。第一项可以是适合于第二机器学习任务的任何目标函数,例如交叉熵损失、均方误差、最大似然、深度Q网络deepQnetwork,DQN目标等等。第二项是对偏离第一参数值的参数值施加惩罚的惩罚项。具体地,对于机器学习模型的多个参数中的每个参数i,惩罚项取决于以下两项的乘积:i参数对机器学习模型在第一机器学习任务上实现可接受性能水平的重要性的相应度量Fi,和ii参数的当前值θi和参数的第一值之间的差。第二项也取决于λ,λ设定旧任务例如,第一机器学习任务与新任务例如,第二机器学习任务相比有多重要。Fi值可以表示神经网络权重的不确定性,并且可以从FIM对角线值或其他值中导出。在调节参数的第一值的一种方法中,系统对新训练数据中的多个训练示例中的每一个执行以下迭代。对于每个训练示例,系统按照机器学习模型的参数的当前值,使用机器学习模型处理输入示例以确定模型输出。对于第一次迭代,参数的当前值等于参数的第一值,其中参数的第一值是在机器学习模型在第一机器学习任务上进行训练之后确定的。接下来,系统使用模型输出、输入示例的目标输出、机器学习模型的参数的当前值以及机器学习模型的参数的第一值来确定目标函数的梯度。然后,系统使用所确定的梯度调节参数的当前值以使目标函数最优化。然后,调节后的参数值在下一次迭代中用作参数的当前值。在一些情况下,系统批量处理多个训练示例。在这些情况下,对于每批次,当前值对该批次中的每个训练示例都是固定的。更具体地,系统按照机器学习模型的参数的当前值,使用机器学习模型处理每批次中的训练示例的输入示例以确定模型输出。然后,系统使用模型输出、批次中的输入示例的目标输出、机器学习模型的参数的当前值的当前值以及机器学习模型的参数的第一值来确定目标函数的梯度。然后,系统使用所确定的梯度调节参数的当前值以使目标函数最优化。然后,调节后的参数值在下一批次中用作参数的当前值。在系统对新训练数据中的所有训练示例执行上述迭代之后,系统完成在第二机器学习任务的新训练数据上对机器学习模型的训练。最终迭代获得的参数的当前值被确定为机器学习模型相对于第二机器学习任务的训练后参数。以这种方式训练模型产生训练后参数值,该训练后参数值允许机器学习模型在第二机器学习任务上实现可接受性能水平,同时在第一机器学习任务上保持可接受性能水平。一旦系统已经在第二机器学习任务上训练了机器学习模型,系统能够继续训练机器学习模型以在新的机器学习任务上实现可接受性能水平,同时在模型已经被训练过的任务上保持可接受性能。例如,在机器学习模型在第二机器学习任务上进行训练以确定机器学习模型的参数的第二值之后,系统能够继续在第三、不同的机器学习任务上训练机器学习模型。图3是用于在机器学习模型在第一和第二机器学习任务上进行训练之后,在第三机器学习任务上训练机器学习模型的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置处的一个或多个计算机的系统执行。例如,按照本说明书适当编程的机器学习系统例如,图1的机器学习系统100可以执行过程300。对于多个参数中的每一个参数,系统可以选择性地确定参数对机器学习模型在第二机器学习任务上实现可接受性能的重要性的相应度量步骤302。系统获得用于在第三机器学习任务上训练机器学习模型的第三训练数据步骤304。然后,系统通过在第三训练数据上训练机器学习模型,在第三机器学习任务上训练机器学习模型以调节参数的第二值,使得机器学习模型在第三机器学习任务上实现可接受性能水平,同时在第一机器学习任务和第二机器学习任务上保持可接受性能水平步骤306。在机器学习模型在第三机器学习任务上进行训练期间,对机器学习模型在第一机器学习任务和第二机器学习任务上实现可接受性能更为重要的参数的值比对机器学习模型在第一机器学习任务和第二机器学习任务上实现可接受性能不太重要的参数的值受到更强的约束以不偏离第二值。在一些情况下,系统训练机器学习模型调节参数的第二值,以获得使部分取决于惩罚项的新目标函数最优化的第三参数值,其中惩罚项基于参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性的度量,并且基于参数对机器学习模型在第二机器学习任务上实现可接受性能的重要性的度量。例如,新目标函数包括:i度量机器学习模型在第三机器学习任务上的性能的第一项,ii对偏离第一参数值的参数值施加惩罚的第二项,其中第二项对于对在第一机器学习任务上实现可接受性能更为重要的参数与第一值的偏差的惩罚比对在第一机器学习任务上实现可接受性能不太重要的参数更重,以及iii对偏离第二参数值的参数值施加惩罚的第三项,其中第三项对于对在第二机器学习任务上实现可接受性能更为重要的参数与第二值的偏差的惩罚比对在第二机器学习任务上实现可接受性能不太重要的参数更重。对于多个参数中的每个参数,新目标函数的第二项可以取决于以下两项的乘积:i参数对机器学习模型在第一机器学习任务上实现可接受性能的重要性的相应度量,和ii参数的当前值与参数的第一值之间的差。对于多个参数中的每个参数,新目标函数的第三项可以取决于以下两项的乘积:i参数对机器学习模型在第二机器学习任务上实现可接受性能的重要性的相应度量,和ii参数的当前值与参数的第二值之间的差。所获得的第三参数值允许机器学习模型在第三机器学习任务上实现可接受性能水平,同时在第一机器学习任务和第二机器学习任务上保持可接受性能水平。在一些实施方式中,目标函数可以表示为:其中,是对偏离第一参数值的参数值施加惩罚的惩罚项,并且对于机器学习模型的多个参数中的每个参数i,该惩罚项取决于以下两项的乘积:i参数对机器学习模型在第一机器学习任务上实现可接受性能水平的重要性的相应度量FA,i,和ii参数的当前值θi与参数的第一值之间的差。是对偏离第二参数值的参数值施加惩罚的另一惩罚项,并且对于机器学习模型的多个参数中的每个参数i,该惩罚项取决于以下两项的乘积:i参数对机器学习模型在第二机器学习任务上实现可接受性能水平的重要性的相应度量FB,i,和ii参数的当前值θi与参数的第二值之间的差。实施上述方法的机器学习系统例如,RL系统可以包括自动辨别任务之间的切换的系统。这可以实施在没有监督的情况下训练的在线聚类算法。例如,这可以通过将当前任务建模为分类上下文ccategoricalcontextc来完成,该上下文c被视为解释当前观察的隐马尔可夫模型HiddenMarkovModel的隐藏变量。任务上下文c可以调整预测观察概率的生成模型,并且如果新的生成模型比现有的生成模型池更好地解释最近的数据,则可以添加新的生成模型。例如,在每个连续时间窗口的末尾,可以选择与当前任务最佳对应的模型,并且可以选择一个未初始化的均匀分布模型,以创建新的生成模型和任务上下文。实施上述方法的RL系统可以在策略上on-policy或策略外off-policy操作;其中策略外操作可以为每个辨别或推断的任务保持单独的体验缓冲器buffer。可选地,神经网络的增益和偏差可能是特定于任务的。本说明书结合系统和计算机程序组件使用术语“配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,其在操作中使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,当该指令由数据处理装置运行时使得该装置执行该操作或动作。本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实施,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备、或者它们中的一个或多个的组合。可替换地或附加地,程序指令可以被编码在人工生成的传播信号例如,机器生成的电、光或电磁信号上,该传播信号被生成来将信息编码,以将信息传输到合适的接收器装置由数据处理装置运行。术语“数据处理装置”是指数据处理硬件并且包括用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGAfieldprogrammablegatearray,现场可编程门阵列或ASICapplication-specificintegratedcircuit,专用集成电路。除了硬件之外,该装置可以可选地包括为计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。计算机程序也可以被称为或描述为程序、软件、软件应用、应用app、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释语言,或者声明性或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适合在计算环境中使用的单元。程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的文件中。计算机程序可以被部署为在一个计算机上运行,或者在位于一个站点或分布在多个站点并通过数据通信网络互连的多个计算机上运行。在本说明书中,术语“引擎”广泛用于指基于软件的系统、子系统或过程,其被编程为执行一个或多个特定功能。通常,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。本说明书中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程计算机来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,例如FPGA或ASIC,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。适用于运行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或结合到专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备例如磁盘、磁光盘或光盘接收数据或将数据传输到用于存储数据的一个或多个大容量存储设备或两者。然而,计算机不需要有这样的设备。此外,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理personaldigitalassistant,PDA、移动音频或视频播放器、游戏控制台、全球定位系统GlobalPositioningSystem,GPS接收器或便携式存储设备,例如通用串行总线universalserialbus,USB闪存驱动器,仅举几例。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,例如CRTcathoderaytube,阴极射线管或LCDliquidcrystaldisplay,液晶显示器监视器,以及用户可以通过其向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户设备上的网络浏览器。此外,计算机可以通过向个人设备例如运行消息收发应用的智能手机发送文本消息或其他形式的消息来与用户交互,并且作为回报从用户接收响应消息。用于实施机器学习模型的数据处理装置还可以包括,例如,专用硬件加速器单元,用于处理机器学习训练或生产的常见和计算密集型部分,即推断、工作负载。机器学习模型可以使用机器学习框架来实施和部署,例如TensorFlow框架、微软认知工具包框架、ApacheSinga框架或ApacheMXNet框架。本说明书中描述的主题的实施例可以在包括后端组件的计算系统中实施,该后端组件例如作为数据服务器,或包括中间件组件,例如应用服务器,或者包括前端组件,例如,具有图形用户界面、Web浏览器或应用的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互,或者一个或多个这样的后端、中间件或前端组件的组合。系统的组件可以通过任何形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网localareanetwork,LAN和广域网wideareanetwork,WAN,例如因特网。计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备发送数据,例如HTML页面,例如用于向充当客户端的设备显示数据和从与该设备交互的用户接收用户输入。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的一些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管特征可以在上文中被描述为以一些组合方式起作用,甚至最初被要求保护,但是在一些情况下,来自要求保护的组合的一个或多个特征可以从该组合中删除,并且要求保护的组合可以指向子组合或子组合的变体。类似地,虽然在附图中描述了操作,并且在权利要求中以特定的顺序叙述了操作,但是这不应该被理解为要求以所示的特定顺序或序列顺序执行这些操作,或者执行所有所示的操作,以获得期望的结果。在一些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者封装到多个软件产品中。已经描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中列举的动作可以以不同的顺序执行,并且仍然获得期望的结果。作为一个示例,附图中描述的过程不一定需要所示的特定顺序或序列顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
权利要求:1.一种训练具有多个参数的机器学习模型的方法,其中,所述机器学习模型已经在第一机器学习任务上进行训练以确定所述机器学习模型的参数的第一值,并且其中,所述方法包括:对于所述多个参数中的每一个参数,确定参数对所述机器学习模型在所述第一机器学习任务上实现可接受性能的重要性的相应度量;获得用于在第二、不同的机器学习任务上训练所述机器学习模型的训练数据;以及通过在所述训练数据上训练所述机器学习模型,在所述第二机器学习任务上训练所述机器学习模型以调节所述参数的第一值,使得所述机器学习模型在所述第二机器学习任务上实现可接受性能水平,同时在所述第一机器学习任务上保持可接受性能水平,其中,在所述机器学习模型在所述第二机器学习任务上进行训练期间,对所述机器学习模型在所述第一机器学习任务上实现可接受性能更为重要的参数的值比对所述机器学习模型在所述第一机器学习任务上实现可接受性能不太重要的参数的值受到更强的约束以不偏离所述第一值。2.根据权利要求1所述的方法,其中,所述第一机器学习任务和所述第二机器学习任务是不同的监督学习任务。3.根据权利要求1所述的方法,其中,所述第一机器学习任务和所述第二机器学习任务是不同的强化学习任务。4.根据权利要求1至3中任一项所述的方法,其中,在所述训练数据上训练所述机器学习模型包括:调节所述参数的第一值以使目标函数最优化,所述目标函数包括:i第一项,度量所述机器学习模型在所述第二机器学习任务上的性能,和ii第二项,对偏离所述第一参数值的参数值施加惩罚,其中,所述第二项对于对在所述第一机器学习任务上实现可接受性能更为重要的参数与所述第一值的偏差的惩罚比对在所述第一机器学习任务上实现可接受性能不太重要的参数更重。5.根据权利要求4所述的方法,其中,对于所述训练数据中的每个训练示例,在所述训练数据上训练所述机器学习模型包括:按照所述机器学习模型的参数的当前值,使用所述机器学习模型处理所述训练示例以确定模型输出;使用所述模型输出、所述训练示例的目标输出、所述机器学习模型的参数的当前值和所述机器学习模型的参数的第一值来确定所述目标函数的梯度;以及使用所述梯度调节所述参数的当前值以使所述目标函数最优化。6.根据权利要求4或5中任一项所述的方法,其中,对于所述多个参数中的每一个参数,所述第二项取决于所述参数的重要性的相应度量和所述参数的当前值与所述参数的第一值之间的差的乘积。7.根据权利要求1至6中任一项所述的方法,其中,对于所述多个参数中的每一个参数,确定参数对所述机器学习模型在所述第一机器学习任务上实现可接受性能的重要性的相应度量包括:对于所述多个参数中的每一个参数,在给定用于在所述第一任务上训练所述机器学习模型的第一训练数据的情况下,确定参数的当前值是参数的正确值的概率的近似值。8.根据权利要求1至7中任一项所述的方法,其中,对于所述多个参数中的每一个参数,确定参数对所述机器学习模型在所述第一机器学习任务上实现可接受性能的重要性的相应度量包括:确定所述机器学习模型的多个参数相对于所述第一机器学习任务的费歇尔信息矩阵FIM,其中,对于所述多个参数中的每一个参数,所述参数的重要性的相应度量是所述FIM对角线上的对应值。9.根据权利要求1至8中任一项所述的方法,还包括:在所述机器学习模型在所述第二机器学习任务进行训练以确定所述机器学习模型的参数的第二值之后:获得用于在第三、不同的机器学习任务上训练所述机器学习模型的第三训练数据;以及通过在所述第三训练数据上训练所述机器学习模型,在所述第三机器学习任务上训练所述机器学习模型以调节所述参数的第二值,使得所述机器学习模型在所述第三机器学习任务上实现可接受性能水平,同时在所述第一机器学习任务和所述第二机器学习任务上保持可接受性能水平,其中,在所述机器学习模型在所述第三机器学习任务上进行训练期间,对所述机器学习模型在所述第一机器学习任务和所述第二机器学习任务上实现可接受性能更为重要的参数的值比对所述机器学习模型在所述第一机器学习任务和所述第二机器学习任务上实现可接受性能不太重要的参数的值受到更强的约束以不偏离所述第二值。10.根据权利要求9所述的方法,还包括:对于所述多个参数中的每一个参数,确定参数对所述机器学习模型在所述第二机器学习任务上实现可接受性能的重要性的相应度量;并且其中,在所述第三训练数据上训练所述机器学习模型包括调节所述参数的第二值以使目标函数最优化,所述目标函数包括:i第一项,度量所述机器学习模型在所述第三机器学习任务上的性能,和ii第二项,对偏离所述第一参数值的参数值施加惩罚,其中,所述第二项对于对在所述第一机器学习任务上实现可接受性能更为重要的参数与所述第一值的偏差的惩罚比对在所述第一机器学习任务上实现可接受性能不太重要的参数更重。iii第三项,对偏离所述第二参数值的参数值施加惩罚,其中,所述第三项对于对在所述第二机器学习任务上实现可接受性能更为重要的参数与所述第二值的偏差的惩罚比对在所述第二机器学习任务上实现可接受性能不太重要的参数更重。11.根据权利要求10所述的方法,其中,对于所述多个参数中的每一个参数,所述第二项取决于以下两项的乘积:i参数对所述机器学习模型在所述第一机器学习任务上实现可接受性能的重要性的相应度量,和ii所述参数的当前值与所述参数的第一值之间的差。12.根据权利要求10所述的方法,其中,对于所述多个参数中的每一个参数,所述第三项取决于以下两项的乘积:i参数对所述机器学习模型在所述第二机器学习任务上实现可接受性能的重要性的相应度量,和ii所述参数的当前值与所述参数的第二值之间的差。13.根据权利要求4至引用权利要求4的权利要求8中任一项所述的方法,还包括辨别何时从一个机器学习任务切换到另一机器学习任务,并且响应于此更新所述目标函数的第二项。14.根据权利要求13所述的方法,其中,辨别何时从一个机器学习任务切换到另一机器学习任务包括根据一个或多个模型推断哪个任务正在被执行。15.一种系统,包括一个或多个计算机和一个或多个存储可操作指令的存储设备,当所述指令由所述一个或多个计算机运行时使所述一个或多个计算机执行权利要求1至14中任一项的相应方法的操作。16.一种编码有指令的计算机存储介质,当所述指令由一个或多个计算机运行时使所述一个或多个计算机执行权利要求1至14中任一项的相应方法的操作。
百度查询: 渊慧科技有限公司 在多个机器学习任务上训练机器学习模型
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。