CN116264847A - 用于生成机器学习多任务模型的系统和方法 - Google Patents
用于生成机器学习多任务模型的系统和方法 Download PDFInfo
- Publication number
- CN116264847A CN116264847A CN202080104577.0A CN202080104577A CN116264847A CN 116264847 A CN116264847 A CN 116264847A CN 202080104577 A CN202080104577 A CN 202080104577A CN 116264847 A CN116264847 A CN 116264847A
- Authority
- CN
- China
- Prior art keywords
- task
- machine learning
- model
- multitasking
- tasks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 631
- 238000000034 method Methods 0.000 title claims abstract description 132
- 230000006870 function Effects 0.000 claims abstract description 156
- 238000012549 training Methods 0.000 claims description 117
- 238000013528 artificial neural network Methods 0.000 claims description 55
- 230000003044 adaptive effect Effects 0.000 claims description 27
- 230000002787 reinforcement Effects 0.000 claims description 27
- 210000002569 neuron Anatomy 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000005236 sound signal Effects 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 61
- 230000000875 corresponding effect Effects 0.000 description 40
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 14
- 238000012795 verification Methods 0.000 description 14
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012952 Resampling Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/092—Reinforcement 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (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)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本公开的系统和方法涉及一种用于生成被配置为执行任务的机器学习多任务模型的方法。方法能够包括获得包括候选节点的机器学习多任务搜索模型。方法能够包括获得任务和与任务相关联的机器学习任务控制器模型。作为示例,对于任务,方法能够包括使用任务控制器模型来路由对应任务的机器学习任务子模型中的候选节点的子集。方法能够包括将任务输入数据输入到任务子模型以获得任务输出。方法能够包括使用任务输出基于目标函数来生成反馈值。方法能够包括基于反馈值来调整任务控制器模型的参数。
Description
技术领域
本公开一般涉及用于多个任务的联合和/或共享机器学习模型。更具体地,本公开涉及用于经由神经架构搜索生成多任务模型的(多个)机器学习多任务搜索模型。
背景技术
特定于任务的机器学习模型已经在许多技术领域(例如,计算机视觉、对象检测、统计预测等)取得了显著的成功。这些模型是针对单个任务开发的,因此,通常无法有效地用于多个任务或不同于它们接受训练的特定单个任务的其他任务。然而,这些(多个)模型的当代应用(例如,在移动设备上的智能相机等)通常需要或受益于多项机器学习任务(例如图像分类、对象检测、实例分割等)的执行。
发明内容
本发明实施例的各方面和优点将在以下描述中部分地阐述,或者可以从描述中了解,或者能够通过实施例的实践而了解。
本公开的一个示例方面针对一种用于生成被配置为执行多个任务的机器学习多任务模型的计算机实现的方法。该方法能够包括获得包括多个候选节点的机器学习多任务搜索模型。该方法能够包括获得多个任务和与多个任务相关联的一个或多个机器学习任务控制器模型。该方法能够包括,对于多个任务中的每个任务,使用分别与该任务相关联的机器学习任务控制器模型来生成路由,该路由指定机器学习多任务搜索模型的多个候选节点的子集以包括在对应任务的机器学习任务子模型中。该方法能够包括,对于多个任务中的每个任务,将与该任务相关联的任务输入数据输入到对应的机器学习任务子模型以获得任务输出。该方法能够包括,对于多个任务中的每个任务,使用任务输出基于目标函数来生成反馈值。该方法能够包括,对于多个任务中的每个任务,至少部分地基于反馈值来调整分别关联的机器学习任务控制器模型的一个或多个参数。
本公开的另一个示例方面涉及一种计算系统。该计算系统能够包括被配置为针对分别关联的多个任务生成多个输出的机器学习多任务模型,其中,机器学习多任务模型包括多个节点,其中,多个节点中的每个节点都至少部分基于它们包括在分别与多个任务相关联的多个机器学习任务子模型中的一个或多个机器学习任务子模型中而被包括在机器学习多任务模型中。计算系统能够包括一个或多个有形的、非暂时性计算机可读介质,其存储计算机可读指令,当计算机可读指令由一个或多个处理器执行时,使一个或多个处理器执行操作。操作能够包括获得与多个任务中的第一任务相关联的第一任务输入数据。该操作能够包括获得与多个任务中的第二任务相关联的第二任务输入数据,第二任务不同于且区别于第一任务。该操作能够包括将第一任务输入数据输入到机器学习多任务模型以获得对应于第一任务的第一任务输出。该操作能够包括将第二任务输入数据输入到机器学习多任务模型以获得对应于第二任务的第二任务输出。
本公开的另一个示例方面涉及一个或多个有形的、非暂时性计算机可读介质,其存储计算机可读指令,当该计算机可读指令由一个或多个处理器执行时,使一个或多个处理器执行操作。操作能够包括获得被配置为针对分别关联的多个任务生成多个输出的机器学习多任务模型,其中,机器学习多任务模型包括多个节点,其中,多个节点中的每个节点都至少部分基于它们包括在分别与多个任务相关联的多个机器学习任务子模型中的一个或多个机器学习任务子模型中而被包括在机器学习多任务模型中。操作能够包括获得与多个任务中的第一任务相关联的第一任务输入数据。操作能够包括获得与多个任务中的第二任务相关联的第二任务输入数据,第二任务不同于且区别于第一任。操作能够包括将第一任务输入数据输入到机器学习多任务模型以获得对应于第一任务的第一任务输出。操作能够包括将第二任务输入数据输入到机器学习多任务模型以获得对应于第二任务的第二任务输出。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。纳入本说明书中并且构成本说明书的一部分的附图图示了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其参考了附图,在附图中:
图1A描绘了根据本公开的示例实施例执行机器学习多任务模型生成的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例执行多个任务的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的执行机器学习多任务模型生成的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的示例机器学习多任务搜索模型的框图。
图3描绘了根据本公开的示例实施例的示例机器学习多任务搜索模型和由路由指定的对应机器学习任务子模型的框图。
图4描绘了根据本公开的示例实施例的用于训练机器学习任务控制器模型的数据流图。
图5描绘了根据本公开的示例实施例的用于训练机器学习多任务搜索模型的一个或多个候选节点的一个或多个参数的数据流图。
图6描绘了根据本公开的示例实施例的用于执行生成被配置为执行多个任务的机器学习多任务模型的示例方法的流程图。
跨多个图中重复的附图标记旨在标识各种实施方式中的相同特征。
具体实施方式
概述
通常,本公开针对用于机器学习多任务模型生成的多任务学习架构。更具体地,本公开的系统和方法针对机器学习多任务搜索模型,其能够被训练并且用于生成机器学习多任务模型(例如,经由神经架构搜索等)。例如,机器学习多任务搜索模型能够包括多个候选节点(例如,每个候选节点能够接收数据集并且对于由一组可调参数定义的数据集执行相应的功能,以生成对应的输出;每个候选节点能够是或包括一个或多个神经网络神经元、(多个)神经网络函数、(多个)卷积滤波器、(多个)神经网络层、(多个)残差连接、(多个)神经网络原语等)。与任务相关联的机器学习任务控制器模型(例如,强化学习代理)能够用于生成路由(例如,通过机器学习多任务搜索模型等)。更具体地,路由能够指定要包括在对应任务的机器学习任务子模型中的多个候选节点的子集。与任务相关联的任务数据能够输入到机器学习任务子模型以接收反馈值(例如,奖励值和/或损失值)。可以基于反馈值来调整机器学习任务控制器模型和/或机器学习多任务搜索模型的参数。能够针对多个任务和一个或多个分别关联的机器学习任务控制器模型重复该过程。以这种方式,能够训练(多个)机器学习任务控制器模型以针对它们各自的任务来生成通过机器学习多任务搜索模型的最佳路由,从而为每个任务从机器学习多任务搜索模型中生成机器学习多任务模型的最佳特定于任务的变体。
更具体地,特定于任务的机器学习技术的使用发展迅速,并且这种技术现在用于各种技术领域。然而,当代机器学习模型的特定于任务的性质需要针对每个计算任务设计、训练、优化、处理和存储机器学习模型。对于需要联合执行大量任务的应用(例如,移动设备上的智能相机等),对应机器学习模型的级联会给所涉及的设备带来巨大的延迟、内存占用和功耗。附加地,这种特定于任务的机器学习模型的训练可能会因为应用性能所需的每项任务缺乏精选的训练数据而受到影响。
因此,本公开的系统和方法针对使用机器学习多任务搜索模型的多任务机器学习搜索架构。更具体地,计算系统能够获得被配置为执行多个任务的机器学习多任务搜索模型。机器学习多任务搜索模型能够包括多个候选节点。候选节点能够是或以其他方式包括神经网络(例如,人工神经网络、卷积神经网络、递归神经网络等)的一个或多个组件。作为示例,候选节点能够包括多个神经网络神经元和/或被结构化为层(例如,卷积层、汇集层等)的函数。作为另一个示例,候选节点能够是或以其他方式包括神经网络的单个神经元。作为又一示例,候选节点能够是、执行或以其他方式包括一个或多个机器学习模型函数(例如,归一化函数,诸如softmax函数、过滤函数、池化函数等)。以这种方式,每个候选节点能够是或以其他方式包括机器学习模型的任何组件、(多个)层和/或(多个)功能性。
计算系统能够获得多个任务和一个或多个关联的机器学习任务控制器模型。任务能够是或以其他方式描述机器学习模型的预期处理操作。更具体地,任务能够描述一种机器学习模型的输入数据类型和预期输出数据类型。例如,任务能够将输入数据描述为图像数据,并且将预期输出数据描述为图像分类数据。至少一个任务(以及可选的所有任务)可以将由传感器(例如相机(诸如照相机或摄像机)或麦克风)收集的真实世界数据作为输入数据。例如,输入可以是由麦克风收集的声音信号,并且输出可以是指示符号的数据,该符号可以在声音信号中编码语义。
作为另一示例,任务能够将输入数据描述为图像数据,并且将预期输出数据描述为对应于图像数据中描绘的一个或多个对象的对象识别数据。可替选地或附加地,任务中的至少一个(以及可选地所有任务)可以生成图像(静止的和/或移动的)和/或描述声音信号的数据。可替选地或附加地,任务中的至少一个可以生成用于控制在诸如真实世界环境的环境中操作的代理的控制数据;例如,代理可以是机器人,并且任务可以包括生成控制数据以控制机器人在真实世界环境中移动(平移地和/或通过改变其配置);在另一个示例中,代理可以是用于在诸如真实世界环境的环境中的一个或多个受控系统之间分配资源或工作的系统(例如,用于分配要在多个计算单元之间执行的不同计算工作项目)。作为又一个示例,该任务能够将输入数据描述为统计数据,并且将输出描述为预测数据。作为又一个示例,该任务能够将输入数据描述为编码,并且将输出数据描述为解码或编码的重构。因此,多个任务能够包括由特定于任务的机器学习模型执行的任何任务。作为示例,任务可以包括统计预测任务、对象识别任务、图像分类任务、语义理解任务或任何其他任务。
对于多个任务中的每个任务,与任务相关联的机器学习任务控制器模型能够用于生成路由(例如,“通过”机器学习多任务搜索模型的路由等)。路由能够指定要包括在对应于任务的机器学习任务子模型中的多个候选节点的子集。例如,机器学习第一任务控制器模型能够针对第一任务生成路由。路由能够指定机器学习多任务搜索模型的第一节点、第二节点和第三节点包括在机器学习第一任务子模型中。机器学习第二任务控制器模型能够针对第二任务生成路由。第二任务的路由能够指定机器学习多任务搜索模型的第一节点、第四节点和第三节点包括在机器学习第二任务子模型中。以这种方式,分别与多个任务相关联的多个机器学习任务控制器模型能够针对每个任务生成任务路由。
如前所述,能够针对多个任务获得一个或多个机器学习任务控制器模型。因此,在一些实施方式中,机器学习任务控制器模型能够被训练以针对多个任务中的单个任务生成最佳路由。例如,计算系统能够获得15个独立任务和15个分别关联的机器学习任务控制器模型。15个机器学习任务控制器模型中的每个都能够被配置为针对分别关联的任务生成路由。可替选地,在一些实施方式中,能够获得被配置为针对多个任务生成路由的机器学习任务控制器模型。例如,能够获得第一机器学习任务控制器模型,该模型能够用于针对第一任务(例如图像分类任务等)、第二任务(例如图像分类任务等)和第三任务(例如,对象识别任务等)生成路由。可替选地或附加地,在一些实施方式中,与多个任务分别关联的机器学习任务控制器模型中的每个能够包括在机器学习任务控制器模型中(例如,作为主要机器学习任务控制器模型的离散子模型等)。
在一些实施方式中,一个或多个机器学习任务控制器模型中的每个都能够被配置为针对本质上相似的任务生成(多个)路由(例如,共享公共输入和/或输出数据类型等)。作为示例,能够获得多个机器学习任务控制器模型。多个中的第一机器学习任务控制器模型能够被配置为针对将图像数据作为输入的多个任务(例如,(多个)对象检测任务、(多个)图像分类任务、(多个)图像语义理解任务、(多个)实例分割任务等)生成路由。多个中的第二机器学习任务控制器模型能够被配置为针对将统计数据作为输入的多个任务(例如,(多个)趋势分析任务、(多个)预测任务等)生成路由。以这种方式,(多个)机器学习任务控制器模型能够基于(多个)任务的一个或多个方面(例如,输入数据类型、输出数据类型、复杂性、资源成本、关联任务中的角色(例如,第一和第二任务是总体任务中的步骤等)、学习相关联等)与(多个)任务相关联。
应当注意,在一些实施方式中,每个机器学习任务控制器模型能够在“搜索阶段”阶段同时被训练。在此搜索阶段,每个机器学习任务子模型都能够使用相应的机器学习任务控制器来定义(例如,搜索等)通过机器学习多任务搜索模型的节点的路由。这允许在随后的“训练阶段”期间针对使用机器学习任务控制器模型生成的机器学习任务子模型的所有输出(例如,使用自适应损失函数等)进行优化(例如,评估、整理、归一化等)。将参考附图更详细地讨论机器学习任务控制器模型的训练。
每个机器学习任务控制器模型能够是或者能够以其他方式包括一个或多个神经网络(例如,深度神经网络)等。神经网络(例如,深度神经网络)能够是前馈神经网络、卷积神经网络和/或各种其他类型的神经网络。
对于多个任务中的每个,计算系统能够将与相应任务关联的任务输入数据输入到对应的机器学习任务子模型。对应的机器学习任务子模型(例如,机器学习多任务搜索模型的选定候选节点等)能够处理任务输入数据以获得任务输出。如前所述,任务输出能够对应于每个任务描述的操作。作为示例,如果任务描述和/或包括图像数据和对象识别任务,则任务输出能够是或以其他方式包括对象识别数据。基于目标函数,计算系统能够使用任务输出来生成反馈值。目标函数能够是用于训练机器学习模型的任何类型或形式的损失函数或目标函数。类似地,反馈值能够是用于训练机器学习模型的任何类型或形式的损失值或反馈值(例如,训练信号等)。作为示例,目标函数可以是强化学习奖励函数,并且反馈值能够包括或以其他方式是奖励值(例如,强化值等),其被配置为促进对机器学习任务控制器模型的策略更新。可替选地,反馈值能够是通过机器学习多任务搜索模型反向传播到(多个)机器学习任务控制器模型的损失信号。因此,任何常规的损失函数或目标函数都能够用于评估使用由机器学习任务控制器模型生成的路由所生成的任务输出。
在一些实施方式中,任务输入数据能够是与机器学习任务控制器模型的任务相关联的验证数据,并且奖励值(例如,反馈值)能够是与验证数据相关联的验证准确度。例如,目标函数能够是强化学习奖励函数(例如,REINFORCE算法等)。任务输入数据能够是与任务相关联的验证数据,并且反馈值能够是基于任务输出数据生成的奖励值(例如,强化值等)。
计算系统能够至少部分地基于反馈值来调整分别关联的机器学习任务控制器模型的一个或多个参数。更具体地,能够基于反馈值来修改机器学习任务控制器模型的参数的值。能够使用任何常规的学习技术或算法(例如,反向传播、梯度下降、强化学习等)来调整机器学习任务控制器模型的(多个)参数。作为示例,反馈值能够是将目标函数反向传播通过机器学习多任务搜索模型到达机器学习任务控制器模型而生成的值。能够使用任何梯度下降技术(例如,随机梯度下降等)基于该反向传播的反馈值来调整机器学习任务控制器模型的一个或多个参数。
作为另一个示例,反馈值能够是使用强化学习奖励函数生成的奖励值。能够使用强化学习技术来调整机器学习任务控制器模型的一个或多个参数。例如,能够基于奖励值的评估、强化基线、速率因子、学习率、特征权重资格等的任何一个或多个来调整机器学习任务控制器模型的(多个)参数。因此,强化学习和/或常规机器学习技术的任何实施方式都能够用于生成反馈值和调整机器学习任务控制器模型的一个或多个参数。
在一些实施方式中,与任务相关联的训练数据也能够被输入到机器学习任务子模型。训练数据能够是与任务相关联的任何类型的训练数据。例如,训练数据能够包括用于对象识别任务的图像数据和描述图像数据中描绘的每个对象的真实值。计算系统能够使用机器学习任务子模型来处理训练数据并且获得训练输出(例如,由任务描述的输出)。计算系统能够基于训练输出使用任务损失函数来生成损失值。能够使用任何常规的机器学习技术来生成每个任务损失函数和损失值。例如,任务损失函数能够评估训练输出和与训练数据相关联的真实值之间的差以生成损失值。
在一些实施方式中,在针对多个任务中的每个任务生成损失值之后,计算系统能够基于任务的多个损失值来调整机器学习多任务搜索模型的(多个)候选节点的一个或多个参数。更具体地,能够针对多个损失值中的每个迭代地更新(多个)候选节点的(多个)参数。例如,损失值能够按照它们生成的顺序存储,并且计算系统能够顺序反向传播每个损失通过机器学习多任务搜索模型。除了每个损失的反向传播,计算系统能够使用参数调整技术(例如,梯度下降、随机梯度下降等)来调整(多个)候选节点的(多个)参数。应当注意,由于(多个)候选节点能够是或以其他方式包括(多个)常规神经网络的(多个)组件,因此能够使用常规机器学习训练技术基于损失值来更新(多个)候选节点和/或(多个)候选节点的组件。
更具体地,机器学习多任务搜索模型能够用于在多次迭代中搜索最佳机器学习任务子模型(例如,通过机器学习多任务搜索模型的路由)。形式上,机器学习多任务搜索模型能够利用N个任务T={T1,T2,...,TN}。在“搜索”阶段,机器学习多任务搜索模型能够利用N个机器学习任务控制器模型C={C1,C2,...,CN}来管理每个任务的路由选择(例如,以生成每个任务的机器学习任务子模型等)。
在一次迭代内,每个机器学习任务控制器模型Ci能够分别针对每个任务Ti采样一条路由。每个采样路由能够形成任务Ti的采样机器学习任务子模型,并且每个Ci能够从模型预测中接收反馈值(例如,奖励值等)(例如,验证精度等)。这个/>然后能够用来调整机器学习任务控制器模型Cl的参数(例如,执行(多个)策略梯度更新等)。然后能够在一批训练数据上训练采样的机器学习任务子模型。
应当注意,在一些实施方式中,机器学习多任务搜索模型能够在多次迭代中被利用以迭代地更新机器学习任务控制器模型的参数和/或机器学习多任务搜索模型本身的参数,以有效地“搜索”每个任务的最佳机器学习任务子模型(例如,路由)。在下一次迭代中,每个机器学习任务控制器Ci能够生成新的机器学习任务子模型(例如,使用更新的策略对更新的路由进行重新采样等)。能够重复这些迭代,直到达到最大的迭代轮数为止。因此,在一些实施方式中,上述工作流程能够更正式地被描述为:
结果:多种架构路由
初始化机器学习任务控制器模型(RLControllers);
初始化机器学习多任务搜索模型(来自搜索空间的超网络);
while Epochs<MaxEpochs do
while I<TaskCount do
针对Task[i]采样一条路由以形成机器学习任务子模型;
在验证集上运行子模型以获得Reward[i](反馈值);
在训练集上运行模型以获得TrainLoss[i](损失值);
end
使用Reward[i]对机器学习任务控制器模型执行更新(REINFORCE);
反向传播TrainLoss[]以更新机器学习多任务搜索模型中的模型参数;
end
然而,应当注意,描述上述形式化表示仅是为了说明本公开的单个示例,因此,描述的结构和/或过程不是必需的。更具体地,上述操作能够以任何替代次序或顺序执行。例如,在一些实施方式中,描述为“使用Reward[i]对机器学习任务控制器模型执行更新(REINFORCE)”步骤的操作能够在“while”循环中迭代执行,该循环迭代通过多个任务的每个任务。
可替选地,在一些实施方式中,能够通过使用优化器来优化多个损失值。优化器能够是函数(例如,损失函数、优化函数、目标函数等),该函数被配置为基于多个损失值的各自的大小自适应地调整机器学习多任务搜索模型的(多个)候选节点的(多个)参数。例如,优化器能够是基于任务的难度自适应地调整参数的自适应损失函数。例如,如果第一任务具有更大的关联损失值,则能够认为第一任务比第二任务“更难”。当调整(多个)候选节点的(多个)参数时,自适应损失函数能够比与第二任务相关联的损失值更重地权衡与第一任务相关联的损失值。因此,在一些实施方式中,能够至少部分地基于损失值的大小来“加权”损失值。
更具体地,在一些实施方式中,能够利用损失函数在训练阶段期间自适应地优先化任务并且获得所有任务的平衡性能。这种自适应平衡任务优先化(ABTP)技术能够引入转换后的损失目标函数,如以下等式(1)所示,其中,θ表示模型参数,表示具有(例如,机器学习多任务搜索模型等的)当前模型参数的任务Ti的损失,r(θ)表示正则化:
在多任务学习场景中,每个任务的损失通常能够表示任务难度。能够引入上述等式(1)中的提升函数h(·)以将损失子空间转换为新的子空间以提升较难任务的优先级。在梯度更新期间,能够被看作是任务Ti的当前权重。当h(·)单调递增时,损失较大的任务将受到青睐。上述等式(1)本质上能够被描述为自适应的,因为该等式能够在整个训练阶段期间动态地调整任务权重。更具体地,每个任务能够分别被分配关联的任务权重,并且目标函数和/或损失函数能够被配置为评估与相应任务相关联的任务权重。
如果将线性函数用作h(·),则目标函数能够回归为任务损失的比例总和,这通常无法实现所需的任务优先级,因为h′(·)是常数。因此,应该注意的是,能够使用增强函数h(·)的多个选项,包括但不限于线性、多项式和指数函数。例如,一些函数(例如,多项式函数、指数函数等)能够用于放大基于(多个)损失值生成的调整,从而促进优化器相对于“更容易”的任务优先选择“更难”的任务。作为另一个示例,(多个)非线性增强函数和/或(多个)指数增强函数能够用于通过促进优化器的操作来提高模型性能。更一般地,h(·)可能是一个比线性更快增长的函数,例如h′(·)是自变量的递增函数。
在一些实施方式中,联合损失函数(例如,损失函数)能够通过在增强函数中引入任务优先级系数在搜索和训练迭代期间可调整(例如,(多个)机器学习任务控制器模型和(多个)机器学习多任务搜索模型的参数的调整)。更具体地,指数函数能够用作增强函数,并且自适应增强函数(例如,损失函数)可以定义为:
如等式(2)中所述,自适应系数w能够在整个训练阶段置于衰减调度上(例如,从wmax到wmin的线性衰减)。随着w的减小,具有较大损失的任务会变得越来越重要。因此,机器学习多任务搜索模型能够在搜索/训练阶段的后期更多地支持困难的任务,以便最终包括在机器学习多任务模型中。应当注意,在一些实施方式中,w的递减调度、w的恒定调度或w的递增调度。然而,在一些实施方式中,使用w的递减调度能够使机器学习多任务搜索模型的性能更高效。
可替选地,在一些实施方式中,任务输入数据能够包括训练数据。类似地,机器学习任务子模型的任务输出能够包括训练输出。更具体地,任务输出能够用作训练输出和任务输出这两者以分别由计算系统生成损失值和反馈值。以这种方式,计算系统能够将单个数据集输入到机器学习任务子模型(例如,训练集、验证集、两个集的组合等)以接收被配置为提供反馈值和损失值的输出。
在一些实施方式中,计算系统能够生成机器学习多任务模型。更具体地,计算系统能够利用被指定用于包括在每个任务的机器学习任务控制器子模型中的节点来生成机器学习多任务模型。这样,机器学习多任务模型能够包括被指定用于包括在至少一个相应的机器学习任务子模型中的候选节点的多个子集中的至少一个子集。作为示例,机器学习多任务搜索模型能够根据多个机器学习任务控制器模型来执行多个搜索迭代。例如,三个相应任务的三个机器学习任务控制器模型能够迭代优化三个任务中的每个的路由(例如,要包括在机器学习任务子模型中的指定候选节点等)。在最终搜索轮之后,计算系统能够利用三个候选节点子集(例如,三个机器学习任务子模型等)中的至少一个来生成机器学习多任务模型。作为示例,计算系统可以选择两个机器学习任务子模型及其对应的候选节点以包括在机器学习多任务模型中。作为另一示例,计算系统可以选择一个或多个机器学习任务子模型中的每个及其相应的(多个)候选节点以包括在机器学习多任务模型中。
应当注意,机器学习多任务模型的生成还能够包括候选节点之间指定的路由。例如,如果使用由第一机器学习任务子模型指定的候选节点来生成机器学习多任务模型,则机器学习多任务模型能够保留通过机器学习任务子模型的候选节点的指定路由以及与这些节点关联的任何参数。以这种方式,机器学习多任务搜索模型能够与(多个)机器学习任务控制器模型一起使用,以针对每个任务找到最佳的机器学习任务子模型,并且能够通过选择通过使用机器学习多任务搜索模型发现的节点和路由来生成机器学习多任务模型。
更具体地,在一些实施方式中,在搜索阶段结束时,能够从每个机器学习任务控制器模型中获取最“可能的路由”(例如,最佳机器学习任务子模型)以形成具有所有任务路由和指定的候选节点的单一的机器学习多任务模型(例如,联合模型)。如前所述,能够使用由(多个)机器学习任务控制器模型生成的路由所路由的节点来构建一个任务的机器学习任务子模型。因此,在机器学习多任务模型(例如,联合模型)中,每个任务都能够如其优化的机器学习任务子模型指定那样通过其本身的路由。
应当注意,在一些实施方式中,如果多于一个任务被路由到机器学习多任务模型中的同一节点,则在该共享节点中的权重/该共享节点的权重(例如,参数值等)能够由共享节点的所有任务使用。如果只有一个任务被路由到一个节点,则该节点将被该任务独占使用。
在一些实施方式中,未被任何任务使用的机器学习多任务搜索模型的候选节点(例如,未被(多个)机器学习任务控制器模型包括在任何机器学习任务子模型中)能够保持未被选择包括在机器学习多任务模型中。这样,机器学习多任务模型能够包括构成机器学习多任务搜索模型的全部候选节点的子集。在一些实施方式中,对于机器学习多任务模型的节点(例如,conv节点等),每个任务能够选择性地使用滤波器的子集。滤波器号也能够由机器学习任务控制器模型选择用于任务。
在一些实施方式中,随后能够训练机器学习多任务模型。在训练中,每个任务能够训练任务路由中包括的节点。以这种方式,在任务路由之间的节点的共享能够减少机器学习多任务模型中的参数数量。附加地,节点的共享能够促进任务之间的肯定知识转移。更具体地,与机器学习任务子模型之一相关联的多任务训练数据能够被输入到机器学习多任务模型以获得多任务训练输出。能够基于多任务训练输出(例如,基于损失函数等)来调整机器学习多任务模型的一个或多个参数。以这种方式,能够利用附加的训练迭代来进一步优化机器学习多任务模型。
因此,当一个节点的参数对多个任务中的每个有益时,该节点能够受到多个任务的青睐。鉴于每个机器学习任务控制器模型都能够基于反馈值(例如,任务准确性奖励)来独立地选择通过候选节点的路由,当任务强相关时(例如,图像分类和对象分类等),路由相似性也能够更强地显示。
机器学习多任务模型能够针对多个对应的任务生成多个输出。更具体地,计算系统能够包括机器学习多任务模型。机器学习多任务模型能够在计算系统处生成(例如,使用机器学习多任务搜索模型等)或从第二计算系统(例如,其已经使用机器学习多任务搜索模型等)接收。计算系统能够获得与第一任务相关联的第一任务输入数据和与第二任务相关联的第二任务输入数据。任务能够是由特定于任务的机器学习模型执行的任何任务。例如,任务能够分别是图像分类任务和对象识别任务。任务输入数据能够与相应任务相关联。作为示例,第一任务输入数据和第二任务输入数据都能够分别包括图像数据。因此,在一些实施方式中,第一任务和第二任务能够共享相同的输入数据并且输出不同的任务输出数据(例如,图像分类数据和对象识别数据等)。可替选地,在一些实施方式中,第一任务输入数据能够是统计预测数据并且第二任务数据能够是图像数据。因此,第一任务和第二任务不必是相似的任务。
计算系统能够将第一任务输入数据输入到机器学习多任务模型以获得对应于第一任务的第一任务输出。计算系统能够将第二任务输入数据输入到机器学习多任务模型以获得对应于第二任务的第二任务输出。以这种方式,机器学习多任务模型能够被训练并且用于执行各种任务,而不管任务的相似性如何。例如,计算系统能够将第一和第二任务顺序地输入到机器学习多任务模型中,一旦所有任务都经过训练(例如,使用优化器等),就能够计算联合损失函数。
本公开提供了许多技术效果和益处。作为一个示例技术效果和益处,本公开的系统和方法使得能够训练和生成更有效和更准确的机器学习多任务模型。例如,许多现代应用需要在资源受限环境(例如,移动设备上的智能相机应用等)中使用机器学习来用于许多任务。然而,针对每个任务训练和部署一个单独的特定于任务的模型能够引入巨大的延迟、内存占用和功耗,这会使应用的使用成本过高。因此,本公开提供了训练和生成机器学习多任务模型的方法,该模型可以用来代替个性化的、特定的机器学习模型。通过提供能够用于代替多个特定于任务的模型的机器学习多任务模型,本公开能够显著地减少各种应用(例如,智能相机应用、图像处理、预测分析等)所需的计算资源(例如,指令周期、电力、带宽等)。
本公开的另一个技术效果和益处是减少对用于训练任务特定机器学习模型的特定于任务的训练数据的需要。更具体地,训练特定于任务的机器学习模型通常可能需要大型特定于任务的训练数据集。因此,在某些情况下,针对这些不同的任务收集足够的训练数据可能过度具有挑战性并且代价高昂。因此,本公开的机器学习多任务模型允许在多个任务之间共享知识。通过共享该知识,与特定于任务的模型训练相比,本公开的各方面极大地改善了资源约束和数据效率,因此显著地减少了收集和利用特定于任务的训练数据所需的费用和计算资源。此外,与单任务模型的利用相比,机器学习多任务模型能够具有更小的尺寸和更低的推理成本。
现在参考附图,将更详细地讨论本公开的示例实施例。
示例设备和系统
图1A描绘了根据本公开的示例实施例的执行机器学习多任务模型生成的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102能够是任何类型的计算设备,例如个人计算设备(例如膝上型或台式的)、移动计算设备(例如智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112能够是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且能够是一个处理器或可操作地连接的多个处理器。存储器114能够包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器114能够存储由处理器112执行以使用户计算设备102执行操作的数据116和指令118。
在一些实施方式中,用户计算设备102能够存储或包括一个或多个机器学习多任务模型120。例如,机器学习多任务模型120能够是或者能够以其他方式包括各种机器学习模型,诸如神经网络(例如深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络能够包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。参考图2-5讨论示例机器学习多任务模型120。
在一些实施方式中,一个或多个机器学习多任务模型120能够通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。在一些实施方式中,用户计算设备102能够实现单个机器学习多任务模型120的多个并行实例(例如,以跨机器学习多任务模型120的多个实例执行并行机器学习多任务)。
更具体地,机器学习多任务模型120能够用于针对多个对应任务生成多个输出。机器学习多任务模型120能够在用户计算设备102处生成(例如,使用机器学习多任务搜索模型124等)或者从服务器计算系统130(例如,使用机器学习多任务搜索模型等)或训练计算系统150接收。用户计算设备102能够获得与第一任务相关联的第一任务输入数据和与第二任务相关联的第二任务输入数据(例如,经由网络180等)。任务能够是由特定于任务的机器学习模型执行的任何任务。例如,任务能够分别是图像分类任务和对象识别任务。任务输入数据能够与相应任务相关联。作为示例,第一任务输入数据和第二任务输入数据都能够分别地包括图像数据。因此,在一些实施方式中,第一任务和第二任务能够共享相同的输入数据并且输出不同的任务输出数据(例如,图像分类数据和对象识别数据等)。可替换地,在一些实施方式中,第一任务输入数据能够是统计预测数据并且第二任务数据能够是图像数据。因此,第一任务和第二任务不必是相似的任务。
附加地或可替选地,一个或多个机器学习多任务模型140能够被包括在根据客户端服务器关系与用户计算设备102通信的服务器计算系统130或以其他方式由根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130存储并实现。例如,机器学习多任务模型140能够由服务器计算系统130实现为网络服务(例如,图像处理服务、统计分析服务等)的一部分。因此,一个或多个机器学习多任务模型120能够在用户计算设备102处存储和实现和/或一个或多个机器学习多任务模型140能够在服务器计算系统130处存储和实现。
附加地或可替选地,服务器计算系统130能够包括机器学习多任务搜索模型145。机器学习多任务搜索模型145能够被训练和用于生成机器学习多任务模型140。更具体地,机器学习多任务搜索模型145能够包括多个候选节点(例如,(多个)神经网络神经元和/或(多个)神经网络函数等)。与由机器学习多任务模型140执行的任务相关联的(多个)机器学习任务控制器模型能够用于针对每个任务生成路由(例如,通过机器学习多任务搜索模型145等)。更具体地,路由能够指定要包括在对应任务的机器学习任务子模型中的多个候选节点的子集。与任务相关联的任务数据能够输入到机器学习任务子模型以接收反馈值。能够基于反馈值来调整机器学习任务控制器模型的参数。服务器计算系统130能够针对多个任务和一个或多个关联的机器学习任务控制器模型重复该过程。经过多次迭代,能够训练机器学习任务控制器模型以针对它们各自的任务来生成通过机器学习多任务搜索模型145的最佳路由。然后服务器计算系统130能够利用这些路由从机器学习多任务搜索模型145生成机器学习多任务模型140。
在使用机器学习多任务搜索模型145生成机器学习多任务搜索模型140之后,服务器计算系统130能够在一些实施方式中向用户计算设备102(例如,机器学习多任务模型120等)发送(例如,网络180等)生成的机器学习多任务模型140。可替选地或附加地,服务器计算系统130能够将机器学习多任务模型140发送(例如,经由网络180等)到训练计算系统150以用于附加训练。
用户计算设备102还能够包括一个或多个接收用户输入的用户输入组件122。例如,用户输入组件122能够是对用户输入对象的触摸(例如,手指或触笔)敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件能够用于实现虚拟键盘。其他示例用户输入组件包括麦克风、常规键盘或用户能够用来提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132能够是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且能够是一个处理器或可操作地连接的多个处理器。存储器134能够包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器134能够存储由处理器132执行以使服务器计算系统130执行操作的数据136和指令138。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备能够根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130能够存储或以其他方式包括一个或多个机器学习多任务模型140和/或一个或多个机器学习多任务搜索模型145。例如,模型140/145能够是或者能够以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。参考图2-5讨论示例模型140和/或145。
用户计算设备102和/或服务器计算系统130能够经由与通过网络180通信耦合的训练计算系统150的交互来训练模型120、140和/或145。训练计算系统150能够与服务器计算系统130分开或者能够是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152能够是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等)并且能够是一个处理器或可操作地连接的多个处理器。存储器154能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器154能够存储由处理器152执行以使训练计算系统150执行操作的数据156和指令158。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。
训练计算系统150能够包括模型训练器160,其使用各种训练或学习技术(例如,误差的反向传播和/或强化学习)来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120、140和/或145。例如,能够通过(多个)模型反向传播损失函数以更新(多个)模型的一个或多个参数(例如,基于损失函数的梯度)。能够使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术能够用于在多次训练迭代中迭代更新参数。
在一些实施方式中,执行误差的反向传播能够包括执行随时间的截断反向传播。模型训练器160能够执行多种泛化技术(例如,权重衰减、丢失等)以提高被训练模型的泛化能力。
特别地,模型训练器160能够基于一组训练数据162来训练机器学习多任务模型120和140。训练数据162能够包括例如针对多个任务的特定于任务的训练数据。例如,训练数据能够包括针对图像分类任务的多个训练示例和相关联的真实值、针对对象识别任务的多个训练示例和相关联的真实值、以及用于统计预测任务的多个训练示例和相关联的真实值。
附加地或可替选地,训练数据162和/或模型训练器160能够包括机器学习多任务搜索模型。能够如关于机器学习多任务搜索模型145所描述的那样利用机器学习多任务搜索模型来生成一个机器学习多任务模型(例如,模型120和140)。这些(多个)模型能够由训练计算系统150发送到服务器计算系统130和/或用户计算设备102。可替选地或附加地,训练计算系统150能够使用如前所述的模型训练器160和训练数据162在传输到服务器计算系统130和/或用户计算设备102之前附加地训练生成的机器学习多任务模型。
在一些实施方式中,如果用户已经同意,则训练示例能够由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120能够由训练计算系统150来根据从用户计算设备102接收到的特定于用户的数据训练。在某些情况下,该过程能够称为个性化模型。
模型训练器160包括用于提供所需功能性的计算机逻辑。模型训练器160能够以硬件、固件和/或控制通用处理器的软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括一组或多组计算机可执行指令,其存储在诸如RAM硬盘或光或磁介质的有形计算机可读存储介质中。
网络180能够是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合,并且能够包括任何数量的有线或无线链路。一般而言,能够经由任何类型的有线和/或无线连接,使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如VPN、安全HTTP、SSL)来承载网络180上的通信。
本说明书中描述的机器学习模型可以用于各种任务、应用和/或用例。
在一些实施方式中,对于本公开的(多个)机器学习模型的输入能够是图像数据(例如,由照相机或摄像机捕获;注意,在变体中,输入可以是通过另一种类型的传感器捕获的其他真实世界数据)。(多个)机器学习模型能够处理图像数据以生成输出。例如,(多个)机器学习模型能够处理图像数据以生成图像分类输出(例如,图像数据的分类、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一个示例,(多个)机器学习模型能够处理图像数据以生成图像分割输出。作为另一个示例,(多个)机器学习模型能够处理图像数据以生成图像分类输出。作为另一个示例,(多个)机器学习模型能够处理图像数据以生成图像数据修改输出(例如,图像数据的更改等)。作为另一个示例,(多个)机器学习模型能够处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一个示例,(多个)机器学习模型能够处理图像数据以生成放大的图像数据输出。作为另一个示例,(多个)机器学习模型能够处理图像数据以生成预测输出。
在一些实施方式中,对于本公开的(多个)机器学习模型的输入能够是文本或自然语言数据。(多个)机器学习模型能够处理文本或自然语言数据以生成输出。例如,(多个)机器学习模型能够处理自然语言数据以生成语言编码输出。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成翻译输出。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成分类输出。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成文本分割输出。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成语义意图输出。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成放大的文本或自然语言输出(例如,比输入文本或自然语言质量更高的文本或自然语言数据等)。作为另一个示例,(多个)机器学习模型能够处理文本或自然语言数据以生成预测输出。
在一些实施方式中,对于本公开的(多个)机器学习模型的输入能够是语音数据。(多个)机器学习模型能够处理语音数据以生成输出。例如,(多个)机器学习模型能够处理语音数据以生成语音识别输出。作为另一个示例,(多个)机器学习模型能够处理语音数据以生成语音翻译输出。作为另一个示例,(多个)机器学习模型能够处理语音数据以生成潜在嵌入输出。作为另一个示例,(多个)机器学习模型能够处理语音数据以生成编码语音输出(例如,语音数据的编码和/或压缩表示等)。作为另一个示例,(多个)机器学习模型能够处理语音数据以生成放大的语音输出(例如,比输入语音数据质量更高的语音数据等)。作为另一个示例,(多个)机器学习模型能够处理语音数据以生成文本表示输出(例如,输入语音数据的文本表示等)。作为另一个示例,(多个)机器学习模型能够处理语音数据以生成预测输出。
在一些实施方式中,对于本公开的(多个)机器学习模型的输入能够是潜在编码数据(例如,输入的潜在空间表示等)。(多个)机器学习模型能够处理潜在编码数据以生成输出。例如,(多个)机器学习模型能够处理潜在编码数据以生成识别输出。作为另一个示例,(多个)机器学习模型能够处理潜在编码数据以生成重构输出。作为另一个示例,(多个)机器学习模型能够处理潜在编码数据以生成搜索输出。作为另一个示例,(多个)机器学习模型能够处理潜在编码数据以生成重新聚类输出。作为另一个示例,(多个)机器学习模型能够处理潜在编码数据以生成预测输出。
在一些实施方式中,对于本公开的(多个)机器学习模型的输入能够是统计数据。(多个)机器学习模型能够处理统计数据以生成输出。例如,(多个)机器学习模型能够处理统计数据以生成识别输出。作为另一个示例,(多个)机器学习模型能够处理统计数据以生成预测输出。作为另一个示例,(多个)机器学习模型能够处理统计数据以生成分类输出。作为另一个示例,(多个)机器学习模型能够处理统计数据以生成分割输出。作为另一个示例,(多个)机器学习模型能够处理统计数据以生成分割输出。作为另一个示例,(多个)机器学习模型可以处理统计数据以生成可视化输出。作为另一个示例,(多个)机器学习模型能够处理统计数据以生成诊断输出。
在一些实施方式中,对于本公开的机器学习模型的输入能够是传感器数据。(多个)机器学习模型能够处理传感器数据以生成输出。例如,(多个)机器学习模型能够处理传感器数据以生成识别输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成预测输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成分类输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成分割输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成分割输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成可视化输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成诊断输出。作为另一个示例,(多个)机器学习模型能够处理传感器数据以生成检测输出。
在一些情况下,(多个)机器学习模型能够被配置为执行包括编码输入数据以用于可靠和/或有效传输或存储(和/或对应的解码)的任务。例如,任务可以是音频压缩任务。输入可以包括音频数据并且输出可以包括压缩的音频数据。在另一个示例中,输入包括视觉数据(例如一个或多个图像或视频),输出包括压缩的视觉数据,并且任务是视觉数据压缩任务。在另一个示例中,任务可以包括针对输入数据(例如输入音频或视觉数据)生成嵌入。
在一些情况下,输入包括视觉数据并且任务是计算机视觉任务。在某些情况下,输入包括一个或多个图像的像素数据并且任务是图像处理任务。例如,图像处理任务能够是图像分类,其中,输出是一组分数,每个分数对应于不同的对象类别并且表示一个或多个图像描绘属于该对象类别的对象的可能性。图像处理任务可以是对象检测,其中,图像处理输出识别一个或多个图像中的一个或多个区域,并且对于每个区域,识别该区域描绘感兴趣对象的可能性。作为另一个示例,图像处理任务能够是图像分割,其中,图像处理输出针对一个或多个图像中的每个像素定义了预定类别集中每个类别的相应可能性。例如,类别集能够是前景和背景。作为另一个示例,类别集能够是对象类别。作为另一个示例,图像处理任务能够是深度估计,其中,图像处理输出针对一个或多个图像中的每个像素定义相应的深度值。作为另一个示例,图像处理任务能够是运动估计,其中,网络输入包括多个图像,并且图像处理输出针对输入图像之一的每个像素定义在网络输入中的图像之间像素处描绘的场景的运动。
在一些情况下,输入包括表示口头话语的音频数据并且任务是语音识别任务。输出可以包括被映射到口头话语的文本输出。在一些情况下,任务包括加密或解密输入数据。在一些情况下,任务包括微处理器执行任务,诸如分支预测或存储器地址转换。
图1A图示了能够用于实现本公开的一个示例计算系统。也能够使用其他计算系统。例如,在一些实施方式中,用户计算设备102能够包括机器学习多任务搜索模型145和/或模型训练器160和训练数据集162。在这样的实施方式中,模型120能够在用户计算设备102处本地训练和使用。在一些这样的实施方式中,用户计算设备102能够实现模型训练器160和/或机器学习多任务搜索模型145以基于特定于用户的数据个性化模型120。
图1B描绘了根据本公开的示例实施例的执行多个任务的示例计算设备10的框图。计算设备10能够是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1到N)。每个应用都包含自己的机器学习库和(多个)机器学习模型。例如,每个应用都能够包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用都能够与计算设备的许多其他组件通信,诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实施方式中,每个应用能够使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,每个应用使用的API特定于该应用。
图1C描绘了根据本公开的示例实施例的执行机器学习多任务模型生成的示例计算设备50的框图。计算设备50能够是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1到N)。每个应用都与中央智能层通信。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用能够使用API(例如,跨所有应用的公共API)与中央智能层(和存储在其中的模型)通信。
中央智能层包括多个机器学习模型。例如,如图1C所示,能够使用机器学习多任务搜索模型针对每个应用提供相应的机器学习模型(例如,机器学习多任务模型),并且由中央智能层管理相应的机器学习模型。在其他实施方式中,两个或多个应用能够共享单个机器学习多任务模型。例如,在一些实施方式中,中央智能层能够针对所有应用提供单一模型(例如,单一机器学习多任务模型)。在一些实施方式中,中央智能层被包括在计算设备50的操作系统内或以其他方式由计算设备50的操作系统实现。
中央智能层能够与中央设备数据层通信。中央设备数据层能够是计算设备50的中央数据存储库。如图1C所示,中央设备数据层能够与计算设备的多个其他组件通信,诸如例如一个或更多传感器、上下文管理器、设备状态组件和/或其他组件。在一些实施方式中,中央设备数据层能够使用API(例如,私有API)与每个设备组件通信。
示例模型安排
图2描绘了根据本公开的示例实施例的示例机器学习多任务搜索模型200的框图。在一些实施方式中,机器学习多任务搜索模型200被训练以接收描述多个任务的一组输入数据204和分别关联的任务输入数据,并且作为接收到输入数据204的结果,提供了描述分别与由输入数据204描述的多个任务关联的多个任务输出的输出数据206。因此,在一些实施方式中,机器学习多任务搜索模型200能够包括可操作以基于任务输入数据生成任务输出的多个候选节点202。
更具体地,能够选择候选节点202以通过相应的多个路由包括在多个机器学习任务子模型中。这些路由能够由一个或多个关联的机器学习任务控制器模型生成。例如,机器学习任务控制器模型能够接收输入数据204。基于由输入数据204描述的任务,机器学习任务控制器模型能够生成路由,该路由指定“通过”候选节点202的所选子集的路由。候选节点的所选子集能够是对应于输入数据204的任务的机器学习任务子模型。机器学习多任务搜索模型200能够使用由路由指定的机器学习任务子模型来处理输入数据204以生成输出数据206。将关于图3更详细地讨论用于生成指定候选节点202包括在机器学习任务子模型中的路由的机器学习任务控制器模型的具体实施方式。
候选节点202能够是或以其他方式包括神经网络的一个或多个组件(例如,人工神经网络、卷积神经网络、递归神经网络等)。作为示例,候选节点202能够包括多个神经网络神经元和/或被构造为层(例如,卷积层、池化层等)的函数。作为另一示例,候选节点202能够是或以其他方式包括神经网络的单个神经元。作为又一示例,候选节点202能够是、执行或以其他方式包括一个或多个机器学习模型函数(例如,归一化函数,诸如softmax函数、过滤函数、池化函数等)。以这种方式,每个候选节点202能够是或以其他方式包括机器学习模型任务/模型的任何(多个)组件、(多个)层和/或(多个)功能性。
图3描绘了根据本公开的示例实施例的示例机器学习多任务搜索模型200和由路由304指定的对应机器学习任务子模型306的框图300。机器学习多任务搜索模型200能够是与图2的机器学习多任务搜索模型200相同的模型或基本相似的模型。
更具体地,输入数据204能够描述多个任务和关联的任务输入数据。任务能够是或以其他方式描述机器学习模型的(多个)预期处理操作。更具体地,任务能够描述一种机器学习模型的输入数据类型和预期输出数据类型。作为示例,任务能够将输入数据204描述为图像数据并且将预期输出数据206描述为图像分类数据。作为另一示例,任务能够将输入数据204描述为图像数据并且将预期输出数据206描述为对应于图像数据中描绘的一个或多个对象的对象识别数据。作为又一示例,任务能够将输入数据204描述为统计数据并且将输出数据206描述为预测数据。作为又一示例,任务能够将输入数据204描述为编码并且将输出数据206描述为解码或编码的重构。因此,多个任务能够包括由特定于任务的机器学习模型执行的任何任务。作为示例,任务可以包括统计预测任务、对象识别任务、图像分类任务、语义理解任务或任何其他任务。
对于多个任务中的一个任务,与该任务关联的机器学习任务控制器模型302能够用于生成候选节点路由304(例如,“通过”机器学习多任务搜索模型的路由等)。候选节点路由304能够指定要包括在对应于输入数据204的任务的机器学习任务子模型306中的多个候选节点的子集(例如,图2的候选节点202)。作为示例,机器学习任务控制器模型302能够针对输入数据204的任务生成路由304。候选节点路由304能够指定机器学习多任务搜索模型200的多个节点包括在机器学习任务子模型306中。作为示例,如果机器学习多任务搜索模型200包括多个前馈层,每个前馈层包括相应的多个节点,则候选节点路由可以是每层中的单个节点的选择,并且路由是数据流路径,通过该路径,输入数据依次向前馈送通过每层的相应选定节点。输入数据204的任务输入数据能够被输入到机器学习任务子模型306的第一“节点”并且能够由机器学习任务子模型306根据机器学习任务模型302生成的路由304进行处理。机器学习任务子模型306能够相应地处理输入数据204以生成输出数据206。输出数据206能够是或对应于由输入数据204的任务指定的输出数据类型。
每个机器学习任务控制器模型302能够是或者能够以其他方式包括一个或多个神经网络(例如,深度神经网络)等。神经网络(例如,深度神经网络)能够是前馈神经网络、卷积神经网络和/或各种其他类型的神经网络。
应当注意,机器学习任务控制器模型302被描述为与机器学习多任务搜索模型300分离的组件仅是为了更容易地说明示例实施例。相反,在一些实施方式中,机器学习任务控制器模型302能够与机器学习多任务搜索模型300并发地和/或同时地被实例化,并且能够一起包括作为总体机器学习模型集合。
图4描绘了根据本公开的示例实施例的用于训练机器学习任务控制器模型404的数据流图400。机器学习任务控制器模型404能够接收任务数据402。任务数据402能够包括任务输入数据402A和训练数据402B,并且能够进一步描述与任务402相关联的预期操作以及预期输入数据类型和输出数据类型。基于由任务数据402描述的操作和输入/输出数据,机器学习任务控制器模型404能够用于生成路由408。路由408能够指定要包括在对应于该任务的机器学习任务子模型中的来自机器学习多任务搜索模型406的多个候选节点(例如,节点408A-D)的子集。如所描绘的,路由408能够指定机器学习多任务搜索模型406的第一节点408A、第二节点408B、第三节点408C和第四节点408D被包括在机器学习任务子模型中。更具体地,机器学习任务子模型能够包括指定的候选节点(例如,408A-408D),并且能够以与常规机器学习模型相同的方式处理任务输入数据402A。以这种方式,由机器学习任务控制器模型404生成的路由408能够指定被包括在对应于任务402的机器学习任务子模型中的机器学习多任务搜索模型406的节点的顺序和数量。
任务输入数据402A能够输入到机器学习任务子模型(例如,由路由408指定的候选节点408A-408D)以生成任务输出410。因此,任务输出410能够对应于由任务数据402描述的操作。作为示例,如果任务数据402描述和/或包括图像数据和对象识别任务,则任务输出410能够是或以其他方式包括对象识别数据。基于目标函数412,任务输出410能够连同与任务输入数据402A相关联的真实值一起用于生成反馈值414。目标函数412能够是任何类型或形式的损失函数或目标函数以用于训练机器学习模型(例如,机器学习任务控制器模型404)。类似地,反馈值414能够是用于训练机器学习模型的任何类型或形式的损失值或反馈值(例如,训练信号等)。作为示例,目标函数412可以是强化学习奖励函数,并且反馈值414能够包括或以其他方式作为奖励值(例如,强化值等),其被配置为促进对机器学习任务控制器模型404的策略更新。可替选地,反馈值414能够是通过机器学习多任务搜索模型406反向传播到机器学习任务控制器模型404的损失信号。因此,任何常规损失或目标函数412能够用于评估使用由机器学习任务控制器模型404确定的路由408生成的任务输出410。
在一些实施方式中,任务输入数据402A能够是与机器学习任务控制器模型404的任务402相关联的验证数据,并且奖励值414(例如,反馈值414)能够是与验证数据相关联的验证准确度。作为示例,目标函数412能够是强化学习奖励函数(例如,REINFORCE算法等)。任务输入数据402A能够是与任务相关联的验证数据,并且反馈值能够是基于任务输出数据410和与任务输入数据402A相关联的真实值生成的奖励值414(例如,强化值等)。
能够至少部分地基于反馈值414来调整机器学习任务控制器模型404的一个或多个参数。更具体地,能够基于反馈值414来修改机器学习任务控制器模型404的参数值。能够使用任何常规学习技术或算法(例如,反向传播、梯度下降、强化学习等)来调整机器学习任务控制器模型404的(多个)参数。作为示例,反馈值414能够是目标函数412的反向传播通过机器学习多任务搜索模型406以到达机器学习任务控制器模型404而生成的值。能够使用任何梯度下降技术(例如,随机梯度下降等)基于该反向传播的反馈值414来调整机器学习任务控制器模型404的一个或多个参数。
作为另一个示例,反馈值414能够是使用强化学习奖励函数412(例如,目标函数)生成的奖励值414。能够使用强化学习技术来调整机器学习任务控制器模型404的一个或多个参数。例如,能够基于奖励值414的评估、强化基线、速率因子、学习率、特征权重资格等来调整机器学习任务控制器模型404的参数。这样,强化学习和/或常规机器学习技术的任何实施方式都能够用于生成反馈值414和调整机器学习任务控制器模型404的一个或多个参数。
图5描绘了根据本公开的示例实施例的用于训练机器学习多任务搜索模型的一个或多个候选节点的一个或多个参数的数据流图500。任务502能够由它们各自的机器学习任务控制器模型504接收,这在前面关于图4进行了描述。类似地,机器学习任务控制器模型504能够生成路由506,其指定包括在如图4中描述的机器学习多任务搜索模型508中的通过多个候选节点的子集的路由。与任务502相关联的任务输入数据能够被输入到机器学习多任务搜索模型508并且能够根据由机器学习任务控制器模型504生成的路由506处理以生成反馈值510。应当注意,机器学习任务控制器模型504被描述为分别与相等数量的任务502相关联仅仅是为了说明。可替选地,在一些实施方式中,一个或多个机器学习任务控制器模型504可以用于所描绘的多个任务502。
此外,与任务502相关联的训练数据能够输入到机器学习多任务搜索模型508并且能够根据由机器学习任务控制器模型504生成的路由506处理以生成反馈值损失值512。训练数据能够是与任务502相关联的任何类型的训练数据。作为示例,训练数据能够包括用于任务502的对象识别任务的图像数据和描述图像数据中描绘的每个对象的真实值。任务损失函数能够用于基于训练输出来生成损失值512。任务损失函数和损失值512均能够使用任何常规的机器学习技术生成。作为示例,任务损失函数能够评估训练输出和与训练数据相关联的真实值之间的差以生成损失值512。
能够使用自适应损失函数514来评估损失值512。更具体地,能够将基于自适应损失函数514的候选节点参数调整516针对多个损失值512中的每个损失值迭代地应用于机器学习多任务搜索模型508的(多个)候选节点的(多个)参数。作为示例,损失值512能够按照它们生成的顺序存储,并且计算系统能够顺序地将损失512中的每个反向传播通过机器学习多任务搜索模型508。连同每个损失512的反向传播,能够使用候选节点参数调整516(例如,梯度下降、随机梯度下降等)来调整机器学习多任务搜索模型508的(多个)候选节点的(多个)参数。应当注意,由于机器学习多任务搜索模型508的(多个)候选节点能够是或以其他方式包括(多个)常规神经网络的(多个)组件,因此能够使用常规机器学习训练技术基于损失值来更新(多个)候选节点和/或(多个)候选节点的组件。
能够通过使用自适应损失函数514来优化多个损失值512。自适应损失函数514能够是函数(例如,损失函数、优化函数、目标函数等),其被配置为基于多个损失值512的各自大小自适应地调整机器学习多任务搜索模型508的(多个)候选节点的(多个)参数。作为示例,自适应损失函数514能够基于任务的难度502自适应地调整参数。例如,如果第一任务具有更大的关联损失值512,则能够认为第一任务比第二任务“更难”。自适应损失函数514能够在调整机器学习多任务搜索模型508的(多个)候选节点的(多个)参数时对与第一任务相关联的损失值比与第二任务相关联的损失值更重地加权。因此,在一些实施方式中,能够至少部分基于损失值的大小来“加权”损失值512。
更具体地,在一些实施方式中,能够利用自适应损失函数514以在训练阶段期间自适应地优先化任务502并且获得所有任务502的平衡性能。这种自适应平衡任务优先化(ABTP)技术能够引入转换的自适应损失函数514,如下式(1)所示,其中,θ表示模型参数,表示具有当前模型参数的任务Ti的损失,r(θ)表示正则化:
在多任务学习场景中,每个任务502的损失通常能够表示任务难度。能够引入上述等式(1)中的提升函数h(·)以将损失子空间转换为新的子空间以提升较难任务的优先级。在候选节点参数调整516期间,能够被视为任务Ti的当前权重。当h(·)单调递增时,损失较大的任务将受到青睐。上述等式(1)在本质上能够被描述为自适应的,因为该等式能够在候选节点参数调整516期间动态地调整任务权重。更具体地,能够分别针对每个任务502分配关联的任务权重,并且自适应损失函数514能够被配置为评估与相应任务502相关联的任务权重。
示例方法
图6描绘了根据本公开的示例实施例的用于执行被配置为执行多个任务的机器学习多任务模型的生成的示例方法的流程图。尽管图6出于说明和讨论的目的描绘了以特定顺序执行的步骤,但是本公开的方法不限于具体说明的顺序或布置。在不脱离本公开的范围的情况下,能够以各种方式省略、重新安排、组合和/或适应方法600的各个步骤。
在602处,计算系统能够获得多个任务和多个分别关联的机器学习任务控制器模型。更具体地,计算系统能够获得被配置为执行多个任务的机器学习多任务搜索模型。机器学习多任务搜索模型能够包括多个候选节点。候选节点能够是或以其他方式包括神经网络的一个或多个组件(例如,人工神经网络、卷积神经网络、递归神经网络等)。作为示例,候选节点能够包括多个神经网络神经元和/或结构化为层(例如,卷积层、汇集层等)的函数。作为另一个示例,候选节点能够是或以其他方式包括神经网络的单个神经元。作为又一示例,候选节点能够是、执行或以其他方式包括一个或多个机器学习模型函数(例如,归一化函数,诸如softmax函数、过滤函数、池化函数等)。以这种方式,每个候选节点能够是或以其他方式包括机器学习模型的任何(多个)组件、(多个)层和/或(多个)功能性。
计算系统能够获得多个任务和多个分别关联的机器学习任务控制器模型。任务能够是或以其他方式描述机器学习模型的预期处理操作。更具体地,任务能够描述一种类型的机器学习模型的输入数据类型和预期输出数据类型。例如,任务能够将输入数据描述为图像数据,并且将预期输出数据描述为图像分类数据。作为另一个示例,任务能够将输入数据描述为图像数据,并且将预期输出数据描述为对应于图像数据中描述的一个或多个对象的对象识别数据。作为又一个示例,任务能够将输入数据描述为统计数据,并且将输出描述为预测数据。作为又一个示例,任务能够将输入数据描述为编码,并且将输出数据描述为解码或编码的重构。因此,多个任务能够包括由特定于任务的机器学习模型执行的任何任务。作为示例,任务可以包括统计预测任务、对象识别任务、图像分类任务、语义理解任务或任何其他任务。
在604处,对于多个任务中的每个任务,计算系统能够使用机器学习任务控制器模型来生成路由,该路由指定候选节点以包括在机器学习任务子模型中。更具体地,与任务相关联的机器学习任务控制器模型能够用于生成路由(例如,“通过”机器学习多任务搜索模型的路由等)。路由能够指定要包括在对应于任务的机器学习任务子模型中的多个候选节点的子集。例如,机器学习第一任务控制器模型能够针对第一任务生成路由。路由能够指定机器学习多任务搜索模型的第一节点、第二节点和第三节点包括在机器学习第一任务子模型中。机器学习第二任务控制器模型能够针对第二任务生成路由。第二任务的路由能够指定机器学习多任务搜索模型的第一节点、第四节点和第三节点包括在机器学习第二任务子模型中。以这种方式,与多个任务相关联的一个或多个机器学习任务控制器模型能够针对每个任务生成任务路由。
如前所述,能够针对多个任务获得一个或多个机器学习任务控制器模型。因此,在一些实施方式中,能够训练机器学习任务控制器模型以针对多个任务中的单个任务生成最佳路由。例如,计算系统能够获得15个独立任务和15个分别关联的机器学习任务控制器模型。15个机器学习任务控制器模型中的每个都能够被配置为针对分别关联的任务生成路由。可替选地,在一些实施方式中,能够获得机器学习任务控制器模型,该模型被配置为针对多个任务生成路由。例如,能够获得第一机器学习任务控制器模型,该模型能够用于针对第一任务(例如图像分类任务等)、第二任务(例如图像分类任务等)和第三任务(例如,对象识别任务等)生成路由。可替选地或附加地,在一些实施方式中,分别与多个任务相关联的机器学习任务控制器模型中的每个能够包括在机器学习任务控制器模型中(例如,作为主要机器学习任务控制器模型的离散子模型等)。
在一些实施方式中,一个或多个机器学习任务控制器模型中的每个能够被配置为针对本质上相似的任务生成路由(例如,共享公共输入和/或输出数据类型等)。作为示例,能够获得多个机器学习任务控制器模型。多个中的第一机器学习任务控制器模型能够被配置为针对多个任务生成路由,这些任务将图像数据作为输入(例如,(多个)对象识别任务、(多个)图像分类任务、(多个)图像语义理解任务等)。多个中的第二机器学习任务控制器模型能够被配置为针对多个任务生成路由,这些任务将统计数据作为输入(例如,(多个)趋势分析任务、(多个)预测任务等)。以这种方式,(多个)机器学习任务控制器模型能够基于(多个)任务的一个或多个方面(例如,输入数据类型、输出数据类型、复杂性、资源成本、关联任务中的角色(例如,第一和第二任务是总体任务中的步骤等)、学习的关联等)与(多个)任务相关联。
应当注意,在一些实施方式中,(多个)机器学习任务控制器模型中的每个能够在“搜索”阶段期间同时训练,允许优化(例如,评估、整理、归一化等)使用机器学习任务控制器模型生成的机器学习任务子模型的所有输出(例如,使用自适应损失函数等)。
每个机器学习任务控制器模型能够是或者能够以其他方式包括一个或多个神经网络(例如,深度神经网络)等。神经网络(例如,深度神经网络)能够是前馈神经网络、卷积神经网络和/或各种其他类型的神经网络。
在606处,对于多个任务中的每个任务,计算系统能够将与任务相关联的任务输入数据输入到对应的机器学习任务子模型以获得任务输出。更具体地,计算系统能够将与相应任务相关联的任务输入数据输入到对应的机器学习任务子模型中。对应的机器学习任务子模型(例如,机器学习多任务搜索模型的选定候选节点等)能够处理任务输入数据以获得任务输出。如前所述,任务输出能够对应于由每个任务描述的操作。作为示例,如果任务描述和/或包括图像数据和对象识别任务,则任务输出能够是或以其他方式包括对象识别数据。
在608处,针对多个任务中的每个任务,计算系统能够使用任务输出基于目标函数来生成反馈值。更具体地,目标函数能够是用于训练机器学习模型的任何类型或形式的损失函数或目标函数。类似地,反馈值能够是用于训练机器学习模型的任何类型或形式的损失值或反馈值(例如,训练信号等)。作为示例,目标函数可以是强化学习奖励函数,并且反馈值能够包括或以其他方式是奖励值(例如,强化值等),其被配置为促进对机器学习任务控制器模型的策略更新。可替选地,反馈值能够是通过机器学习多任务搜索模型反向传播到(多个)机器学习任务控制器模型的损失信号。因此,任何常规的损失函数或目标函数都能够用于评估使用由机器学习任务控制器模型生成的路由生成的任务输出。
在一些实施方式中,任务输入数据能够是与机器学习任务控制器模型的任务相关联的验证数据,并且奖励值(例如,反馈值)能够是与验证数据相关联的验证准确度。例如,目标函数能够是强化学习奖励函数(例如,REINFORCE算法等)。任务输入数据能够是与任务相关联的验证数据,并且反馈值能够是基于任务输出数据生成的奖励值(例如,强化值等)。
在610处,针对多个任务中的每个任务,计算系统能够至少部分地基于反馈值来调整机器学习任务控制器模型的参数。更具体地,计算系统能够至少部分地基于反馈值来调整分别关联的机器学习任务控制器模型的一个或多个参数。能够基于反馈值来修改机器学习任务控制器模型的参数的值。能够使用任何常规的学习技术或算法(例如,反向传播、梯度下降、强化学习等)来调整机器学习任务控制器模型的(多个)参数。作为示例,反馈值能够是通过将目标函数反向传播通过机器学习多任务搜索模型到达机器学习任务控制器模型而生成的值。能够使用任何梯度下降技术(例如,随机梯度下降等)基于该反向传播的反馈值来调整机器学习任务控制器模型的一个或多个参数。
作为另一个示例,反馈值能够是使用强化学习奖励函数生成的奖励值。能够使用强化学习技术来调整机器学习任务控制器模型的一个或多个参数。例如,能够基于奖励值的评估、强化基线、速率因子、学习率、特征权重资格等来调整机器学习任务控制器模型的(多个)参数。因此,强化学习和/或常规机器学习技术的任何实施方式都能够用于生成反馈值和调整机器学习任务控制器模型的一个或多个参数。
在一些实施方式中,与任务相关联的训练数据也能够输入到机器学习任务子模型。训练数据能够是与任务相关联的任何类型的训练数据。例如,训练数据能够包括用于对象识别任务的图像数据和描述图像数据中描绘的每个对象的真实值。计算系统能够使用机器学习任务子模型来处理训练数据并且获得训练输出(例如,由任务描述的输出)。计算系统能够使用任务损失函数基于训练输出来生成损失值。能够使用任何常规的机器学习技术来生成任务损失函数和损失值。例如,任务损失函数能够评估训练输出和与训练数据相关联的真实值之间的差以生成损失值。
在一些实施方式中,在针对多个任务中的每个任务生成损失值之后,计算系统能够基于任务的多个损失值来调整机器学习多任务搜索模型的(多个)候选节点的一个或多个参数。更具体地,能够针对多个损失值中的每个迭代地更新(多个)候选节点的(多个)参数。例如,损失值能够按照它们生成的顺序存储,并且计算系统能够顺序反向传播每个损失通过机器学习多任务搜索模型。除了每个损失的反向传播,计算系统还能够使用参数调整技术(例如,梯度下降、随机梯度下降等)来调整(多个)候选节点的(多个)参数。应当注意,由于(多个)候选节点能够是或以其他方式包括(多个)常规神经网络的(多个)组件,因此能够使用常规机器学习训练技术基于损失值来更新(多个)候选节点和/或(多个)候选节点的组件。
更具体地,机器学习多任务搜索模型能够用于通过多次迭代来搜索最佳机器学习任务子模型(例如,通过机器学习多任务搜索模型的路由)。形式上,机器学习多任务搜索模型能够利用N个任务T={T1,T2,...,TN}。在“搜索”阶段,机器学习多任务搜索模型能够利用M个机器学习任务控制器模型C={C1,C2,...,CN}来管理每个任务的路由选择(例如,以生成每个任务的机器学习任务子模型等)。
在一次迭代中,每个机器学习任务控制器模型Ci能够分别针对每个任务Ti采样一条路由。每个采样的路由能够形成针对任务Ti的采样机器学习任务子模型,并且每个Ci可以从模型预测中接收反馈值(例如,奖励值等)(例如,验证精度等)。这个/>然后能够用来调整机器学习任务控制器模型Ci的参数(例如,执行(多个)策略梯度更新等)。然后能够在一批训练数据上训练采样的机器学习任务子模型。
应当注意,在一些实施方式中,机器学习多任务搜索模型能够在多次迭代中被利用以迭代地更新机器学习任务控制器模型的参数和/或机器学习多任务搜索模型本身的参数,以有效地“搜索”每个任务的最佳机器学习任务子模型(例如,路由)。在下一次迭代中,每个机器学习任务控制器Ci能够生成新的机器学习任务子模型(例如,使用更新的策略对更新的路由进行重新采样等)。能够重复这些迭代,直到达到最大迭代轮为止。因此,在一些实施方式中,上述工作流程能够被更正式地描述为:
结果:多种架构路由
初始化机器学习任务控制器模型(RLControllers);
初始化机器学习多任务搜索模型(来自搜索空间的超网络);
while Epochs<MaxEpochs do
while I<TaskCount do
针对Task[i]采样一条路由以形成机器学习任务子模型;
在验证集上运行子模型获得Reward[i](反馈值);
在训练集上运行模型以获得TrainLoss[i](损失值);
end
使用Reward[i]对机器学习任务控制器模型执行更新(REINFORCE);
反向传播TrainLoss[]以更新机器学习多任务搜索模型中的模型参数;
end
然而,应当注意,描述上述形式化表示仅是为了说明本公开的单个示例,因此,描述的结构和/或过程不是必需的。更具体地,上述操作能够以任何替代次序或顺序执行。例如,在一些实施方式中,描述为“使用Reward[i]对机器学习任务控制器模型执行更新(REINFORCE)”步骤的操作能够在“while”循环中迭代执行,该循环迭代通过多项任务的每个任务。
可替代地,在一些实施方式中,能够通过使用优化器来优化多个损失值。优化器能够是函数(例如,损失函数、优化函数、目标函数等),该函数被配置为基于多个损失值的各自的大小自适应地调整机器学习多任务搜索模型的(多个)候选节点的(多个)参数。例如,优化器能够是基于任务的难度自适应地调整参数的自适应损失函数。例如,如果第一任务具有更大的相关联损失值,则能够认为第一任务比第二任务“更难”。当调整(多个)候选节点的(多个)参数时,自适应损失函数能够比与第二任务相关联的损失值更重地权衡与第一任务相关联的损失值。因此,在一些实施方式中,能够至少部分地基于损失值的大小来“加权”损失值。
更具体地,在一些实施方式中,能够利用损失函数在“训练阶段期间自适应地优先化任务并且获得所有任务的平衡性能。这种自适应平衡任务优先化(ABTP)技术能够引入转换后的损失目标函数,如以下等式(1)所示,其中,θ表示模型参数,表示具有当前模型参数的任务Ti的损失,r(θ)表示正则化:
在多任务学习场景中,每个任务的损失通常能够表示任务难度。能够引入上述等式(1)中的提升函数h(·)以将损失子空间转换为新的子空间以提升较难任务的优先级。在梯度更新期间,能够被看作是任务Ti的当前权重。当h(·)单调递增时,损失较大的任务将受到青睐。上述等式(1)本质上能够被描述为自适应的,因为等式能够在整个训练阶段期间动态地调整任务权重。更具体地,每个任务能够分别被分配相关联的任务权重,并且目标函数和/或损失函数能够被配置为评估与相应任务相关联的任务权重。
如果将线性函数用作h(·),则目标函数能够回归为任务损失的比例总和,这通常无法实现所需的任务优先级,因为h′(·)是常数。因此,应该注意的是能够使用增强函数h(·)的多个选项,包括但不限于线性、多项式和指数函数。例如,一些函数(例如,多项式函数、指数函数等)能够用于放大基于(多个)损失值生成的调整,从而促进优化器相对于“更容易”的任务优先选择“更难”的任务。作为另一个示例,(多个)非线性增强函数和/或(多个)指数增强函数能够用于通过促进优化器的操作来提高模型性能。
在一些实施方式中,联合损失函数(例如,损失函数)能够通过在增强函数中引入任务优先级系数在搜索和训练迭代期间可调整(例如,(多个)机器学习任务控制器模型和机器学习多任务搜索模型的参数的调整)。更具体地,指数函数能够用作增强函数,并且自适应增强函数(例如,损失函数)能够定义为:
如等式(2)中所述,自适应系数w能够在整个训练阶段置于衰减调度上(例如,从wmax到wmin的线性衰减)。随着w的减小,具有较大损失的任务会变得越来越重要。因此,机器学习多任务搜索模型能够在搜索/训练阶段的后期更多地支持困难的任务,以便最终包括在机器学习多任务模型中。应当注意,在一些实施方式中,w的递减调度、w的恒定调度或w的递增调度。然而,在一些实施方式中,使用w的递减调度能够使机器学习多任务搜索模型的性能更高效。
可替选地,在一些实施方式中,任务输入数据能够包括训练数据。类似地,机器学习任务子模型的任务输出能够包括训练输出。更具体地,任务输出能够用作训练输出和任务输出以分别由计算系统生成损失值和反馈值。以这种方式,计算系统能够将单个数据集输入到机器学习任务子模型(例如,训练集、验证集、两个集的组合等)以接收被配置为提供反馈值和损失值这两者的输出。
在612处,计算系统能够生成机器学习多任务模型。更具体地,计算系统能够利用被指定用于包括在每个任务的机器学习任务控制器子模型中的节点来生成机器学习多任务模型。这样,机器学习多任务模型能够包括指定用于包括在至少一个相应的机器学习任务子模型中的候选节点的多个子集中的至少一个子集。作为示例,机器学习多任务搜索模型能够根据多个机器学习任务控制器模型来执行多个搜索迭代。例如,三个相应任务的三个机器学习任务控制器模型能够迭代地优化三个任务中的每个的路由(例如,要包括在机器学习任务子模型中的指定候选节点等)。在最终搜索轮之后,计算系统能够利用三个候选节点子集(例如,三个机器学习任务子模型等)中的至少一个来生成机器学习多任务模型。作为示例,计算系统可以选择两个机器学习任务子模型及其对应的(多个)候选节点以包括在机器学习多任务模型中。作为另一示例,计算系统可以选择一个或多个机器学习任务子模型中的每个及其各自的(多个)候选节点以包括在机器学习多任务模型中。
应当注意,机器学习多任务模型的生成还能够包括候选节点之间指定的路由。例如,如果用由第一机器学习任务子模型指定的候选节点生成机器学习多任务模型,则机器学习多任务模型能够保留通过机器学习任务子模型的候选节点的指定路由,以及与这些节点相关联的任何参数。以这种方式,机器学习多任务搜索模型能够与机器学习任务控制器模型一起使用以针对每个任务找到最佳的机器学习任务子模型,并且能够通过选择通过使用机器学习多任务搜索模型发现的节点和路由来生成机器学习多任务模型。
更具体地,在一些实施方式中,在搜索阶段结束时,能够从每个机器学习任务控制器模型中获取最“可能的路由”(例如,最佳机器学习任务子模型)以形成具有所有任务路由和指定的候选节点的单一的机器学习多任务模型(例如,联合模型)。如前所述,能够使用由机器学习任务控制器模型生成的路由所路由的节点来构建一个任务的机器学习任务子模型。因此,在机器学习多任务模型(例如,联合模型)中,每个任务都能够如其优化的机器学习任务子模型指定那样通过其本身的路由。
应当注意,在一些实施方式中,如果多于一个任务被路由到机器学习多任务模型中的同一节点,则在该共享节点中的权重/该共享节点的权重(例如,参数值等)能够是由共享节点的所有任务使用。如果只有一个任务被路由到一个节点,则该节点将被该任务独占使用。
在一些实施方式中,未被任何任务使用的机器学习多任务搜索模型的候选节点(例如,未被机器学习任务控制器模型包括在任何机器学习任务子模型中)能够保持未被选择包括在机器学习多任务模型中。这样,机器学习多任务模型能够包括构成机器学习多任务搜索模型的全部候选节点的子集。在一些实施方式中,针对机器学习多任务模型的节点(例如,conv节点等),每个任务能够选择性地使用滤波器的子集。滤波器号也能够由机器学习任务控制器模型选择用于任务。
在一些实施方式中,随后能够训练机器学习多任务模型。在训练中,每个任务能够训练在任务路由中包括的节点。以这种方式,任务路由之间的节点的共享能够减少机器学习多任务模型中的参数数量。附加地,节点的共享能够促进任务之间的肯定知识转移。更具体地,与机器学习任务子模型之一相关联的多任务训练数据能够输入到机器学习多任务模型以获得多任务训练输出。能够基于多任务训练输出(例如,基于损失函数等)调整机器学习多任务模型的一个或多个参数。以这种方式,能够利用附加的训练迭代来进一步优化机器学习多任务模型。
因此,当一个节点的参数对多个任务中的每个有益时,该节点能够受到多个任务的青睐。鉴于每个机器学习任务控制器模型都能够基于反馈值(例如,任务准确性奖励)独立地选择通过候选节点的路由,当任务强相关时(例如,图像分类和对象分类等),路由相似性也能够更强地显示。
机器学习多任务模型能够用于针对多个对应的任务生成多个输出。更具体地,计算系统能够包括机器学习多任务模型。机器学习多任务模型能够在计算系统处生成(例如,使用机器学习多任务搜索模型等)或从第二计算系统(例如,其已经使用机器学习多任务搜索模型等)接收。计算系统能够获得与第一任务相关联的第一任务输入数据和与第二任务相关联的第二任务输入数据。任务能够是由特定于任务的机器学习模型执行的任何任务。例如,任务能够分别是图像分类任务和对象识别任务。任务输入数据能够与相应任务相关联。作为示例,第一任务输入数据和第二任务输入数据都能够分别包括图像数据。因此,在一些实施方式中,第一任务和第二任务能够共享相同的输入数据并且输出不同的任务输出数据(例如,图像分类数据和对象识别数据等)。可替选地,在一些实施方式中,第一任务输入数据能够是统计预测数据并且第二任务数据能够是图像数据。因此,第一任务和第二任务不必是相似的任务。
计算系统能够将第一任务输入数据输入到机器学习多任务模型以获得对应于第一任务的第一任务输出。计算系统能够将第二任务输入数据输入到机器学习多任务模型以获得对应于第二任务的第二任务输出。以这种方式,机器学习多任务模型能够被训练并且用于执行各种任务,而不管任务的相似性如何。
附加公开
本文讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及采取的动作和发送到这些系统和从这些系统发送的信息。基于计算机的系统固有的灵活性允许在组件之间进行各种可能的配置、组合以及任务和功能性的划分。例如,能够使用单个设备或组件或组合工作的多个设备或组件来实现本文讨论的过程。数据库和应用能够实现在单个系统上或跨多个系统分布。分布式组件能够顺序或并行运行。
虽然已经关于本主题的各种具体示例实施例详细描述了本主题,但是每个示例都是通过解释而不是对本公开的限制的方式提供的。本领域的技术人员在获得对前述内容的理解后,能够容易地产生对这些实施例的更改、变化和等同物。因此,本主题公开不排除包含对本领域的普通技术人员来说是显而易见的对本主题的修改、变化和/或添加。例如,作为一个实施例的一部分图示或描述的特征能够用于另一实施例以产生又一实施例。因此,本公开旨在涵盖此类更改、变化和等同物。
Claims (21)
1.一种用于生成被配置为执行多个任务的机器学习多任务模型的计算机实现的方法,所述方法包括:
通过一个或多个计算设备获得包括多个候选节点的机器学习多任务搜索模型;
通过所述一个或多个计算设备获得所述多个任务和与所述多个任务相关联的一个或多个机器学习任务控制器模型;
对于所述多个任务中的每个任务:
通过所述一个或多个计算设备使用分别与所述任务相关联的所述机器学习任务控制器模型来生成路由,所述路由指定所述机器学习多任务搜索模型的所述多个候选节点的子集以包括在对应任务的机器学习任务子模型中;
通过所述一个或多个计算设备将与所述任务相关联的任务输入数据输入到对应机器学习任务子模型以获得任务输出;
通过所述一个或多个计算设备使用所述任务输出基于目标函数来生成反馈值;以及
通过所述一个或多个计算设备至少部分地基于所述反馈值来调整分别关联的机器学习任务控制器模型的一个或多个参数。
2.根据权利要求1所述的计算机实现的方法,其中,所述方法还包括:
通过所述一个或多个计算设备生成所述机器学习多任务模型,其中,所述机器学习多任务模型包括所述多个机器学习任务子模型的至少机器学习任务子模型的子集的组合。
3.根据权利要求2所述的计算机实现的方法,其中,所述方法还包括:
通过所述一个或多个计算设备将与至少所述机器学习任务子模型的子集中的机器学习任务子模型相关联的多任务训练数据输入到所述机器学习多任务模型以获得多任务训练输出;以及
通过所述一个或多个计算设备至少部分地基于所述多任务训练输出来调整所述机器学习多任务模型的一个或多个参数。
4.根据任一项前述权利要求所述的计算机实现的方法,其中:
所述反馈值包括奖励值;以及
所述目标函数包括强化学习奖励函数。
5.根据权利要求1-3所述的计算机实现的方法,其中,通过所述一个或多个计算设备至少部分地基于所述反馈值来调整所述分别关联的机器学习任务控制器模型的所述一个或多个参数包括:反向传播所述目标函数通过所述对应机器学习任务子模型到达所述分别关联的机器学习任务控制器模型。
6.根据任一项前述权利要求所述的计算机实现的方法,其中:
对于所述多个任务中的每个任务:
通过所述一个或多个计算设备将与所述任务相关联的所述任务输入数据输入到所述对应机器学习任务子模型以获得所述任务输出进一步包括:通过所述一个或多个计算设备将与所述任务相关联的训练数据输入到所述对应机器学习任务子模型以获得训练输出;
通过所述一个或多个计算设备使用所述任务输出基于所述目标函数来生成所述反馈值进一步包括:通过所述一个或多个计算设备使用所述训练输出基于任务损失函数来生成损失值;以及
所述方法还包括:通过所述一个或多个计算设备基于分别与所述多个任务相关联的所述多个损失值来调整所述机器学习多任务搜索模型的至少一个候选节点的所述一个或多个参数。
7.根据权利要求6所述的计算机实现的方法,其中:
所述任务输入数据包括所述训练数据;以及
所述任务输出包括所述训练输出。
8.根据权利要求6或7所述的计算机实现的方法,其中,所述任务输入数据包括图像数据,并且所述任务输出包括以下中的至少一个:
图像分类数据;
图像识别数据;
对应于所述图像数据中描述的一个或多个对象的对象识别数据;以及
对象分割数据。
9.根据权利要求6-8所述的计算机实现的方法,其中:
相应的任务权重与所述多个任务中的每个任务相关联;以及
至少所述目标函数被配置为评估与相应的任务相关联的所述任务权重。
10.根据权利要求6-9所述的计算机实现的方法,其中:
所述多个损失值中的第一损失值大于所述多个损失值中的第二损失值;以及
所述至少一个候选节点的所述一个或多个参数是基于所述多个损失值和自适应损失函数来调整的,其中,所述自适应损失函数被配置为至少评估所述第一损失值与所述第二损失值之间的差。
11.根据任一项前述权利要求所述的计算机实现的方法,其中:
所述一个或多个机器学习任务控制器模型包括分别与所述多个任务相关联的多个任务控制器模型;
与第一任务相关联的第一机器学习任务控制器模型用于生成指定所述多个候选节点的第一子集的第一路由;
与第二任务相关联的第二机器学习任务控制器模型用于生成指定所述多个候选节点的第二子集的第二路由;以及
所述多个候选节点的所述第一子集和所述多个候选节点的所述第二子集包含至少一个共享候选节点。
12.根据任一项前述权利要求所述的计算机实现的方法,其中,对于所述多个任务中的每个任务,所述分别关联的机器学习任务控制器模型的所述一个或多个参数是至少部分地基于对损失函数的评估来调整的。
13.根据任一项前述权利要求所述的计算机实现的方法,其中,所述多个任务中的至少一个包括:
图像生成任务;
声音信号描述任务,其中,所述声音信号描述任务的所述任务输出包括描述声音信号的数据;
文本翻译任务,其中,所述文本翻译任务的所述任务输出包括文本的第一自然语言到第二自然语言的翻译;或者
控制数据生成任务,其中,所述控制数据生成任务的所述任务输出包括用于控制在真实世界环境中操作的代理的控制数据。
14.一种计算系统,包括:
机器学习多任务模型,所述机器学习多任务模型被配置为针对分别关联的多个任务来生成多个输出,其中,所述机器学习多任务模型包括多个节点,其中,所述多个节点中的每个节点至少部分地基于它们包括在分别与所述多个任务相关联的多个机器学习任务子模型中的一个或多个机器学习任务子模型中而被包括在所述机器学习多任务模型中;
一个或多个存储计算机可读指令的有形的、非暂时性计算机可读介质,当所述计算机可读指令由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
获得与所述多个任务中的第一任务相关联的第一任务输入数据;
获得与所述多个任务中的第二任务相关联的第二任务输入数据,所述第二任务不同于且区别于所述第一任务;
将所述第一任务输入数据输入到所述机器学习多任务模型以获得对应于所述第一任务的第一任务输出;以及
将所述第二任务输入数据输入到所述机器学习多任务模型以获得对应于所述第二任务的第二任务输出。
15.根据权利要求14所述的计算系统,其中:
所述第一任务输入数据和所述第二任务输入数据包括图像数据;
所述第一任务输出包括图像分类数据;以及
所述第二任务输出包括对应于在所述图像数据中描绘的一个或多个对象的对象识别数据。
16.根据权利要求14-15所述的计算系统,其中,所述机器学习多任务模型的所述多个节点中的每个节点被一个或多个相关联的机器学习任务控制器模型选择以包括在所述多个机器学习任务子模型中的所述一个或多个机器学习任务子模型中。
17.根据权利要求14-16所述的计算系统,其中:
所述机器学习多任务模型包括一个或多个神经网络;以及
所述多个节点中的每个节点包括以下中的至少一个:
一个或多个神经元;或者
一个或多个函数。
18.根据权利要求14-17所述的计算系统,其中:
所述第一任务输入数据至少由所述机器学习多任务模型的第一节点处理;以及
所述第二任务输入数据由所述机器学习多任务模型的所述第一节点处理。
19.一种或多种存储计算机可读指令的有形的、非暂时性计算机可读介质,当所述计算机可读指令由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
获得机器学习多任务模型,所述机器学习多任务模型被配置为针对分别关联的多个任务来生成多个输出,其中,所述机器学习多任务模型包括多个节点,其中,所述多个节点中的每个节点至少基于它们包括在分别与所述多个任务相关联的多个机器学习任务子模型中的一个或多个机器学习任务子模型中而被包括在所述机器学习多任务模型中;
获得与所述多个任务中的第一任务相关联的第一任务输入数据;
获得与所述多个任务中的第二任务相关联的第二任务输入数据,所述第二任务不同于且区别于所述第一任务;
将所述第一任务输入数据输入到所述机器学习多任务模型以获得对应于所述第一任务的第一任务输出;以及
将所述第二任务输入数据输入到所述机器学习多任务模型以获得对应于所述第二任务的第二任务输出。
20.根据权利要求19所述的一种或多种有形的、非暂时性计算机可读介质,其中:
所述第一任务输入数据和所述第二任务输入数据包括图像数据;
所述第一任务输出包括图像分类数据;以及
所述第二任务输出包括对应于在所述图像数据中描绘的一个或多个对象的对象识别数据。
21.根据权利要求19-20所述的一种或多种有形的、非暂时性计算机可读介质,其中,所述机器学习多任务模型的所述多个节点中的每个节点被一个或多个相关联的机器学习任务控制器模型选择以包括在所述多个机器学习任务子模型的所述一个或多个机器学习任务子模型中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/043285 WO2022019913A1 (en) | 2020-07-23 | 2020-07-23 | Systems and methods for generation of machine-learned multitask models |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116264847A true CN116264847A (zh) | 2023-06-16 |
Family
ID=72047082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080104577.0A Pending CN116264847A (zh) | 2020-07-23 | 2020-07-23 | 用于生成机器学习多任务模型的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230267307A1 (zh) |
EP (1) | EP4165557A1 (zh) |
CN (1) | CN116264847A (zh) |
WO (1) | WO2022019913A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487799B1 (en) * | 2021-02-26 | 2022-11-01 | Heir Apparent, Inc. | Systems and methods for determining and rewarding accuracy in predicting ratings of user-provided content |
US20230111522A1 (en) * | 2021-09-28 | 2023-04-13 | Arteris, Inc. | MECHANISM TO CONTROL ORDER OF TASKS EXECUTION IN A SYSTEM-ON-CHIP (SoC) BY OBSERVING PACKETS IN A NETWORK-ON-CHIP (NoC) |
CN115081630A (zh) * | 2022-08-24 | 2022-09-20 | 北京百度网讯科技有限公司 | 多任务模型的训练方法、信息推荐方法、装置和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190354868A1 (en) * | 2017-01-30 | 2019-11-21 | Google Llc | Multi-task neural networks with task-specific paths |
US20200125955A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Efficiently learning from highly-diverse data sets |
-
2020
- 2020-07-23 WO PCT/US2020/043285 patent/WO2022019913A1/en unknown
- 2020-07-23 EP EP20754506.2A patent/EP4165557A1/en active Pending
- 2020-07-23 CN CN202080104577.0A patent/CN116264847A/zh active Pending
- 2020-07-23 US US18/014,314 patent/US20230267307A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190354868A1 (en) * | 2017-01-30 | 2019-11-21 | Google Llc | Multi-task neural networks with task-specific paths |
US20200125955A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Efficiently learning from highly-diverse data sets |
Also Published As
Publication number | Publication date |
---|---|
WO2022019913A1 (en) | 2022-01-27 |
EP4165557A1 (en) | 2023-04-19 |
US20230267307A1 (en) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11769057B2 (en) | Learning visual concepts using neural networks | |
CN113039555B (zh) | 在视频剪辑中进行动作分类的方法、系统及存储介质 | |
US11450096B2 (en) | Systems and methods for progressive learning for machine-learned models to optimize training speed | |
CN116264847A (zh) | 用于生成机器学习多任务模型的系统和方法 | |
CN111989696A (zh) | 具有顺序学习任务的域中的可扩展持续学习的神经网络 | |
CN113348472A (zh) | 具有软内核选择的卷积神经网络 | |
CN116912629B (zh) | 基于多任务学习的通用图像文字描述生成方法及相关装置 | |
CN115062606B (zh) | 对话数据分析及其模型训练方法、及电子设备 | |
JP2022114440A (ja) | 映像復元方法及び装置 | |
US20240127586A1 (en) | Neural networks with adaptive gradient clipping | |
CN117980915A (zh) | 用于端到端自监督预训练的对比学习和掩蔽建模 | |
CN111079900B (zh) | 一种基于自适应连接神经网络的图像处理方法及装置 | |
CN110689117A (zh) | 基于神经网络的信息处理方法和装置 | |
US20230297852A1 (en) | Multi-Stage Machine Learning Model Synthesis for Efficient Inference | |
CN116601682A (zh) | 经由以时间残差连接为特征的机器学习模型对顺序数据的改进处理 | |
US11755883B2 (en) | Systems and methods for machine-learned models having convolution and attention | |
KR102424538B1 (ko) | 영상 복원 방법 및 장치 | |
US20230401429A1 (en) | Method and apparatus for audio processing using a convolutional neural network architecture | |
US20210383221A1 (en) | Systems And Methods For Machine-Learned Models With Message Passing Protocols | |
EP4136585A1 (en) | Subtask adaptable neural network | |
Shome et al. | 13 Study Methods, of Different Models and Regression | |
CN118428414A (zh) | 一种神经网络的剪枝处理方法及设备 | |
CN116368493A (zh) | 用于具有随机架构的权重共享神经网络的方法和装置 | |
CN115187845A (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 |