CN110689139A - 用于机器学习的方法和计算机系统 - Google Patents
用于机器学习的方法和计算机系统 Download PDFInfo
- Publication number
- CN110689139A CN110689139A CN201910925929.8A CN201910925929A CN110689139A CN 110689139 A CN110689139 A CN 110689139A CN 201910925929 A CN201910925929 A CN 201910925929A CN 110689139 A CN110689139 A CN 110689139A
- Authority
- CN
- China
- Prior art keywords
- model
- machine learning
- patch
- training
- learning model
- 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 124
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012549 training Methods 0.000 claims abstract description 119
- 238000012545 processing Methods 0.000 claims description 24
- 238000013528 artificial neural network Methods 0.000 claims description 22
- 238000010606 normalization Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 16
- 238000013468 resource allocation Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 2
- 238000013526 transfer learning Methods 0.000 abstract description 13
- 230000006978 adaptation Effects 0.000 abstract description 6
- 238000002474 experimental method Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000009966 trimming Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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/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/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了能够进行参数高效的转移学习、多任务学习和/或诸如模型个性化或域适应的其他形式的模型重新利用的系统和方法。具体地,作为一个示例,计算系统可以获得先前已经在第一训练数据集上训练以执行第一任务的机器学习模型。所述机器学习模型可以包括第一可学习参数集合。计算系统可以修改机器学习模型以包括模型补丁,其中模型补丁包括第二可学习参数集合。计算系统可以在第二训练数据集上训练机器学习模型以执行与第一任务不同的第二任务,其可以包括学习包括在模型补丁中的第二可学习参数集合的新值,同时保持第一可学习参数集合中的至少一些(例如,全部)固定。
Description
技术领域
本公开一般涉及机器学习。更具体地,本公开涉及经由使用模型补丁来执行参数高效的多任务学习、转移学习和/或模型个性化的系统和方法。
背景技术
各种形式的机器学习模型已经彻底改变了机器智能的许多领域。例如,深度神经网络现在被用于许多视觉任务,这甚至在几年前被认为是几乎难以渗透的。随着可能任务的空间扩展并开始个性化,越来越需要快速构建和定制机器学习模型的不同迭代的能力。
此外,随着网络和硬件变得更好和更快,大部分计算被转移到“设备上”范例,其中机器学习模型在嵌入式设备、用户设备、边缘设备或其他形式的“资源受限”设备上本地存储和实现,从而提供更快的响应时间和更好的安全性和隐私保证。
然而,在资源受限的环境中朝向增加的设备计算量的移动提供了挑战。具体地,尽管最近在不牺牲模型准确度的情况下减小模型大小(例如,由参数的数量表示)方面取得了进展,但是在本地设备上交付、维护和更新数百个模型仍然是带宽、能源和存储成本方面的显著支出。具体地,在这样的多个网络的处理引入冗余的空中成本(例如,用于传输模型的带宽或网络使用)、更新和维护成本(例如,重新训练或个性化每个不同模型的成本)、存储器使用(例如,每个不同模型的存储空间)等的意义上,在设备上保持和更新多个模型(例如,神经网络)在计算上或资源上是昂贵的。
发明内容
本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中习得,或者可以通过实施例的实践来习得。
本公开的一个示例方面涉及一种计算机实现的方法。所述方法可以包括:由一个或多个计算设备获得先前已经在第一训练数据集上训练以执行第一任务的机器学习模型。所述机器学习模型可以包括第一可学习参数集合。所述方法可以包括:由所述一个或多个计算设备修改所述机器学习模型以包括模型补丁。所述模型补丁可以包括第二可学习参数集合。所述方法可以包括:在修改机器学习模型以包括模型补丁之后,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行与第一任务不同的第二任务。由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务可以包括:学习包括在模型补丁中的第二可学习参数集合的新值。
在一些实现方式中,由所述一个或多个计算设备在所述第二训练数据集上训练所述机器学习模型以执行所述第二任务可以包括:学习所述第二可学习参数集合的新值,同时保持第一可学习参数集合的至少一些固定。
在一些实现方式中,由所述一个或多个计算设备在所述第二训练数据集上训练所述机器学习模型以执行所述第二任务可以包括:学习所述第二可学习参数集合的新值,同时保持第一可学习参数集合的至少大部分固定。
在一些实现方式中,由所述一个或多个计算设备在所述第二训练数据集上训练所述机器学习模型以执行所述第二任务可以包括:学习所述第二可学习参数集合的新值,同时保持第一可学习参数集合的全部固定。
在一些实现方式中,在修改所述机器学习模型以包括所述模型补丁之后,所述模型补丁的至少一部分在结构上可以定位在所述机器学习模型的最后一层之前。
在一些实现方式中,在修改所述机器学习模型以包括所述模型补丁之后,所述模型补丁的至少一部分可以被包括在所述机器学习模型的中间层中。
在一些实现方式中,所述模型补丁还可以包括所述机器学习模型的最后一层。
在一些实现方式中,所述机器学习模型可以包括多个层;以及包括在模型补丁中的第二可学习参数集合中的至少一些可以包括所述多个层中的一个或多个层的缩放和偏差参数中的一个或两个。
在一些实现方式中,所述一个或多个层的缩放和偏差参数可以包括分别对所述一个或多个层执行的一个或多个批量规范化操作的缩放和偏差参数。
在一些实现方式中,所述一个或多个层的缩放和偏差参数可以包括用于分别对所述一个或多个层执行的一个或多个层规范化操作、一个或多个批量重规范化操作、或者一个或多个组规范化操作的缩放和偏差参数。
在一些实现方式中,所述机器学习模型可以包括卷积机器学习模型,其包括一个或多个卷积滤波器;以及由一个或多个计算设备修改机器学习模型以包括模型补丁可以包括:由所述一个或多个计算设备用卷积滤波器的简化参数版本替换卷积滤波器中的至少一个。
在一些实现方式中,所述机器学习模型可以包括卷积机器学习模型,其包括一个或多个卷积滤波器;以及由所述一个或多个计算设备修改机器学习模型以包括模型补丁可以包括:由所述一个或多个计算设备用按照深度可分离的卷积替换卷积滤波器中的至少一个。
在一些实现方式中,机器学习模型可以包括多个层;以及包括在模型补丁中的第二可学习参数集合中的至少一些可以包括用于所述多个层中的一个或多个层的挤压函数或激励函数中的一个或两个中包括的参数。
在一些实现方式中,机器学习模型可以包括多个层;以及包括在模型补丁中的第二可学习参数集合中的至少一些可以包括所述多个层中的一个或多个层的选通函数中包括的参数。
在一些实现方式中,机器学习模型可以包括多个层;以及所述模型补丁可以包括至少一个附加中间层,其在结构上位于所述多个层中的至少两个之间。
在一些实现方式中,所述方法还可以包括:与所述一个或多个计算设备在第二训练数据集上训练包括模型补丁的机器学习模型以执行第二任务同时地:由一个或多个计算设备在第一训练数据集上训练不包括模型补丁的机器学习模型以执行第一任务。
在一些实现方式中,由一个或多个计算设备在第一训练数据集上训练不包括模型补丁的机器学习模型以执行第一任务可以包括:由所述一个或多个计算设备在第一训练数据集上训练不包括模型补丁但包括替代模型补丁的机器学习模型,以执行第一任务。
在一些实现方式中,所述第一任务可以包括处理根据第一域构造的第一输入数据,并且所述第二任务可以包括处理根据与所述第一域不同的第二域构造的第二输入数据。
在一些实现方式中,所述方法还可以包括:在由所述一个或多个计算设备在所述第二训练数据集上训练所述机器学习模型以执行所述第二任务之后:由所述一个或多个计算设备接收新输入数据;以及当根据第一域构造新输入数据时,由所述一个或多个计算设备采用不包括模型补丁的机器学习模型来处理新输入数据以生成第一预测;以及当根据第二域构造新输入数据时,由所述一个或多个计算设备采用包括模型补丁的机器学习模型来处理新输入数据以生成第二预测。
在一些实现方式中,可以根据所述第一域来构造所述新输入数据,所述第二域可以包括比所述第一域更小数量的维度,并且所述方法还可以包括:由所述一个或多个计算设备确定与分配给新输入数据的处理的期望资源量对应的资源分配参数;以及由所述一个或多个计算设备至少部分地基于资源分配参数确定是否将新输入数据从第一域转换到第二域。在一些实现方式中,当新输入数据被转换到第二域时,该方法包括由所述一个或多个计算设备采用包括模型补丁的机器学习模型来处理新输入数据以生成第二预测。
在一些实现方式中,所述第一域可以包括第一图像分辨率,所述第一任务可以包括处理第一输入分辨率的表像,所述第二域可以包括小于所述第一图像分辨率的第二图像分辨率,并且所述第二任务可以包括处理第二输入分辨率的表像。
在一些实现方式中,所述机器学习模型可以包括神经网络,并且所述模型补丁可以包括补丁子网络。
在一些实现方式中,由所述一个或多个计算设备在所述第二训练数据集上训练所述机器学习模型以执行所述第二任务可以包括:由所述一个或多个计算设备确定与分配用于在所述第二训练数据集上训练所述机器学习模型以执行所述第二任务的期望资源量对应的训练分配参数;并且学习第二可学习参数集合的新值,同时保持第一可学习参数集合的子集固定,其中至少部分地基于训练分配参数并与训练分配参数相关地确定第一可学习参数集合的子集与第一可学习参数集合的全部的比率。
在一些实现方式中,所述第一任务可以包括对象检测,并且所述第二任务可以包括图像分类。
本公开的另一示例方面涉及一种计算机实现的方法。所述方法可以包括:由工作者设备获得包括第一可学习参数集合的机器学习模型。所述方法可以包括:由所述工作者设备修改所述机器学习模型以包括模型补丁。所述模型补丁可以包括第二可学习参数集合。所述方法可以包括:在修改机器学习模型以包括模型补丁之后,由工作者设备在本地存储在工作者设备处的本地数据集上训练机器学习模型。由工作者设备在本地训练数据集上训练机器学习模型可以包括:学习第一可学习参数集合和第二可学习参数集合两者的新值。所述方法可以包括:由工作者设备向中央系统发送仅描述第一可学习参数集合而不是第二可学习参数集合的新值的数据。
本公开的另一示例方面涉及一种计算机实现的方法。所述方法可以包括:由一个或多个计算设备获得包括现有可学习参数集合的模型。所述方法可以包括:由所述一个或多个计算设备生成包括第一可学习参数集合的第一模型补丁和包括第二可学习参数集合的第二模型补丁。所述方法可以同时包括:由所述一个或多个计算设备在第一训练数据集合上训练包括第一模型补丁而不是第二模型补丁的模型,以执行第一任务;以及由所述一个或多个计算设备在第二训练数据集合上训练包括第二模型补丁而不是第一模型补丁的模型,以执行与第一任务不同的第二任务。
本公开的另一示例方面涉及一种计算机系统。所述计算机系统可以包括:一个或多个处理器;以及一个或多个非暂时性计算机可读介质,其共同存储指令,所述指令在由所述一个或多个处理器运行时使计算机系统执行本文描述的任一方法。
本公开的另一示例方面涉及一个或多个非暂时性计算机可读介质,其共同存储指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行本文描述的任一方法。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。包含在本说明书中并构成其一部分的附图示出了本公开的示例实施例,并且与描述一起用于说明相关原理。
附图说明
在说明书中参考附图阐述了针对本领域普通技术人员的实施例的详细讨论,在附图中:
图1A描绘了根据本公开的示例实施例的示例模型补丁的图形图。
图1B描绘了根据本公开的示例实施例的示例多任务学习过程的图形图。
图2A描绘了根据本公开的示例实施例的示例计算系统的框图。
图2B描绘了根据本公开的示例实施例的示例计算设备的框图。
图2C描绘了根据本公开的示例实施例的示例计算设备的框图。
在多个附图中重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
概要
本公开的示例方面涉及能够进行参数高效的转移学习、多任务学习和/或诸如模型个性化或域适应的其他形式的模型重新利用的系统和方法。具体地,作为一个示例,计算系统可以获得先前已经在第一训练数据集上训练以执行第一任务的机器学习模型(例如,神经网络)。机器学习模型可以包括第一可学习参数集合(例如,权重或其他参数)。计算系统可以修改机器学习模型以包括模型补丁,其中模型补丁包括第二可学习参数集合。在修改机器学习模型以包括模型补丁之后,计算系统可以在第二训练数据集上训练机器学习模型以执行与第一任务不同的第二任务。在第二训练数据集上训练机器学习模型可以包括学习模型补丁中包括的第二可学习参数集合的新值。具体地,根据本公开的一个方面,在一些实现方式中,在第二训练数据集上训练机器学习模型可以包括学习第二可学习参数集合的新值,同时保持至少一些(例如,全部)第一可学习参数集合固定。
更具体地,用于重新利用预训练模型的一种替代技术是基于多元逻辑(logit)的调整。在基于多元逻辑的调整中,仅优化网络的最后一层(或有时最后几层)以匹配新任务。然而,该技术需要学习大量新参数,并且所得到的模型性能通常欠佳。具体地,微调最后一层相当于在现有特征的基础上训练线性分类器。这通常通过运行SGD同时保持网络的其余部分固定来完成,但是也已经探索了诸如SVM的其他方法。它也一再表明,这种方法通常最适合类似的任务。
一种替代方法是使用完全微调,其中预训练网络仅用作起点。然后对其进行优化,就像从头开始训练一样,通常使用较低的学习率。虽然与最后一层微调相比,这通常会显著提高准确度,但缺点是需要为每个新任务创建完整模型。
与这些方法相比,本公开提供了一种系统和方法,使计算系统能够修改或以其他方式更新现有机器学习模型(例如,神经网络)以解决不同任务,同时重用其大部分参数,与从头开始训练的模型相比,没有显著牺牲准确度。具体地,计算系统可以修改现有模型以包括小模型补丁,其与整个模型相比仅包括非常少量的参数(例如,在许多情况下小于1%)。在修改模型以包括模型补丁之后,可以通过学习模型补丁的参数的新值来重新训练模型。具体地,在一些实现方式中,可以在保持模型参数的其余部分固定的同时学习补丁参数的新值。
指导如本文所述的某些示例补丁的使用的一个概念是该补丁参数集合应该触及所有通道并且应该分散在整个网络中(例如,而不是集中在网络的末端)。具体地,在一些实现方式中,模型补丁的至少一部分在结构上定位在机器学习模型的最终输出部分(例如,最后一层)之前。例如,在一些实现方式中,模型补丁的至少一部分包括在机器学习模型的中间层中。这与上述基于多元逻辑的微调形成对比,在基于多元逻辑的微调中仅对网络的最后一层进行微调以匹配新任务。然而,在一些实现方式中,模型补丁还可以包括机器学习模型的最后一层。
更具体地,本公开的各方面利用通常可以将各个层视为嵌入空间而不是很大程度上独立的特征集的观察。从这个角度来看,即使是空间的简单变换也会导致目标分类的显著改变。在一些实现方式中,可以通过学习作用于网络的多个层处的特征的模型补丁来实现这种显著的改变。例如,美国临时专利申请No.62/737,763中描述的示例实验表明,通过仅重新学习占模型参数的少于2%的缩放和偏差补丁(scale and bias patch)(下面进一步描述),可以超过单独训练最后一层的准确度。此外,通过允许缩放和偏差两者与最后一层一起训练,可以实现协同效应(synergistic effects),其导致接近完整模型微调的准确度。这可能是由更限制的函数空间引起的。
更一般地,模型补丁可以采用许多不同的形式。作为一个示例,模型补丁可以是缩放和偏差补丁。例如,在一些实现方式中,机器学习模型可以包括多个层,并且包括在模型补丁中的至少一些可学习参数可以包括用于多个层中的一个或多个层的缩放和偏差参数中的一个或两个。例如,缩放和偏差参数可以通过调整和缩放激活来规范化(normalize)层的输入或输出。补丁可以向模型的一些或全部层添加缩放和偏差参数。缩放和偏差参数可以根据包括例如批量规范化、批量重规范化、层规范化或组规范化的各种缩放和偏差方案操作。
虽然某些替代技术包括重新计算不同域的批量规范化统计以帮助提高准确度或用于模型量化,但是本公开显著地超越这些方法并且表明偏差和缩放参数的学习实际上提供了用于转移和多任务学习的强大的工具,特别是当与网络顶部的线性分类器组合时。有趣的是,虽然学习的偏差和缩放可以与批量规范化统计折叠来创建模型补丁,但一些示例实验指示,仅依赖于重新计算的批量规范化统计导致差得多的性能。
注意,本文描述的方法并非固有地限于偏差和缩放。例如,在包含卷积的网络中,对具有相对较少参数的按照深度(depth-wise)的层进行微调,导致类似的、虽然较小的改进。
更具体地,作为另一示例类型的模型补丁,模型补丁可以是卷积补丁。例如,在一些实现方式中,机器学习模型可以是或包括卷积机器学习模型,其包括一个或多个卷积滤波器。修改机器学习模型以包括模型补丁可以包括用卷积滤波器的简化参数版本替换卷积滤波器中的至少一个。例如,卷积滤波器的简化参数版本可以是按照深度可分离的卷积。模型中包含的一些或全部卷积滤波器可以用简化参数版本替换。
作为又一个示例,模型补丁可以是挤压和激励补丁(squeeze and excitepatch)。例如,在一些实现方式中,机器学习模型可以包括多个层,并且包括在模型补丁中的至少一些可学习参数可以包括用于多个层中的一个或多个层的挤压函数或激励函数中的一个或两个中包括的参数。补丁可以向模型的一些或全部层添加挤压和激励参数/函数。
作为另一示例,模型补丁可以是选通函数补丁。例如,在一些实现方式中,机器学习模型可以包括多个层,并且包括在模型补丁中的至少一些可学习参数可以包括用于多个层中的一个或多个层的选通函数中包括的参数。补丁可以将选通参数/函数添加到模型的一些或全部层。
作为又一个示例,机器学习模型可以包括多个层,并且模型补丁可以包括添加到模型的附加层。例如,附加层可以是附加的中间层,其在结构上位于模型的多个层中的至少两个之间。可替代地或另外地,可以将单个神经元和/或边缘添加到网络作为补丁的一部分或全部。
在修改模型以包括模型补丁之后,可以通过学习模型补丁的参数的新值来重新训练模型。具体地,在一些实现方式中,可以在保持模型参数的其余部分固定的同时学习补丁参数的新值。
因此,在一些实现方式中,在执行转移学习时仅允许模型补丁参数改变。这种方法的一个结果是,与基于多元逻辑的调整相比,学习的参数的数量要小得多。具体地,基于多元逻辑的调整中的参数的数量通常取决于输入可以分类到的类的数量。例如,对于Inception V2模型,模型的偏差/缩放中只有大约四万个参数,而对于二百个类分类问题有四十万个参数。
因此,本公开的各方面使得能够重新训练或重新利用机器学习模型来解决非常不同类型的问题,同时重用现有参数值的显著部分(例如,95%或更多)。具体地,根据本公开的一个方面,可以使用小补丁来微调模型,以便将模型重新用于不同的任务,与从头开始训练的模型相比,准确度损失最小或没有损失。因此,学习执行特定任务的“新”模型的成本可以大大降低(例如,降低95%或更多)。另外,当与传统的仅多元逻辑的微调相比时,本公开的系统和方法同样在学习少得多的参数的同时导致准确度的显著提高。因此,本公开的各方面提供了用减少的资源支出实现高性能转移学习的技术效果和益处。例如,需要花费更少的资源(例如,处理能力、处理时间、存储空间、带宽使用、能量使用等)来执行转移学习以重新利用现有模型以学习执行新任务。
除了已经训练的网络被改变以解决不同问题的顺序微调之外,本公开还提供用于同时(例如,多任务)学习和其他学习变体的技术。作为一个示例,计算系统可以获得包括现有可学习参数集合的模型,并且可以生成包括第一可学习参数集合的第一模型补丁和包括第二可学习参数集合的第二模型补丁。计算系统可以在第一训练数据集合上训练包括第一模型补丁而不是第二模型补丁的模型以执行第一任务,同时在第二训练数据集合上训练包括第二模型补丁而不是第一模型补丁的模型以执行与第一任务不同的第二任务。因此,可以从第一训练数据集合和第二训练数据集合两者同时学习现有的参数集合。有趣的是,本文描述的多任务学习方法还可以充当正则化器,与仅在单个任务上训练的模型相比,通常导致改进的性能。
本公开的系统和方法具有多种应用和益处,包括用有限的训练数据进行训练、用户模型的个性化、资源受限的训练,能够开发专用于不同任务和用户的大量不同模型,并且还引入了全新的模型系列。
在一个示例应用中,本公开的系统和方法可以用于显著增加在资源受限设置中可用的模型的数量,因为重新利用模型的边际成本显著小于从头开始训练完整模型。例如,由于显著减少了重新利用模型所需的参数的数量,因此本公开的系统和方法可以实现个性化模型的本地设备上训练,同时降低过度拟合的风险和减少隐私忧虑。当有限数量的数据可用时,受约束的微调还实现更好的泛化。因此,设备上转移学习可以以减少的资源支出(例如,处理能力、处理时间、存储空间、带宽使用、能量使用等)来执行。
作为另一示例应用,本公开的技术可以与联合学习方法(federated learningapproach)组合,其中各个设备将其梯度更新运送到中央服务器。具体地,在所提出的设置中,每个设备可以通过分离更新并将共享参数发送到主集中模型、同时保持其自己的个性化补丁存储在设备上,来维护其自己的个性化模型。
作为一个示例,分布式工作者设备(例如,嵌入式设备、边缘设备、用户/消费者设备等)可以获得包括第一可学习参数集合的机器学习模型。工作者设备可以修改机器学习模型以包括模型补丁,其中模型补丁包括第二可学习参数集合。在修改机器学习模型以包括模型补丁之后,工作者设备可以在本地存储在工作者设备处的本地数据集上训练机器学习模型。例如,本地数据集可以是存储在用户设备上的个人训练数据。在本地训练数据集上训练机器学习模型可以包括学习第一可学习参数集合和第二可学习参数集合中的至少一些(例如,全部)的新值。工作者设备可以向中央系统发送仅描述第一可学习参数集合而不是第二可学习参数集合的新值的数据。以这种方式,个性化补丁参数保持私有,而对共享公共参数的更新被传送到中央服务器用于与来自其他更新的其他更新聚合以改进全局模型。
作为另一示例应用,可以执行资源智能推断。具体地,使用本文描述的域适应技术,可以高效地生成多个不同的模型,其处理不同的相应维度大小的不同的相应输入域。在生成模型之后,计算系统可以确定与分配给新输入数据的处理(例如,以生成推断或预测)的期望资源量对应的资源分配参数。计算系统可以至少部分地基于资源分配参数来确定是否将新输入数据从第一域转换到具有与第一域相关的降维的第二域。一旦为新输入数据选择了域,就可以采用适当的模型来处理新输入数据。作为一个示例,可以生成多个模型,其处理不同输入分辨率的表像(imagery)。如果资源可用性的当前上下文指示(例如,电池电量低、大量其他应用打开等),则可以将要处理的图像下采样为较小的输入分辨率,并且已经适应处理该较小分辨率的模型可以用于处理该图像,从而在给定当前资源可用性上下文的情况下在推断上支出最佳和期望资源量。
可以应用类似的概念来执行资源智能训练。例如,基于资源可用性的当前上下文,计算系统可以确定与分配用于训练机器学习模型的期望资源量对应的训练分配参数。计算系统可以学习模型补丁的参数的新值,同时保持模型的原始参数的子集固定,其中原始参数的子集与所有原始参数的比率至少部分地基于训练分配参数而确定,并且与训练分配参数相关(correlate),从而在给定当前资源可用性上下文的情况下在推断上支出最佳和期望资源量。换句话说,可以固定更多或更少的参数而不是可学习的,以使设备能够达到准确度与训练成本的资源适当的平衡。
本公开提供了一种执行转移学习的新颖方式,其中添加补丁以仅修改非常小部分的模型参数(例如,添加少于1%的更多的参数),同时在非常不同的任务上实现显著的准确度。这使得能够用非常小的每个模型的增量成本生成大量模型。
示例系统和方法
本文提出的系统和方法中体现的一个中心概念是模型补丁的概念。在一些公式中,模型补丁可以被认为是或包括添加到给定模型(例如,神经网络)的结构的参数集合(例如,参数层)。补丁的大小通常(但不是必须)是它所作用的模型大小的一小部分。
作为一个示例,假设深网络M是由其参数(权重)W1,...,Wn表示的层序列。该公式忽略了不可训练的层(例如,一些种类的激活)。在该示例中,模型补丁P是在位置i1,...,in处添加层的参数集合因此,打补丁的模型
本文描述了几个不同种类的补丁。如下所示,在一些情况下,它们可以与网络中的其他层折叠,从而无需执行任何显式的层添加。
图1A提供了模型补丁的示例说明,其中可以使用两个不同的补丁修改基础模型以产生两个不同的模型。缩写FC是全连接层。缩写BN是批量规范化层。
示例缩放和偏差补丁
在一些实现方式中,缩放和偏差补丁的目的是使用缩放和偏移来变换网络中的一些或每个隐藏状态。批量规范化(BN)通常用在深度神经网络中,以减轻在训练期间使用微型批量时发生的所谓协变偏移的影响。我们发现BN提供了一种在网络中引入缩放和偏差补丁的便捷方式。设X是激活张量。然后,X的批量规范化版本
其中μ(X),σ(X)是每个微型批量计算的平均值和标准偏差统计,并且γ和β经由反向传播学习。这些统计可以计算为微型批量平均值,而在推理期间,它们可以使用全局平均值计算。根据所提出的方法,在这种情况下,一个可能的模型补丁对应于网络中的所有γ和β。使用BN作为模型补丁也满足补丁大小应该小的准则。例如,在Imagenet上执行分类的MobilenetV2网络中的BN参数总计少于模型的参数总数的2%。
在示例实验中(参见美国临时专利申请No.62/737,763),发现当μ、σ也被允许适应转移学习中的新数据集时,结果好得多。注意,尽管如上描述了批量规范化,但是也可以使用诸如批量重规范化、层规范化和/或组规范化的其他规范化技术来制作缩放和偏差模型补丁。
示例卷积补丁
在一些情况下,卷积补丁的目的是用简化参数的滤波器替代网络中的现有空间卷积滤波器。作为一个示例,按照深度可分离的卷积可以替代网络中的现有空间卷积滤波器以形成卷积补丁。
在按照深度可分离的卷积中,标准卷积被分解为两层:按照深度的卷积层,其每个输入通道应用一个卷积滤波器;以及逐点层,其通过跨通道线性组合按照深度的卷积层的输出来计算最终卷积特征。该按照深度的卷积层集合可以重新用作模型补丁。关键原因是它是轻量级的(例如,占MobilenetV2的少于3%)。按照深度可分离的卷积可选地还可包括线性瓶颈和/或扩展。
示例性通道选通补丁
除了学习静态γixi+βi参数时使用静态偏差和缩放之外或替代地,可以引入偏差和缩放,其可以用于构建选通函数,其进一步改进转移学习准确度。更具体地,假设X是卷积层的输出。
Yi=g(xi)*Xi
该方法与Hu等人的挤压-并-激励方法有关。(Squeeze-and-ExcitationNetworks,2017)。然而,代替使用低阶近似,经缩放的输入可以简单地用于生成激励的输出。结果是它需要更少的额外参数,同时提供额外的表达性。
示例转移学习和域适应
在一个示例域适应技术中,可以通过仅允许学习模型补丁参数来微调预训练模型。作为一个示例,仅允许训练批量规范化参数β、γ,而其余参数(例如,权重)在模型(例如,网络)中保持固定。对于转移学习,该过程可以类似,不同之处在于:在转移学习中,新任务的最后一层可能会有所不同,因为网络的可能输出的空间可能与它最初受过训练的任务不同。
示例多任务学习
在多任务学习中,计算系统同时但独立地训练共享大部分权重(并且隐含地,架构)的多个神经网络。与大部分参数被保持冻结的转移学习不同,在至少一些多任务实现方式中,学习模型的所有参数。在一些实现方式中,仅属于模型补丁的参数对于每个任务是私有的,并且所有其他参数是共享的。这种学习配置提供了对手头任务的更多适应性,而对所涉及的参数总数妥协。
在一些实现方式中,为了执行多任务学习,可以使用分布式Tensorflow范例:中央参数服务器从每个工作者接收梯度更新并更新权重。每个工作者读取输入,计算损失并将梯度发送到参数服务器。允许工作者的子集训练不同的任务;因此,工作者可以具有不同的计算图、以及特定于任务的输入管道和损失函数。训练可以异步地完成。该设置的视觉描述如图1B所示。
为了禁止一个任务支配权重的学习,可以确保不同任务的学习速率在任何给定时间点是可比较的。
示例实验
美国临时专利申请No.62/737,763包含来自对本公开的各方面进行的示例实验的数据。美国临时专利申请No.62/737,763中描述的一些示例实验证明,单独使用偏差和缩放允许现有的神经网络解决非常不同的问题。此外,示例实验表明,学习线性决策边界(例如,与使用随机的相反)提供了对学习网络的显著准确度提升,尽管网络仍然能够适应随机线性分类器。美国临时专利申请No.62/737,763的全部内容并入本说明书中并形成本说明书的一部分。
示例转移学习实验
示例实验证明,所提出的方法导致对多个数据集和网络架构的基于多元逻辑的微调的显著改进,同时需要少得多的参数。例如,在ImageNet上训练的网络可以在CIFAR-10/100上微调到非常高的准确度,通常超过基于多元逻辑的微调导致低准确度。所提出的方法的示例实现方式允许随机多元逻辑层获得接近完全微调的准确度或者可以与多元逻辑层组合以获得接近完全微调的准确度。
示例多任务学习技术
示例实验证明,可以同时在多个任务上训练模型,其中每个任务的工作者使用标准优化算法发送对共享和特定于任务的参数的独立的梯度更新。结果表明,在Imagenet和Places-365上同时训练两个这样的重叠网络可以达到与单独训练的模型相当的准确度。在这样的设置中,观察到准确度与转移学习或独立的每任务训练相当或更高。这可能是因为所有权重都适应两个任务,同时也受益于更大数据集的正则化效应,同时仍然允许模型专门化。
示例域适应技术
示例实验还示出所提出的方法还可以使多任务学习能够创建将解决不同域的相同分类问题的模型。例如对于Imagenet,已经示出所提出的方法可以训练MobilenetV2以在5个分辨率尺度(224、192、160、128和96)上操作,同时除了偏差和缩放之外共享所有权重,并且仍然实现与在每个分辨率上独立训练的模型相同的准确度。这使得能够进行功耗受限的操作,其中应用可以切换到较低的分辨率以节省延迟/功率,而无需运送单独的模型并且必须在应用设计时做出权衡决策。因此,可以将单个模型运送到设备,然后可以(例如,使用不同的补丁)制作多个不同的变体并在设备处训练多个不同的变体以为不同(但潜在相关的)任务提供多个模型。
附加示例实验
附加示例实验还证明,使用级联组合算法(Streeter,用于级联预测模型的近似算法,在ICML中,2018)可以将平均运行时间减少大约15%而不牺牲任何准确度,同时添加少量额外的参数。
最后,某些实验结果证明,用于18类COCO对象检测模型的SSD的特征提取器可以转移到1001类ImageNet分类器,并且仍然给出相当高的准确度。这表明即使在不同类型的问题之间也存在很多共享模型权重的潜力。
示例设备
图2A描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信地耦接的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如,例如,个人计算设备(例如,膝上型计算机或台式机)、移动计算设备(例如,智能电话或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备、边缘计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储由处理器112执行以使用户计算设备102执行操作的指令118和数据116。
在一些实现方式中,用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习的模型120可以是或可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。
在一些实现方式中,一个或多个机器学习模型120可以通过网络180从服务器计算系统130接收、存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。在一些实现方式中,用户计算设备102可以实现单个机器学习模型120的多个并行实例。
附加地或替代地,一个或多个机器学习模型140可以包括在服务器计算系统130中或以其他方式由服务器计算系统130存储和实现,服务器计算系统130根据客户端-服务器关系与用户计算设备102通信。例如,机器学习模型140可以由服务器计算系统130实现为web服务的一部分。因此,可以在用户计算设备102处存储和实现一个或多个模型120和/或可以在服务器计算系统130处存储和实现一个或多个模型140。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或指示笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以通过其提供用户输入的其他手段。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器134可以存储由处理器132执行以使服务器计算系统130执行操作的指令138和数据136。
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其一些组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习模型140。例如,模型140可以是或可以以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信地耦接的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器154可以存储由处理器152执行以使训练计算系统150执行操作的指令158和数据156。在一些实现方式中,训练计算系统150包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。
训练计算系统150可以包括模型训练器160,其使用诸如例如误差的反向传播的各种训练或学习技术训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。在一些实现方式中,执行误差的反向传播可以包括执行截断的通过时间的反向传播(truncated backpropagation through time)。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢失等)以改进正在训练的模型的泛化能力。
具体地,模型训练器160可以基于训练数据162的集合训练机器学习模型120和/或140。训练数据162可以包括例如分别有助于训练模型执行多个不同的任务的训练数据的多个不同的集合。作为示例,训练数据可以包括训练数据的集合,其对训练模型以执行对象检测、对象识别、对象分割、图像分类和/或其他任务有用。
在一些实现方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供。因此,在这样的实现方式中,提供给用户计算设备102的模型120可以由训练计算系统150在从用户计算设备102接收的特定于用户的数据上训练。在一些情况下,该过程可以被称为个性化模型。
模型训练器160包括用于提供所期望的功能性的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160包括一个或多个计算机可执行指令的集合,其存储在诸如RAM、硬盘或光学或磁性介质的有形计算机可读存储介质中。在一些实现方式中,模型训练器160可以跨多个不同的设备复制和/或分布。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其一些组合,并且可以包括任何数量的有线或无线链路。通常,通过网络180的通信可以经由任何类型的有线和/或无线连接,使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如、HTML、XML)和/或保护方案(例如、VPN、安全HTTP、SSL)来承载。
图2A示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现方式中,模型120可以被训练并且在用户计算设备102处本地使用。在一些这样的实现方式中,用户计算设备102可以实现模型训练器160以基于特定于用户的数据来个性化模型120。
图2B描绘了根据本公开的示例实施例的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至N)。每个应用包含其自己的机器学习库和(一个或多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图2B中所示,每个应用可以与计算设备的多个其他组件通信,所述组件诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实现方式中,每个应用使用的API特定于该应用。
图2C描绘了根据本公开的示例实施例的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用都与中央智能层进行通信。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可以使用API(例如,跨所有应用的通用API)与中央智能层(以及存储在其中的(一个或多个)模型)进行通信。
中央智能层包括多个机器学习模型。例如,如图2C所示,可以为每个应用提供相应的机器学习模型(例如,模型)并由中央智能层管理。在其他实现方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,中央智能层包括在计算设备50的操作系统内或以其他方式由计算设备50的操作系统实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的数据的集中存储库。如图2C所示,中央设备数据层可以与计算设备的多个其他组件通信,所述组件诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
附加公开
这里讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统、以及所采取的动作和发送到这些系统以及从这些系统发送的信息。基于计算机的系统的固有灵活性允许组件之间和之中的任务和功能性的各种可能的配置、组合以及划分。例如,这里讨论的处理可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现或跨多个系统分布。分布式组件可以顺序或并行操作。
尽管已经关于本主题的各种具体示例实施例详细描述了本主题,但是每个示例是通过解释而非限制本公开来提供的。在获得对前述内容的理解之后,本领域技术人员可以容易地产生对这些实施例的更改、变化和等同物。因此,本公开并不排除包括对本主题的这些修改、变化和/或添加,这对于本领域普通技术人员来说是显而易见的。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,本公开旨在覆盖这些更改、变化和等同物。
Claims (28)
1.一种用于机器学习的计算机实现的方法,所述方法包括:
由一个或多个计算设备获得先前已经在第一训练数据集上训练以执行第一任务的机器学习模型,所述机器学习模型包括第一可学习参数集合;
由所述一个或多个计算设备修改所述机器学习模型以包括模型补丁,所述模型补丁包括第二可学习参数集合;以及
在修改机器学习模型以包括模型补丁之后,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行与所述第一任务不同的第二任务,其中,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务包括:学习包括在模型补丁中的第二可学习参数集合的新值。
2.根据权利要求1所述的计算机实现的方法,其中,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务包括:学习所述第二可学习参数集合的新值,同时保持第一可学习参数集合的至少一些固定。
3.根据权利要求1所述的计算机实现的方法,其中,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务包括:学习所述第二可学习参数集合的新值,同时保持第一可学习参数集合的至少大部分固定。
4.根据权利要求1所述的计算机实现的方法,其中,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务包括:学习所述第二可学习参数集合的新值,同时保持第一可学习参数集合的全部固定。
5.根据权利要求1所述的计算机实现的方法,其中,在修改机器学习模型以包括模型补丁之后,所述模型补丁的至少一部分在结构上定位到所述机器学习模型的最后一层之前。
6.根据权利要求1所述的计算机实现的方法,其中,在修改机器学习模型以包括模型补丁之后,所述模型补丁的至少一部分被包括在所述机器学习模型的中间层中。
7.根据权利要求5或6所述的计算机实现的方法,其中,所述模型补丁还包括所述机器学习模型的最后一层。
8.根据权利要求1所述的计算机实现的方法,其中:
所述机器学习模型包括多个层;以及
包括在模型补丁中的第二可学习参数集合中的至少一些包括所述多个层中的一个或多个层的缩放和偏差参数中的一个或两个。
9.根据权利要求8所述的计算机实现的方法,其中,所述一个或多个层的缩放和偏差参数包括分别对所述一个或多个层执行的一个或多个批量规范化操作的缩放和偏差参数。
10.根据权利要求8所述的计算机实现的方法,其中,所述一个或多个层的缩放和偏差参数包括用于分别对所述一个或多个层执行的一个或多个层规范化操作、一个或多个批量重规范化操作、或者一个或多个组规范化操作的缩放和偏差参数。
11.根据权利要求1所述的计算机实现的方法,其中:
所述机器学习模型包括卷积机器学习模型,所述卷积机器学习模型包括一个或多个卷积滤波器;以及
由所述一个或多个计算设备修改机器学习模型以包括模型补丁包括:由所述一个或多个计算设备用卷积滤波器的简化参数版本替换卷积滤波器中的至少一个。
12.根据权利要求1所述的计算机实现的方法,其中:
所述机器学习模型包括卷积机器学习模型,所述卷积机器学习模型包括一个或多个卷积滤波器;以及
由所述一个或多个计算设备修改机器学习模型以包括模型补丁包括:由所述一个或多个计算设备用按照深度可分离的卷积替换卷积滤波器中的至少一个。
13.根据权利要求1所述的计算机实现的方法,其中:
所述机器学习模型包括多个层;以及
包括在模型补丁中的第二可学习参数集合中的至少一些包括用于所述多个层中的一个或多个层的挤压函数或激励函数中的一个或两个中包括的参数。
14.根据权利要求1所述的计算机实现的方法,其中:
所述机器学习模型包括多个层;以及
包括在模型补丁中的第二可学习参数集合中的至少一些包括所述多个层中的一个或多个层的选通函数中包括的参数。
15.根据权利要求1所述的计算机实现的方法,其中:
所述机器学习模型包括多个层;以及
所述模型补丁包括至少一个附加中间层,所述至少一个附加中间层在结构上定位到所述多个层中的至少两个之间。
16.根据权利要求1所述的计算机实现的方法,还包括:与由所述一个或多个计算设备在第二训练数据集上训练包括模型补丁的机器学习模型以执行第二任务同时地:
由所述一个或多个计算设备在第一训练数据集上训练不包括模型补丁的机器学习模型以执行第一任务。
17.根据权利要求16所述的计算机实现的方法,其中,由所述一个或多个计算设备在第一训练数据集上训练不包括模型补丁的机器学习模型以执行第一任务包括:由所述一个或多个计算设备在第一训练数据集上训练不包括所述模型补丁但包括替代模型补丁的机器学习模型,以执行第一任务。
18.根据权利要求1所述的计算机实现的方法,其中,所述第一任务包括处理根据第一域构造的第一输入数据,并且所述第二任务包括处理根据与所述第一域不同的第二域构造的第二输入数据。
19.根据权利要求18所述的计算机实现的方法,还包括:在由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务之后:
由所述一个或多个计算设备接收新输入数据;以及
当根据第一域构造新输入数据时,由所述一个或多个计算设备采用不包括所述模型补丁的机器学习模型来处理所述新输入数据以生成第一预测;以及
当根据第二域构造新输入数据时,由所述一个或多个计算设备采用包括所述模型补丁的机器学习模型来处理所述新输入数据以生成第二预测。
20.根据权利要求19所述的计算机实现的方法,其中,根据第一域构造新输入数据,其中,所述第二域包括比所述第一域更小数量的维度,并且其中,所述方法还包括:
由所述一个或多个计算设备确定与分配给新输入数据的处理的期望资源量对应的资源分配参数;以及
由所述一个或多个计算设备至少部分地基于所述资源分配参数确定是否将新输入数据从第一域转换到第二域;
其中,当新输入数据被转换到第二域时,该方法包括由所述一个或多个计算设备采用包括所述模型补丁的机器学习模型来处理新输入数据以生成第二预测。
21.根据权利要求18-20中任一项所述的计算机实现的方法,其中,所述第一域包括第一图像分辨率,所述第一任务包括处理第一输入分辨率的表像,所述第二域包括小于所述第一图像分辨率的第二图像分辨率,以及所述第二任务包括处理第二输入分辨率的表像。
22.根据权利要求1所述的计算机实现的方法,其中,所述机器学习模型包括神经网络,并且所述模型补丁包括补丁子网络。
23.根据权利要求1所述的计算机实现的方法,其中,由所述一个或多个计算设备在第二训练数据集上训练机器学习模型以执行第二任务包括:
由所述一个或多个计算设备确定训练分配参数,所述训练分配参数与分配用于在所述第二训练数据集上训练机器学习模型以执行第二任务的期望资源量对应;
并且学习第二可学习参数集合的新值,同时保持第一可学习参数集合的子集固定,其中,至少部分地基于所述训练分配参数并与训练分配参数相关地确定第一可学习参数集合的所述子集与第一可学习参数集合的全部的比率。
24.根据权利要求1所述的计算机实现的方法,其中,所述第一任务包括对象检测,并且所述第二任务包括图像分类。
25.一种用于机器学习的计算机实现的方法,所述方法包括:
由工作者设备获得包括第一可学习参数集合的机器学习模型;
由所述工作者设备修改所述机器学习模型以包括模型补丁,所述模型补丁包括第二可学习参数集合;
在修改机器学习模型以包括模型补丁之后,由工作者设备在本地存储在工作者设备处的本地数据集上训练机器学习模型,并且其中由工作者设备在本地训练数据集上训练机器学习模型包括:学习第一可学习参数集合和第二可学习参数集合两者的新值;以及
由工作者设备向中央系统发送仅描述第一可学习参数集合而不是第二可学习参数集合的新值的数据。
26.一种用于机器学习的计算机实现的方法,所述方法包括:
由一个或多个计算设备获得包括现有可学习参数集合的模型;
由所述一个或多个计算设备生成包括第一可学习参数集合的第一模型补丁和包括第二可学习参数集合的第二模型补丁;
同时:
由所述一个或多个计算设备在第一训练数据集合上训练包括第一模型补丁而不是第二模型补丁的模型,以执行第一任务;以及
由所述一个或多个计算设备在第二训练数据集合上训练包括第二模型补丁而不是第一模型补丁的模型,以执行与第一任务不同的第二任务。
27.一种计算机系统,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,其共同存储指令,所述指令在由所述一个或多个处理器运行时使计算机系统执行权利要求1-26中任一项的方法。
28.一个或多个非暂时性计算机可读介质,其共同存储指令,所述指令在由一个或多个处理器运行时使所述一个或多个处理器执行权利要求1-26中任一项的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862737763P | 2018-09-27 | 2018-09-27 | |
US62/737,763 | 2018-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110689139A true CN110689139A (zh) | 2020-01-14 |
Family
ID=68072259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910925929.8A Pending CN110689139A (zh) | 2018-09-27 | 2019-09-27 | 用于机器学习的方法和计算机系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11676008B2 (zh) |
EP (1) | EP3629250A1 (zh) |
CN (1) | CN110689139A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111724338A (zh) * | 2020-03-05 | 2020-09-29 | 中冶赛迪重庆信息技术有限公司 | 一种转盘异常识别方法、系统、电子设备及介质 |
CN112162959A (zh) * | 2020-10-15 | 2021-01-01 | 深圳技术大学 | 一种医疗数据共享方法及装置 |
CN113222121A (zh) * | 2021-05-31 | 2021-08-06 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN113438663A (zh) * | 2020-03-04 | 2021-09-24 | 诺基亚通信公司 | 基于机器学习的切换参数优化 |
CN114065903A (zh) * | 2020-08-07 | 2022-02-18 | 深圳先进技术研究院 | 深度学习模型的参数重用方法、装置、终端及存储介质 |
CN115053232A (zh) * | 2020-02-06 | 2022-09-13 | 惠普发展公司,有限责任合伙企业 | 控制机器学习模型结构 |
CN115668219A (zh) * | 2020-05-18 | 2023-01-31 | 谷歌有限责任公司 | 生成对抗网络中的少样本域适应 |
CN115769226A (zh) * | 2020-10-29 | 2023-03-07 | 谷歌有限责任公司 | 机器学习离散化级别缩减 |
US11783226B2 (en) | 2020-06-25 | 2023-10-10 | International Business Machines Corporation | Model transfer learning across evolving processes |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210073639A1 (en) * | 2018-12-04 | 2021-03-11 | Google Llc | Federated Learning with Adaptive Optimization |
US11468325B2 (en) * | 2020-03-30 | 2022-10-11 | Amazon Technologies, Inc. | Multi-model training pipeline in distributed systems |
TWI723823B (zh) * | 2020-03-30 | 2021-04-01 | 聚晶半導體股份有限公司 | 基於神經網路的物件偵測裝置和物件偵測方法 |
US11521604B2 (en) | 2020-09-03 | 2022-12-06 | Google Llc | User mediation for hotword/keyword detection |
US20230275789A1 (en) * | 2020-09-07 | 2023-08-31 | Qualcomm Incorporated | Pre-equalization and power control for over-the-air model aggregation in federated learning |
US20220129747A1 (en) * | 2020-10-28 | 2022-04-28 | Verizon Media Inc. | System and method for deep customized neural networks for time series forecasting |
CN112532451B (zh) * | 2020-11-30 | 2022-04-26 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN113033626B (zh) * | 2021-03-02 | 2022-04-26 | 西北工业大学 | 基于多任务协同学习的图像分类方法 |
CN113704388A (zh) * | 2021-03-05 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 多任务预训练模型的训练方法、装置、电子设备和介质 |
CN113537085A (zh) * | 2021-07-20 | 2021-10-22 | 南京工程学院 | 基于两次迁移学习和数据增广的船舶目标检测方法 |
EP4195101A1 (en) * | 2021-12-13 | 2023-06-14 | Samsung Electronics Co., Ltd. | Method and apparatus for adapting a local ml model |
CN115527070B (zh) * | 2022-11-01 | 2023-05-19 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 基于交通场景的目标检测方法、装置、设备及存储介质 |
CN116432770B (zh) * | 2023-02-28 | 2023-10-20 | 阿里巴巴(中国)有限公司 | 模型训练、推理、构建方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177550B2 (en) * | 2013-03-06 | 2015-11-03 | Microsoft Technology Licensing, Llc | Conservatively adapting a deep neural network in a recognition system |
MX2018000942A (es) * | 2015-07-24 | 2018-08-09 | Deepmind Tech Ltd | Control continuo con aprendizaje de refuerzo profundo. |
WO2017136784A1 (en) * | 2016-02-05 | 2017-08-10 | Google Inc. | Generative neural networks |
US10460747B2 (en) * | 2016-05-10 | 2019-10-29 | Google Llc | Frequency based audio analysis using neural networks |
EP3459017B1 (en) * | 2016-05-20 | 2023-11-01 | Deepmind Technologies Limited | Progressive neural networks |
-
2019
- 2019-09-20 US US16/577,698 patent/US11676008B2/en active Active
- 2019-09-27 CN CN201910925929.8A patent/CN110689139A/zh active Pending
- 2019-09-27 EP EP19200085.9A patent/EP3629250A1/en active Pending
-
2023
- 2023-05-02 US US18/310,638 patent/US20230267330A1/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115053232A (zh) * | 2020-02-06 | 2022-09-13 | 惠普发展公司,有限责任合伙企业 | 控制机器学习模型结构 |
CN113438663A (zh) * | 2020-03-04 | 2021-09-24 | 诺基亚通信公司 | 基于机器学习的切换参数优化 |
CN111724338A (zh) * | 2020-03-05 | 2020-09-29 | 中冶赛迪重庆信息技术有限公司 | 一种转盘异常识别方法、系统、电子设备及介质 |
CN115668219A (zh) * | 2020-05-18 | 2023-01-31 | 谷歌有限责任公司 | 生成对抗网络中的少样本域适应 |
US11783226B2 (en) | 2020-06-25 | 2023-10-10 | International Business Machines Corporation | Model transfer learning across evolving processes |
CN114065903A (zh) * | 2020-08-07 | 2022-02-18 | 深圳先进技术研究院 | 深度学习模型的参数重用方法、装置、终端及存储介质 |
CN112162959A (zh) * | 2020-10-15 | 2021-01-01 | 深圳技术大学 | 一种医疗数据共享方法及装置 |
CN112162959B (zh) * | 2020-10-15 | 2023-10-10 | 深圳技术大学 | 一种医疗数据共享方法及装置 |
CN115769226A (zh) * | 2020-10-29 | 2023-03-07 | 谷歌有限责任公司 | 机器学习离散化级别缩减 |
CN113222121A (zh) * | 2021-05-31 | 2021-08-06 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN113222121B (zh) * | 2021-05-31 | 2023-08-29 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230267330A1 (en) | 2023-08-24 |
US11676008B2 (en) | 2023-06-13 |
US20200104706A1 (en) | 2020-04-02 |
EP3629250A1 (en) | 2020-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110689139A (zh) | 用于机器学习的方法和计算机系统 | |
Chaudhari et al. | Deep relaxation: partial differential equations for optimizing deep neural networks | |
EP3711000B1 (en) | Regularized neural network architecture search | |
US11694073B2 (en) | Method and apparatus for generating fixed point neural network | |
US11875262B2 (en) | Learning neural network structure | |
US20200104699A1 (en) | Continual Neural Network Learning Via Explicit Structure Learning | |
US9858529B2 (en) | Systems and methods for multi-task Bayesian optimization | |
CN110520871A (zh) | 训练机器学习模型 | |
CN114514540A (zh) | 语言任务的对比预训练 | |
US11657118B2 (en) | Systems and methods for learning effective loss functions efficiently | |
CN113837205B (zh) | 用于图像特征表示生成的方法、设备、装置和介质 | |
CN116468070A (zh) | 使用规范化的目标输出训练神经网络 | |
US20210383223A1 (en) | Joint Architecture And Hyper-Parameter Search For Machine Learning Models | |
CN113302605A (zh) | 鲁棒且数据效率的黑盒优化 | |
US11475236B2 (en) | Minimum-example/maximum-batch entropy-based clustering with neural networks | |
Shekhovtsov et al. | Stochastic normalizations as bayesian learning | |
Roth et al. | Training discrete-valued neural networks with sign activations using weight distributions | |
Ishii et al. | Layer-wise weight decay for deep neural networks | |
WO2019106132A1 (en) | Gated linear networks | |
US20230059708A1 (en) | Generation of Optimized Hyperparameter Values for Application to Machine Learning Tasks | |
Cowen et al. | Lsalsa: accelerated source separation via learned sparse coding | |
CN113490955A (zh) | 用于产生金字塔层的架构的系统和方法 | |
US12008125B2 (en) | Privacy filters and odometers for deep learning | |
Binkowski et al. | Graph-level representations using ensemble-based readout functions | |
US20140214734A1 (en) | Classifying a submission |
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 |