CN110168578B - 具有任务特定路径的多任务神经网络 - Google Patents

具有任务特定路径的多任务神经网络 Download PDF

Info

Publication number
CN110168578B
CN110168578B CN201880005904.XA CN201880005904A CN110168578B CN 110168578 B CN110168578 B CN 110168578B CN 201880005904 A CN201880005904 A CN 201880005904A CN 110168578 B CN110168578 B CN 110168578B
Authority
CN
China
Prior art keywords
machine learning
network
path
candidate
task
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.)
Active
Application number
CN201880005904.XA
Other languages
English (en)
Other versions
CN110168578A (zh
Inventor
丹尼尔·彼得·维尔斯特拉
克里桑塔·托马斯·费尔南多
亚历山大·普里策尔
迪伦·苏尼尔·巴纳尔斯
查尔斯·布伦代尔
安德烈-亚历山德鲁·鲁苏
约里·茨沃尔斯
戴维·哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN110168578A publication Critical patent/CN110168578A/zh
Application granted granted Critical
Publication of CN110168578B publication Critical patent/CN110168578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Physiology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

用于使用多任务神经网络的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。一种方法包括接收第一网络输入以及识别要在第一网络输入上执行的第一机器学习任务的数据;选择特定于第一机器学习任务的通过超神经网络中多个层的路径,所述路径针对每一层指定层中的在执行第一机器学习任务时被指派为活动的模块化神经网络的真子集;并且使超神经网络使用(i)对于每一层,层中的被所选择的路径指派为活动的模块化神经网络,以及(ii)对应于所识别的第一机器学习任务的一个或多个输出层的集合来处理第一网络输入。

Description

具有任务特定路径的多任务神经网络
背景技术
本说明书涉及神经网络。
神经网络是使用一个或多个非线性单元层来预测对于接收到的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每一个隐藏层的输出被用作对网络中下一层——即下一个隐藏层或输出层——的输入。网络中的每一层根据相应的参数集合的当前值从接收到的输入生成输出。
一些神经网络是循环神经网络。循环神经网络是接收输入序列并且根据输入序列生成输出序列的神经网络。特别地,循环神经网络可以将来自先前时间步骤的网络的一些或全部内部状态用于在当前时间步骤处计算输出。循环神经网络的示例是包括一个或多个LSTM存储器块的长短期(LSTM)神经网络。每一个LSTM存储器块可以包括一个或多个单元,其中每一个单元包括允许单元存储单元的先前状态的输入门、忘记门和输出门,例如,用于生成当前的激活或被提供到LSTM神经网络的其他部件。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的允许相同的神经网络用于执行多个机器学习任务的系统。
因此在一个方面,系统包括一个或多个计算机以及存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时使得一个或多个计算机实现超神经网络。超神经网络包括一个接一个地布置在堆栈中的多个层。每一层包括相应的多个模块化神经网络并且每一层中的模块化神经网络均被配置为接收用于该层的层输入并生成相应的模块化输出。超神经网络还包括多个一个或多个输出层的集合,其中每一个输出层的集合对应于来自多个机器学习任务的不同机器学习任务并且其中每个一个或多个输出层的集合(共同地)被配置为接收堆栈输出并且生成特定于相应的机器学习任务的神经网络输出。系统还包括被配置为执行操作的子系统,所述操作包括:接收第一网络输入以及从多个机器学习任务中识别要在第一网络输入上执行的第一机器学习任务的数据;选择特定于第一机器学习任务的通过多个层的路径,路径对每一层指定层中的在执行第一机器学习任务时被指派为活动的模块化神经网络的真子集;并且使超神经网络使用(i)对每一层,层中的被所选择的路径指派为活动的模块化神经网络,以及(ii)对应于所识别的第一机器学习任务的一个或多个输出层的集合来处理第一网络输入。
如稍后更详细地描述的,所描述的系统的示例能够有效地学习和执行多个任务。
在一些实施方式中,超神经网络进一步包括:堆栈中多个层中的每一层之后的相应的组合层。每一个组合层可以被配置为接收由组合层之前的层中的当前活动的模块化神经网络生成的模块化输出;并组合由当前活动的模块化神经网络生成的模块化输出以生成组合输出。在一些实施方式中,除了在堆栈中的最后一层之后的组合层之外的每一个组合层的组合输出是用于该组合层之后的层的层输入。堆栈中的最后一层之后的组合层的组合输出可以是堆栈输出。
每一个模块化神经网络可以包括被传递函数层跟随的一个或多个神经网络层,所述传递函数层将传递函数应用于神经网络层的输出。传递函数可以是逐元素激活函数,例如整流线性单元函数。
模块化神经网络中的至少一个可包括一个或多个循环神经网络层。循环神经网络层中的一些或全部可以是长短期记忆(LSTM)层。
模块化神经网络中的至少一个可以包括卷积神经网络层。模块化神经网络中的至少一个可以包括完全连接的神经网络层。
至少两个层可以在真子集中具有不同数量的活动的模块化神经网络。每一层可以在真子集中具有至少一个并且不超过预定数量的活动的模块化神经网络。
子系统执行的操作可以进一步包括:接收第二网络输入以及从多个机器学习任务识别要在第二网络输入上执行的不同的第二机器学习任务的数据;选择特定于第二机器学习任务的通过多个层的不同的第二路径,第二路径对层中的每一个指定层中的在执行第二机器学习任务时被指派为活动的模块化神经网络的第二真子集;并且使超神经网络使用(i)对每一层,层中的被第二路径指派为活动的模块化神经网络,以及(ii)对应于第二机器学习任务的一个或多个输出层的集合来处理第二网络输入。
还描述了一种在来自多个机器学习任务的特定机器学习任务上训练如上所述的超神经网络的方法。方法可以包括:选择通过多个层的多个候选路径,候选路径中的每一个对层中的每一个指定层中的在执行特定机器学习任务时被指派为活动的模块化神经网络的相应的真子集;在多个候选路径中的每一个上训练超神经网络,其中在多个候选路径中的每一个上训练超神经网络包括:对候选路径中的每一个训练超神经网络,同时仅使用被候选路径指派为活动的模块化神经网络以及对应于特定机器学习任务的输出层来处理训练输入;基于候选路径上的超神经网络的训练的结果来确定多个候选路径中的每一个的适应性;并且选择具有最佳适应性的候选路径作为用于特定机器学习任务的最佳适应路径。
在方法的一些实施方式中,演进和学习可以同时发生。方法可以将通过超神经网络的路径的总体向超神经网络参数的有限子集演进,并且然后可以在学习后固定这些参数以保留相应的功能。
选择多个候选路径可以包括:选择第一候选路径和第二候选路径;根据在第一候选路径以及第二候选路径上训练超神经网络来确定第一候选路径具有比第二候选路径更好的适应性;并且基于确定第一候选路径具有比第二候选路径更好的适应性:通过改变第一候选路径中的活动的模块化神经网络中的一个或多个来变化第一候选路径;并用变化的第一候选路径替换第二候选路径。
变化第一候选路径可以包括,对于被第一候选路径指派为活动的每一个模块化神经网络:确定是否替换模块化神经网络;并且响应于确定替换模块化神经网络而将模块化神经网络指派为不活动并且将相同的层中的另一模块化神经网络指派为活动。确定是否替换模块化神经网络可以包括确定用与1除以第一候选路径中的模块化神经网络的总数相等或成比例的概率来替换模块化神经网络。
在多个候选路径中的每一个上训练超神经网络可以包括并行地在初始多个候选路径上训练超神经网络。选择多个候选路径可以包括,对于初始多个中的每一个候选路径:确定初始多个中的其他候选路径的子集中的任何一个是否具有比候选路径更好的适应性;并且如果子集中的任何一个具有更好的适应性:识别具有子集中的其他候选路径的最佳适应性的子集中的候选路径;通过改变所识别的候选路径中的活动的模块化神经网络中的一个或多个来变化所识别的候选路径;并用变化的所识别的候选路径替换候选路径。选择多个候选路径可以进一步包括:如果子集中的候选路径中没有一个具有更好的适应性,则保持候选路径以用于进一步训练。对于初始多个中的每一个候选路径,可以随机选择其他候选路径的子集。
在多个候选路径中的每一个上训练超神经网络可以包括:在训练期间,保持用于已经对其确定了最佳适应路径的多个机器学习任务中的任何机器学习任务的最佳适应路径中的任何模块化神经网络的参数的固定值。
方法可以进一步包括固定被用于特定机器学习任务的最佳适应路径指派为活动的模块化神经网络的参数的值以在多个机器学习任务中的其他任务上的超神经网络的训练期间不被调整。
进一步描述了一种在序列的多个机器学习任务上从序列中第一机器学习任务到序列中的最后一个机器学习任务来训练如上所述的超神经网络的方法。方法可以包括获取用于第一机器学习任务的第一训练数据;并且在第一训练数据上训练超神经网络以确定用于第一机器学习任务的通过多个层的最佳适应路径,同时(i)保持用于在序列中比第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径中的任何模块化神经网络的固定的参数值,以及(ii)调整不在在用于序列中比第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径中的其他模块化神经网络的参数值。
在一些实施方式中,沿着针对第一任务学习的第一路径固定参数便于可以重用第一路径的部分的第二任务的更快的学习。
方法可以进一步包括重新初始化不在第一机器学习任务的最佳适应路径中或者在序列中比第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径的任何一个中的模块化神经网络的参数值;获取用于在序列中跟随第一机器学习任务的第二机器学习任务的第二训练数据;并且在第二训练数据上训练超神经网络以确定用于第二机器学习任务的通过多个层的最佳适应路径,同时(i)保持在用于第一机器学习任务的最佳适应路径中或者在序列中比第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径中的任何一个中的任何模块化神经网络的参数的固定值,以及(ii)调整不在在用于第一机器学习任务的最佳适应路径中或者在序列中比第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径中的任何一个的其他模块化神经网络的参数的值。
在第一训练数据上训练超神经网络以确定用于第一机器学习任务的通过多个层的最佳适应路径可以包括,选择多个候选路径;并且对于多个候选路径中的每一个:通过在模块化神经网络在候选路径中被指派为活动的时在第一机器学习任务上训练超神经网络来评估候选路径的适应性;并且选择具有最佳适应性的候选路径作为当前最佳路径。方法进一步可以包括变化当前最佳路径以生成变化的当前最佳路径;并且将变化的当前最佳路径包括在新的多个候选路径中以用于评估。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
通过允许相同的超神经网络用于多个任务,系统比传统系统即对于每一个任务使用不同神经网络的系统,消耗更少的计算资源,即存储器和处理功率,而同时仍然具有等于或优于传统方法的性能。特别地,因为系统不必为多个不同的机器学习任务存储多个不同的神经网络,所以系统可以使用较少的存储容量。
另外,在新的任务上训练超神经网络时,系统有效地利用在先前任务上训练超神经网络时确定的参数值。因此,使用所描述的技术,可以比传统方法更快地并且使用更少的计算资源来训练超神经网络。特别地,通过固定已经包括在用于现有任务的路径中的模块化神经网络的参数值并且允许将那些模块化神经网络包括在用于新任务的候选路径中,系统可以利用任务之间的相似性来减少新任务的训练时间和训练复杂度。与传统方法相比,这允许超神经网络在新任务上实现改进的性能,而同时减少新任务的训练时间。
在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1A示出了示例神经网络系统。
图1B示出了通过超神经网络的示例的示例路径。
图1C示出了训练神经网络以执行多个任务的多种方法的图。
图2是用于使用超神经网络处理网络输入的示例过程的流程图。
图3是用于在新的机器学习任务上训练超神经网络的示例过程的流程图。
图4是用于在新的机器学习任务上训练超神经网络的另一示例过程的流程图。
各图中相似的附图标记和指定指示相似的元素。
具体实施方式
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,所述系统允许使用相同的神经网络执行多个不同的机器学习任务。尽管描述的技术通常适用于许多不同的神经网络任务,任务中的一些或全部可以是强化学习任务,还包括监督和无监督学习以及数据分类。
例如多个机器学习任务可以包括多个不同的图像处理任务,例如一个或多个不同的图像识别任务,其中每一个图像识别任务需要识别图像中的不同对象或图案。更一般地,任务可以包括针对数字数据输入生成任何类型的分类或回归输出的得分的任务。
作为另一示例,多个机器学习任务可以包括多个不同的语音识别任务,例如其中每一个任务需要识别不同的热词或热词序列的多个热词检测任务、需要识别不同语言的语音的语音识别任务等。
任务还可以包括处理诸如文本序列或口语表达的数据序列并且输出可以被翻译为不同语言或表示的序列。
作为另一示例,多个机器学习任务可以包括不同的机器人学习任务,即涉及选择要由与环境交互的机器人执行的动作的任务。也就是说,多个机器学习任务中的一些或全部可以包括选择要由尝试执行不同任务的相同机器人、尝试执行相同任务的不同机器人或尝试执行不同任务的不同机器人执行的动作。例如第一机器学习任务可以包括感觉运动学习任务,诸如运动(locomotion)。第二机器学习任务可以包括第二感觉运动学习任务,诸如抓握。后续的机器学习任务可以包括诸如活动对象分类的其他感觉运动学习任务,或诸如对象与人类同伴的联合操纵或语言学习任务的交互式学习任务。
更一般地,任务可以包括任何机器控制任务。对系统的输入可以包括来自机器操作的环境的真实世界数据并且来自系统的输出可以包括用于控制机器以执行任务的机器控制输出。或者,环境可以是模拟环境,系统的输入可以来自模拟环境并且来自系统的输出可以控制模拟环境中的实体。
作为另一示例,多个机器学习任务可以包括多个不同的内容推荐任务,例如每个任务可以用于有效地向不同用户或用户群推荐内容。任务还可以包括处理来自互联网的诸如文档、网页和其他资源的输入数据以例如确定表示资源与特定主题相关的可能性的得分。
图1A示出了示例神经网络系统100。神经网络系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,在其中可以实现下面描述的系统、部件和技术。
神经网络系统100是接收网络输入102并且使用超神经网络110处理网络输入102以生成针对网络输入102的网络输出112的系统。具体地,神经网络系统100能够接收网络输入并且针对多个不同的机器学习任务生成网络输出。通常,如果两个机器学习任务对于接收到的用于任务的输入具有不同的期望输出,则它们是不同的。例如如果每一个任务需要将输入图像分类到其中的对象类别是不同的,则两个图像分类任务可以是不同的。作为另一示例,如果两个任务需要生成定义要由机器人执行以达到两个不同目标的动作的输出,则两个机器人学习任务可以是不同的。
因为神经网络系统100能够处理多个不同机器学习任务的输入,所以系统100还接收指定将在网络输入102上执行哪个机器学习任务的任务数据152。
超神经网络110包括一个接一个地布置在堆栈中的多个层130A-130N。继而多个层中的每一个包括多个模块化神经网络。也就是说,尽管不同的层可以包括不同数量的模块化神经网络,但是每一层包括多个模块化神经网络。例如层130A包括模块化神经网络140A-N,而层130N包括模块化神经网络140M-P。
给定层内的模块化神经网络被配置为接收用于该层的层输入并且生成相应的模块化输出。也就是说,给定层中的每一个模块化神经网络接收相同的输入但可以生成不同的输出。例如,不同的模块化神经网络可以具有不同的参数值。
模块化神经网络的配置和架构取决于超神经网络110将用于的任务。然而,通常每个模块化神经网络包括后面跟随传递函数层的一个或多个神经网络层,所述传递函数层将传递函数应用于多个神经网络层的输出。传递函数可以是例如逐元素激活函数,例如整流线性单元函数或sigmoid函数。
特别地,模块化神经网络可以包括卷积神经网络层、完全连接的神经网络、循环神经网络层或上述的组合。不同层中的模块化神经网络可以包括不同种类的神经网络层。一些层中的模块化神经网络还可以包括具有或不具有可训练的参数的不是神经网络层的模块,例如空间变换器模块或者执行可微分操作的其他类型的模块。
在一些情况中,即使在给定层内,模块化神经网络的架构也可能不同。例如给定层中的一些模块化网络可能具有残差连接而其他模块化网络不具有。作为另一示例,给定层中的一些模块化网络可以具有跳过连接而其他模块化网络不具有。作为又一个示例,一些模块化网络可以比相同层中的其他模块化网络包括更多的线性层。
超神经网络110还包括多个输出层150A-150Z。
每一个输出层的集合包括一个或多个输出层,并且对应于可以使用超神经网络的多个机器学习任务的不同机器学习任务。
另外,每个一个或多个输出层的集合被共同配置为接收堆栈输出,即由层的堆栈生成的输出,并且生成特定于相对应的机器学习任务的神经网络输出。
在由超神经网络110处理网络输入期间,仅使用与在输入上执行的任务相对应的输出层的集合。
在图1A的示例中,输出层150A是对应于由任务数据152识别的任务的输出层并且因此使用虚线示出,而输出层150Z不对应于任务并且因此使用实线示出。
也就是说,对于需要单一类型的网络输出的任务,例如需要包括多个类别中的每一个的相应得分的得分向量的分类任务,超神经网络110将包括单个输出层,例如接收堆栈输出并生成网络输出——例如,并生成得分向量——的softmax输出层。
另一方面,对于需要多个不同类型的网络输出的任务,超神经网络110将包括多个输出层,多个输出层中的每一个对应于不同类型的网络输出并且每一个输出层被配置为接收堆栈输出并处理堆栈输出以生成相对应的类型的网络输出。
例如,对于需要策略读出即定义关于机器人要执行的可能动作的得分分布的输出、以及值函数读出即估计在当前状态下的值的输出的机器人任务,超神经网络110将包括对应于机器人任务的两个输出层,一个输出层接收堆栈输出并生成策略读出,并且另一个输出层接收堆栈输出并生成值函数读出。
为了确定如何处理网络输入102并且允许超神经网络110用于多个任务,神经网络系统100保持识别用于超神经网络110被配置为执行的任务中的每一个的相应路径的数据。
用于给定机器学习任务的路径针对超神经网络110中的每一层的指定层中的在执行第一机器学习任务时被指派为活动的模块化神经网络的真子集。因此,对于每一层,给定路径将包括层中的至少一个但少于全部的模块化神经网络。由于超神经网络110已被训练的方式,不同的机器学习任务将具有通过层的不同路径。也就是说,虽然不同的路径可以共享一个或多个模块化神经网络,但是两个不同的路径通常将由至少一个组成部分而不同。
在图1A的示例中,使用虚线示出了用于由任务数据152识别的任务的路径中的模块化神经网络。因此,模块化神经网络140A、模块化神经网络140N以及模块化神经网络140P在路径中并且使用虚线示出,而模块化神经网络140M不在路径中并且使用实线示出。
然后,系统100使超神经网络100通过使用(i)对于每一层,层中的被所选择的路径指派为活动的模块化神经网络,以及(ii)对应于第一机器学习任务的一个或多个输出层的集合处理神经网络输入102来针对神经网络输入102生成网络输出112。也就是说,未被所选择的路径指派为活动的模块化神经网络不用于处理网络输入。换句话说,只有活动的模块化神经网络接收输入并生成输出。因此,在处理任何给定的网络输入时,未使用超神经网络110中的全部模块化神经网络。
在图1A的示例中,模块化神经网络140N、模块化神经网络140P以及输出层150A用于处理网络输入102,而模块化神经网络140M和输出层150Z则不是。
考虑到在处理给定网络输入期间相同层中的多个模块化神经网络是活动的,在超神经网络110的每一层之后超神经网络还包括的相应的组合层132A-132N。
每一个组合层132A-132N被配置为在处理网络输入102期间接收由组合层之前的层中的当前活动的模块化神经网络生成的模块化输出,并且组合、例如求和或平均由当前活动的模块化神经网络生成的模块化输出以生成组合输出。
每一个组合层的组合输出(除了堆栈中最后一层之后的组合层之外)是用于组合层之后的层的层输入。相反,堆栈中最后一层之后的组合层的组合输出是堆栈输出,即提供给与正在执行的机器学习任务相对应的输出层的输出。
为了配置超神经网络110以用于执行多个机器学习任务,神经网络系统100在每一个任务上训练超神经网络110。特别地,在给定任务上训练超神经网络110时,系统确定(i)用于机器学习任务的路径,以及(ii)路径中的模块化神经网络的参数的训练值,以及可选地,用于任务的一个或多个输出层的集合。
一旦系统100已在给定任务上训练超神经网络110,系统将路径中的模块化神经网络的参数固定为训练值,即在超神经元网络110在不同的任务上的后期训练期间不修改这些值。在后续任务上训练超神经网络110时,系统100保持在用于已经确定路径的多个机器学习任务中的任何机器学习任务的路径中的任何模块化神经网络的参数的固定值。
通常,为了在机器学习任务上训练超神经网络110,神经网络系统100执行多个训练回合以更新用于机器学习任务的候选路径的总体。
在一些情况中,对于每一个训练回合,系统在一对候选路径上连续训练并且然后评估该对候选路径以确定如何更新总体。下面参考图3更详细地描述这种训练技术。
在一些其他情况中,对于每一个训练回合,系统并行地在大量候选路径上训练并且然后确定是否修改每一个候选路径。下面参考图4更详细地描述这种训练技术。
图1B示出了通过超神经网络110的示例的示例路径。
在图1B的示例中,超神经网络110被配置为执行两个强化学习任务,第一任务162以及第二任务164。对于每一个任务,超神经网络110接收作为与代理交互的环境的图像的环境图像160作为输入,并且生成用于选择代理要执行的动作的策略读数和值读数作为输出。然而,每一个任务具有通过超神经网络110的不同路径。在图1B的示例中,示出了第二任务164的路径并且路径中的模块化神经网络通过箭头连接,而不在路径中的模块化网络不通过箭头连接。每一层之后的组合层也通过箭头连接。因此如在示例中可见,为生成第二任务164的输出,超神经网络110使用每层中的、组合层中的以及用于第二任务164的输出层中的模块化网络的子集以处理环境图像160。不使用第一任务162的输出层以及不在路径中的模块化网络。
图1C示出了训练神经网络以执行多个任务的多种方法的图170、图180、图190。
在每一个图中,横轴示出在两个不同的任务上训练神经网络达到.998准确度所需的代际的组合数,其表示训练所需的时间。在此上下文中的代际是指对固定数量的训练数据的训练。纵轴表示频率,即在相应的组合代际数中多少次训练尝试达到.998准确度。
图170示出了对独立控制方案的测量,其中训练了两个单独的固定尺寸的网络,每一个网络用于一个任务。图180示出了对微调控制方案的测量,其中在第一任务上训练单个网络并且然后微调单个网络以还执行第二任务(但是无需改变通过神经网络的路径)。图190示出了用于本说明书中描述的方案的测量,其中训练每一个任务以具有通过超神经网络的相对应的路径,并且在训练第二任务时固定用于第一任务的路径。
从图170、图180和图190可以看出,所描述的方案导致训练以在全部任务上达到期望的准确度所需的时间显著地更少。特别地,独立控制方案具有为195代际的平均值、微调方案具有为229代际的平均值而所描述的方案具有仅为167代际的平均值。
图2是用于使用超神经网络处理网络输入的示例过程200的流程图。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当地编程的神经网络系统、例如图1A的神经网络系统100可以执行过程200。
系统接收用于由超神经网络处理的网络输入以及识别要在网络输入上执行的机器学习任务的任务数据(步骤202)。所识别的机器学习任务是超神经网络已被训练以执行的多个任务中的一个。
系统选择通过超神经网络中的多个层的特定于所识别的机器学习任务的路径(步骤204)。
特别地,路径为超神经网络中的每一层指定了层中的在执行所识别的机器学习任务时被指派为活动的模块化神经网络的真子集,即少于全部。
也就是说,系统针对超级神经网络已在其上被训练的多个任务中的每一个保持指定与任务相对应的相应路径的数据。由于超神经网络已在机器学习任务上被训练的方法,每一个任务将具有与每一个其他任务不同的相对应的路径。也就是说,虽然两个任务的路径可以共享一个或多个模块化神经网络,但是用于一个任务的路径通常包括至少一个不包括在另一个任务的路径中的模块化神经网络。
然后,系统从保持的数据中识别与所识别的机器学习任务相对应的路径。
系统使超神经网络根据用于所识别的机器学习任务的所选择的路径处理网络输入(步骤206)。
特别地,该系统使超神经网络使用(i)对于每一层,层中的被所选择的路径指派为活动的模块化神经网络,以及(ii)对应于所识别的机器学习任务的一个或多个输出层的集合来处理网络输入。在处理输入时,不使用未被所选择的路径指派为活动的模块化神经网络。
该系统可以通过配置超神经网络的连接性并且然后提供网络输入以用于由神经网络处理来根据所选择的路径使超神经网络处理网络输入。特别地,系统配置连接性使得仅活动的模块化神经网络接收输入并生成输出并且使得与所识别的机器学习任务相对应的一个或多个输出层接收由层堆栈生成的堆栈输出,而其他输出层不接收任何输入。
一旦生成网络输出,系统就可以输出网络输出或根据网络输出生成的经处理的输出以例如用于呈现给用户或另一系统以便立即使用或以便存储。
图3是用于在新的机器学习任务上训练超神经网络的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当地编程的神经网络系统、例如图1A的神经网络系统100可以执行过程300。
系统初始化候选路径的总体(步骤302)。
候选路径中的每一个针对超神经网络中的每一层指定层中的在执行特定机器学习任务时被指派为活动的模块化神经网络的相应的真子集。
特别地,系统根据某些判据随机地选择固定数量的候选路径。例如,判据可以指定每一个候选路径应该从每一层包括至少预定的最小数量的模块化神经网络,但从任何给定层包括不超过预定最大数量的模块化神经网络。
系统从总体中选择一对候选路径(步骤304)。例如,系统可以从总体中随机地选择对。
系统在选择的候选路径中的每一个上训练超神经网络(步骤306)。
特别地,对于候选路径中的每一个,系统训练超神经网络,同时仅使用被候选路径指派为活动的模块化神经网络以及对应于特定机器学习任务的输出层来处理训练输入,即并且不使用任何未被候选路径指派为活动的模块化神经网络。
因为系统仅使用路径中的模块化神经网络以及对应于任务的输出层训练,所以在训练期间仅调整路径中的模块化神经网络以及对应于任务的输出层的参数值。另外,如果候选路径包括在已确定路径的多个机器学习任务中的任何机器学习任务的路径中的任何模块化神经网络,即,在用于已在其上训练超神经网络的任务的路径中,系统保持那些模块化神经网络的参数值固定并且在训练期间不修改值。
更具体地,对于候选路径中的每一个,系统使用适应于机器学习任务的机器学习训练过程在候选路径上训练超神经网络固定的时间量或者固定的训练迭代数。例如,对于监督机器学习任务,例如图像分类、机器翻译或语音识别,训练过程可以是传统的监督学习训练过程,例如随机梯度下降。作为另一个示例,对于机器人控制任务,训练过程可以是传统的强化学习训练过程,例如演员-评价者(actor-critic)技术、策略梯度技术或深度Q学习技术。
系统基于训练的结果确定候选路径中的每一个的适应性(步骤308)。通常,候选路径的适应性度量使用候选路径生成的输出的质量。所使用的适应性的度量可以是适合机器学习任务的任何度量。例如对于监督学习任务,适应性可以是在训练期间超神经网络的负分类误差。作为另一示例,对于强化学习任务,例如机器人控制任务,其中系统使用强化学习技术训练超神经网络并且接收作为执行的动作的结果的奖励,适应性可以是在训练候选路径时累积的回报。回报是在训练路径时接收到的奖励的时间折扣组合,例如时间折扣总和。
系统确定所选择的候选路径中的哪一个具有最佳适应性(步骤310)并且用总体中的最佳适应候选路径的副本替换该对中的另一个候选路径,即不具有最佳适应性的路径(步骤312)。在一些实施方式中,对于被替换的路径中的模块化网络,系统保持来自被替换的路径的训练的参数值。在其他实施方式中,系统将参数值恢复为在替换路径的训练开始之前的值。
然后,系统变化具有最佳适应性的候选路径的副本以生成变化的候选路径(步骤314)。因此,在该步骤之后,总体包括(i)最佳适应候选路径以及(ii)最佳适应候选路径的变化的副本,但不包括(iii)该对中的另一候选路径。
系统通过将候选路径中的活动的模块化神经网络中的一个或多个改变为不同的模块化神经网络来变化给定的候选路径。
特别地,系统可以通过针对候选路径中的模块化神经网络中的每一个确定是否替换模块化神经网络并且响应于确定替换模块化神经网络而将模块化神经网络指派为非活动状态并且将相同层中的另一个模块化神经网络指派为活动来变化候选路径。在一些情况中,系统从同一层中的其他模块化网络中随机挑选不同模块化神经网络。在一些其他情况中,系统从层内的模块化神经网络的局部邻域中随机挑选不同的模块化神经网络。在一些其他情况中,系统偏置变化操作符,使得当前更全局有用的模块化网络,即已经在用于一个或多个其他任务的一个或多个路径中的网络,更可能被插入到新任务的路径中。
在一些实施方式中,系统确定是否用与1除以第一候选路径中的模块化神经网络的总数相等或成比例的概率来替换模块化神经网络中的每一个,即使得每一个神经网络具有相同的被替换的可能性。
系统可以对总体中的全部候选路径重复地执行步骤304-314以更新总体并调整超神经网络的参数值。例如系统可以针对每一个候选执行固定数量的步骤的迭代、执行步骤的迭代固定的时间量或者执行步骤的迭代直到总体中的候选中的任何一个达到错误阈值。
在训练完成之后,即在已经执行了步骤304-314的最后一次迭代之后,系统选择具有最佳适应性的候选路径作为新的机器学习任务的路径。系统还固定被所选择的路径指派为活动的模块化神经网络的参数值,即使得在后续任务上训练超神经网络期间这些值不被调整。对于不是所选择的路径的一部分并且不是已在其上训练超网络的任何其他机器学习任务的任何所选择的路径的一部分的每一个超神经网络,系统重新初始化参数的值,即将参数值重新设置为初始值。
图4是在新的机器学习任务上训练超神经网络的另一示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当地编程的神经网络系统例如图1的神经网络系统100可以执行过程400。
系统初始化候选路径总体(步骤402)。特别地,系统根据上述判据随机选择固定数量的候选路径。
然后,系统并行地对总体中的候选路径中的每一个执行步骤404-416。
系统在特定候选路径上训练超神经网络(步骤404),即如上参考步骤306所述。在训练期间,如果正在其上训练的两个或更多路径包括相同的模块化神经网络,则在该训练回合期间通过两个路径更新模块化神经网络的参数值。
如上所述,如果候选路径包括位于已经训练超神经网络的任务的路径中的模块化神经网络,则系统在候选路径上训练超神经网络时保持模块化神经网络的参数值固定。
系统基于候选路径上的超神经网络的训练结果来确定特定候选路径的适应性(步骤406),即如上参考步骤308所述。
系统确定总体中的其他候选路径的子集中的任何一个是否具有比特定候选路径更好的适应性(步骤408)。特别地,系统从总体中随机选择固定数量的其他候选路径并将特定候选路径的适应性与其他候选路径的适应性进行比较。
如果子集中的其他候选路径中的任何一个具有更好的适应性,则系统识别具有子集中的其他候选路径的最佳适应性的子集中的候选路径(步骤410),并用所识别的具有最佳适应性的候选路径替换特定候选路径(步骤412)。
然后,系统通过改变所识别的候选路径中的活动的模块化神经网络中的一个或多个来变化被添加到总体中的具有最佳适应性的所识别的候选路径的副本(步骤414)。特别地,系统如上面参考图3所述来变化所识别的候选路径。
因此,在该步骤之后,总体包括(i)具有最佳适应性的所识别的候选路径以及(ii)所识别的候选路径的变化的副本两者,但不包括(iii)(已由变化的副本替代的)特定候选路径。
如果子集中没有候选路径具有更好的适应性,则系统保持候选路径以用于进一步训练,即不从总体中移除特定候选路径(步骤416)。
系统可以对总体中的全部候选路径重复地执行步骤404-416以更新总体并且调整超神经网络的参数值。例如系统可以针对每一个候选执行固定数量的步骤的迭代、执行步骤的迭代固定的时间量或者执行步骤的迭代直到总体中的候选中的任何一个达到错误阈值。
在一些情况中,系统相对于总体中的各种候选异步地执行步骤404-416。也就是说,一旦系统对于给定候选结束了步骤404-416的迭代,系统就可以开始另一次迭代而无需等待完成对总体中的其他候选者的步骤的迭代。在这些情况中,系统可以在评估给定候选路径的同时将路径的适应性设置为大的负数以确保在候选路径仍在被评估时不选择该候选路径用于变化。
在训练完成之后,即在已经执行步骤404-416的最后一次迭代之后,系统选择总体中的具有最佳适应性的候选路径作为用于新的机器学习任务的路径。该系统还固定被所选择的路径指派为活动的模块化神经网络的参数值,即使得在后续任务上训练超神经网络期间这些值不被调整。对于不是所选择的路径的一部分并且不是已在其上训练超网络的任何其他机器学习任务的任何所选择的路径的一部分的每一个超神经网络,系统重新初始化参数值,即将参数值重新设置为初始值。
在一些情况中,系统按序列对多个任务执行过程300或过程400,即一个接一个地在任务上训练超神经网络并且每次仅训练一个任务。在这些情况中,在给定任务上进行训练时,保持用于序列中给定任务之前的任何任务的路径中的模块化神经网络的参数值固定。
在一些其他情况中,系统并发地对多个任务执行过程300或过程400,即一个任务上的训练与另一个任务上的训练交错。在这些情况中,在同时训练多个任务时,仅固定用于在多个任务上训练之前的在其上训练超神经网络的任务的路径中的模块化神经网络的参数值。也就是说,如果对于又一项任务的训练已经完成了,则这些任务的路径是固定的,但允许在多个并发任务中的一个上的训练影响多个并发任务中的其他任务的训练。
本说明书描述了通过重复评估以及改变路径来为给定的任务选择路径的技术。然而用于选择路径的其他技术也是可能的。例如,可以使用强化学习方法例如策略梯度方法以学习随着由路径获取的长期回报而变并且随着对于新任务的任务描述输入而变的路径的分布。
本说明书使用与系统和计算机程序部件相关的术语“被配置”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统意味着已在系统上安装了在操作中使系统执行操作或动作的软件、固件、硬件或它们的组合。对于要被配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括指令,在所述指令由数据处理装置执行时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例,包括本说明书中公开的结构及其结构等同物或者其中一个或多个的组合,可以在数字电子电路中、在有形地体现的计算机软件或固件中、在计算机硬件中实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即用于由数据处理装置执行的或用于控制数据处理装置的操作的在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。或者或另外,程序指令可以在人工生成的传播信号上编码,例如机器生成的电、光或电磁信号,所述传播信号被生成以编码信息以便传输到合适的接收器装置用于数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且包括用于处理数据的所有类型的装置、设备以及机器,包括例如可编程处理器、计算机或多个处理器或计算机。装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以选择地包括创建用于计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们的一个或多个的组合的代码
也可被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码的计算机程序可以用任何形式的编程语言编写,包括编译或解译语言或声明性或程序性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、部件、子程序或适合在计算环境中使用的其他单元。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的、专用于相关程序的单个文件中的或者多个协调文件中的一个或多个脚本,例如存储一个或多个模块、子程序或代码的一部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛地用于指代任何数据集合:数据不需要以任何特定方式构造或根本不需要构造,并且数据可以存储在一个或多个位置中的存储设备上。因此,例如索引数据库可以包括多个数据集合,每一个数据集合可以不同地组织以及访问。
类似地,在本说明书中术语“引擎”广泛地用于指代被编程以执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或部件。在某些情况中,一个或多个计算机将专用于特定的引擎;在其他情况中,可以在同一个计算机或计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行以通过对输入数据进行操作并且生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路例如FPGA或ASIC或由专用逻辑电路与一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,接收数据或将数据传送到一个或多个大容量存储设备或者两者。然而,计算机不需要这类设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如仅举几例,通用串行总线(USB)、闪存驱动器。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,的计算机上实现以用于向用户和键盘以及用户可以通过其向计算机提供输入的例如鼠标或跟踪球的定点设备显示信息。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括听觉、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求而向用户设备上的web浏览器发送网页。此外,计算机可以通过向例如运行消息收发应用程序的智能电话的个人设备发送文本消息或其他形式的消息来与用户交互并且从用户接收响应消息作为交换。
用于实现机器学习模型的数据处理装置还可以包括例如用于处理机器学习训练或生产的公共和计算密集部分即推断、工作负载的专用硬件加速器单元。
可以使用例如TensorFlow框架、微软认知工具包(Microsoft CognitiveToolkit)框架、Apache Singa框架或Apache MXNet框架的机器学习框架来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算机系统中实现,所述计算机系统包括后端部件,例如作为数据服务器,或包括中间件部件,例如应用服务器,或包括前端部件,例如具有用户可以通过其与本说明书中描述的主题的实现交互的图形用户界面、web浏览器或应用的客户端计算机,或者一个或多个这类后端、中间件或前端部件的任何组合。系统的部件可以通过任何形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网(LAN)以及广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远并且通常通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将例如HTML页面的数据发送到用户设备,例如用于向与作为客户端的设备交互的用户显示数据并且从所述用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
尽管本说明书包含许多特定的实现细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在本说明书中的单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此地要求保护,但是在某些情况中可以从组合中切除要求保护的组合的一个或多个特征并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中描绘了操作并且在权利要求中以特定顺序叙述了操作,但是这不应该被理解为要求以示出的特定顺序或按顺序执行这些操作,或者执行全部示出的全部操作以达到期望的效果。在某些情况中,多任务处理和并行处理可能是有益的。此外,上述实施例中的各种系统模块和部件的分离不应被理解为在全部实施例中都需要这种分离,并且应当理解的是描述的程序部件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中详述的动作可以以不同的顺序执行并且仍然可以实现期望的结果。作为一个示例,附图中描绘的过程不一定需要示出的特定顺序或连续顺序来实现期望的结果。在某些情况中,多任务处理和并行处理可能是有益的。

Claims (28)

1.一种多任务神经网络系统,包括一个或多个计算机以及存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机实现:
超神经网络,包括:
一个接一个地布置在堆栈中的多个层,其中,每一层包括相应的多个模块化神经网络,并且其中,每一层中的所述模块化神经网络均被配置为接收用于该层的层输入并且生成相应的模块化输出;以及
一个或多个输出层的多个集合,其中,输出层的每个集合对应于来自多个机器学习任务的不同机器学习任务,并且其中,一个或多个输出层的每个集合被配置为接收堆栈输出并且生成特定于对应的机器学习任务的神经网络输出,其中:
所述多个机器学习任务包括多个不同的图像处理任务,所述多个不同的图像处理任务包括图像识别任务,其中每个图像识别任务需要识别图像中的不同对象或图案;和/或
所述多个机器学习任务包括多个不同的语音识别任务,所述多个不同的语音识别任务包括:(i)热词检测任务,其中每个热词检测任务需要识别不同的热词或热词序列,和/或(ii)语音识别任务,所述语音识别任务需要识别不同语言的语音;和/或
所述多个机器学习任务包括数据序列处理任务,所述数据序列处理任务处理包括文本序列或口语表达的数据序列并且输出被翻译为不同语言或表示的序列;和/或
所述多个机器学习任务包括不同的机器人学习任务,所述不同的机器人学习任务涉及选择要由与环境交互的机器人执行的动作,所述不同的机器人学习任务包括(i)下述感觉运动学习任务中的一个或多个:运动、抓握和活动对象分类,(ii)交互式学习任务,所述交互式学习任务包括与人类同伴一起对于对象进行联合操纵,和/或(iii)语言学习任务;和/或
所述多个机器学习任务包括不同的机器控制任务,其中:(i)对所述系统的输入包括来自机器在其中操作的真实世界环境的真实世界数据并且来自所述系统的输出包括用于控制所述机器在所述真实世界中执行任务的机器控制输出,或者(ii)对所述系统的输入包括来自实体以模拟的方式在其中操纵的模拟环境的模拟数据并且来自所述系统的输出包括用于控制所述实体在所述模拟环境中执行任务的机器控制输出;和/或
所述多个机器学习任务包括不同的内容推荐任务,其中每个内容推荐任务向不同的用户或用户群有效地推荐内容;和/或
所述多个机器学习任务包括互联网内容处理任务,其中每个互联网内容处理任务处理来自互联网资源的输入数据以确定表示资源与特定主题相关的可能性的得分;以及
子系统,所述子系统被配置为执行操作,所述操作包括:
接收第一网络输入以及从所述多个机器学习任务识别要在所述第一网络输入上执行的第一机器学习任务的数据;
选择特定于所述第一机器学习任务的通过所述多个层的路径,所述路径针对所述层中的每一个指定该层中的在执行所述第一机器学习任务时被指派为活动的所述模块化神经网络的第一非空真子集;以及
使所述超神经网络使用(i)对每一层,该层中的被所选择的路径指派为活动的所述模块化神经网络,以及(ii)对应于所识别的第一机器学习任务的一个或多个输出层的集合,来处理所述第一网络输入,
其中,所述操作进一步包括:
接收第二网络输入以及从所述多个机器学习任务识别要在所述第二网络输入上执行的不同的第二机器学习任务的数据;
选择特定于所述第二机器学习任务的通过所述多个层的不同的第二路径,所述第二路径针对所述层中的每一个指定该层中的在执行所述第二机器学习任务时被指派为活动的所述模块化神经网络的第二非空真子集;以及
使得所述超神经网络使用(i)对每一层,该层中的被所述第二路径指派为活动的所述模块化神经网络,以及(ii)对应于所述第二机器学习任务的一个或多个输出层的集合,来处理所述第二网络输入。
2.根据权利要求1所述的系统,
其中,所述超神经网络进一步包括:
在所述堆栈中所述多个层中的每一个之后的相应组合层,其中每一个组合层被配置为:
接收由该组合层之前的层中的当前活动的模块化神经网络生成的所述模块化输出;以及
组合由当前活动的模块化神经网络生成的所述模块化输出以生成组合输出,以及
其中,除了在所述堆栈中的最后一层之后的组合层之外的每一个组合层的组合输出是用于在该组合层之后的层的所述层输入,并且其中,在所述堆栈中的所述最后一层之后的所述组合层的所述组合输出是所述堆栈输出。
3.根据权利要求1所述的系统,其中,每一个模块化神经网络包括被传递函数层跟随的一个或多个神经网络层,所述传递函数层将传递函数应用于所述神经网络层的输出。
4.根据权利要求3所述的系统,其中,所述传递函数是逐元素激活函数。
5.根据权利要求4所述的系统,其中,所述传递函数是整流线性单元函数。
6.根据权利要求1所述的系统,其中,所述模块化神经网络中的至少一个包括一个或多个循环神经网络层。
7.根据权利要求6所述的系统,其中,所述循环神经网络层中的一些或全部是长短期记忆(LSTM)层。
8.根据权利要求1所述的系统,其中,所述模块化神经网络中的至少一个包括卷积神经网络层。
9.根据权利要求1所述的系统,其中,所述模块化神经网络中的至少一个包括完全连接的神经网络层。
10.根据权利要求1所述的系统,其中,至少两个层在所述第一非空真子集中具有不同数量的活动的模块化神经网络。
11.根据权利要求1所述的系统,其中,每一层在所述第一非空真子集中具有至少一个并且不超过预定数量的活动的模块化神经网络。
12.一种在来自多个机器学习任务的特定机器学习任务上训练根据权利要求1-11中的任一项所述的超神经网络的方法,所述方法包括:
选择通过所述多个层的多个候选路径,所述候选路径中的每一个针对所述层中的每一个指定该层中的在执行所述特定机器学习任务时被指派为活动的所述模块化神经网络的相应的非空真子集;
在所述多个候选路径中的每一个上训练所述超神经网络,其中,在所述多个候选路径中的每一个上训练所述超神经网络包括:对所述候选路径中的每一个训练所述超神经网络,同时仅使用被所述候选路径指派为活动的所述模块化神经网络以及对应于所述特定机器学习任务的所述输出层来处理训练输入;
基于在所述候选路径上的所述超神经网络的训练的结果确定所述多个候选路径中的每一个的适应性;以及
选择具有最佳适应性的候选路径作为用于所述特定机器学习任务的最佳适应路径。
13.根据权利要求12所述的方法,其中,选择所述多个候选路径包括:
选择第一候选路径和第二候选路径;
根据在所述第一候选路径以及所述第二候选路径上训练所述超神经网络,确定所述第一候选路径具有比所述第二候选路径更好的适应性;
基于确定所述第一候选路径具有比所述第二候选路径更好的适应性:
通过改变所述第一候选路径中的活动模块化神经网络中的一个或多个来变化所述第一候选路径;以及
用所变化的第一候选路径替换所述第二候选路径。
14.根据权利要求13所述的方法,其中,变化所述第一候选路径包括对于被所述第一候选路径指派为活动的每一个模块化神经网络:
确定是否替换所述模块化神经网络;以及
响应于确定替换所述模块化神经网络而将所述模块化神经网络指派为不活动并且将相同的层中的另一模块化神经网络指派为活动。
15.根据权利要求14所述的方法,其中,确定是否替换所述模块化神经网络包括确定利用与1除以所述第一候选路径中的模块化神经网络的总数相等或成比例的概率来替换所述模块化神经网络。
16.根据权利要求12所述的方法,其中,在所述多个候选路径中的每一个上训练所述超神经网络包括:
并行地在初始多个候选路径上训练所述超神经网络,并且其中,选择所述多个候选路径包括:
对于所述初始多个候选路径中的每一个候选路径:
确定所述初始多个候选路径中的其他候选路径的子集中的任何一个是否具有比所述候选路径更好的适应性;
如果所述子集中的任何一个具有更好的适应性:
识别具有所述子集中的所述其他候选路径的最佳适应性的所述子集中的候选路径;
通过改变所识别的候选路径中的活动的模块化神经网络中的一个或多个来变化所识别的候选路径;以及
用所变化的所识别的候选路径替换所述候选路径。
17.根据权利要求16所述的方法,其中,选择所述多个候选路径包括:
如果所述子集中的所述候选路径中没有任何一个候选路径具有更好的适应性:
保持所述候选路径以用于进一步训练。
18.根据权利要求16所述的方法,其中,对所述初始多个候选路径中的每一个候选路径,随机选择所述其他候选路径的子集。
19.根据权利要求12所述的方法,其中,在所述多个候选路径中的每一个上训练所述超神经网络包括:
在训练期间,保持在已为其确定了最佳适应路径的所述多个机器学习任务中的任何机器学习任务的最佳适应路径中的任何模块化神经网络的参数的固定值。
20.根据权利要求12所述的方法,进一步包括:
固定被用于所述特定机器学习任务的所述最佳适应路径指派为活动的模块化神经网络的参数的值,以在所述多个机器学习任务中的其他任务上训练所述超神经网络期间不被调整。
21.一种在序列中的多个机器学习任务上从所述序列中的第一机器学习任务到所述序列中的最后一个机器学习任务来训练根据权利要求1-11中的任一项所述的超神经网络的方法,所述方法包括:
获取用于第一机器学习任务的第一训练数据;以及
在所述第一训练数据上训练所述超神经网络以确定用于所述第一机器学习任务的通过所述多个层的最佳适应路径,同时(i)保持在于所述序列中比所述第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径中的任何模块化神经网络的固定的参数值,以及(ii)调整不在于序列中比所述第一机器学习任务更早的机器学习任务中的任何一个的最佳适应路径中的其他模块化神经网络的参数值。
22.根据权利要求21所述的方法,进一步包括:
重新初始化不在所述第一机器学习任务的所述最佳适应路径中或者在所述序列中比所述第一机器学习任务更早的机器学习任务中的任何一个的所述最佳适应路径的任何一个中的模块化神经网络的参数值;
获取用于在所述序列中跟随所述第一机器学习任务的第二机器学习任务的第二训练数据;以及
在所述第二训练数据上训练所述超神经网络以确定用于所述第二机器学习任务的通过所述多个层的最佳适应路径,同时(i)保持所述第一机器学习任务的最佳适应路径或在所述序列中比所述第一机器学习任务更早的机器学习任务中的任何一个的任何最佳适应路径中的任何模块化神经网络的参数的固定值,以及(ii)调整不在用于所述第一机器学习任务的最佳适应路径中或者在所述序列中比所述第一机器学习任务更早的机器学习任务中的任何一个的任何最佳适应路径中的其他模块化神经网络的参数值。
23.根据权利要求21所述的方法,其中,在所述第一训练数据上训练所述超神经网络以确定用于所述第一机器学习任务的通过所述多个层的最佳适应路径包括:
选择多个候选路径;
对于所述多个候选路径中的每一个:
通过使该候选路径中的模块化神经网络被指派为活动的,在所述第一机器学习任务上训练所述超神经网络,来评估该候选路径的适应性;以及
选择具有最佳适应性的候选路径作为当前最佳路径。
24.根据权利要求23所述的方法,进一步包括:
变化所述当前最佳路径以生成变化的当前最佳路径;以及
将所述变化的当前最佳路径包括在新的多个候选路径中以用于评估。
25.一个或多个存储指令的非易失性计算机可读存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求12-24中的任一项所述的方法的所述操作。
26.一种多任务神经网络系统,所述系统包括一个或多个计算机以及一个或多个存储指令的存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求12-24中的任一项所述的方法的所述操作。
27.一个或多个存储指令的非易失性计算机可读存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机实现根据权利要求1-11中的任一项所述的超神经网络以及子系统。
28.一种由多任务神经网络系统执行的方法,所述方法包括由权利要求1-11中的任一项中的子系统执行的所述操作。
CN201880005904.XA 2017-01-30 2018-01-30 具有任务特定路径的多任务神经网络 Active CN110168578B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762452276P 2017-01-30 2017-01-30
US62/452,276 2017-01-30
PCT/US2018/016024 WO2018140969A1 (en) 2017-01-30 2018-01-30 Multi-task neural networks with task-specific paths

Publications (2)

Publication Number Publication Date
CN110168578A CN110168578A (zh) 2019-08-23
CN110168578B true CN110168578B (zh) 2024-02-06

Family

ID=61224569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880005904.XA Active CN110168578B (zh) 2017-01-30 2018-01-30 具有任务特定路径的多任务神经网络

Country Status (4)

Country Link
US (3) US10748065B2 (zh)
EP (1) EP3545472A1 (zh)
CN (1) CN110168578B (zh)
WO (1) WO2018140969A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3545472A1 (en) 2017-01-30 2019-10-02 Google LLC Multi-task neural networks with task-specific paths
US11017295B1 (en) * 2017-05-01 2021-05-25 Perceive Corporation Device storing ternary weight parameters for machine-trained network
EP3467712B1 (en) * 2017-10-06 2023-04-26 Sensing Feeling Limited Methods and systems for processing image data
CN109841220B (zh) * 2017-11-24 2022-09-13 深圳市腾讯计算机系统有限公司 语音信号处理模型训练方法、装置、电子设备及存储介质
US10832093B1 (en) 2018-08-09 2020-11-10 Zoox, Inc. Tuning simulated data for optimized neural network activation
US11645509B2 (en) * 2018-09-27 2023-05-09 Salesforce.Com, Inc. Continual neural network learning via explicit structure learning
EP3629246B1 (en) * 2018-09-27 2022-05-18 Swisscom AG Systems and methods for neural architecture search
EP3696733B1 (en) * 2019-02-13 2024-03-27 Siemens Aktiengesellschaft Encoding and transferring scene and task dependent learning information into transferable neural network layers
US11126190B2 (en) 2019-02-13 2021-09-21 Ford Global Technologies Llc Learning systems and methods
CN110136828A (zh) * 2019-05-16 2019-08-16 杭州健培科技有限公司 一种基于深度学习实现医学影像多任务辅助诊断的方法
CN111985637A (zh) * 2019-05-21 2020-11-24 苹果公司 具有多个处理任务的条件执行的机器学习模型
US11699097B2 (en) 2019-05-21 2023-07-11 Apple Inc. Machine learning model with conditional execution of multiple processing tasks
CN110281949B (zh) * 2019-06-28 2020-12-18 清华大学 一种自动驾驶统一分层决策方法
US11620495B1 (en) 2019-08-16 2023-04-04 Perceive Corporation Neural networks with spatial and temporal features
CN110490303A (zh) * 2019-08-19 2019-11-22 北京小米智能科技有限公司 超网络构建方法、使用方法、装置及介质
US20210089908A1 (en) * 2019-09-25 2021-03-25 Deepmind Technologies Limited Modulating agent behavior to optimize learning progress
CN110807517A (zh) * 2019-10-30 2020-02-18 智者四海(北京)技术有限公司 用于多任务识别的神经网络系统
CN110782034A (zh) * 2019-10-31 2020-02-11 北京小米智能科技有限公司 神经网络的训练方法、装置及存储介质
US20210150345A1 (en) * 2019-11-14 2021-05-20 Qualcomm Incorporated Conditional Computation For Continual Learning
EP3828773A1 (en) * 2019-11-28 2021-06-02 GoodAI Research s.r.o. Improved artificial intelligence system
US11443141B2 (en) 2020-02-27 2022-09-13 International Business Machines Corporation Using video tracking technology to create machine learning datasets for tasks
CN111582453B (zh) * 2020-05-09 2023-10-27 北京百度网讯科技有限公司 生成神经网络模型的方法和装置
CN111723910A (zh) * 2020-06-17 2020-09-29 腾讯科技(北京)有限公司 构建多任务学习模型的方法、装置、电子设备及存储介质
WO2022019913A1 (en) * 2020-07-23 2022-01-27 Google Llc Systems and methods for generation of machine-learned multitask models
CN111968635B (zh) * 2020-08-07 2024-03-05 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
US20220121922A1 (en) * 2020-10-20 2022-04-21 Deci.Ai Ltd. System and method for automated optimazation of a neural network model
CN112540620B (zh) * 2020-12-03 2022-10-14 西湖大学 足式机器人的强化学习方法、装置和电子设备
CN112612604B (zh) * 2020-12-14 2022-03-22 上海哔哩哔哩科技有限公司 基于Actor模型的任务调度方法、装置
CN112580372A (zh) * 2020-12-26 2021-03-30 内蒙古工业大学 一种基于Actor-Critic的蒙汉神经机器翻译方法
US20230376755A1 (en) * 2022-05-19 2023-11-23 Google Llc Training neural network systems to perform multiple machine learning tasks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345656A (zh) * 2013-07-17 2013-10-09 中国科学院自动化研究所 一种基于多任务深度神经网络的数据识别方法及装置
CN105404877A (zh) * 2015-12-08 2016-03-16 商汤集团有限公司 基于深度学习和多任务学习的人脸属性预测方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6327926B2 (ja) * 2014-04-30 2018-05-23 国立研究開発法人情報通信研究機構 階層型ニューラルネットワークの学習システム及び方法
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
US10255905B2 (en) * 2016-06-10 2019-04-09 Google Llc Predicting pronunciations with word stress
US10452974B1 (en) * 2016-11-02 2019-10-22 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using a device's circumstances for autonomous device operation
US10192016B2 (en) * 2017-01-17 2019-01-29 Xilinx, Inc. Neural network based physical synthesis for circuit designs
EP3545472A1 (en) 2017-01-30 2019-10-02 Google LLC Multi-task neural networks with task-specific paths

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345656A (zh) * 2013-07-17 2013-10-09 中国科学院自动化研究所 一种基于多任务深度神经网络的数据识别方法及装置
CN105404877A (zh) * 2015-12-08 2016-03-16 商汤集团有限公司 基于深度学习和多任务学习的人脸属性预测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Recurrent Neural Network for Text Classification with Multi-Task Learning;Pengfei Liu et al.;《arXiv》;全文 *
多任务学习及卷积神经网络在人脸识别中的应用;邵蔚元等;《计算机工程与应用》;第52卷(第13期);第32-37页 *

Also Published As

Publication number Publication date
US20190354868A1 (en) 2019-11-21
WO2018140969A1 (en) 2018-08-02
US20240046106A1 (en) 2024-02-08
US20200380372A1 (en) 2020-12-03
CN110168578A (zh) 2019-08-23
EP3545472A1 (en) 2019-10-02
US10748065B2 (en) 2020-08-18
US11790238B2 (en) 2023-10-17

Similar Documents

Publication Publication Date Title
CN110168578B (zh) 具有任务特定路径的多任务神经网络
CN111602148B (zh) 正则化神经网络架构搜索
CN110520868B (zh) 用于分布式强化学习的方法、程序产品和存储介质
US11544536B2 (en) Hybrid neural architecture search
JP7043596B2 (ja) ニューラルアーキテクチャ検索
WO2019155064A1 (en) Data compression using jointly trained encoder, decoder, and prior neural networks
CN111406267A (zh) 使用性能预测神经网络的神经架构搜索
CN110402445B (zh) 使用递归神经网络浏览序列数据的方法和系统
CN110383298A (zh) 用于连续控制任务的数据高效强化学习
CN110770759A (zh) 神经网络系统
US20200167660A1 (en) Automated heuristic deep learning-based modelling
US20220366257A1 (en) Small and Fast Video Processing Networks via Neural Architecture Search
EP3915052A1 (en) Action selection using interaction history graphs
KR20240034804A (ko) 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가
Saini et al. Image compression using APSO
CN113779396B (zh) 题目推荐方法和装置、电子设备、存储介质
US11900222B1 (en) Efficient machine learning model architecture selection
CN115983346A (zh) 网络模型的方法及装置、数据处理方法及装置、电子设备
CN117669650A (zh) 强化学习模型的训练方法及装置
CN114781646A (zh) 动作决策方法、装置、介质和计算设备
CN117744760A (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
TA01 Transfer of patent application right

Effective date of registration: 20200306

Address after: England Atsushi

Applicant after: DEEPMIND TECHNOLOGIES Ltd.

Address before: California, USA

Applicant before: GOOGLE Inc.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant