CN115699041A - 利用专家模型的可扩展迁移学习 - Google Patents
利用专家模型的可扩展迁移学习 Download PDFInfo
- Publication number
- CN115699041A CN115699041A CN202180040469.6A CN202180040469A CN115699041A CN 115699041 A CN115699041 A CN 115699041A CN 202180040469 A CN202180040469 A CN 202180040469A CN 115699041 A CN115699041 A CN 115699041A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- expert
- learning models
- computing system
- training
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble 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/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/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及提供简单、可扩展但有效的策略来利用专家混合(MoE)执行迁移学习的系统和方法。特别地,预先训练的表示的转移可以提高样本效率并减少新任务的计算要求。然而,用于传送的表示通常是通用的,并且不是针对下游任务的特定分布而定制的。相反,本公开的示例系统和方法使用专家表示以简单但有效的策略进行转移。
Description
对相关申请的交叉引用
本申请要求2020年6月5日提交的美国临时专利申请号63/035,341的优先权,其全部内容通过引用被并入本文。
技术领域
本公开总体上涉及机器学习。更具体地,本公开涉及使用专家混合的迁移学习。
背景技术
深度学习已经在许多计算机视觉任务上取得了成功。不幸的是,这种成功通常需要大量的每任务数据和计算。为了将深度学习扩展到新的视觉任务,从业者经常转向迁移学习(transfer learning)。迁移学习涉及重新使用在大型源任务上训练的模型并在目标任务上调整它们。这可以改善收敛速率和经验性能。在给定大量一次性预训练成本的情况下,迁移学习降低了每任务数据或计算需求。在实践中,由于预先训练的网络是通过在线平台可获得的,因此从业者可能无法进行这种一次性预支付。
以前已经研究了专业模型的转移。然而,先前的方法在其可扩展性和任务多样性方面受到限制。它们或者需要对每个目标任务的源数据集进行昂贵的重新训练,或者以可以同时应用所有专家的小规模操作。此外,它们中的大多数仅在有限的自然单对象分类任务套件上进行测试。
发明内容
本公开的实施例的方面和优点将部分地在以下描述中备阐述,或者可以从描述中学习到,或者可以通过实施例的实践来学习。
本公开的一个示例方面涉及一种用于从专家模型执行迁移学习的计算机实现的方法。该方法可以包括由包括一个或多个计算设备的计算系统访问多个专家机器学习模型,其中多个专家机器学习模型已经分别在多个不同的训练数据集上被训练。该方法可以包括由计算系统获得描述与下游训练数据集相关联的下游任务的数据。该方法可以包括由计算系统评估多个专家机器学习模型中的每一个相对于下游任务的相应性能度量。该方法可以包括由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型。该方法可以包括由计算系统使用下游训练数据集来细调一个或多个选择的机器学习模型。该方法可以包括:在细调一个或多个选择的机器学习模型之后,由计算系统提供一个或多个选择的机器学习模型以用于下游任务的执行。
在一些实现中,多个专家机器学习模型包括在基础训练数据集上被训练的基线机器学习模型的多个变体。
在一些实现中,其中,多个专家机器学习模型已经在其上被分别训练的多个不同训练数据集包括基础训练数据集的多个不同子部分。子部分可以重叠或不重叠。
在一些实现中,根据层级来组织基础训练数据集中的训练标签。在一些实施方式中,基础训练数据集的多个不同子部分包括基础训练数据集的多个不同的分层定义的划分。
在一些实现中,通过完全细调基线机器学习模型来分别生成多个专家机器学习模型。
在一些实现中,通过将一个或多个相应的专家适配器子模型添加到基线机器学习模型的一个或多个现有层来分别生成多个专家机器学习模型。
在一些实现中,每个专家机器学习模型包括分别在一个或多个专家适配器子模型周围的一个或多个残差跳过连接。
在一些实现中,在每个专家机器学习模型在其相应的训练数据集上的训练期间,一个或多个相应的专家适配器子模型被学习,同时基线机器学习模型的一个或多个现有层被保持固定。
在一些实现中,在使用下游训练数据集对一个或多个选择的机器学习模型进行细调期间,一个或多个相应专家适配器子模型和基线机器学习模型的一个或多个现有层两者被学习。
在一些实现中,由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型包括:由计算系统采用专家预测网络以基于在下游训练数据集中包括的一个或多个训练输入来从多个专家机器学习模型中选择一个或多个选择的机器学习模型。
在一些实现中,由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型包括:由计算系统使用通用网络来预测在下游训练数据集中包括的一个或多个训练示例的标签;由计算系统评估由通用网络生成的标签的分布与在训练这样的专家机器学习模型期间由每个专家机器学习模型生成的标签的每专家先验之间的相应KL散度;和/或由计算系统至少部分地基于关于多个专家机器学习模型中的每一个的相应KL散度来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型。
在一些实施方式中,由计算系统至少部分地基于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型包括:由计算系统使用每个专家机器学习模型来产生关于在下游训练数据集中包括的训练输入的相应输入嵌入;由计算系统基于将最近邻居应用于相应输入嵌入来评估每个专家机器学习模型的性能代理;和/或由计算系统至少部分地基于针对多个专家机器学习模型中的每一个的相应性能代理来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型。
在一些实现中,由计算系统访问多个专家机器学习模型包括由计算系统生成和训练多个专家机器学习模型。
在一些实施方式中,下游任务包括图像识别任务。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。包含在本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与说明书一起用于解释相关原理。
附图说明
在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1描绘根据本公开的示例实施例的示例迁移学习过程的框图。
图2A描绘根据本公开的示例实施例的示例组合专家模型的框图。
图2B描绘根据本公开的示例实施例的示例适配器子模型的框图。
图3A描绘根据本公开的示例实施例的示例计算系统的框图。
图3B描绘根据本公开的示例实施例的示例计算设备的框图。
图3C描绘根据本公开的示例实施例的示例计算设备的框图。
在多个附图中重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
概述
通常,本公开涉及提供简单、可扩展但有效的策略来利用专家混合(MoE)执行迁移学习的系统和方法。特别地,预先训练的表示的转移可以提高样本效率并减少新任务的计算要求。然而,用于迁移的表示通常是通用的,并且不是针对下游任务的特定分布而定制的。相反,本公开的示例系统和方法使用专家表示以简单但有效的策略进行迁移。具体地,一些示例实现训练各种各样的专家集合(例如,通过利用训练数据中的现有标签结构)并使用计算成本低廉的性能代理来为每个目标任务选择相关专家。例如,专家的混合可以包括专用于完整上游任务的子问题的多个异构模型变体(“专家”)。所提出的策略是可扩展的,因为它在迁移期间不重新访问预训练数据,每个目标任务仅需要少量额外计算。此外,本公开提供了能够将许多专家压缩成单个模型的基于适配器的架构。美国临时专利申请号63/035,341中包含的示例实验评估了所提出的方法在两种不同数据源上的示例实现,并且证明了它在两种情况下在超过20种不同视觉任务上都优于基线。
更具体地,如图1所示,所提出的策略的一些示例实现包括四个阶段。(1)无条件预训练。可以在整个上游数据上训练单个基线模型。(2)专家训练。可以通过例如利用在诸如ImageNet和JFT的许多大规模图像数据集中存在的标签层级来预训练多个专家。一些示例实现预训练整个专家网络。其他示例实现生成并训练残差适配器,其允许将所有专业知识打包到可以被加载到存储器中的单个模型中。这两个阶段可能是昂贵的,但仅进行一次。(3)专家选择。将所有专家应用于每个任务不能很好地扩展;通常需要某种稀疏化。一些示例实现采用可以被应用于数百或数千专家的廉价模型选择过程。(4)下游细调。可以在目标任务上调整模型选择阶段的输出。重要的是,该阶段不需要重新访问源数据集,重新访问源数据集对于训练可能是不可用的或昂贵的。这种方法在许多不同的任务上产生非常强的性能。
本公开的另一示例方面涉及经由残余适配器使用子网络作为专家的系统和方法,允许将所有专家打包到单个模型中。令人惊讶的是,这些几乎与它们的全网络对应物一样好。作为一个示例,图2A示出在所有块之前具有专家适配器的示例ResNet。在所示示例中,专家层被放置在每个块之前。可以为每个专家模型预定义或学习通过专家适配器的特定于专家的路由。如图2B所示,每个单独适配器的一个示例架构包括整体跳过连接。N、A、C分别代表(组)归一化、(ReLU)激活和卷积层。
本公开的系统和方法提供了许多技术效果和益处。作为一个示例,通过利用专家模型实现改进的迁移学习,所提出的方法可以减少计算资源消耗,例如,与完全从头开始训练新模型相比。作为另一示例,所提出的示例实现利用轻量级且计算不算昂贵的模型选择技术。这些技术使得所提出的方法对于大量专家更加可扩展,并且与需要重新访问源数据集的某些现有方法形成对比,重新访问源数据集来训练可能是不可用的或昂贵的。作为另一示例技术效果,所得到的最终模型可以在最终下游任务上示出改进的性能(例如,准确性),这对应于计算机本身的功能的改进。作为另一示例技术效果,本公开提供了一种基于适配器的架构,其能够将许多专家压缩成单个模型。这种新颖的方法和架构使得多个专家能够被更有效地训练,因为在一些实现中,他们可以共享基线模型的一些现有参数,这些参数没有针对每个特定专家被重新训练,从而减少训练时间和计算要求(例如,进程使用、存储器使用、网络带宽等)。同样,当多个专家被组合在单个模型中时,例如,与存储许多不同的专家模型相比,单个模型需要更少的资源来存储和处理。
本公开的系统和方法适用于多个用例、域或应用。在一些实现中,对本公开的(一个或多个)机器学习模型的输入可以是图像数据。(一个或多个)机器学习模型可以处理图像数据以生成输出。作为示例,(一个或多个)机器学习模型可以处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一示例,(一个或多个)机器学习模型可以处理图像数据以生成图像分割输出。作为另一示例,(一个或多个)机器学习模型可以处理图像数据以生成图像分类输出。作为另一示例,(一个或多个)机器学习模型可以处理图像数据以生成图像数据修改输出(例如,图像数据的改变等)。作为另一示例,(一个或多个)机器学习模型可以处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一示例,(一个或多个)机器学习模型可以处理图像数据以生成放大的图像数据输出。作为另一示例,(一个或多个)机器学习模型可以处理图像数据以生成预测输出。
在一些实现中,对本公开的(一个或多个)机器学习模型的输入可以是文本或自然语言数据。(一个或多个)机器学习模型可以处理文本或自然语言数据以生成输出。作为示例,(一个或多个)机器学习模型可以处理自然语言数据以生成语言编码输出。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成翻译输出。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成分类输出。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成文本分割输出。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成语义意图输出。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成放大的文本或自然语言输出(例如,比输入文本或自然语言质量更高的文本或自然语言数据等)。作为另一示例,(一个或多个)机器学习模型可以处理文本或自然语言数据以生成预测输出。
在一些实现中,本公开的(一个或多个)机器学习模型的输入可以是语音数据。(一个或多个)机器学习模型可以处理语音数据以生成输出。作为示例,(一个或多个)机器学习模型可以处理语音数据以生成语音识别输出。作为另一示例,(一个或多个)机器学习模型可以处理语音数据以生成语音翻译输出。作为另一示例,(一个或多个)机器学习模型可以处理语音数据以生成潜在嵌入输出。作为另一示例,(一个或多个)机器学习模型可以处理语音数据以生成编码的语音输出(例如,语音数据的编码和/或压缩表示等)。作为另一示例,(一个或多个)机器学习模型可以处理语音数据以生成放大的语音输出(例如,比输入语音数据质量更高的语音数据等)。作为另一示例,(一个或多个)机器学习模型可处理语音数据以生成文本表示输出(例如,输入语音数据的文本表示等)。作为另一示例,(一个或多个)机器学习模型可以处理语音数据以生成预测输出。
在一些实现中,对本公开的(一个或多个)机器学习模型的输入可以是潜在编码数据(例如,输入的潜在空间表示等)。(一个或多个)机器学习模型可以处理潜在编码数据以生成输出。作为示例,(一个或多个)机器学习模型可以处理潜在编码数据以生成识别输出。作为另一示例,(一个或多个)机器学习模型可以处理潜在编码数据以生成重构输出。作为另一示例,(一个或多个)机器学习模型可以处理潜在编码数据以生成搜索输出。作为另一示例,(一个或多个)机器学习模型可以处理潜在编码数据以生成重新聚类输出。作为另一示例,(一个或多个)机器学习模型可以处理潜在编码数据以生成预测输出。
在一些实现中,对本公开的(一个或多个)机器学习模型的输入可以是统计数据。(一个或多个)机器学习模型可以处理统计数据以生成输出。作为示例,(一个或多个)机器学习模型可以处理统计数据以生成识别输出。作为另一示例,(一个或多个)机器学习模型可以处理统计数据以生成预测输出。作为另一示例,(一个或多个)机器学习模型可以处理统计数据以生成分类输出。作为另一示例,(一个或多个)机器学习模型可以处理统计数据以生成分割输出。作为另一示例,(一个或多个)机器学习模型可以处理统计数据以生成分割输出。作为另一示例,(一个或多个)机器学习模型可以处理统计数据以生成可视化输出。作为另一示例,(一个或多个)机器学习模型可以处理统计数据以生成诊断输出。
在一些实现中,对本公开的(一个或多个)机器学习模型的输入可以是传感器数据。(一个或多个)机器学习模型可以处理传感器数据以生成输出。作为示例,(一个或多个)机器学习模型可以处理传感器数据以生成识别输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成预测输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成分类输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成分割输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成分割输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成可视化输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成诊断输出。作为另一示例,(一个或多个)机器学习模型可以处理传感器数据以生成检测输出。
示例迁移学习框架
本节描述感兴趣的示例迁移学习设置。高级目标是可能在严格的数据和计算限制下训练用于任意下游任务的强模型。为了有效地这样做,可以将计算分流到先验执行的先前上游阶段,而无需预先知道下游任务。因此,上游模型不应依赖于任何特定的目标数据。本公开的示例实现适用于下游任务包含很少数据点的低数据机制。这些限制具有实际动机:本公开的示例实现可以部署容易地被迁移到各种下游设置的通用表示。
示例迁移算法可以实现以下三个阶段。
上游训练。给定上游数据DU,算法首先输出源模型M。目标是为各种新任务提供有用的初始表示。该阶段实际上可以产生模型族{Me}而不是单个模型。这些模型可能不是不相交的,并且可以共享参数。上游学习问题是辅助的;因此,DU可以包括分类、回归或甚至综合学习实例的多样化集合。
模型选择。当给出新的下游任务时,可能取决于下游数据,应用选择算法来选择要迁移的(一个或多个)上游模型。该阶段在计算上应该是便宜的;因此,上行数据不再可用。有时,没有选择进行(例如,利用单个ImageNet表示)。或者,在具有复杂结构的模型中,可以选择以数据相关的方式保留哪些部件、路由或模块。
下游训练。最后阶段使用下游数据完全或部分地细调选择的模型。对于神经网络,新的头部被添加,因为输出类是任务特定的。
用于上游训练的示例技术
本节介绍可以被用于专家模型的两个示例架构。
示例专家架构
在本公开的情境中可用的示例专家可以提供特征提取,该特征提取是学习与专家的上游训练数据相关的未来任务的良好起点。训练这种专家的模型架构的两个示例如下。一个示例是残差网络或ResNets。这些是强大的模型;然而,存储和部署它们中的许多可能是具有挑战性的。作为替代方案,另一个示例是由本公开提出的更紧凑的适配器模型,其可以全部组装在单个架构中。而且,可以容易地定制它们的个体大小以满足存储器和计算约束,这使得它们成为在需要时将多个专家组合在单个模型中的理想候选。本公开非正式地将这些分别称为完整和适配器模块或专家。
全ResNet模块。用于完整专家的一个示例基本架构是ResNets,诸如ResNet50-v2架构(R50),其顺序地堆叠根块和具有(3,4,6,3)个残差单元的4个块。一个初始步骤可以包括在整个上游数据上训练基线模型B。该基线随后可以由完整专家和适配器专家两者细调,但是以不同的方式。在数据切片上训练的完整专家仅仅是在该数据上细调的基线B。头部稍后为了迁移将被丢弃。这种方法需要与专家一样多的R50。
适配器模块。提出了残差适配器以使神经网络适应特定下游任务,而不需要细调整个网络。最初,它们是放置在每个3×3卷积之后的1×1卷积层,具有残差连接。相反,本公开的示例实现使用它们来使基线架构适配上游数据的切片。此外,本公开的示例实现不将它们放置在每个3×3卷积之后,而是在R50的块中的每个块之前。最后,示例提出的适配器具有瓶颈并且是非线性的。本公开的示例性实现将若干平行地插入到骨干B中。在一些实现中,当创建专家时,仅调整适配器并且冻结骨干权重。
图2A描绘具有多个专家适配器的示例ResNet架构。设Fi为由骨干网络的第i个块实现的功能。本公开的示例实现通过将输出计算为来适配其输入,其中e=R(x)是由某个路由函数R给出的所选专家的身份,并且x是原始输入。在上游训练期间,除了图像之外,函数R还可以使用标签,如我们在subsec:expert_training中讨论的。
图2B示出示例适配器的瓶颈架构。示例适配器顺序地应用组件A1和A2。每个组件按该顺序执行组归一化(N)、ReLU激活(A)和卷积(C)。由于跳跃连接,的输出维度必须与其输入c的维度匹配。然而,本公开的示例实现可以改变A1的输出通道k,以便限制参数的量。因此,本公开的示例实现设置使得参数的数量等于线性适配器的参数的数量。每个适配器仅使R50骨干的参数计数增加6%。
示例上游数据和专家定义
本公开的示例实现在具有数千个类的大型视觉数据集上训练上游模型。此外,数据集包括表达性层级,通过“is-a”关系链接类和祖先概念。专家的域可以是该层级中的节点,这些节点基于图像的数量被自动选择。由于数据集的多标签性质,若干专家可以同时应用于图像。例如,对于狮子的图像,所有生物体、动物、食肉目、猫科动物和狮子都可以是相关的专家域。特别地,本公开的示例实现使用两个不同的上游图像数据集,并且在每个上游图像数据集上独立地训练一组专家。
示例专家训练
回想B可以表示在整个上游数据集DU上训练的基线R50模型。上游训练的第二步可以包括在上游数据集的不同子集上单独训练每个专家。令 为对应于专家e的数据。对应于不同专家的子集可以重叠(例如,对于动物和狗专家)。
如前所述,在一些实现中,完整的专家可以De在上完全细调B。对于适配器专家,在一些实现中,可以在De上训练与适配器e相对应的权重,但是可以冻结共享块和头部参数。注意,由于共享方案,本公开的示例实现可以并行地独立训练所有专家。本公开的示例实现针对相同数量的步骤训练所有专家,而不管其大小De如何。本公开的示例实现利用上游标签的结构并使用硬编码路由,而不是学习路由函数。
用于专家选择的示例技术
给定新的下游数据集DT=(XT,YT),本公开的示例实现选择专家来使用。本公开的示例实现可以采用以下三种方法中的一种或多种(例如,单独或组合):域预测、标签匹配和性能代理。
域预测。该策略仅基于图像XT来选择专家。它有效地选择域与目标图像最匹配的专家。本公开的示例实现通过训练辅助网络(“专家预测网络”或EPN)以从图像中对专家进行分类(即,学习先前提到的硬编码路由)来实现这一点。在一些实现中,可以使用预训练数据和专家分配在上游训练EPN。在迁移期间,在一些实现中,可以使用跨数据集的最高几何平均EPN预测概率来选择专家。
标签匹配。可替代地,专家与任务的匹配可以在标签空间而不是输入空间中完成。本公开的示例实现通过计算在上游数据集的标签空间中每个专家对新下游任务的亲和性来实现该策略。本公开的示例实现首先使用在所有上游标签上训练的通用网络来预测下游图像上的上游标签。本公开的示例实现计算下游任务图像上的标签的分布与每个专家的标签的先验分布之间的KL散度。该每专家的先验被计算为用于训练该专家的图像上的标签的经验分布。本公开的示例实现选择具有最小KL散度的专家。
性能代理。上述两种策略不一定使用可用于下游任务的训练标签YT,其可以包含关键信息。将每个专家细调到每个新任务并事后选择最佳任务将太昂贵,因此本公开的示例实现利用代理来进行最终表现。为此,本公开的示例实现使用具有由每个专家产生的图像嵌入的k最近邻分类器。在完整专家的情况下,本公开的示例实现简单地应用对应的完整网络来计算这些嵌入。对于基于适配器的专家,本公开的示例实现应用特定专家并忽略剩余的专家。具体地,令Me(x)为对应于关于输入x的专家e的嵌入,并且令为下游任务。为了对每个专家进行评分,本公开的示例实现可以在嵌入的数据集应用kNN分类器,k=1且欧几里德距离。经由留一法交叉验证来计算准确acc(DT,e)。最后,本公开的示例实现可以选择具有最高准确度的专家e*=argmaxeacc(DT,e)。存在比完全细调更便宜的其他替代代理,例如将逻辑回归、SVM或决策树拟合到特征。这些代理可以更好地匹配最终性能。然而,kNN在计算上是便宜的——它仅需要前向传递数据,并且留一交叉验证不需要每折额外的推断——并且它表现良好。
用于下游迁移的示例技术
专家选择算法可以选择若干专家进行组合以解决任何目标任务。然而,本公开的示例实现也可以包括每个任务迁移单个专家,因为该方法证明是有效的。因此,在这种情况下,下游迁移过程是直接的:它简单地涉及细调选择的专家模型。本公开的示例实现可以将整个专家网络细调到下游数据集,包括适用时的适配器。这不同于原始残差适配器工作,在原始残差适配器工作中,仅适配器被细调。虽然限制上游训练的范围以专注于专门化专家适配器参数是有价值的,但是细调整个网络下游也是非常有益的。
示例设备和系统
图3A描绘根据本公开的示例实施例的示例计算系统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可以是或可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。参考图1-2B讨论示例机器学习模型120。
在一些实现中,一个或多个机器学习模型120可以通过网络180从服务器计算系统130接收,被存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。在一些实现中,用户计算设备102可以实现单个机器学习模型120的多个并行实例。
附加地或替代地,一个或多个机器学习模型140可以被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中或以其他方式由其存储和实现。例如,机器学习模型140可以由服务器计算系统140实现为web服务的一部分。因此,可以在用户计算设备102处存储和实现一个或多个模型120,和/或可以在服务器计算系统130处存储和实现一个或多个模型140。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以通过其提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可包括一个或多个非暂态计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器134可以存储由处理器132执行以使服务器计算系统130执行操作的数据136和指令138。
在一些实现中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实施。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习模型140。例如,模型140可以是或可以以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。参考图1-2B讨论示例模型140。
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统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。例如,损失函数可以通过(一个或多个)模型反向传播以更新(一个或多个)模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术可以被用于在多次训练迭代上迭代地更新参数。
在一些实现中,执行误差的反向传播可以包括执行通过时间的截断的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、dropout等)以改进被训练的模型的泛化能力。
具体地,模型训练器160可以基于训练数据集162来训练机器学习模型120和/或140。在一些实现中,如果用户已经提供同意,则训练示例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可以由训练计算系统150在从用户计算设备102接收的用户特定数据上训练。在一些情况下,该过程可以被称为个性化模型。
模型训练器160包括用于提供期望功能的计算机逻辑。模型训练器160可以以控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现中,模型训练器160包括存储在诸如RAM硬盘或光学或磁性介质的有形计算机可读存储介质中的一组或多组计算机可执行指令。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合,并且可以包括任何数量的有线或无线链路。通常,通过网络180的通信可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载。
图3A示出可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102处被本地训练和使用。在一些这样的实现中,用户计算设备102可以实施模型训练器160以基于用户特定数据来个性化模型120。
图3B描绘根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至N)。每个应用包含其自己的机器学习库和(一个或多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息传送应用、电子邮件应用、口述应用、虚拟键盘应用、浏览器应用等。
如图3B所示,每个应用可以与计算设备的多个其他组件通信,诸如例如一个或多个传感器、情境管理器、设备状态组件和/或附加组件。在一些实施方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,由每个应用使用的API特定于该应用。
图3C描绘根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用与中央智能层通信。示例应用包括文本消息传送应用、电子邮件应用、口述应用、虚拟键盘应用、浏览器应用等。在一些实现中,每个应用可以使用API(例如,跨所有应用的公共API)与中央智能层(以及存储在其中的(一个或多多个)模型)通信。
中央智能层包括多个机器学习模型。例如,如图3C所示,可以为每个应用提供相应的机器学习模型(例如,模型)并由中央智能层管理。在其他实现中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实现中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现中,中央智能层被包括在计算设备50的操作系统内或以其他方式由其实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备50的数据的集中式储存库。如图3C所示,中央设备数据层可以与计算设备的多个其他组件通信,诸如例如一个或多个传感器、情境管理器、设备状态组件和/或附加组件。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
附加公开
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统,以及采取的动作和发送到这些系统和从这些系统发送的信息。基于计算机的系统的固有灵活性允许组件之间的任务和功能的各种可能的配置、组合和划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现或者跨多个系统分布。分布式组件可以顺序地或并行地操作。
虽然已经关于本主题的各种具体示例实施例详细描述了本主题,但是每个示例是通过解释而不是限制本公开的方式提供的。本领域技术人员在获得对前述内容的理解后,可以容易地产生对这些实施例的改变、变化和等同物。因此,本公开不排除包括对本主题的这些修改、变化和/或添加,这对于本领域普通技术人员来说是显而易见的。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用以产生又一个实施例。因此,本公开旨在涵盖这些改变、变化和等同物。
Claims (17)
1.一种用于从专家模型执行迁移学习的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算系统访问多个专家机器学习模型,其中,多个专家机器学习模型已经分别在多个不同的训练数据集上被训练;
由计算系统获得描述与下游训练数据集相关联的下游任务的数据;
由计算系统评估多个专家机器学习模型中的每一个专家机器学习模型相对于下游任务的相应性能度量;
由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个,以用作一个或多个选择的机器学习模型;
由计算系统使用下游训练数据集来细调一个或多个选择的机器学习模型;以及
在细调所述一个或多个选择的机器学习模型之后,由计算系统提供一个或多个选择的机器学习模型以用于执行下游任务。
2.根据权利要求1所述的计算机实现的方法,其中,多个专家机器学习模型包括在基础训练数据集上训练的基线机器学习模型的多个变体。
3.根据权利要求2所述的计算机实现的方法,其中,多个专家机器学习模型已经在其上被分别训练的多个不同训练数据集包括所述基础训练数据集的多个不同子部分。
4.根据权利要求3所述的计算机实现的方法,其中,基础训练数据集中的训练标签是根据层级来组织的,并且其中,基础训练数据集的多个不同子部分包括基础训练数据集的多个不同的分层定义的划分。
5.根据权利要求2-4中任一项所述的计算机实现的方法,其中,多个专家机器学习模型通过完全细调基线机器学习模型被分别生成。
6.根据权利要求2-4中任一项所述的计算机实现的方法,其中,多个专家机器学习模型通过将一个或多个相应的专家适配器子模型添加到基线机器学习模型的一个或多个现有层被分别生成。
7.根据权利要求6所述的计算机实现的方法,其中,每个专家机器学习模型包括分别在一个或多个专家适配器子模型周围的一个或多个残差跳跃连接。
8.根据权利要求6或7所述的计算机实现的方法,其中,在每个专家机器学习模型在其相应的训练数据集上的训练期间,在基线机器学习模型的一个或多个现有层被保持固定的同时,一个或多个相应的专家适配器子模型被学习。
9.根据权利要求6、7或8所述的计算机实现的方法,其中,在使用下游训练数据集对一个或多个选择的机器学习模型的细调期间,一个或多个相应的专家适配器子模型和基线机器学习模型的一个或多个现有层两者被学习。
10.根据任一前述权利要求所述的计算机实现的方法,其中,由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型包括:由计算系统采用专家预测网络以基于包括在下游训练数据集中的一个或多个训练输入来从所述多个专家机器学习模型中选择一个或多个选择的机器学习模型。
11.根据任一前述权利要求所述的计算机实现的方法,其中,由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型包括:
由计算系统使用通用网络来预测包括在下游训练数据集中的一个或多个训练示例的标签;
由计算系统评估由通用网络生成的标签的分布与在训练这样的专家机器学习模型期间由每个专家机器学习模型生成的标签的每专家先验之间的相应KL散度;以及
由计算系统至少部分地基于针对多个专家机器学习模型中的每一个的相应KL散度来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型。
12.根据任一前述权利要求所述的计算机实现的方法,其中,由计算系统至少部分地基于关于多个专家机器学习模型的相应性能度量来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型包括:
由计算系统使用每个专家机器学习模型来产生针对包括在下游训练数据集中的训练输入的相应输入嵌入;
由计算系统基于将最近邻居应用于相应输入嵌入来评估每个专家机器学习模型的性能代理;以及
由计算系统至少部分地基于关于多个专家机器学习模型中的每一个的相应性能代理来选择多个专家机器学习模型中的一个或多个以用作一个或多个选择的机器学习模型。
13.根据任一前述权利要求所述的计算机实现的方法,其中,由计算系统访问多个专家机器学习模型包括:由计算系统生成和训练多个专家机器学习模型。
14.根据任一前述权利要求所述的计算机实现的方法,其中,下游任务包括图像识别任务。
15.一种计算系统,被配置为执行根据权利要求1-14中的任一项所述的方法。
16.一个或多个非暂时性介质,所述一个或多个非暂时性介质存储用于执行根据权利要求1-14中的任一项所述的方法的计算机可执行指令。
17.一种计算系统,包括通过执行权利要求1-14中的任一项而生成的下游机器学习模型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063035341P | 2020-06-05 | 2020-06-05 | |
US63/035,341 | 2020-06-05 | ||
PCT/US2021/036197 WO2021248125A1 (en) | 2020-06-05 | 2021-06-07 | Scalable transfer learning with expert models |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115699041A true CN115699041A (zh) | 2023-02-03 |
Family
ID=77168368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180040469.6A Pending CN115699041A (zh) | 2020-06-05 | 2021-06-07 | 利用专家模型的可扩展迁移学习 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230196211A1 (zh) |
CN (1) | CN115699041A (zh) |
WO (1) | WO2021248125A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432770A (zh) * | 2023-02-28 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 模型训练、推理、构建方法、装置、设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114429195A (zh) * | 2022-01-21 | 2022-05-03 | 清华大学 | 混合专家模型训练的性能优化方法和装置 |
WO2023249553A2 (en) * | 2022-06-21 | 2023-12-28 | Lemon Inc. | Multi-task learning with a shared foundation model |
WO2024025450A1 (en) * | 2022-07-26 | 2024-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Transfer learning in digital twins |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190354850A1 (en) * | 2018-05-17 | 2019-11-21 | International Business Machines Corporation | Identifying transfer models for machine learning tasks |
-
2021
- 2021-06-07 US US18/008,293 patent/US20230196211A1/en active Pending
- 2021-06-07 CN CN202180040469.6A patent/CN115699041A/zh active Pending
- 2021-06-07 WO PCT/US2021/036197 patent/WO2021248125A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432770A (zh) * | 2023-02-28 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 模型训练、推理、构建方法、装置、设备及存储介质 |
CN116432770B (zh) * | 2023-02-28 | 2023-10-20 | 阿里巴巴(中国)有限公司 | 模型训练、推理、构建方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230196211A1 (en) | 2023-06-22 |
WO2021248125A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990558B2 (en) | Generating image features based on robust feature-learning | |
US11829880B2 (en) | Generating trained neural networks with increased robustness against adversarial attacks | |
EP3711000B1 (en) | Regularized neural network architecture search | |
JP7470476B2 (ja) | 蒸留を用いたそれぞれのターゲット・クラスを有するモデルの統合 | |
US20220374719A1 (en) | Application Development Platform and Software Development Kits that Provide Comprehensive Machine Learning Services | |
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
US11631029B2 (en) | Generating combined feature embedding for minority class upsampling in training machine learning models with imbalanced samples | |
CN111126574B (zh) | 基于内镜图像对机器学习模型进行训练的方法、装置和存储介质 | |
US20200265301A1 (en) | Incremental training of machine learning tools | |
US11048718B2 (en) | Methods and systems for feature engineering | |
CN115699041A (zh) | 利用专家模型的可扩展迁移学习 | |
WO2020214428A1 (en) | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection | |
CN111680721A (zh) | 利用硬性注意力的准确且可解释的分类 | |
EP3752962A1 (en) | Application development platform and software development kits that provide comprehensive machine learning services | |
US20210158147A1 (en) | Training approach determination for large deep learning models | |
KR20180134738A (ko) | 전자 장치 및 학습 모델 생성 방법 | |
US20210383223A1 (en) | Joint Architecture And Hyper-Parameter Search For Machine Learning Models | |
US20220108171A1 (en) | Training neural networks using transfer learning | |
US11823076B2 (en) | Tuning classification hyperparameters | |
CN113557534A (zh) | 深度森林模型开发和训练 | |
US20220036232A1 (en) | Technology for optimizing artificial intelligence pipelines | |
US20220405649A1 (en) | Quantum machine learning model feature space generation | |
US10546246B2 (en) | Enhanced kernel representation for processing multimodal data | |
US20220245397A1 (en) | Updating of statistical sets for decentralized distributed training of a machine learning model | |
CN116569210A (zh) | 归一化oct图像数据 |
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 |