训练机器学习模型制造技术

技术编号:22693715 阅读:30 留言:0更新日期:2019-11-30 06:19
用于训练机器学习模型的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,方法包括接收用于在多个任务上训练机器学习模型的训练数据,其中每个任务包括多批训练数据。根据当前任务选择策略选择任务。从所选任务中选择一批训练数据。在所选的一批训练数据上训练机器学习模型以确定模型参数的更新值。确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度测量。使用学习进度测量更新当前任务选择策略。

Training machine learning model

Methods, systems and devices for training machine learning models, including computer programs encoded on a computer storage medium. In one aspect, the method includes receiving training data for training a machine learning model on a plurality of tasks, each of which includes a plurality of batches of training data. Select tasks according to the current task selection policy. Select a batch of training data from the selected tasks. The machine learning model is trained on the selected batch of training data to determine the updated values of model parameters. Determine the learning progress measurement that represents the training progress of the machine learning model as the result of training the machine learning model on the selected batch of training data. Update the current task selection strategy with the learning progress measurement.

【技术实现步骤摘要】
【国外来华专利技术】训练机器学习模型
技术介绍
本说明书涉及训练机器学习模型。机器学习模型接收输入并且基于接收到的输入和模型的参数值生成输出,例如预测的输出。神经网络是采用一个或多个非线性单元层来预测对于接收到的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。一些神经网络是递归神经网络。递归神经网络是接收输入序列并且从输入序列生成输出序列的神经网络。特别地,递归神经网络可以使用来自先前时间步长的网络内部状态的一些或全部来计算当前时间步长的输出。递归神经网络的示例是包括一个或多个长短期(longshortterm,LSTM)存储块的LSTM神经网络。每个LSTM存储器块可以包括一个或多个单元,每个单元包括允许单元存储该单元先前状态的输入门、遗忘门和输出门,例如,用于生成当前激活或被提供到LSTM神经网络的其他组件。
技术实现思路
本说明书描述了在一个或多个位置中的一个或多个计算机上被实现为计算机程序的执行机器学习模型的训练的系统。根据第一方面,提供了例如在多个分区(partition)上用于训练具有多个模型参数的机器学习模型以从模型参数的初始值确定模型参数的训练值的方法。该方法可以包括接收用于训练机器学习模型的训练数据。例如,训练数据可以被划分为多个分区或任务。该方法还可以包括识别多个任务。每个任务/分区可以包括相应的多批训练数据。该方法可以涉及通过重复地执行以下操作来在训练数据上训练机器学习模型:根据当前分区选择策略从多个任务/分区中选择任务/分区;从所选任务/分区的多批训练数据中选择一批训练数据;在所选的一批训练数据上训练机器学习模型,以从模型参数的当前值确定模型参数的更新值;确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度(progress)测量;以及使用学习进度测量来更新当前分区选择策略。用于机器学习模型的训练数据可以被划分为多个分区,其中每个分区包括相应的多批训练数据。分区可以对应于任务,并且反之亦然。例如,分区中的每个分区中的训练数据可以是不同性质的任务的训练数据,其中模型被训练以良好地执行任务中的所有任务。作为另一示例,分区之一可以是目标分区,其中模型被训练以在与目标分区中的训练数据中的输入类似的输入上良好地执行。在此示例中,其他分区中的训练数据可以是例如期望更容易训练模型的数据。根据第二方面,提供了训练具有多个模型参数的机器学习模型以从模型参数的初始值确定模型参数的训练值的方法,该方法包括:接收用于在多个任务上训练机器学习模型的训练数据,其中每个任务包括相应的多批训练数据;并且通过重复地执行以下操作来在训练数据上训练机器学习模型:根据当前任务选择策略从多个任务中选择任务;从所选任务的多批训练数据中选择一批训练数据;在所选的一批训练数据上训练机器学习模型,以从模型参数的当前值确定模型参数的更新值;确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度测量;并且使用学习进度测量来更新当前任务选择策略。在一些实施方式中,在所选批上训练机器学习模型包括训练机器学习模型以减少由损失函数测量的所选批上的损失,并且学习进度测量基于作为在所选的一批训练数据上训练机器学习模型的结果的损失中的减少。在一些实施方式中,确定学习进度测量包括:根据模型参数的当前值确定所选批上的第一损失;根据模型参数的更新值确定所选批上的第二损失。学习进度测量包括第一损失和第二损失之间的差。在一些实施方式中,确定学习进度测量包括:从所选任务中的多个批采样新批;根据模型参数的当前值确定新批上的第一损失;根据模型参数的更新值确定新批上的第二损失,并且学习进度测量包括第一损失和第二损失之间的差。在一些实施方式中,任务之一被识别为目标任务,其中目标任务包括与在训练数据上训练机器学习模型之后要由机器学习模型处理的输入最相似的训练输入,并且确定学习进度测量包括:从目标任务中的多个批采样新批;根据模型参数的当前值确定新批的第一损失;根据模型参数的更新值确定新批的第二损失,并且学习进度测量包括第一损失和第二损失之间的差。在一些实施方式中,确定学习进度测量包括:从多个任务随机地采样任务;从经采样的任务中的多个批采样新批;根据模型参数的当前值确定新批上的第一损失;根据模型参数的更新值确定新批上的第二损失,并且学习进度测量包括第一损失和第二损失之间的差。在一些实施方式中,学习进度测量包括关于通过在所选批上训练机器学习模型而生成的模型参数的、损失函数的梯度的梯度向量的范数。在一些实施方式中,学习进度测量基于作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的模型复杂度的增加。在一些实施方式中,模型参数的值由模型参数的可能值的后验分布定义,其中在训练期间,参数化后验分布的后验分布参数被优化,使得模型参数的训练值由后验分布参数的训练值定义,并且其中在所选的一批训练数据上训练机器学习模型包括在所选的一批训练数据上训练机器学习模型以从后验分布参数的当前值确定后验分布参数的调整值。在一些实现中,确定学习进度测量包括:确定(i)由后验分布参数的更新值定义的后验分布和(ii)模型参数的可能值的先验分布之间的第一Kullback-Leibler(KL)散度;以及确定(i)由后验分布参数的当前值定义的后验分布和(ii)模型参数的可能值的先验分布之间的第二KL散度,并且学习进度测量包括第一KL散度和第二KL散度之间的差。在一些实施方式中,先验分布由先验分布参数定义,并且在所选的一批训练数据上训练机器学习模型包括从先验分布参数的当前值确定先验分布参数的调整值,其中第一KL散度是(i)由后验分布参数的更新值定义的后验分布和(ii)由先验分布参数的更新值定义的先验分布之间的KL散度,并且其中第二KL散度是(i)由后验分布参数的当前值定义的后验分布和(ii)由先验分布参数的当前值定义的先验分布之间的KL散度。在一些实施方式中,在所选的一批训练数据上训练机器学习模型包括从先验分布参数的当前值确定先验分布参数的调整值,其中,先验分布参数参数化模型参数的可能值的先验分布,并且学习进度测量基于a)关于(i)由后验分布参数的当前值定义的后验分布和(ii)由先验分布参数的当前值定义的先验分布之间的KL散度的先验分布参数和后验分布参数的梯度;以及b)关于由损失函数测量的所选批上的损失的期望的后验分布参数的梯度。在一些实施方式中,学习进度测量基于模型参数的更新值的向量的第一范数与模型参数的当前值的向量的第二范数之间的差。在一些实施方式中,学习进度测量基于(i)模型参数的当前值的向量的转置和(ii)关于作为在所选批上训练机器学习模型的一部分而生成的模型参数的、损失函数的梯度的梯度向量之间的乘积。在一些实施方式中,任务选择策略是为多个任务中的每个任务分配相应可能性的策略,本文档来自技高网...

