CN110520871A - 训练机器学习模型 - Google Patents
训练机器学习模型 Download PDFInfo
- Publication number
- CN110520871A CN110520871A CN201880013612.0A CN201880013612A CN110520871A CN 110520871 A CN110520871 A CN 110520871A CN 201880013612 A CN201880013612 A CN 201880013612A CN 110520871 A CN110520871 A CN 110520871A
- Authority
- CN
- China
- Prior art keywords
- training
- parameter
- task
- model
- machine learning
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 265
- 238000010801 machine learning Methods 0.000 title claims abstract description 87
- 238000005259 measurement Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 50
- 241001269238 Data Species 0.000 claims abstract description 13
- 238000003860 storage Methods 0.000 claims abstract description 9
- 238000009826 distribution Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 27
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000008485 antagonism Effects 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 10
- 230000000306 recurrent effect Effects 0.000 claims description 8
- 239000004744 fabric Substances 0.000 claims description 6
- 230000017105 transposition Effects 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 abstract description 15
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000002609 medium Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000012120 mounting media Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000009334 Singa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- G06N3/09—Supervised learning
-
- 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
-
- 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/047—Probabilistic or stochastic 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
- G06N3/096—Transfer learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
Abstract
用于训练机器学习模型的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,方法包括接收用于在多个任务上训练机器学习模型的训练数据,其中每个任务包括多批训练数据。根据当前任务选择策略选择任务。从所选任务中选择一批训练数据。在所选的一批训练数据上训练机器学习模型以确定模型参数的更新值。确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度测量。使用学习进度测量更新当前任务选择策略。
Description
背景技术
本说明书涉及训练机器学习模型。
机器学习模型接收输入并且基于接收到的输入和模型的参数值生成输出,例如预测的输出。
神经网络是采用一个或多个非线性单元层来预测对于接收到的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是接收输入序列并且从输入序列生成输出序列的神经网络。特别地,递归神经网络可以使用来自先前时间步长的网络内部状态的一些或全部来计算当前时间步长的输出。递归神经网络的示例是包括一个或多个长短期(long short term,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)关于作为在所选批上训练机器学习模型的一部分而生成的模型参数的、损失函数的梯度的梯度向量之间的乘积。
在一些实施方式中,任务选择策略是为多个任务中的每个任务分配相应可能性的策略,并且根据当前任务选择策略从多个任务中选择任务包括根据由当前任务选择策略分配的可能性随机地选择任务。
在一些实施方式中,任务选择策略是对抗性强盗策略(adversarial banditspolicy),其中使用学习进度测量更新当前任务选择策略包括:从学习进度测量确定收益;以及使用对抗性强盗算法(adversarial bandits algorithm)基于收益更新当前任务选择策略。
在一些实施方式中,确定收益包括:通过将学习进度测量除以所选任务的归一化因子,将学习进度测量归一化以生成归一化的学习进度测量;以及通过将归一化的学习进度测量缩放到落在收益范围内来生成收益。
在一些实施方式中,所选任务的归一化因子是机器学习模型生成对于所选任务中的训练输入的输出所需的时间或所需的时间的近似值。
在一些实施方式中,近似值是机器学习模型生成对于所选批中的训练输入的输出所需的时间步长的数量、或所选批中的训练输入中的每一个中的单独输入的数量。
在一些实施方式中,从所选任务中的多批训练数据中选择一批训练数据包括:从所选任务中的多批训练数据中随机地选择一批训练数据。
在一些实施方式中,机器学习模型是递归神经网络。
根据第三方面,提供了用于训练具有多个模型参数的机器学习模型以从模型参数的初始值确定模型参数的训练值的方法,该方法包括:接收用于训练机器学习模型的训练数据,其中训练数据被分区为多个分区,并且其中每个分区包括相应的多批训练数据;并且通过重复执行以下操作来在训练数据上训练机器学习模型:根据当前分区选择策略从多个分区中选择分区;从所选分区的多批训练数据中选择一批训练数据;在所选的一批训练数据上训练机器学习模型,以从模型参数的当前值确定模型参数的更新值;确定作为在所选的一批训练数据上训练机器学习模型的结果表示机器学习模型的训练进度的学习进度测量;以及使用学习进度测量来更新当前分区选择策略。
以上方面可以以任何方便的形式实现。例如,可以由适当的计算机程序实现方面和实施方式,该计算机程序可以在适当的载体介质上承载,该载体介质可以是有形载体介质(例如,磁盘)或无形载体介质(例如,通信信号)。也可以使用可以采用运行计算机程序的可编程计算机的形式的合适的装置来实现各方面。
可以实现本说明书中所描述的主题的特定实施例,以便实现以下优点中的一个或多个。通过在训练期间动态地修改任务选择策略,如本说明书中所描述的训练系统可以使策略适应模型在训练过程中发展出的能力。此外,如本说明书中所描述的训练系统可以基于机器学习模型的复杂度增加的比率使用新颖的学习进度信号来测量学习进度。通过结合这些(和其他的)改进,如本说明书中描述的训练系统可以比不包含这些改进的传统训练系统更快地(例如,在更少的训练迭代上)训练机器学习模型。因为如本说明书中描述的训练系统可以比传统训练系统更快地训练机器学习模型,所以本说明书中描述的训练系统可以比传统训练系统消耗更少的计算资源(例如,存储器和计算功率)。
例如,通过在训练期间自适应地修改任务选择策略以考虑模型的变化能力,如本说明书中所描述的训练系统可以在最大化机器学习模型的学习进度的任务进度上训练机器学习模型。通过在训练期间最大化机器学习模型的学习进度,相对于具有静态任务选择策略的训练系统,如本说明书中所描述的训练系统可以需要更少的训练迭代来训练机器学习模型。
作为另一示例,与传统的学习进度信号相比,机器学习模型的复杂度增加的比率可以是更准确的学习进度信号(即,可以更好地反映机器学习模型的实际学习进度)。通过基于更准确的学习进度信号对学习进度进行测量,如本说明书中所描述的训练系统在训练期间最大化机器学习模型的学习进度,并且因此可以要求更少的迭代来训练机器学习模型。
此外,如本说明书中所描述的训练系统可以确定训练过的机器学习模型参数,其中训练过的机器学习模型参数导致训练过的机器学习模型相对于由传统训练系统训练的机器学习模型的更好的任务性能(例如,更高的预测准确度)。特别地,因为如本说明书中所描述的训练系统相对于传统训练系统(如前所述)在训练期间实现了机器学习模型的更大的学习进度,所以相对于由传统训练系统在固定数量迭代训练的机器学习模型,由本说明书所述的训练系统在相同的固定数量迭代训练的机器学习模型可以具有更好的任务性能。
本说明书中主题的一个或多个实施例的细节在附图和以下描述中被阐明。从说明书、附图和权利要求,本主题的其他特征、方面和优点将变得明显。
附图说明
图1A示出了示例训练系统。
图1B示出了训练数据、任务、批、和训练样例的示例。
图2是用于训练机器学习模型的示例过程的流程图。
图3是用于更新任务选择策略的示例过程的流程图。
各附图中相同的附图标记和名称指示相同的元件。
具体实施方式
图1A示出了训练系统100的示例。训练系统100是被实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中下面所述的系统、组件、和技术被实现。
训练系统100被配置为基于训练数据102来训练机器学习模型118。
模型118被配置为接收输入并且根据机器学习模型参数116的集合的当前值处理该输入以生成对于输入的输出。例如,如果模型118是神经网络,则模型参数116可以包括神经网络的神经元连接的权重值。可以从定义模型参数116的可能值的集合的概率分布的模型参数分布124采样模型参数116的集合的当前值。例如,模型参数分布124可以通过具有不同平均值和标准偏差的正态分布来表征模型参数中的每一个。
模型118可以是各种监督机器学习模型(诸如神经网络模型(例如,递归神经网络)、随机森林模型、支持向量机模型或线性回归模型)中的任何一种。通常,模型118可以被配置为接收包括但不限于图像、视频、声音和文本数据的任何类型的数字数据输入,并且基于输入生成任何类型的分数、预测、分类或回归输出。输出数据可以与输入数据具有相同的或者不同的类型或模态。模型的一些应用如下所述;其他应用包括在机器控制系统中的使用。
例如,如果对模型118的输入是图像或已经从图像提取的特征,由模型118生成的对于给定图像的输出可以是对于对象类别集中的每一个的分数,其中每个分数表示图像描绘属于该类别的对象的估计可能性。
作为另一示例,如果对模型118的输入是互联网资源(例如,网页)、文档或文档的一部分、或者从互联网资源、文档或文档的一部分提取的特征,则由模型118生成的对于给定的网络资源、文档或文档的一部分的输出可以是对于主题的集合中的每一个的分数,其中每个分数表示互联网资源、文档或文档部分是关于主题的估计可能性。
作为另一示例,如果对模型118的输入是对于特定广告的印象上下文的特征,则由模型118生成的输出可以是表示将被点击的特定广告的估计可能性的分数。
作为另一示例,如果对模型118的输入是对于用户的个性化推荐的特征,例如,表征推荐的上下文的特征,例如,表征用户采取的先前动作的特征,则由模型118生成的输出可以是对于内容项的集合中的每一个的分数,其中每个分数表示用户将有利地响应于推荐的内容项的估计可能性。
作为另一示例,如果对模型118的输入是一种语言的文本序列,则由模型118生成的输出可以是对于另一种语言的文本片段的集合中的每一个的分数,其中每个分数表示另一种语言的文本片段是输入文本到另一种语言的正确翻译的估计可能性。
作为另一示例,如果对模型118的输入是表示说出的话语的序列,则由模型118生成的输出可以是对于文本片段的集合中的每一个的分数,其中每个分数表示该文本片段是话语的正确转录本(transcript)的估计可能性。
训练数据102包括多个训练样例。每个训练样例包括对模型118的输入和对应目标输出。对应于输入的目标输出指的是响应于处理输入的模型118的优选输出。训练数据102包括指定多个任务120的数据。任务是来自训练数据102的多批训练样例的集合。一批训练样例指的是一个或多个训练样例的集合。参照图1B,描述了训练数据、任务、批和训练样例的示例图示。
通常,特定训练样例可以被包括在多个批中,特定批的训练数据可以被包括在多个任务中,并且不同批可以包括不同数量的训练样例。
系统100训练模型118以对每个不同任务中的训练样例良好地执行(即,进行准确预测)。如果通过处理训练样例的输入模型生成类似于训练样例的目标输出的输出,则称模型对训练样例做出准确预测。例如,系统100可以训练模型118,目的是最小化目标函数:
其中N是不同任务的数量并且是任务k上的模型118的损失,其中任务上的模型118的损失可以由下式给出:
其中指的是关于包括在任务k中的批的期望值并且L(x)指的是由模型118生成的对于批x中的训练样例的输入的输出上被评估的损失函数114。通常,损失函数114测量由模型118生成的输出的准确度(如下面将参照210的描述更详细地进行描述)。
每个任务包括不同性质的训练样例的批。通常,要对于特定任务中的训练样例良好地执行的训练模型118可以使模型对于其他任务中的训练样例更好地执行(即,进行更准确的预测)。在一些情况下,不同任务中的训练样例可能具有不同的语义。例如,如果系统100训练模型118来执行机器翻译,则不同批中的训练样例可以对应于不同语言之间的文本序列的翻译。在一些情况下,训练数据102包括指定任务中的一个或多个是目标任务的数据,目标任务是包括具有与训练模型118之后要由模型118处理的输入最相似的输入的训练样例的任务。在这些情况下,系统100可以训练模型118以对于目标任务中的训练样例良好地执行。在这些情况下,除了目标任务之外的任务(在本说明书中指的是辅助任务)可以包括训练样例的批,期望在这些训练样例上更容易训练模型118。在辅助任务上训练模型118可以有助于改进模型118在目标任务上的性能。例如,系统100可以训练模型118,目的是最小化由给出的目标函数,其中任务N是目标任务(并且其他任务是辅助任务)并且指的是任务N上模型118的损失(如上所述)。
系统100在迭代训练过程的多次迭代中训练模型118。
系统100包括任务选择引擎104,其被配置为在多次迭代的每次迭代中从任务120确定所选任务106。任务选择引擎104基于任务选择策略确定用于迭代的所选任务106。任务选择引擎104使用确定用于迭代的学习进度测量126在每次迭代更新任务选择策略。例如,任务选择策略可以是对抗性强盗算法。参照图3,描述了用于更新任务选择策略的示例过程。
系统100包括批选择引擎108,其被配置为在每次迭代时从用于迭代的所选任务106中确定训练样例的所选批110。批选择引擎108通过从所选任务106中随机地采样批来确定所选批110。
系统100包括训练引擎112,其被配置为在每次迭代时基于用于迭代的所选批110和损失函数114来训练模型118。
在一些实施方式中,训练引擎112通过从模型参数116的当前值确定模型参数116的更新值来训练模型118,以便减少损失函数114测量的所选批上的损失。
在一些其他的实施方式中,训练引擎通过从模型参数分布124的当前参数值确定模型参数分布124的更新参数值来训练模型118,以便减少损失函数114测量的所选批上的损失。
训练引擎112为每次迭代确定学习进度测量126。通常,用于迭代的学习进度测量126是指示作为来自用于迭代的所选批110中的训练样例上训练模型118的结果的训练模型118的进度的标量值。
在一些实施方式中,当系统100确定模型118的训练完成时,系统100存储模型118和经训练的模型参数116。在一些实施方式中,当系统100确定模型118的训练完成时,系统100将模型118和模型参数116提供给第三方。在一些实施方式中,当系统100确定模型118的训练完成时,系统100根据训练的模型参数116使用模型118处理输入(例如,来自用户设备)并且将模型118的对应输出提供给例如用户设备。
图1B是训练数据、任务、批和训练样例的示例的图示。训练数据142包括多个训练样例(例如,144)。每个训练样例包括输入(例如,146)和对应目标输出(例如,148)。每个批(例如,130、132、134、136、138、140、......)包括来自训练数据142的多个训练样例。任务(例如,126、128、......)中的每一个是多批训练样例的集合。例如,任务126与批130、134、138等相关联,而任务128与批132、136、140等相关联。如上所述,不同批的训练数据可以包括不同数量的训练样例,并且不同的任务可以与不同数量的批相关联。
图2是用于训练机器学习模型的示例过程的流程图。为了方便,过程200将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书被适当地编程的训练系统(例如,图1的训练系统100)可以执行过程200。
系统接收训练数据(202)。训练数据包括多个训练样例。每个训练样例包括对机器学习模型的输入和对应目标输出。输入可以是任何类型的数字数据并且目标输出可以是基于输入的任何类型的分数、分类或回归输出。训练数据指定多个任务。每个任务是来自训练数据的多批训练样例的集合。
系统根据任务选择策略选择任务(206)。具体地,任务选择策略给任务中的每一个分配相应的概率,并且系统根据分配给任务中的每一个的相应的概率随机地选择任务。通常,分配给任务中的每一个的相应的概率因迭代而不同。
系统从所选任务中选择一批训练样例用于迭代(208)。系统通过从所选任务中随机地采样批来选择批。
系统基于用于迭代的所选的一批训练样例训练模型(210)。系统可以使用任何适当的训练技术基于用于迭代的所选的一批训练样例训练模型。例如,如果模型是神经网络,则系统可以使用梯度下降来训练模型。
在一些实施方式中,系统通过从模型参数的当前值确定模型参数的更新值来训练模型,以便减少由损失函数测量的所选批上的损失。例如,损失函数可以由下式给出:
其中B是批x中的训练样例的数量,i是批x中的训练样例的索引,θ指的是模型的参数,并且pθ(bi|ai)是由与输入ai相对应的目标输出bi的模型生成的条件概率。
在一些其他实施方式中,系统通过从在模型参数的可能值的模型参数分布的当前参数值确定在模型参数的可能值的模型参数分布的更新参数值来训练模型,以便减少由损失函数测量的所选批上的损失。模型参数分布包括被称为先验分布的分布和被称为后验分布的分布。后验分布是通过训练被修改的分布。在一些情况下,先验分布可以是固定的,在这种情况下,先验分布的参数值不由系统在训练期间更新。损失函数可以由下式给出:
其中S是训练数据中的训练样例的数量,KL(·|·)是Kullback-Leibler(KL)散度测量(即,概率分布之间的距离测量),φ指的是后验分布参数,Pφ是模型参数的可能值的后验分布,ψ指的是先验分布参数,Qψ是模型参数的可能值的先验分布,并且指的是当模型参数由θ给出时,在所选批上的损失L(x,θ)(例如,如上所述)的期望值,其中θ是从后验分布Pφ中得出的。参考例如Graves,A.,“Practical variational inference forneural networks,”Advances in Neural Information Processing Systems(NIPS),2348--2356,2011.,描述了通过确定模型参数分布的更新参数值来训练模型的示例过程。
系统确定用于迭代的学习进度测量(212)。
在一些实施方式中,学习进度测量基于通过在所选批上训练模型而引起的模型输出的变化。
例如,学习进度测量可以由下式给出:
L(x,θ)-L(x,θ′),
其中L(x,θ)指的是在由模型根据模型参数的当前值θ生成的对于所选批x中的输入的输出上被评估的损失函数的值,并且L(x,θ′)指的是在由模型根据模型参数的更新值θ′生成的对于所选批x中的输入的输出上被评估的损失函数的值。
作为另一示例,学习进度测量可以由下式给出:
其中指的是关于作为所选批x上训练模型的部分而生成的模型参数θ的当前值的、损失函数L(x,θ)的梯度的梯度向量,并且|·|指的是范数。例如,范数可以是平方L2范数。
作为另一示例,学习进度测量可以由下式给出:
L(x′,θ)-L(x′,θ′),
其中L(x′,θ)指的是在由模型根据模型参数的当前值θ生成的对于新批x′中的输入的输出上被评估的损失函数的值,并且L(x′,θ′)指的是由模型根据模型参数的更新值θ′生成的对于新批x′中的输入的输出上被评估的损失函数的值。在一些情况下,系统从所选任务中选择新批。在一些其他情况下,系统从目标任务中选择新批。在一些其他情况下,系统随机地选择新任务并且从随机选择的新任务中选择新批。给定系统从其选择新批的特定任务,系统从特定任务的批中随机地选择新批。
在一些实施方式中,学习进度测量基于通过在所选批上训练模型而引起的模型复杂度的变化。
例如,学习进度测量可以由下式给出:
|θ′|-|θ|,
其中|·|指的是范数(例如,平方L2范数),θ′指的是模型参数的更新值的向量,并且θ指的是模型参数的当前值的向量。
作为另一示例,学习进度测量可以由下式给出:
其中θT指的是模型参数的当前值的向量的转置并且指的是在所选批x上关于模型参数θ的损失函数的梯度。
作为另一示例,学习进度测量可以由下式给出:
KL(Pφ′|Qψ′)-KL(Pφ|Qψ),
其中KL(·|·)指的是KL散度测量,Pφ′指的是由后验分布参数的更新值定义的后验分布,Pφ指的是由后验分布参数的当前值定义的后验分布,并且Qψ指的是在由先验分布参数的当前值定义的模型参数的可能值的先验分布。如果系统在训练期间更新先验分布参数的值,则Qψ′指的是由先验分布参数的更新值定义的先验分布。如果系统未在训练期间更新先验分布参数的值,则Qψ′指的是与Qψ相同的先验分布。
作为另一示例,学习进度可以由下式给出:
其中指的是关于由后验分布参数的当前值定义的后验分布Pφ和由先验分布参数的当前值定义的先验分布Qψ之间的KL散度的后验分布参数φ和先验分布参数ψ的梯度,[·]T指的是转置操作,并且指的是关于所选批上的损失L(x,θ)的期望的后验分布参数的梯度,其中关于从后验分布Pφ得出的模型参数θ取该期望。
系统确定训练是否完成(214)。在一些情况下,如果系统已经在预定次数的迭代中训练模型,则系统确定训练完成。在一些情况下,如果学习进度的测量的预定的迭代次数落在预定阈值以下,则系统确定训练完成。
响应于确定训练没有完成,系统基于(也就是取决于)所确定的用于迭代的学习进度测量来更新任务选择策略(218),返回206,并且重复前面的步骤。参照图3,描述了用于更新任务选择策略的示例过程。响应于确定训练完成(218),系统终止训练。
图3是用于更新任务选择策略的示例过程的流程图。为了方便,过程300将被描述为正被位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书被适当地编程的训练系统(例如,图1的训练系统100)可以执行过程300。
系统确定用于迭代的学习进度的归一化测量(302)。系统通过将用于迭代的学习进度的测量除以归一化因子来确定用于迭代的学习进度的归一化测量。
在一些实施方式中,归一化因子是模型生成对于所选任务中的训练样例的输入的输出所需的时间。可以按时间步长测量该时间。
在一些实施方式中,特别是当模型被配置为在一系列时间步长上处理输入(例如,如果模型是递归神经网络)时,则归一化因子是模型生成对于所选批的训练样例的输入的输出所需的时间步长的数量。
在一些实施方式中,归一化因子是所选批中的训练样例的输入中的每个输入中的单独输入的数量。例如,如果输入是自然语言(例如,英语)的单词序列,则输入中的单独输入的数量可以是输入中的单词的数量。
系统使用学习进度测量确定迭代的收益,例如通过缩放归一化的学习进度测量使其落在收益范围内(304),该收益范围可以是预定的范围。系统确定为先前迭代确定的归一化的学习进度测量的较低百分位数和较高百分位数(例如,第20百分位数和第80百分位数、或任何其他适当的百分位数)。在一些情况下,系统基于先前迭代的代表性样本而不是所有先前迭代的归一化的学习进度测量来确定相应的百分位数。例如,如果迭代的索引可被固定因子(例如,10)整除,则迭代可以被包括在先前迭代的代表性样本中。系统通过将用于迭代的归一化的学习进度测量映射到落在预定的范围内来确定迭代的收益(payoff),例如,基于映射:
其中r是用于迭代的归一化的学习进度测量,plow是较低的百分位数,并且phigh是较高的百分位数,并且预定的范围是[-1,1。
系统使用对抗性强盗算法基于迭代的收益来更新任务选择策略。例如,对抗性强盗算法可以是Exp3.S算法,如在Auer,P.,Cesa-Bianchi,N.,Freund,Y.,Schapire,R.E.,“The nonstochastic multiarmed bandit problem,”SIAM Journal on Computing,32(1):48—77.中所描述的。作为另一个示例,对抗性强盗算法可以是Exp3.M算法,如在Uchiya,T.,Nakamura,A.,Kudo,M.,“Algorithms for adversarial bandit problemswith multiple plays,”Proceedings of the International Conference onAlgorithmic Learning Theory,2010.中所描述的。对抗性强盗算法可以被描述为以最小化遗憾(regret)为目的来选择动作的算法,遗憾可以定义为与最佳动作相比时的期望收益损失。使用对抗性强盗算法,系统通过更新任务的相应的选择概率来更新任务选择策略,目的是最大化在多次训练迭代上取得的收益的和。
本说明书结合系统和计算机程序组件使用术语“已配置”。对于要配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已在其上安装了软件、固件、硬件或它们的组合,软件、固件、硬件或它们的组合在运行时使系统执行操作或动作。对于要配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以实现在数字电子电路中、在有形地可实施的计算机软件或固件中、在计算机硬件中,包括本说明书中公开的结构和其结构等同物,或者实现在它们中一个或多个的组合中。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,以用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。可替代地或另外地,程序指令可以在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上被编码,人工生成的传播信号被生成以对信息进行编码,以用于传输到合适的接收器设备来由数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器,计算机或多个处理器或计算机。该装置还可以或者进一步包括专用逻辑电路,例如FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application-specific integrated circuit,专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统、或者它们中一个或多个的组合。
计算机程序(也可以被称为或被描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言、或者声明语言或程序语言)编写;并且它可以以任何形式(包括作为独立程序或作为模块、组件、子程序或适用于计算环境的其他单元)被部署。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本、在专用于所讨论的程序的单个文件中、或者存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并且通过数据通信网络互连的多个计算机上执行计算机程序。
在本说明书中,术语“引擎”被广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在同一个计算机或多个计算机上安装和运行多个引擎。
本说明书中所描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并且生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或者两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或可操作地耦合到一个或多个大容量存储设备,以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或者两者。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入在另一个设备(例如,移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(Global Positioning System,GPS)接收器或便携式存储设备(例如,通用串行总线(universal serial bus,USB)闪存驱动器),仅举几例)中。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM磁盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示器)监视器)、和用户可以通过其向计算机提供输入的键盘以及指示设备(例如鼠标或跟踪球)。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音输入、语音输入或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网页浏览器接收的请求将网页发送到用户设备上的网页浏览器。并且,计算机可以通过向个人设备(例如,运行消息收发应用程序的智能电话)发送文本消息或其他形式的消息来与用户交互,并且从用户接收响应消息作为回复。
用于实现机器学习模型的数据处理装置还可以包括,例如,用于处理机器学习训练或生产的公共和计算密集部分(即推理、工作负载)的专用硬件加速器单元,。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)的计算系统中实现,或者在包括中间设备组件(例如,应用服务器)的计算系统中实现,或者在包括前端-终端组件(例如,具有图形用户界面的、网页浏览器或应用的客户端计算机,通过该客户端计算机,用户可以与本说明书中描述主题的实施方式交互)的计算系统中实现,或者在包括一个或多个这样的后端组件、中间设备组件、或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(local area network,LAN)和广域网(wide area network,WAN)(例如,互联网)。
计算系统可以包括客户端和服务器。客户端和服务器通常相互远离,并且典型地通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器传输数据(例如,HTML页面)到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从该用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实现细节,但是这些不应该被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在分离的实施例的上下文中本说明书中所描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以分离地或以任何合适的子组合在多个实施例中实现。此外,尽管特征在上面可以被描述为以某种组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中切除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变化。
相似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了操作,这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者要求执行所有示出的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在权利要求的范围内。例如,权利要求中叙述的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或按顺序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。
Claims (23)
1.一种训练具有多个模型参数的机器学习模型以从模型参数的初始值确定模型参数的训练值的方法,所述方法包括:
接收用于在多个任务上训练机器学习模型的训练数据,其中每个任务包括相应的多批训练数据;以及
通过重复地执行以下操作来在所述训练数据上训练机器学习模型:
根据当前任务选择策略从所述多个任务中选择任务;
从所选任务的多批训练数据中选择一批训练数据;
在所选的一批训练数据上训练机器学习模型,以从所述模型参数的当前值确定所述模型参数的更新值;
确定表示作为在所选的一批训练数据上训练机器学习模型的结果的机器学习模型的训练进度的学习进度测量;以及
使用所述学习进度测量来更新所述当前任务选择策略。
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)散度;以及
确定(i)由所述后验分布参数的当前值定义的后验分布和(ii)所述模型参数的可能值的先验分布之间的第二KL散度,并且
其中,所述学习进度测量包括所述第一KL散度和所述第二KL散度之间的差。
11.如权利要求10所述的方法,其中,所述先验分布由先验分布参数定义,其中在所选的一批训练数据上训练机器学习模型包括从所述先验分布参数的当前值确定所述先验分布参数的调整值,其中第一KL散度是(i)由所述后验分布参数的更新值定义的后验分布和(ii)由所述先验分布参数的更新值定义的先验分布之间的KL散度,并且其中第二KL散度是(i)由所述后验分布参数的当前值定义的后验分布和(ii)由所述先验分布参数的当前值定义的先验分布之间的KL散度。
12.如权利要求9所述的方法,
其中,在所选的一批训练数据上训练机器学习模型包括从先验分布参数的当前值确定先验分布参数的调整值,其中所述先验分布参数参数化所述模型参数的可能值的先验分布,并且
其中,所述学习进度测量基于a)关于(i)由所述后验分布参数的当前值定义的后验分布和(ii)由所述先验分布参数的当前值定义的先验分布之间的KL散度的所述先验分布参数和所述后验分布参数的梯度、以及b)关于由损失函数测量的所选批上的损失的期望的后验分布参数的梯度。
13.如权利要求1至12中任一项所述的方法,其中,所述学习进度测量基于所述模型参数的更新值的向量的第一范数与所述模型参数的当前值的向量的第二范数之间的差。
14.如权利要求1至13中任一项所述的方法,其中,所述学习进度测量基于(i)所述模型参数的当前值的向量的转置和(ii)关于作为在所选批上训练机器学习模型的一部分而生成的所述模型参数的、损失函数的梯度的梯度向量之间的乘积。
15.如权利要求1至14中任一项所述的方法,其中,所述任务选择策略是为所述多个任务中的每个任务分配相应可能性的策略,并且其中,根据当前任务选择策略从所述多个任务中选择任务包括根据由所述当前任务选择策略分配的可能性随机地选择任务。
16.如权利要求15所述的方法,其中,所述任务选择策略是对抗性强盗策略,其中使用所述学习进度测量更新当前任务选择策略包括:
从所述学习进度测量确定收益;以及
使用对抗性强盗算法基于所述收益更新所述当前任务选择策略。
17.如权利要求16所述的方法,其中,确定所述收益包括:
通过将所述学习进度测量除以所选任务的归一化因子,将所述学习进度测量归一化以生成归一化的学习进度测量;以及
通过将所述归一化的学习进度测量缩放到落在收益范围内来生成所述收益。
18.如权利要求17所述的方法中,其中,所选任务的归一化因子是机器学习模型生成对于所选任务中的训练输入的输出所需的时间或所需的时间的近似值。
19.如权利要求18所述的方法,其中,所述近似值是机器学习模型生成对于所选批中的训练输入的输出所需的时间步长的数量、或所选批中的训练输入中的每一个中的单独输入的数量。
20.如权利要求1至19中任一项所述的方法,其中从所选任务中的多批训练数据中选择一批训练数据包括:
从所选任务中的多批训练数据中随机地选择一批训练数据。
21.如权利要求1至20中任一项所述的方法,其中,机器学习模型是递归神经网络。
22.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行如权利要求1至21中任一项所述的相应方法的操作。
23.一种或多种计算机存储介质,其存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行如权利要求1至21中任一项所述的相应方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311499522.6A CN117709426A (zh) | 2017-02-24 | 2018-02-19 | 训练机器学习模型的方法、系统和计算机存储介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762463540P | 2017-02-24 | 2017-02-24 | |
US62/463,540 | 2017-02-24 | ||
PCT/EP2018/054000 WO2018153806A1 (en) | 2017-02-24 | 2018-02-19 | Training machine learning models |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311499522.6A Division CN117709426A (zh) | 2017-02-24 | 2018-02-19 | 训练机器学习模型的方法、系统和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110520871A true CN110520871A (zh) | 2019-11-29 |
CN110520871B CN110520871B (zh) | 2023-11-07 |
Family
ID=61244625
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311499522.6A Pending CN117709426A (zh) | 2017-02-24 | 2018-02-19 | 训练机器学习模型的方法、系统和计算机存储介质 |
CN201880013612.0A Active CN110520871B (zh) | 2017-02-24 | 2018-02-19 | 使用学习进度测量训练机器学习模型 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311499522.6A Pending CN117709426A (zh) | 2017-02-24 | 2018-02-19 | 训练机器学习模型的方法、系统和计算机存储介质 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10936949B2 (zh) |
EP (1) | EP3568811A1 (zh) |
CN (2) | CN117709426A (zh) |
WO (1) | WO2018153806A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461290A (zh) * | 2020-03-11 | 2020-07-28 | 北京百度网讯科技有限公司 | 模型参数更新方法及装置 |
CN112489794A (zh) * | 2020-12-18 | 2021-03-12 | 推想医疗科技股份有限公司 | 一种模型的训练方法、装置、电子终端及存储介质 |
CN113570207A (zh) * | 2021-07-09 | 2021-10-29 | 北京淇瑀信息科技有限公司 | 用户策略分配方法、装置及电子设备 |
WO2023100057A1 (en) * | 2021-11-30 | 2023-06-08 | International Business Machines Corporation | Providing reduced training data for training a machine learning model |
CN116710977A (zh) * | 2021-01-15 | 2023-09-05 | 埃尔构人工智能有限责任公司 | 用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11681910B2 (en) * | 2017-07-28 | 2023-06-20 | Sony Interactive Entertainment Inc. | Training apparatus, recognition apparatus, training method, recognition method, and program |
US11372522B2 (en) * | 2017-12-13 | 2022-06-28 | Google Llc | Intelligent people-centric predictions in a collaborative environment |
US11735028B2 (en) | 2018-06-12 | 2023-08-22 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
CN109740759B (zh) * | 2018-12-13 | 2024-05-03 | 平安科技(深圳)有限公司 | 学习模型优化与选择方法、电子装置及计算机设备 |
US11836583B2 (en) * | 2019-09-09 | 2023-12-05 | Huawei Cloud Computing Technologies Co., Ltd. | Method, apparatus and system for secure vertical federated learning |
CN110866609B (zh) * | 2019-11-08 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 解释信息获取方法、装置、服务器和存储介质 |
CN111191791B (zh) * | 2019-12-02 | 2023-09-29 | 腾讯云计算(北京)有限责任公司 | 基于机器学习模型的图片分类方法、装置及设备 |
CN111222553B (zh) * | 2019-12-30 | 2023-08-29 | 广州方硅信息技术有限公司 | 机器学习模型的训练数据处理方法、装置和计算机设备 |
CN111240282B (zh) * | 2019-12-31 | 2021-12-24 | 联想(北京)有限公司 | 一种工艺优化方法、装置、设备及计算机可读存储介质 |
CN111461207B (zh) * | 2020-03-30 | 2023-07-18 | 北京奇艺世纪科技有限公司 | 一种图片识别模型训练系统及方法 |
CN111523685B (zh) * | 2020-04-22 | 2022-09-06 | 中国科学技术大学 | 基于主动学习的降低性能建模开销的方法 |
KR20210150233A (ko) * | 2020-06-03 | 2021-12-10 | 삼성전자주식회사 | 이미지 처리 알고리즘의 최적화 방법 및 이를 구비한 전자 장치 |
US20220019909A1 (en) * | 2020-07-14 | 2022-01-20 | Adobe Inc. | Intent-based command recommendation generation in an analytics system |
US11216273B1 (en) * | 2020-09-08 | 2022-01-04 | Stripe, Inc. | Model training using build artifacts |
US20220180744A1 (en) * | 2020-12-09 | 2022-06-09 | Beijing Didi Infinity Technology And Development Co., Ltd. | System and method for task control based on bayesian meta-reinforcement learning |
US11838301B2 (en) * | 2021-04-28 | 2023-12-05 | Mastercard International Incorporated | System for detection of entities associated with compromised records |
US20230168938A1 (en) * | 2021-11-29 | 2023-06-01 | International Business Machines Corporation | Performing batched training for machine-learning pipelines |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140307958A1 (en) * | 2013-04-16 | 2014-10-16 | The Penn State Research Foundation | Instance-weighted mixture modeling to enhance training collections for image annotation |
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106462801A (zh) * | 2014-10-07 | 2017-02-22 | 谷歌公司 | 在分区训练数据上训练神经网络 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451065B2 (en) * | 2002-03-11 | 2008-11-11 | International Business Machines Corporation | Method for constructing segmentation-based predictive models |
US7352911B2 (en) * | 2003-07-31 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Method for bilateral filtering of digital images |
US7548892B2 (en) * | 2004-04-30 | 2009-06-16 | Microsoft Corporation | Processing machine learning techniques using a graphics processing unit |
US20090043597A1 (en) * | 2007-08-07 | 2009-02-12 | Yahoo! Inc. | System and method for matching objects using a cluster-dependent multi-armed bandit |
US20130198152A1 (en) * | 2010-09-10 | 2013-08-01 | LaShawn McGhee | Systems and methods for data compression |
WO2014179544A1 (en) * | 2013-05-01 | 2014-11-06 | Worcester Polytechnic Institute | Detection and monitoring of atrial fibrillation |
US9601109B2 (en) * | 2013-12-06 | 2017-03-21 | International Business Machines Corporation | Systems and methods for accelerating hessian-free optimization for deep neural networks by implicit preconditioning and sampling |
US10540587B2 (en) * | 2014-04-11 | 2020-01-21 | Google Llc | Parallelizing the training of convolutional neural networks |
US20160307113A1 (en) * | 2015-04-20 | 2016-10-20 | Xerox Corporation | Large-scale batch active learning using locality sensitive hashing |
WO2017031356A1 (en) * | 2015-08-19 | 2017-02-23 | D-Wave Systems Inc. | Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers |
CN108351987A (zh) * | 2015-08-19 | 2018-07-31 | D-波系统公司 | 用于使用绝热量子计算机进行机器学习的系统和方法 |
US10083169B1 (en) * | 2015-08-28 | 2018-09-25 | Google Llc | Topic-based sequence modeling neural networks |
US10535016B2 (en) * | 2015-10-27 | 2020-01-14 | Legility Data Solutions, Llc | Apparatus and method of implementing batch-mode active learning for technology-assisted review of documents |
RU2729116C2 (ru) * | 2015-12-16 | 2020-08-04 | Гритстоун Онколоджи, Инк. | Идентификация, производство и применение неоантигенов |
US10572800B2 (en) * | 2016-02-05 | 2020-02-25 | Nec Corporation | Accelerating deep neural network training with inconsistent stochastic gradient descent |
US9947102B2 (en) * | 2016-08-26 | 2018-04-17 | Elekta, Inc. | Image segmentation using neural network method |
EP3504034A1 (en) * | 2016-09-15 | 2019-07-03 | Google LLC. | Deep reinforcement learning for robotic manipulation |
US10748061B2 (en) * | 2016-12-19 | 2020-08-18 | Futurewei Technologies, Inc. | Simultaneous localization and mapping with reinforcement learning |
US11080475B2 (en) * | 2017-01-17 | 2021-08-03 | Microsoft Technology Licensing, Llc | Predicting spreadsheet properties |
US10713317B2 (en) * | 2017-01-30 | 2020-07-14 | Adobe Inc. | Conversational agent for search |
-
2018
- 2018-02-19 CN CN202311499522.6A patent/CN117709426A/zh active Pending
- 2018-02-19 WO PCT/EP2018/054000 patent/WO2018153806A1/en unknown
- 2018-02-19 CN CN201880013612.0A patent/CN110520871B/zh active Active
- 2018-02-19 EP EP18705928.2A patent/EP3568811A1/en active Pending
-
2019
- 2019-07-10 US US16/508,042 patent/US10936949B2/en active Active
-
2021
- 2021-01-27 US US17/159,961 patent/US20210150355A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140307958A1 (en) * | 2013-04-16 | 2014-10-16 | The Penn State Research Foundation | Instance-weighted mixture modeling to enhance training collections for image annotation |
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106462801A (zh) * | 2014-10-07 | 2017-02-22 | 谷歌公司 | 在分区训练数据上训练神经网络 |
Non-Patent Citations (1)
Title |
---|
戴朝晖;袁姣红;吴敏;陈鑫;: "基于概率模型的动态分层强化学习", 控制理论与应用, no. 11 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461290A (zh) * | 2020-03-11 | 2020-07-28 | 北京百度网讯科技有限公司 | 模型参数更新方法及装置 |
CN111461290B (zh) * | 2020-03-11 | 2023-09-22 | 北京百度网讯科技有限公司 | 模型参数更新方法及装置 |
CN112489794A (zh) * | 2020-12-18 | 2021-03-12 | 推想医疗科技股份有限公司 | 一种模型的训练方法、装置、电子终端及存储介质 |
CN116710977A (zh) * | 2021-01-15 | 2023-09-05 | 埃尔构人工智能有限责任公司 | 用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 |
CN116710977B (zh) * | 2021-01-15 | 2024-04-16 | 埃尔构人工智能有限责任公司 | 用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 |
CN113570207A (zh) * | 2021-07-09 | 2021-10-29 | 北京淇瑀信息科技有限公司 | 用户策略分配方法、装置及电子设备 |
CN113570207B (zh) * | 2021-07-09 | 2024-04-26 | 北京淇瑀信息科技有限公司 | 用户策略分配方法、装置及电子设备 |
WO2023100057A1 (en) * | 2021-11-30 | 2023-06-08 | International Business Machines Corporation | Providing reduced training data for training a machine learning model |
US11853392B2 (en) | 2021-11-30 | 2023-12-26 | International Business Machines Corporation | Providing reduced training data for training a machine learning model |
Also Published As
Publication number | Publication date |
---|---|
EP3568811A1 (en) | 2019-11-20 |
US20190332938A1 (en) | 2019-10-31 |
CN110520871B (zh) | 2023-11-07 |
CN117709426A (zh) | 2024-03-15 |
US20210150355A1 (en) | 2021-05-20 |
WO2018153806A1 (en) | 2018-08-30 |
US10936949B2 (en) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110520871A (zh) | 训练机器学习模型 | |
KR102240662B1 (ko) | 광역 및 심층 기계 학습 모델들 | |
EP3711000B1 (en) | Regularized neural network architecture search | |
US11295208B2 (en) | Robust gradient weight compression schemes for deep learning applications | |
EP3446260B1 (en) | Memory-efficient backpropagation through time | |
EP3596663B1 (en) | Neural network system | |
CN110766142A (zh) | 模型生成方法和装置 | |
CN109923560A (zh) | 使用变分信息瓶颈来训练神经网络 | |
CN110366734A (zh) | 优化神经网络架构 | |
KR20190113928A (ko) | 강화 학습을 통한 디바이스 배치 최적화 | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
US20240127058A1 (en) | Training neural networks using priority queues | |
CN109313721A (zh) | 训练机器学习模型 | |
CN108701253A (zh) | 使用规范化的目标输出训练神经网络 | |
CN110114784A (zh) | 递归神经网络 | |
WO2018201151A1 (en) | Neural network optimizer search | |
US20200234145A1 (en) | Action selection using interaction history graphs | |
US11755879B2 (en) | Low-pass recurrent neural network systems with memory | |
CN108369664A (zh) | 调整神经网络的大小 | |
JP2020506488A (ja) | バッチ再正規化層 | |
CN110402445A (zh) | 使用递归神经网络处理序列数据 | |
CN110462638A (zh) | 使用后验锐化训练神经网络 | |
US11893480B1 (en) | Reinforcement learning with scheduled auxiliary control |
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 |