【技术保护点】
1.一种训练具有多个模型参数的机器学习模型以从模型参数的初始值确定模型参数的训练值的方法,所述方法包括:/n接收用于在多个任务上训练机器学习模型的训练数据,其中每个任务包括相应的多批训练数据;以及/n通过重复地执行以下操作来在所述训练数据上训练机器学习模型:/n根据当前任务选择策略从所述多个任务中选择任务;/n从所选任务的多批训练数据中选择一批训练数据;/n在所选的一批训练数据上训练机器学习模型,以从所述模型参数的当前值确定所述模型参数的更新值;/n确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度测量;以及/n使用所述学习进度测量来更新所述当前任务选择策略。/n

【技术特征摘要】
【国外来华专利技术】20170224 US 62/463,5401.一种训练具有多个模型参数的机器学习模型以从模型参数的初始值确定模型参数的训练值的方法,所述方法包括:
接收用于在多个任务上训练机器学习模型的训练数据,其中每个任务包括相应的多批训练数据;以及
通过重复地执行以下操作来在所述训练数据上训练机器学习模型:
根据当前任务选择策略从所述多个任务中选择任务;
从所选任务的多批训练数据中选择一批训练数据;
在所选的一批训练数据上训练机器学习模型,以从所述模型参数的当前值确定所述模型参数的更新值;
确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度测量;以及
使用所述学习进度测量来更新所述当前任务选择策略。


2.如权利要求1所述的方法,其中,在所选批上训练机器学习模型包括训练机器学习模型以减少由损失函数测量的所选批上的损失,并且其中所述学习进度测量基于作为在所选的一批训练数据上训练机器学习模型的结果的所述损失中的减少。


3.如权利要求2所述的方法,其中,确定所述学习进度测量包括:
根据所述模型参数的当前值确定所选批上的第一损失;以及
根据所述模型参数的更新值确定所选批上的第二损失,并且
其中,所述学习进度测量包括所述第一损失和所述第二损失之间的差。


4.如权利要求1至3中任一项所述的方法,其中,确定所述学习进度测量包括:
从所选任务中的多个批采样新批;
根据所述模型参数的当前值确定新批上的第一损失;以及
根据所述模型参数的更新值确定新批上的第二损失,并且
其中,所述学习进度测量包括所述第一损失和所述第二损失之间的差。


5.如权利要求1至4中任一项所述的方法,其中,所述任务之一被识别为目标任务,所述目标任务包括与在训练数据上训练机器学习模型之后要由机器学习模型处理的输入最相似的训练输入,其中确定所述学习进度测量包括:
从所述目标任务中的多个批采样新批;
根据所述模型参数的当前值确定新批上的第一损失;以及
根据所述模型参数的更新值确定新批上的第二损失,并且
其中,所述学习进度测量包括所述第一损失和所述第二损失之间的差。


6.如权利要求1至5中任一项所述的方法,其中,确定所述学习进度测量包括:
从所述多个任务随机采样任务;
从经采样的任务中的多个批采样新批;
根据所述模型参数的当前值确定新批上的第一损失;以及
根据所述模型参数的更新值确定新批上的第二损失,并且
其中,所述学习进度测量包括所述第一损失和所述第二损失之间的差。


7.如权利要求1至6中任一项所述的方法,其中,所述学习进度测量包括关于通过在所选批上训练机器学习模型而生成的所述模型参数的、所述损失函数的梯度的梯度向量的范数。


8.如权利要求1至7中任一项所述的方法,其中,所述学习进度测量基于作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的模型复杂度的增加。


9.如权利要求1至8中任一项所述的方法,其中,所述模型参数的值由所述模型参数的可能值的后验分布定义,其中在训练期间,参数化所述后验分布的后验分布参数被优化,使得所述模型参数的训练值由所述后验分布参数的训练值定义,并且其中在所选的一批训练数据上训练机器学习模型包括在所选的一批训练数据上训练机器学习模型以从后验分布参数的当前值确定所述后验分布参数的调整值。


10.如权利要求9所述的方法,其中,确定所述学习进度测量包括:
确定(i)由所述后验分布参数的更新值定义的后验分布和(ii)所述模型参数的可能值的先验分布之间的第一Kullback-Leibler(KL)散度;以及

【专利技术属性】
技术研发人员:M根德隆贝勒马尔JL梅尼克AB格雷夫斯K卡沃克库格鲁R穆诺斯
申请(专利权)人:渊慧科技有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1