CN111149117B - 机器学习和深度学习模型的基于梯度的自动调整 - Google Patents
机器学习和深度学习模型的基于梯度的自动调整 Download PDFInfo
- Publication number
- CN111149117B CN111149117B CN201880062156.9A CN201880062156A CN111149117B CN 111149117 B CN111149117 B CN 111149117B CN 201880062156 A CN201880062156 A CN 201880062156A CN 111149117 B CN111149117 B CN 111149117B
- Authority
- CN
- China
- Prior art keywords
- hyper
- parameter
- score
- superparameter
- tuple
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 42
- 238000013136 deep learning model Methods 0.000 title description 3
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012549 training Methods 0.000 claims description 56
- 230000006872 improvement Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000002790 cross-validation Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 11
- 238000003860 storage Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000009467 reduction Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 230000009194 climbing Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- 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
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
Abstract
在本文中,水平可伸缩技术高效地配置机器学习算法以实现最佳准确度而无需知悉的输入。在实施例中,对于每个特定超参数,并且对于每个历元,计算机处理所述特定超参数。历元基于超参数元组探索一个超参数。从每个元组计算相应的分数。元组包含值的不同组合,每个值被包含在不同超参数的值范围内。元组的属于特定超参数的所有值都是不同的。元组的属于其它超参数的所有值都保持恒定。根据基于分数的第一线和基于分数的第二线的交点来缩小特定超参数的值范围。根据重复缩小的超参数值范围,最佳地配置机器学习算法。调用经配置的算法以获得结果。
Description
技术领域
本公开涉及机器学习。本文提出的是用于机器学习算法的高效配置的水平可伸缩技术,以实现最优准确度而无需知悉的输入。
背景技术
虽然机器学习(ML)的应用正变得无处不在,但数据科学专业知识可能仍将稀缺。诸如对于大型企业供应商及其企业客户,依靠数据科学家可能不是可持续的或可伸缩的。
ML建模涉及:
·选取合适的模型。
·将模型调整(tune)到给定的数据集,这是最耗时且特别的(ad-hoc)工作,其在很大程度上依赖于数据科学家的专业知识。
由于以下原因,模型调整是费力的。可能涉及大量的超参数(hyperparameter),尤其是对于具有许多参数(诸如多个层或多个神经元)的深度神经网络模型,诸如多层感知器(MLP)或卷积神经网络(CNN)。
也许更重要的是,超参数可能具有广泛的可能值。实际值的选择可能会严重影响模型的性能,诸如测得的预测准确度。遗憾的是,超参数值的选择通常是特别的,并且在很大程度上取决于数据科学家的经验。
模型的训练时间通常很长,并且调整需要重新训练模型,并在每次调整会话中对其进行几次评估。面对这些挑战,工业界寻求通过针对给定的数据集和给定的ML算法(诸如神经网络或支持向量机(SVM))自动调整ML模型来提高效率。一种广泛使用的方法是穷举网格搜索(exhaustive grid search),其中尝试每个超参数的可能值的所有组合,并使用最佳的超参数组合。
另一种流行的方法是贝叶斯优化(Bayesian optimization)。典型地,贝叶斯优化会为每个超参数分配先验分布。优化处理最初基于该分布选择超参数值,并且测量模型的性能。随后,基于所尝试的超参数值的观察到的性能,基于贝叶斯概率选择要探索的下一个最佳值,希望获得最优模型性能,并可能由目标函数来表示。遗憾的是,这些超参数调整(或自动调整)方法中的许多方法具有以下缺陷中的一个或多个:
·贝叶斯优化需要知悉的输入(informed input)。典型地,需要详细的参数分布信息以获得更好的模型性能。
·贝叶斯优化本质上是顺序的,并且很难以有意义的方式并行化。
·贝叶斯优化应用是特定于领域的。目标函数通常不是通用的,并且不容易推广到大型数据集、ML和深度学习模型。
用于优化超参数的其它替代方法包括随机搜索,其中每个超参数的给定统计分布被用于在选定数量的最大试验期间进行搜索。贝叶斯优化和随机搜索二者都需要详细的输入,并且通常不能保证找到最佳的值组合。尽管采用了最先进的技术,但即使使用了诸如GpyOpt Python库之类的最佳解决方案,贝叶斯优化仍然是缓慢的并且可能不准确。
附图说明
在附图中:
图1是描绘实施例中的示例计算机的框图,该示例计算机重复地缩小机器学习算法的超参数的值范围以发现对于配置该算法以进行训练而言最优的超参数值;
图2是描绘实施例中的示例计算机的框图,该示例计算机使用梯度搜索空间约减(gradient search space reduction)来估计超参数的分数值的曲线上的最优点;
图3是描绘实施例中的示例处理的流程图,该示例处理用于重复地缩小机器学习算法的超参数的值范围以发现对于配置该算法以进行训练而言最优的超参数值;
图4是描绘实施例中的示例计算机的框图,该示例计算机将历元(epoch)管理与对数值型超参数和/或类别性(categorical)超参数的最佳分数和值的动态跟踪相结合;
图5是描述实施例中的用于优化类别型超参数的示例处理的流程图;
图6是描绘实施例中的水平缩放的示例计算机的框图;
图7是图示可以在其上实现本发明的实施例的计算机系统的框图;
图8是图示可以用于控制计算系统的操作的基本软件系统的框图。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。然而,将清楚的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出了众所周知的结构和设备,以避免不必要地使本发明模糊。
本文根据以下概要描述各实施例:
1.0总体概述
2.0示例计算机
2.1机器学习算法
2.2元模型(meta-model)
2.3超参数
2.4值范围
2.5超参数元组(hyperparameter tuple)
2.6配置和训练
2.7探索
2.8缩小
2.9历元
2.10元组生成
2.11分数
3.0梯度搜索空间约减
3.1曲线采样
3.2梯度检测
3.3峰值近似
3.4范围缩小
3.5下一个历元
3.6结果
4.0示例优化处理
4.1初始化
4.2探索
4.3历元排序
4.4历元序列之后的爬坡
4.5最终配置
5.0跟踪最佳分数
5.1最佳组合
5.2类别型超参数
5.3重访(Re-visitation)6.0类别型优化
6.1类别型组合7.0水平缩放
7.1多处理
7.2并发性
7.3负载平衡
7.4同步
7.5交叉验证
8.0硬件概述
9.0软件概述
10.0云计算
总体概述
本文提供了用于机器学习算法的高效配置的水平可伸缩技术,以实现最优准确度而无需知悉的输入。在实施例中,对于不是类别型超参数的每个特定超参数,以及对于历元序列中的每个历元,计算机如下处理该特定超参数。历元基于计算机生成的超参数元组探索一个超参数。对于每个元组,基于该元组计算分数。
超参数元组包含不同的值组合,每个值被包含在不同的超参数的当前值范围内。属于特定超参数的超参数元组的所有值都是不同的。属于任何其它超参数的超参数元组的所有值在历元期间保持恒定,诸如是到目前为止该其它超参数的最佳值。计算机根据基于分数的第一线和基于分数的第二线的交点来缩小该特定超参数的当前值范围。
机器学习算法是基于超参数的重复缩小的值范围来最优地配置的。所配置的算法被调用以获得结果,诸如在多个可能模式之间识别模式或分类。
2.0示例计算机
图1是描绘实施例中的示例计算机100的框图。计算机100重复缩小机器学习算法的超参数的值范围,以发现对于配置该算法以进行训练而言最优的超参数值。计算机100可以是一个或多个计算机,诸如嵌入式计算机、个人计算机、诸如刀片之类的机架服务器、大型机、虚拟机,或在数值和符号处理期间使用暂时存储器的任何计算设备。
2.1机器学习算法
计算机100包含或访问可配置和可训练的机器学习算法的规范(未示出),该算法可以执行诸如分类、回归、聚类或异常检测之类的分析。例如,机器学习算法可以是支持向量机(SVM)、人工神经网络(ANN)、决策树或随机森林。
2.3超参数
机器学习算法的可配置特征称为超参数。例如,机器学习算法具有超参数121-123,这些参数对于特定的机器学习算法可能是特有的(speculiar)。
如果机器学习算法是支持向量机,则超参数通常包括C和γ(gamma)。如果机器学习算法是神经网络,则超参数可以包括诸如层的计数和/或每层神经元的计数之类的特征。
2.4值范围
每个超参数具有其自己的自然值范围。例如,神经层的计数可以是范围从三到十的整数。
取决于超参数,可能值的范围可以是数值型的,诸如整数或实数。一些值范围可能是类别型的,并且限于离散的符号(即非数值)值,诸如没有相对次序的标签或文字。类别型超参数可能需要进行特殊处理,如本文稍后所讨论的。
2.5超参数元组
基于超参数值的组合,机器学习算法可以具有许多配置替代方案。每个值组合可以被表示为配置元组。例如,机器学习算法的每个不同的配置基于超参数121-123的不同值的元组,诸如元组151-152。
超参数121-123中的每一个在逻辑上可以是多维超空间(未示出)中的单独的轴/维度。机器学习算法的每个不同配置都由不同的元组(诸如151)表示,该元组对应于该超空间中的一个不同点。
2.6配置和训练
计算机100可以使用一个元组来配置和训练机器学习算法,然后以稍微不同的元组进行重复以检测对算法性能的可能的改善。通过重复完善元组和重新训练,可以发现最优配置元组。
训练机器学习算法在计算上非常昂贵,这可能会因训练数据集(未显示)中的原始数据的量、超参数(诸如121-123)的量或超参数(诸如121)的值范围中值的量而加剧。
2.7探索
超参数121-123中的一些可能是连续变量,这意味着此类超参数的甚至微小的子范围也可能包含无限数量的点。由于这种难解的组合,计算机100不应将超空间中的许多或大多数点用于配置机器学习算法。
计算机100可以高效地探索并缩小超空间,以找到机器学习算法的哪些配置替代方案将产生最佳训练结果。在操作期间,探索超空间需要智能地完善现有的元组以生成新的元组。
2.8缩小
缩小超空间需要使用新的元组来配置算法、训练经配置的算法并记录训练的(一个或多个)性能度量,诸如经训练的算法达到多少准确度或训练期间花费了多少时间。缩小需要减少每个超参数的可能值范围。
例如,超参数121-123可以分别具有当前值范围131A、132A和133A,这些当前值范围被缩小以实现相应的当前值范围131B、132B和133B。在当前值范围(诸如131A)内,取决于超参数121的类型,可以有许多或无限数量的值,诸如141-143。
元组(诸如151-152)具有每个超参数121-123的一个值。例如,元组152具有适合于各自的当前值范围131A、132A和133A内的值143、146和148。
2.9历元
大多数可能的元组永远不会生成,并且被生成的那些元组并非都是同时生成的。例如,诸如151-152的元组是在历元111期间生成并测试的,而其它元组(未示出)是在诸如112的其它历元期间生成的。
历元是逻辑上顺序出现的阶段。在实施例中,历元也以严格的时间顺序发生,使得历元112在历元111结束之前不能开始。
在实施例中,每个超参数具有其自己的或多或少独立的历元序列,使得超参数121可能已经进行许多历元,而超参数122仍处于其第一历元。在实施例中,所有超参数共享相同的历元序列。
2.10元组生成
当给定的超参数具有其自己的历元序列时,在历元期间生成的所有元组对于所有超参数(除了该给定的超参数的值以外)具有相同的值。例如,如图所示,给定的超参数是123,这是在那个历元期间被探索的唯一超参数。
例如,元组151-152针对相应的超参数121-122共享相同的值143和146。虽然在历元111期间探索给定的超参数123时值143和146保持恒定,但值143可以是与值146不同的常量,或者甚至可能是不同的(数)类型。为这些其它(即,未探索的)超参数选择常量的启发式方法将在本文后面讨论。
然而,元组152对于超参数123具有值148,并且元组151对于超参数123具有不同的值147。本文后面将讨论用于改变正被在探索的超参数值的启发式方法。探索其它超参数需要以类似的方式生成元组。
2.11分数
通过使用所生成的每个元组来配置机器学习算法、训练经配置的算法以及在训练期间或之后对算法进行性能测量以对元组进行评分来测试每个生成的元组。例如,元组151-152具有相应的分数171-172。
取决于实施例,分数171-172可以是适用性分数(诸如分类分数)、F1分数、基于损失度量的分数或这些中的一些或全部的函数。分类分数测量经训练的算法在识别(一个或多个)模式(诸如面部识别)时的准确度。
F1分数测量二分识别(诸如电子邮件是否为垃圾邮件)的准确度。损失度量测量不准确度,因此分数越低越好。对于基于测量准确度的反向标度的分数,分数越高越好。在实施例中,分数171-172替代地测量训练花费的时间,因此分数越低越好,因为它指示更快的训练。
当前值范围133A例如可以是数字值的自然序列,例如147-149。虽然未示出,但是当前值范围133A可以由最小值和最大值来界定。
在历元111期间或结束时,可以通过调整范围的最小值和/或最大值来缩小所探索的超参数123的当前值范围133A,以排除产生较差分数的元组的值。缩小的范围可以被传播到下一个历元。
例如,历元112的当前值范围133B可以是在历元111期间缩小当前值范围133A的结果。稍后将讨论用于最优缩小的启发式方法。
3.0梯度搜索空间约减
图2是描绘图1中所示的示例计算机100的框图。计算机100使用梯度搜索空间约减来估计超参数的分数值的曲线上的最优点。
在历元111期间,针对超参数123探索仅当前值范围133A内的值。所示曲线图的水平(独立)轴跨越当前值范围133A。
3.1曲线采样
例如,当前值范围133A可以是实数的连续序列。将超参数123设置为探索那些实数的元组可以产生训练分数,这些训练分数由曲线图的垂直(从属)轴校准并沿着示出的在右侧具有粗尾的曲线出现。
由于计算机100不知道所示出的曲线的形状并且不知道曲线的与超参数123的最佳值对应的峰值(最佳)分数在哪里,因此需要进行探索。探索需要采样当前值范围133A内的值。
在实施例中,计算机100选择当前值范围133A内的固定数量的值。在实施例中,将值选择为在当前值范围133A内等距,并且因此沿着水平轴等距。
可以生成元组,每个元组具有所选择的值之一以用于超参数123。在这些元组内,超参数121-122保持恒定。
机器学习算法可以基于这些元组进行配置并且被训练和评分。曲线的每个点表示具有用于超参数123的不同值的不同(实际或可能)元组的分数。
3.2梯度检测
例如,如果在当前值范围133A中采样三个值,那么可以将它们的分数作为X绘制在曲线上,诸如B、C和E。B、C和E点的效用降低,因为它们间距得太远使得不能准确评估这些点处曲线的斜率(即梯度)。
可以向每个采样值添加小的固定偏移量,以导出或多或少的相邻值,该相邻值也可以用于生成用于训练和评分的配置元组。例如,点B、C和E具有相邻的点A、D和F。由于添加的偏移量为正,因此这些相邻点稍微在原始点的右侧。
每个原始点和相邻点形成一对点,诸如A-B、C-D和E-F。每对点形成具有准确的梯度的线段。
重要信息可以从对梯度(pair gradient)和分数得出。例如,可以对分数进行排序以得出B比C更佳,并且A是最佳的。
3.3峰值近似
可以按分数对各对进行排序,以得出对A-B是最佳的,而C-D对是第二最佳的。可以将这两个最佳对的线段扩展为在特定点处相交的线。
如图所示,交点或多或少是实际峰值的准确近似(已被显示但尚未被发现)。由于交点是不完美的近似,因此不能立即将其用作超参数123的最优值。
3.4范围缩小
替代地,当前值范围133A被缩小以在某种程度上圈限(confine)交点。经缩小的范围的精确的最小值和最大值如下计算。
如图所示,如果最佳对(A-B)在交点的左侧,则新的最小值基于A-B。否则,新的最大值基于A-B。
在最佳对A-B内,一个点(A或B)的分数高于另一个点。在实施例中,较高评分点的水平位置被用于为超参数123的新值范围设置新的最小值或最大值。在实施例中,替代地使用最佳对的较低评分点。
新的最小值或最大值中的不基于A-B的一者反而是基于交点的。由于交点仅是近似,因此不应将其直接用作新的最小值或最大值,否则实际峰从经缩小的范围中被排除的可能性太高。
替代地,将交点的水平位置远离最佳对而扩展(例如,如图所示向右)小的固定偏移量,从而增加实际峰值被包括在如图所示经缩小的范围内的可能性。虽然当前值范围133A最初跨越了曲线图的整个宽度,但如图所示缩小之后,新的范围被约减为仅是阴影垂直带的宽度。
3.5下一个历元
这种缩小结束了历元111,随后是用于同一特定超参数的另一个历元。到目前为止最佳的超参数值、分数和最新的当前值范围可以被传播到下一个历元112。例如参考图1,当下一个历元112开始时,当前值范围133A的重复缩小可以被重新用作当前值范围133B。
其它超参数121-122也可以各自在不同时间完成单独的历元。取决于实施例,针对一个超参数较早完成的历元可以或可以不等待针对不同的超参数较晚完成的历元,使得针对不同的超参数的并行历元可以同步或不同步。
在任何情况下,可以共享(例如,发布在全局变量中)目前为止最佳的超参数值、分数和/或元组以供其它超参数的历元获取。探索一个超参数的历元可以将每个其它超参数的当前最佳值用作该历元生成的所有元组中该其它超参数的常量。
例如,当历元111开始时,它可以将相同的值143和146设置为在探索相应超参数121-122的先前历元中作为最佳值出现了的常量。因此,虽然每个元组的除了一个值之外的所有值在历元期间都保持恒定,但是常量可以在各历元之间改善,从而确保最终针对超参数的组合而不是仅仅针对隔离的每个超参数实现最佳。
因为对于特定的超参数,历元是按顺序发生的,因此可以通过在经缩小的范围内对点进行采样并合成相邻点来重复进行基于交点的缩小处理,以实现进一步的缩小。取决于本文稍后讨论的条件,缩小可以重复几次或许多次,但在每个历元期间仅一次。
最终,历元序列结束,重复缩小或多或少地收敛于实际峰值。因此,可以在最终历元结束时找到超参数123的近乎最优(到目前为止最佳)的值。
3.6结果
最终,从对超参数进行探索的历元中,发现一个最佳元组或几个最佳元组,其表示机器学习算法的或多或少的(一个或多个)最优配置。然后,计算机100(或下游计算机)可以使用该(一个或多个)最佳元组来实现有用的结果。例如,计算机100可以使用(一个或多个)最佳元组来最终广泛地训练算法的一种或几种替代配置。例如,有用的结果可以是准备好用于生产使用的算法的良好配置且良好训练的实例。
本文中的技术以各种方式改善计算机100本身的性能。通过智能地修剪超参数超空间,避免了探索过多的超参数配置。通过最终选择最佳的元组/配置,避免了过多训练过多数量的不同算法配置。
因此,随后的训练(例如,由计算机100)进行得更快。同样,经训练的所选择的(一个或多个)算法配置在生产使用中(例如,由计算机100)实现更高的准确度。因此,计算机100作为算法训练计算机被加速,并且作为生产推理计算机更加可靠(准确)。通过减少这些活动的计算负担,加速了本文的技术(即节省时间)并节省了能量。
4.0示例优化处理
图3是描绘实施例中的计算机100重复缩小机器学习算法的超参数的值范围以发现对于配置该算法以进行训练而言最优的超参数值的流程图。参考图1-2讨论图3。
步骤302和304发现算法的超参数的值的最优配置元组。步骤306使用最佳元组来配置和广泛地训练算法。步骤302、304和306可以在实验室环境中发生。步骤308使用经训练的算法来获得有用的结果,诸如模式识别,诸如在生产环境中。
步骤302和304包括历元。每个(数值型)超参数可以具有其自己的探索历元序列。例如,超参数123是在历元111-112期间被探索的。
每个历元为特定的超参数生成多个元组。例如,计算机100在历元111期间生成元组151-152。
元组中的一半是通过沿着特定超参数的当前值范围以相等的间隔采样而生成的,诸如图2的元组B、C和E。元组中的另一半是通过为每个采样的元组的特定超参数的值添加小的固定偏移量而生成的。例如,元组A、D和F基于相对于相应元组B、C和E的偏移量。
4.1初始化
如上所述,历元的元组的大多数值都保持恒定,其可以基于该历元开始时到目前为止超参数的最佳值。然而,每个超参数都有其自己的第一个历元,该第一个历元没有先前的历元来提供最佳值。
在实施例中,每个数值型超参数的每个初始值范围的中点(或随机值)被用于组成初始最佳元组和由所有超参数共享的初始最佳值。在未示出的实施例中,图3的处理可以通过对初始最佳值的初始探索来开始。
初始探索可以通过穷举组合基于每个数值型超参数的最小可能值或最大可能值来生成元组(和对元组进行评分)。在实施例中,还使用了中点值。在实施例中,初始地独立地探索每个超参数,而将其它超参数的值保持在某个初始常量,诸如中点值。
4.2探索
在步骤302中每个元组被单独生成和处理。因此,对于许多元组中的每一个,步骤302被重复。
最终在步骤302中,为元组计算分数。例如,计算机100生成元组152,其具有针对超参数123的探索值148和针对其它超参数121-122的特定于超参数的常量143和146。
步骤302基于元组152配置机器学习算法,然后对经配置的算法进行训练和评分,以获得元组152的分数172。
在重复步骤302之后,历元111的所有元组都具有分数。这些分数在历元111的末尾处在步骤304中被使用。因此,步骤304每个历元发生一次。
在步骤304中,根据基于元组分数的第一线和也基于元组分数的第二线的交点来缩小特定超参数的当前值范围。例如,对分数(及其元组)进行归排序以选择最佳(评分最高)的四个元组。例如,按降序排列的最佳的四个元组是A、B、C和D。
最佳和第二最佳元组形成最佳对。例如,元组A和B组成最佳对A-B。
第三和第四最佳元组形成第二最佳对。例如,元组C和D形成第二最佳对C-D。
第一线经过最佳对的元组。第二线经过第二最佳对的元组。
第一和第二线在交点处相交。特定超参数的当前值范围被缩小为仅从最佳元组扩展到稍微超过交点。因此,特定超参数的当前值范围应该在历元结束时(步骤304的结束时)比在历元开始时(步骤302的开始时)更窄。
4.3历元排序
在步骤304之后,控制可以前进到步骤306,或者在下一历元重访步骤302和304。在任一情况下,当前历元都已结束。
304之后跟随哪个步骤取决于历元排序标准。如果特定超参数的当前值范围仍在收敛中(改善),则下一个历元通过重访步骤302而开始。
当发生以下终止条件中的任一者时,就会发生收敛:
·第一和第二线不相交。例如,梯度在峰值处为零。
·交点落在当前值范围之外。
·当前值范围的宽度已缩小到相对于该范围的中点的绝对阈值内或百分比阈值内。
如果发生收敛(诸如因为针对特定超参数在当前历元期间获得的最佳分数不是对前一历元的最佳分数的(显著)改善),则针对该特定超参数的历元序列将终止。一些其它(一个或多个)超参数的历元序列可能已经更早地终止。
一些其它(一个或多个)超参数的历元序列可能仍在进行中。例如,当超参数122的第一历元已经结束时,超参数123的第一历元可能仍在进行。这种时间上的偏斜可能会自然发生,诸如当超参数123具有许多可能值的自然较宽的值范围并且超参数122没有较宽的范围时。
直到所有超参数的历元序列结束时才发生步骤306,此时计算机100具有几乎全局最优的元组。在步骤306中,基于算法的超参数的最优的经缩小的当前值范围来配置机器学习算法。
4.4历元序列之后的爬坡(hill climb)
在实施例中,该算法被配置有几乎全局最优的元组。在实施例中,步骤306可以最终使用梯度上升/下降(贪婪爬坡)来从几乎全局最优的元组达到全局最优(最佳可能分数)元组。
在实施例中,贪婪爬坡基于该超参数的最佳元组对于每个数值型超参数独立发生,以找到针对该超参数的甚至更高评分的元组。因此,超参数的贪婪最佳值可以在超参数的历元序列完成之后被找到。
可以根据所有超参数的贪婪最佳值合成新的元组。可以对该元组进行评分,以检测其是否超过所有单个的贪婪最佳值。
4.5最终配置
步骤306可以广泛地训练用最佳元组配置的算法。在实施例中,计算机100用最佳的几个元组中的每一个重复地配置和广泛地训练算法,以凭经验找到算法的哪个配置实际上是所有配置中最好的配置。
算法的训练可以在步骤302和306二者中都发生。然而,步骤302可以在探索期间使用小的训练数据集来提高效率,而步骤306可以替代地在生产使用的预期中使用大数据集进行广泛训练。
在步骤306的末尾处,算法已经被广泛的训练并准备好用于生产部署和使用。经广泛训练的算法在步骤308期间被使用。
在步骤308中,经广泛训练的算法被调用以获得结果。例如,算法可以被部署在智能电话中,并经历自然刺激模式(诸如照片)。
算法可以对照片进行推断/识别/分类以获得结论结果。例如,结果可能是检测到照片包含或不包含人脸,这对于已安装的智能电话应用(诸如相机应用)可能是重要的。
5.0跟踪最佳分数
图4是描绘实施例中的示例计算机400的框图。计算机400将历元管理与对数值型和/或类别型超参数的最佳分数和值的动态跟踪相结合。计算机400可以是计算机100的实现方案。
历元411-412探索超参数422。对于所有超参数(诸如421-422),历元411以到目前为止的最佳值(诸如441和442A)开始。
对于探索超参数422,历元411也以到目前为止的最佳分数472A开始。因为历元411重复采样并缩小超参数422的当前值范围(未示出),因此最佳分数472A可以在历元411期间在零次、一次、几次或许多次的情况下得到改善。
每当最佳分数472A改善时,最佳值442A也会改变。每当最佳分数472A改善时,都会记录新的最佳分数和最佳值,但仅针对超参数422。
探索其它超参数的其它(例如,并发的)历元(未示出)为其各自的探索超参数维持其自己的动态最佳分数和最佳值。因此,计算机400实际上针对每个超参数(即,每个独立的历元序列)单独跟踪多个最佳分数和最佳值。
当实现新的最佳分数时,实施例还可以将当前的元组记录为新的最佳元组。同样,动态最佳元组是按照每个超参数单独跟踪的。
到时间历元411结束时,最佳值442A和最佳分数472A已经(例如重复地)改善为最佳值442B和最佳分数472B。经改善的值可以被重用作为最佳值442C和最佳分数472C以开始下一个历元412。
附加处理可以在历元411期间或在历元411-412之间发生。在历元411-412之间,可以使最佳值442A全局可用以供所有超参数用于它们的下一个(非当前)历元。
例如,另一个超参数(未示出)可以或多或少地同时具有其自己的历元,该历元与历元411在时间上部分重叠并且在历元411之前结束。历元412可以使用该另一个超参数的全局可用的最佳值。
5.1最佳组合
然而,即使历元411和重叠历元二者都可以通过发布相应的新最佳值(诸如值A和值B(未示出))来完成,但上述技术实际上可能不会生成一起具有两个值A和B的元组。例如,即使历元412以记录的最佳值442C开始,采样技术也可能使历元412从未实际生成在元组中具有最佳值442C的元组,而是替代地基于最佳值422C附近(但不在最佳值442C处)的采样来生成元组。
因此,在历元411-412之间,计算机400可以合成具有每个超参数的最佳全局可用值的元组并对其进行评分。即使合成的元组重用最初产生最佳分数472B的最佳值442B,合成的元组有时仍可能评分高于最佳分数472B。因此,虽然未如此示出,但是下一个历元412的最佳分数472C实际上可以是以下各项中更高分数的一者的副本:合成元组的分数或最佳分数472B。
合成的元组的分数也可能比(一个或多个)其它超参数的已发布最佳分数更好。在实施例中,那些已发布的最佳分数也被更新并与合成的元组相关联。
合成的元组的分数也可以超过全局最佳元组的分数,计算机400也跟踪该全局最佳元组。因此,全局最佳元组和分数可以反映在历元期间生成的或在两个历元之间合成的元组和分数。
5.2类别型超参数
与数值型超参数(诸如422)不同,并非所有超参数都具有可靠的梯度。这是因为一些超参数缺少可以提供梯度的自然的值相对排序。
一些超参数类型缺少跨越从最小值到最大值的单调值范围。因此,本文中基于梯度和相交线的一些技术不适用于一些类型的超参数。
类别型(即,非数值型,例如文字或符号)超参数,诸如421,不适合缩小范围,并且不具有其自己的历元。例如,布尔型(Boolean)超参数缺少有意义的梯度,尤其是因为不能从仅具有两个值(即,真和假、或1和0)的值域中获得两个最佳点对(即,四个最佳值)。
即使是多值符号型超参数(例如,具有非洲、南极洲、亚洲、澳洲、欧洲、北美和南美的七个地理大陆的值)也没有自然的值相对排序。因此,需要一种不基于梯度的特殊的技术来探索类别型超参数。
如图所示,类别型超参数421可以将其最佳值441提供为其它超参数(诸如411)的历元的常量。然而,类别型超参数421不具有其自己的历元。
因此,类别型超参数421通常不在出现(一个或多个)历元时被探索。然而,在历元期间对数值型超参数(诸如422)的最佳分数的根本改善可以指示发现了强加新性能机制(regime)的配置超空间的新子空间。
与最佳值441相比,新性能机制可能更偏好(即评分更高)类别型超参数421的不同值。当历元411结束时,如果数值型超参数422的新最佳分数472B以高于绝对阈值或百分比阈值430超过旧的最佳分数472A,则计算机400将检测到一些或全部类别型超参数(诸如421)需要自发探索。
如图所示,在历元411-412之间应用(测试)阈值430。在实施例中,可以在历元411期间动态/连续地应用阈值430。
当超过阈值430时,触发对(一个或多个)类别型超参数的探索。与历元一样,元组被生成为具有其它超参数的最佳值的常量。
生成用于类别型超参数421的每个可能值的不同元组。对这些元组进行评分,这可能导致最佳值441被具有更好分数的不同类别值超越,该不同类别值被公开以供数值型超参数在其下一个历元开始时使用。
可以以类似的方式探索其它类别型超参数。因此,每个类别型超参数的最佳值、分数和元组也将被全局跟踪。
5.3重访
如所讨论的,元组是在不同时间生成或合成的,诸如在历元期间、在各历元之间以及当由阈值触发时。如已经讨论的那样,创建元组的这些情况下的每种情况都可能以多少不同的方式进行。
因此,同一元组有可能被不必要地重访,这将导致冗余的训练和评分,这是浪费的,尤其是时间上的浪费。由于针对不同超参数的并发历元,可能会加剧这种冗余。
通过维护将每个已知(已经访问过的)元组映射到其分数的查找表(未示出),可以避免冗余的训练和评分。当创建元组并且假定需要对元组进行训练和评分时,该元组可以被用作查找关键字以供尝试检索已知分数。
如果检索到分数,则将使用该分数,而不是冗余地训练元组和对元组进行评分,因为元组的分数永远不会改变。否则,该元组确实是新颖的,并且被用于训练和评分,并且新分数应在查找表中与该新元组相关联。
6.0类别型优化
图5是描绘实施例中的计算机400优化类别型超参数的流程图。参考图4讨论图5。
如上所述,类别型超参数缺少梯度。因此,类别型超参数是以不基于历元的特殊方式来探索的。
步骤502动态地检测何时进一步优化类别型超参数。在实施例中,步骤502发生在历元的末尾。在实施例中,步骤504可以在历元期间的任何时间动态地发生。
步骤502检测对历元的特定超参数的最佳分数的改善是否超过阈值。该阈值可以是在历元的开始与(取决于实施例)在历元的末尾或者在最佳分数改善的历元期间的任何时间之间的最佳分数的绝对差或百分比差。
在实施例中,将阈值与历元的特定超参数的最佳分数进行比较。在实施例中,将阈值替代地与全局最佳分数进行比较,而不管特定的超参数如何。
如果步骤502没有检测到明显的改善,则此时类别型超参数的优化不会发生。如果步骤502确实检测到显著改善,则开始对类别型超参数进行优化(利用步骤504)。
取决于实施例,可以针对一个、一些或所有类别型超参数进行这种优化。如图所示,所有类别型超参数被优化。
6.1类别型组合
当多个类别型超参数被优化时,在所示的一个实施例中,每个类别型超参数的探索可以单独发生(例如,单独的元组集合),或者在另一个实施例中(未示出),可以一起探索多个类别型超参数(例如,共享的元组集合)。这两个实施例中的哪一个更好可以取决于类别型超参数的数量和这些类别型超参数的可能值的数量。
例如,每个都有两个可能值的二十个类别型超参数对应于20x2=40个元组的超空间。然而,每个都有三十个可能值的五十个类别型超参数对应于50x30=1,500个元组的超空间。
在动态实施例中,当这样的组合将产生少于阈值量的元组时,那么以共享的元组集合一起探索多个类别型超参数。在这种情况下,通过穷举枚举所有多个类别型超参数的所有可能值的所有可能组合来生成元组。
在该动态实施例中,当此类组合将超过阈值时,那么每个类别型超参数都具有单独的元组集合用于探索。在这种情况下,元组中除正在被探索的特定类别型超参数以外的类别型超参数值被恒定保持为其到目前为止的最佳值。只有该特定超参数才在其单独的元组集合中具有其枚举这些元组的所有可能值。
在任何情况下,在为类别型探索生成的所有元组中,数值型(非类别型)超参数都恒定保持为其到目前为止最佳值。在步骤504中生成并使用元组。对于在类别型探索期间生成的每个元组,重复步骤504。
在步骤504中,基于所生成的元组来计算分数。例如,元组被生成、被用于对算法进行配置,并且然后经配置的算法被训练和评分。
每个类别型超参数可以具有到目前为止的最佳值、最佳分数和/或最佳元组。这些最佳数据可以通过类别型探索而更新。
在完成后,类别型探索可以发布修订后的最佳值,以用作探索数值型超参数的未来历元的元组中的常量。
7.0水平缩放
图6是描绘实施例中的示例计算机600的框图。计算机600水平缩放。计算机506可以是计算机100的实现方案。
7.1多处理
计算机600具有多个处理器611-616,每个处理器可以是联网计算机、中央处理器(CPU)、诸如用于多核处理的处理器核心、硬件超线程、虚拟机、重量级操作系统进程或轻量级线程。取决于实施例,计算机600可以是支持对称多处理(SMP)的计算机或多核计算机的联合或集群。
7.2并发性
处理器611-616中的每一个可以提供一个或多个用于粗粒度(也称为基于任务)并行的计算线程。粗粒度并行可以是异构的,使得处理器611可以训练经配置的算法,而处理器612对历元进行管理。
处理器611可以利用一个线程来训练算法配置,并且同时利用另一个线程来管理历元。处理器611可以为一个超参数的历元训练一个算法配置,而相同或不同的处理器同时为同一历元或另一个超参数的历元训练另一个算法配置。
因此,计算机600具有各种方式来尽可能地水平缩放和/或根据需要使处理器过载有附加任务。
7.3负载平衡
示出了理想的工作分配,以实现单个历元的最大水平缩放,使得每个处理器并行训练一个算法配置和对其进行评分。例如,处理器611训练由元组651配置的算法,而处理器612基于元组652进行训练。
不管有多少处理器可用,只要至少有四个处理器可用于同时训练产生如上所述的曲线图中所示的相交线所需的两对(四个点),理想的工作分配就是实际上可以实现的。只要有偶数个处理器同时训练多于两个对,就可以用四个以上的处理器实现理想的工作分配,因为每对具有偶数个(两个)点。
奇数个或不匹配的处理器数量仍可能进行水平伸缩,但工作负载可能多少有些不平衡,使得一些(一个或多个)处理器可能提前完成,然后可能等待(空闲)。即使当一个历元本身不平衡时,也可以通过不同超参数的并发历元或多或少地避免空闲。
为了基于任意偶数数量的处理器实现理想的负载分配,应在超参数的当前值范围内采样可用处理器数量的一半。因此,如上所述,每个采样点有两个处理器,这很重要,因为每个采样点都出现在一对点中,该一对点还包括基于对采样值加上偏移量的合成点,如上所述。
在有六个可用处理器611-616的情况下,则应采样6/2=三个(等间距)值。从这些值,可以通过添加三个基于偏移量的共线附加点来获得三个对。
例如,间隔开的元组651是一个样本,而共线元组652是基于偏移量的,使得元组651-652形成一对。三各对中的六个点在曲线图中显示为X。
每个处理器611-616根据基于六个点中的相应点的相应元组进行训练。因此,六个元组在六个处理器上被同时用于训练以检测两个线的一个交点。
因此,在多次迭代历元期间,即使实际上可能发生六次训练,基于找到一个交点的值范围缩小的一次迭代也可能仅在一次单独训练算法所需的时间内完全发生。因此,或多或少的线性加速可以在一个历元内和跨多个历元被维持在由阿姆达尔(Amdahl)定律允许的范围内。
7.4同步
由于探索一个超参数和/或同时探索多个超参数可能会发生并行,并且由于最佳值、分数和元组(例如,全局变量)是偶尔公布的,因此可能引起不同的处理器并发地读写变量或并发写入。因此,在没有附加的线程安全性的情况下,可能会发生导致数据不连贯或由数据不连贯导致的病态竞争情况。
为了线程安全,例如,处理器611-616可以在历元的开始时在本地高速缓存一些数据(如从全局数据结构中读取),并且然后在历元的末尾时将脏数据(例如,经改善的分数)刷新回到该全局数据结构中。因此,线程同步可以或多或少地圈限到历元之间。
全局数据结构应按需要进行保护,例如以允许并发的读取者,但对写入者进行序列化,诸如利用保护逻辑的关键区段的读/写锁。
例如,Java具有或多或少健壮的存储器一致性模型,其包括同步的逻辑、易失性变量以及utility类的java.util.concurrent包。远程同步可能更多地涉及用于维护高速缓存一致性的自旋锁、测试和设置(test-and-set)指令以及存储器围栏(memory fence)。
7.5交叉验证
理想情况下,使用无限大的数据集进行训练可能会实现近乎完美的分数。然而,那需要无限的时间,因此是不可行的。
在实践中,通过使用有限的训练数据集牺牲理想分数来进行高效训练。根据训练的坚持(holdout)方法,训练数据集中的一小部分(即不应超过三分之一)不用于训练,而是用于测试(例如评分),因为为了最佳结果测试和训练不应该使用相同的数据。
在交叉验证的情况下,原始数据集至少会以称为目录(fold)的三种方式平均划分。经验上讲五个目录是最佳的。可以对目录行分层(stratified),使得对原始数据进行仔细排序,使得每个目录具有相等数量的特定种类(例如类别)的数据。
理想情况下,目录可以被重用来制作与目录一样多的训练数据集,但是更多或更少是可能的。每个数据集可以使用这些目录中的一些(理想情况下除一个以外所有的)目录来进行训练。
剩下的目录中至少有一个(通常是唯一一个)被用于测试。不同的训练数据集中的每一个使用不同的目录进行测试。
例如,数据集660被划分成相等大小的目录1-5,以在五向交叉验证期间进行重用。这些可重用的目录的子集被用于为产生至少相应的分数631-632的至少训练运行轮次(run)621-622中的每一个制作不同的训练数据集。分数631-632可以被平均以计算配置该算法的元组的单个分数。
每个训练运行轮次针对同一元组/配置使用单独训练数据集进行训练。例如,根据图例640,运行轮次621的训练数据集由目录2-5组成,而目录1被用作测试数据集。
不同运行轮次的训练数据集可以部分重叠。例如,目录3-5由运行轮次621-622共享。
理想情况下,每个目录被用作恰好一次训练运行轮次的测试数据集。因此,理想地并且虽然未示出,但是目录1-5应该被重用于五次训练运行轮次,在实施例中这些训练运行轮次可以同时发生。
例如,运行轮次621-622可以同时在相应的处理器611-612上发生。因此,交叉验证是水平可伸缩的。
8.0硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以执行这些技术,或者可以包括数字电子设备(诸如被持久地编程为执行这些技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行这些技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制编程相结合,以实现这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或者结合硬连线和/或程序逻辑以实现这些技术的任何其它设备。
例如,图7是示出可以在其上实现本发明的实施例的计算机系统700的框图。计算机系统700包括总线702或用于传送信息的其它通信机制,以及与总线702耦合用于处理信息的硬件处理器704。硬件处理器704可以是例如通用微处理器。
计算机系统700还包括耦合到总线702用于存储信息和要由处理器704执行的指令的主存储器706,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器706也可以用于在要由处理器704执行的指令执行期间存储临时变量或其它中间信息。当这些指令被存储在处理器704可访问的非暂态存储介质中时,它们使计算机系统700成为被定制以执行指令中指定的操作的专用机器。
计算机系统700还包括耦合到总线702用于存储静态信息和用于处理器704的指令的只读存储器(ROM)708或其它静态存储设备。提供了诸如磁盘或光盘的存储设备710,并且存储设备710被耦合到总线702,用于存储信息和指令。
计算机系统700可以经由总线702耦合到显示器712,诸如阴极射线管(CRT),用于向计算机用户显示信息。输入设备714(其包括字母数字和其它键)被耦合到总线702,用于将信息和命令选择传送到处理器704。另一种类型的用户输入设备是光标控件716,诸如鼠标、轨迹球、或光标方向键,用于向处理器704传送方向信息和命令选择并且用于控制光标在显示器712上的移动。这种输入设备通常具有在两个轴(第一轴(例如,x)和第二轴(例如,y))中的两个自由度,这允许设备在平面中指定位置。
计算机系统700可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,这些定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统结合使计算机系统700成为或将计算机系统700编程为专用机器。根据一个实施例,本文的技术由计算机系统700响应于处理器704执行主存储器706中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备710)读取到主存储器706中。包含在主存储器706中的指令序列的执行使处理器704执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非瞬态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备76。易失性介质包括动态存储器,诸如主存储器706。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒带。
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线702的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些波。
各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器704以供执行。例如,指令最初可以被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器经电话线发送指令。计算机系统700本地的调制解调器可以接收电话线上的数据,并且使用红外线发射器将数据转换为红外线信号。红外线探测器可以接收在红外线信号中携带的数据,并且适当的电路系统可以将数据放在总线702上。总线702将数据携带到主存储器706,处理器704从该主存储器706检索并执行指令。由主存储器706接收到的指令可以可选地在被处理器704执行之前或执行之后存储在存储设备76上。
计算机系统700还包括耦合到总线702的通信接口718。通信接口718提供耦合到网络链路720的双向数据通信,其中网络链路720连接到本地网络722。例如,通信接口718可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口718可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这种实现中,通信接口718都发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路720通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路720可以通过本地网络722提供到主计算机724或到由互联网服务提供商(ISP)726操作的数据设备的连接。ISP 726又通过现在通常称为“互联网”728的世界范围的分组数据通信网络提供数据通信服务。本地网络722和互联网728二者都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路720上并且通过通信接口718的信号是传输介质的示例形式,其中信息将数字数据携带到计算机系统700或者携带来自计算机系统700的数字数据。
计算机系统700可以通过(一个或多个)网络、网络链路720和通信接口718发送消息和接收数据,包括程序代码。在互联网示例中,服务器730可以通过互联网728、ISP 726、本地网络722和通信接口718传送对应用程序的请求代码。
接收到的代码可以在其被接收到时由处理器704执行,和/或存储在存储设备710或其它非易失性存储器中以供以后执行。
10.0软件概述
图8是可以用于控制计算机系统700的操作的基本软件系统800的框图。软件系统800及其部件,包括它们的连接、关系和功能,仅仅是示例性的,并且不意味着限制(一个或多个)示例实施例的实现方案。适于实现(一个或多个)示例实施例的其它软件系统可以具有不同的部件,包括具有不同的连接、关系和功能的部件。
提供软件系统800用于指导计算机系统700的操作。可以存储在系统存储器(RAM)706和固定存储装置(例如,硬盘或闪存)76上的软件系统800包括内核或操作系统(OS)810。
OS 810管理计算机操作的低级方面,包括管理进程的执行、存储器分配、文件输入和输出(I/O)以及设备I/O。表示为802A、802B、802C...802N的一个或多个应用可以被“加载”(例如,从固定存储装置76传送到存储器706中)以供系统800执行。意图在计算机系统700上使用的应用或其它软件也可以被存储为可下载的计算机可执行指令集,例如,用于从互联网位置(例如,Web服务器、app商店或其它在线服务)下载和安装。
软件系统800包括图形用户界面(GUI)815,用于以图形(例如,“点击”或“触摸手势”)方式接收用户命令和数据。进而,这些输入可以由系统800根据来自操作系统810和/或(一个或多个)应用802的指令来操作。GUI 815还用于显示来自OS 810和(一个或多个)应用802的操作结果,用户可以提供附加的输入或终止会话(例如,注销)。
OS 810可以直接在计算机系统700的裸硬件820(例如,(一个或多个)处理器704)上执行。可替代地,管理程序或虚拟机监视器(VMM)830可以被插入在裸硬件820和OS 810之间。在这个配置中,VMM 830充当OS 810与计算机系统700的裸硬件820之间的软件“缓冲”或虚拟化层。
VMM 830实例化并运行一个或多个虚拟机实例(“游客机”)。每个游客机包括“游客”操作系统(诸如OS 810),以及被设计为在游客操作系统上执行的一个或多个应用(诸如(一个或多个)应用802)。VMM 830向游客操作系统呈现虚拟操作平台并管理游客操作系统的执行。
在一些实例中,VMM 830可以允许游客操作系统如同其直接在计算机系统800的裸硬件820上运行一样运行。在这些实例中,被配置为直接在裸硬件820上执行的游客操作系统的相同版本也可以在VMM 830上执行而无需修改或重新配置。换句话说,VMM 830可以在一些情况下向游客操作系统提供完整的硬件和CPU虚拟化。
在其它实例中,游客操作系统可以被专门设计或配置为在VMM 830上执行以提高效率。在这些实例中,游客操作系统“意识到”它在虚拟机监视器上执行。换句话说,VMM 830可以在某些情况下向客户操作系统提供半虚拟化。
计算机系统进程包括硬件处理器时间的分配,以及存储器的分配(物理和/或虚拟)、用于存储由硬件处理器执行的指令的存储器的分配,用于存储由硬件处理器执行指令所生成的数据,和/或用于当计算机系统进程未运行时在硬件处理器时间的分配之间存储硬件处理器状态(例如,寄存器的内容)。计算机系统进程在操作系统的控制下运行,并且可以在计算机系统上执行的其它程序的控制下运行。
8.0云计算
本文一般地使用术语“云计算”来描述计算模型,该计算模型使得能够按需访问计算资源的共享池,诸如计算机网络、服务器、软件应用和服务,并且允许以最少的管理工作或服务提供商交互来快速提供和释放资源。
云计算环境(有时称为云环境或云)可以以各种不同方式实现,以最好地适应不同要求。例如,在公共云环境中,底层计算基础设施由组织拥有,该组织使其云服务可供其它组织或公众使用。相反,私有云环境一般仅供单个组织使用或在单个组织内使用。社区云旨在由社区内的若干组织共享;而混合云包括通过数据和应用可移植性绑定在一起的两种或更多种类型的云(例如,私有、社区或公共)。
一般而言,云计算模型使得先前可能由组织自己的信息技术部门提供的那些职责中的一些代替地作为云环境内的服务层来输送,以供消费者使用(根据云的公共/私人性质,在组织内部或外部)。取决于特定实现方案,由每个云服务层提供或在每个云服务层内提供的部件或特征的精确定义可以有所不同,但常见示例包括:软件即服务(SaaS),其中消费者使用在云基础设施上运行的软件应用,同时SaaS提供者管理或控制底层云基础设施和应用。平台即服务(PaaS),其中消费者可以使用由PaaS的供应者支持的软件编程语言和开发工具,以开发、部署和以其它方式控制它们自己的应用,同时PaaS提供者管理或控制云环境的其它方面(即,运行时执行环境下的一切)。基础设施即服务(IaaS),其中消费者可以部署和运行任意软件应用,和/或提供进程、存储装置、网络和其它基础计算资源,同时IaaS提供者管理或控制底层物理云基础设施(即,操作系统层下面的一切)。数据库即服务(DBaaS),其中消费者使用在云基础设施上运行的数据库服务器或数据库管理系统,同时DbaaS提供者管理或控制底层云基础设施和应用。
呈现上述基本计算机硬件和软件以及云计算环境是为了说明可以用于实现(一个或多个)示例实施例的基本底层计算机部件。然而,(一个或多个)示例实施例不必限于任何特定的计算环境或计算设备配置。相反,根据本公开,(一个或多个)示例实施例可以在本领域技术人员依据本公开将理解为能够支持本文呈现的(一个或多个)示例实施例的特征和功能的任何类型的系统体系架构或处理环境中实现。
在前面的说明书中,已经参考众多具体细节描述了本发明的实施例,这些细节可以从实现到实现有所变化。因而,说明书和附图应被视为说明性而非限制性的。本发明范围的唯一和排他性指示,以及申请人意图作为本发明范围的内容,是以发布这种权利要求书的具体形式从本申请发布的权利要求书集合的字面和等同范围,包括任何后续更正。
Claims (24)
1.一种用于实现算法计算机的方法,包括:
在所述算法计算机中维护查找表,所述查找表将每个已访问过的超参数元组映射到该超参数元组的已知分数;
对于多个超参数中的不是类别型超参数的每个特定超参数,对于历元序列中的每个历元,通过以下操作来处理所述特定超参数:
a)对于多个超参数元组中的每个超参数元组:
使用所述超参数元组作为查找关键字以尝试从所述查找表检索已知分数;
如果未从所述查找表检索到已知分数,则基于所述超参数元组计算分数并在所述查找表中将所计算的分数映射到所述超参数元组,其中:
所述超参数元组包含不同的多个值,
所述不同的多个值中的每个值被包含在多个超参数中的不同超参数的当前值范围中,并且
所述多个超参数元组的属于同一超参数的所有值具有相同值并且在所述历元期间保持恒定,除非所述同一超参数是所述特定超参数;以及
如果从所述查找表检索到已知分数,则将检索到的分数用于所述超参数元组,而不冗余地基于所述超参数元组来计算分数;
b)根据将基于所述分数的第一线与基于所述分数的第二线的交点识别为近似峰值,来缩小所述特定超参数的当前值范围;基于所述多个超参数的当前值范围配置和训练机器学习算法。
2.如权利要求1所述的方法,其中,所述计算所述分数包括:当所述分数超过与所述特定超参数相关联的最佳超参数分数时,更新与所述特定超参数相关联的最佳超参数值和所述最佳超参数分数。
3.如权利要求2所述的方法,其中,属于所述同一超参数的所述相同值是先前历元中的与所述特定超参数相关联的所述最佳超参数值。
4.如权利要求2所述的方法,还包括在所述每个历元的末尾处:
基于与所述多个超参数中的所述每个超参数相关联的所述最佳超参数值来计算分数;
当所述分数超过与所述多个超参数中的所述每个超参数相关联的所述最佳超参数分数时,更新与所述多个超参数中的所述每个超参数相关联的所述最佳超参数值和所述最佳超参数分数。
5.如权利要求1所述的方法,其中,对于历元序列中的每个历元,包括:当对所述历元的最佳超参数分数的改善超过阈值时:
对于所述多个超参数中作为类别型超参数的每个类别型超参数,通过以下操作来处理所述特定超参数:
对于第二多个超参数元组中的每个超参数元组,基于该超参数元组计算分数,其中:
该超参数元组包含不同的多个值,
所述多个超参数元组的属于同一超参数的所有值具有相同的值,除非所述同一超参数是所述类别型超参数,
所述多个超参数元组的属于所述类别型超参数的所有值具有不同的值。
6.如权利要求1所述的方法,其中,对于所述多个超参数,所述对于每个特定超参数同时发生。
7.如权利要求1所述的方法,其中:
所述多个超参数元组包括超参数元组的第一子集和超参数元组的第二子集;
所述第一子集的属于所述特定超参数的所有值在所述特定超参数的所述当前值范围内均等地间隔开;
对于所述第一子集的每个均等地间隔开的超参数元组,第二子集包含共线超参数元组,自属于所述特定超参数的该均等地间隔开的超参数元组的值起,所述共线超参数元组与该均等地间隔开的超参数元组相差仅预定义的量。
8.如权利要求7所述的方法,其中:
第一线包含第一点和第二点;
第二线包含第三点和第四点;
第一点基于所述第一子集的具有最佳分数的第一超参数元组;
第二点基于所述第一超参数元组的共线超参数元组;
第三点基于所述第一子集的具有第二最佳分数的第二超参数元组;
第四点基于所述第二超参数元组的共线超参数元组。
9.如权利要求8所述的方法,其中,缩小所述特定超参数的当前值范围还基于所述第一线的特定点。
10.如权利要求9所述的方法,其中,所述特定点是所述第一点或所述第二点中的一者。
11.如权利要求9所述的方法,其中,基于交点包括:基于所述交点与所述第三点之间的点。
12.如权利要求1所述的方法,其中:
基于所述多个超参数的当前值范围的所述配置包括:基于多个贪婪值进行配置;
所述多个贪婪值中的每个贪婪值属于所述多个超参数中的不同超参数;
所述多个贪婪值中的每个贪婪值是基于属于超参数元组中具有所有分数中的最佳分数的所述不同超参数的值,通过梯度上升来计算的。
13.如权利要求1所述的方法,其中,所述多个超参数元组的属于所述同一超参数的所述所有值具有所述相同的值初始地包括:所述相同的值是所述当前值范围的最大值或所述当前值范围的最小值。
14.如权利要求1所述的方法,其中,基于所述超参数元组计算分数包括:同时计算多个超参数元组的分数。
15.如权利要求14所述的方法,其中,所述多个超参数元组中的元组的计数基于处理器的计数。
16.如权利要求1所述的方法,其中,所述分数基于超参数元组包括:所述分数基于训练配置有所述超参数元组的所述机器学习算法。
17.如权利要求16所述的方法,其中,所述分数基于以下各项中的至少一项:
在所述训练期间或在所述训练之后,所述机器学习算法的适用性,或者
所述训练期间花费的时间。
18.如权利要求16所述的方法,其中,所述训练基于包括目录的交叉验证。
19.如权利要求18所述的方法,其中,至少以下各项之一:
所述分数基于所述目录的平均分数,
所述目录包括五个目录,或者
所述目录是分层的。
20.如权利要求1所述的方法,其中,所述分数是以下各项中的至少一者:分类分数、F1分数、基于损失度量的分数。
21.如权利要求1所述的方法,其中,所述特定超参数的所述历元序列在以下各项中的至少一者发生时终止:
所述第一线不与所述第二线相交;
所述特定超参数的当前值范围的宽度不超过第一阈值;
所述交点指示所述特定超参数的不在所述特定超参数的当前值范围内的值。
22.一个或多个存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行如权利要求1-21中任一项所述的方法。
23.一种计算系统,包括:
一个或多个处理器;以及
一个或多个存储指令的非暂态计算机可读介质,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行如权利要求1-21中任一项所述的方法。
24.一种包括用于执行如权利要求1-21中任一项所述的方法的构件的计算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311159609.9A CN117057446A (zh) | 2017-09-28 | 2018-09-28 | 机器学习和深度学习模型的基于梯度的自动调整 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762565009P | 2017-09-28 | 2017-09-28 | |
US62/565,009 | 2017-09-28 | ||
US15/885,515 | 2018-01-31 | ||
US15/885,515 US11176487B2 (en) | 2017-09-28 | 2018-01-31 | Gradient-based auto-tuning for machine learning and deep learning models |
PCT/US2018/053474 WO2019067931A1 (en) | 2017-09-28 | 2018-09-28 | SELF-ADJUSTMENT BASED ON A GRADIENT FOR LEARNING MACHINE AND DEPTH LEARNING MODELS |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311159609.9A Division CN117057446A (zh) | 2017-09-28 | 2018-09-28 | 机器学习和深度学习模型的基于梯度的自动调整 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111149117A CN111149117A (zh) | 2020-05-12 |
CN111149117B true CN111149117B (zh) | 2023-09-19 |
Family
ID=65809024
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880062156.9A Active CN111149117B (zh) | 2017-09-28 | 2018-09-28 | 机器学习和深度学习模型的基于梯度的自动调整 |
CN202311159609.9A Pending CN117057446A (zh) | 2017-09-28 | 2018-09-28 | 机器学习和深度学习模型的基于梯度的自动调整 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311159609.9A Pending CN117057446A (zh) | 2017-09-28 | 2018-09-28 | 机器学习和深度学习模型的基于梯度的自动调整 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11176487B2 (zh) |
EP (1) | EP3688681A1 (zh) |
CN (2) | CN111149117B (zh) |
WO (1) | WO2019067931A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9773041B2 (en) | 2013-03-06 | 2017-09-26 | Oracle International Corporation | Methods and apparatus of shared expression evaluation across RDBMS and storage layer |
US11120368B2 (en) | 2017-09-27 | 2021-09-14 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
US11544494B2 (en) | 2017-09-28 | 2023-01-03 | Oracle International Corporation | Algorithm-specific neural network architectures for automatic machine learning model selection |
US11176487B2 (en) | 2017-09-28 | 2021-11-16 | Oracle International Corporation | Gradient-based auto-tuning for machine learning and deep learning models |
US11593659B2 (en) * | 2018-03-30 | 2023-02-28 | Visa International Service Association | Method, system, and computer program product for implementing reinforcement learning |
KR20200021301A (ko) * | 2018-08-20 | 2020-02-28 | 삼성에스디에스 주식회사 | 하이퍼파라미터 최적화 방법 및 그 장치 |
US11082438B2 (en) | 2018-09-05 | 2021-08-03 | Oracle International Corporation | Malicious activity detection by cross-trace analysis and deep learning |
US11218498B2 (en) | 2018-09-05 | 2022-01-04 | Oracle International Corporation | Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks |
US11451565B2 (en) | 2018-09-05 | 2022-09-20 | Oracle International Corporation | Malicious activity detection by cross-trace analysis and deep learning |
US11061902B2 (en) | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
US11922323B2 (en) * | 2019-01-17 | 2024-03-05 | Salesforce, Inc. | Meta-reinforcement learning gradient estimation with variance reduction |
US11521132B2 (en) * | 2019-02-12 | 2022-12-06 | Nec Corporation | Method and system for adaptive online meta learning from data streams |
US20200320428A1 (en) * | 2019-04-08 | 2020-10-08 | International Business Machines Corporation | Fairness improvement through reinforcement learning |
US11429895B2 (en) | 2019-04-15 | 2022-08-30 | Oracle International Corporation | Predicting machine learning or deep learning model training time |
US11620568B2 (en) | 2019-04-18 | 2023-04-04 | Oracle International Corporation | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
US11562178B2 (en) * | 2019-04-29 | 2023-01-24 | Oracle International Corporation | Adaptive sampling for imbalance mitigation and dataset size reduction in machine learning |
EP3745326A1 (en) * | 2019-05-27 | 2020-12-02 | Siemens Aktiengesellschaft | Method for determining a plurality of trained machine learning models |
US11868854B2 (en) | 2019-05-30 | 2024-01-09 | Oracle International Corporation | Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models |
US20210142224A1 (en) * | 2019-10-21 | 2021-05-13 | SigOpt, Inc. | Systems and methods for an accelerated and enhanced tuning of a model based on prior model tuning data |
CN110929861B (zh) * | 2019-11-15 | 2023-04-18 | 中国人民解放军国防科技大学 | 一种多层感知机深度神经网络层间流水的硬件加速器 |
CN111553482B (zh) * | 2020-04-09 | 2023-08-08 | 哈尔滨工业大学 | 机器学习模型超参数的调优方法 |
US11475304B2 (en) | 2020-05-12 | 2022-10-18 | International Business Machines Corporation | Variational gradient flow |
US11620547B2 (en) * | 2020-05-19 | 2023-04-04 | Oracle International Corporation | Estimating number of distinct values in a data set using machine learning |
CN111931946B (zh) * | 2020-08-13 | 2024-04-16 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
US11989657B2 (en) | 2020-10-15 | 2024-05-21 | Oracle International Corporation | Automated machine learning pipeline for timeseries datasets utilizing point-based algorithms |
US11687540B2 (en) * | 2021-02-18 | 2023-06-27 | Oracle International Corporation | Fast, approximate conditional distribution sampling |
US11520834B1 (en) | 2021-07-28 | 2022-12-06 | Oracle International Corporation | Chaining bloom filters to estimate the number of keys with low frequencies in a dataset |
WO2024151535A1 (en) * | 2023-01-09 | 2024-07-18 | University Of Pittsburgh - Of The Commonwealth System Of Higher Education | Scalable adaptive sampling methods for surrogate modeling using machine learning |
CN116992253A (zh) * | 2023-07-24 | 2023-11-03 | 中电金信软件有限公司 | 与目标业务关联的目标预测模型中超参数的取值确定方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1986139A1 (en) * | 2007-04-25 | 2008-10-29 | Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO | Machine learning hyperparameter estimation |
WO2008133509A1 (en) * | 2007-04-25 | 2008-11-06 | Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno | Machine learning hyperparameter estimation |
CN102298569A (zh) * | 2010-06-24 | 2011-12-28 | 微软公司 | 在线学习算法的并行化 |
CN102591917A (zh) * | 2011-12-16 | 2012-07-18 | 华为技术有限公司 | 一种数据处理方法、系统及相关装置 |
CN103324700A (zh) * | 2013-06-08 | 2013-09-25 | 同济大学 | 一种基于Web信息的本体概念属性学习方法 |
CN104102137A (zh) * | 2013-04-10 | 2014-10-15 | 罗伯特·博世有限公司 | 模型计算单元、控制设备以及用于计算基于数据的函数模型的方法 |
WO2014186488A2 (en) * | 2013-05-15 | 2014-11-20 | Microsoft Corporation | Tuning hyper-parameters of a computer-executable learning algorithm |
CN105765562A (zh) * | 2013-12-03 | 2016-07-13 | 罗伯特·博世有限公司 | 用于求取基于数据的函数模型的方法和设备 |
CN106250986A (zh) * | 2015-06-04 | 2016-12-21 | 波音公司 | 用于机器学习的高级分析基础构架 |
CN107209872A (zh) * | 2015-02-06 | 2017-09-26 | 谷歌公司 | 强化学习系统的分布式训练 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169735A1 (en) | 2001-03-07 | 2002-11-14 | David Kil | Automatic mapping from data to preprocessing algorithms |
GB2502531A (en) | 2012-05-29 | 2013-12-04 | Ibm | De-serializing a source object to a target object |
US20140101117A1 (en) | 2012-10-10 | 2014-04-10 | Salesforce.Com, Inc. | Methods and systems for managing records in an on-demand system |
US9773041B2 (en) | 2013-03-06 | 2017-09-26 | Oracle International Corporation | Methods and apparatus of shared expression evaluation across RDBMS and storage layer |
US9904893B2 (en) | 2013-04-02 | 2018-02-27 | Patternex, Inc. | Method and system for training a big data machine to defend |
US11501042B2 (en) | 2014-03-24 | 2022-11-15 | Imagars Llc | Decisions with big data |
CN107428433A (zh) | 2015-03-27 | 2017-12-01 | 菲利普莫里斯生产公司 | 具有含有切口的隔片的用于消费制品的容器 |
CA2932204A1 (en) * | 2015-06-25 | 2016-12-25 | Alaya Care Inc. | Method for predicting adverse events for home healthcare of remotely monitored patients |
JP6555015B2 (ja) * | 2015-08-31 | 2019-08-07 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 |
US20180060220A1 (en) | 2016-08-23 | 2018-03-01 | Linkedin Corporation | Fixture plugin for product automation |
US10318405B2 (en) | 2016-08-24 | 2019-06-11 | International Business Machines Corporation | Applying consistent log levels to application log messages |
US10691491B2 (en) | 2016-10-19 | 2020-06-23 | Nutanix, Inc. | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment |
US10489215B1 (en) | 2016-11-02 | 2019-11-26 | Nutanix, Inc. | Long-range distributed resource planning using workload modeling in hyperconverged computing clusters |
US20180225391A1 (en) | 2017-02-06 | 2018-08-09 | Neural Algorithms Ltd. | System and method for automatic data modelling |
US10606649B2 (en) | 2017-04-20 | 2020-03-31 | Nutanix, Inc. | Workload identification and display of workload-specific metrics |
US12026612B2 (en) * | 2017-06-02 | 2024-07-02 | Google Llc | Optimization of parameter values for machine-learned models |
US10664196B2 (en) | 2017-07-14 | 2020-05-26 | Clipchamp Ip Pty Ltd | Random access file management |
US11397887B2 (en) * | 2017-09-26 | 2022-07-26 | Amazon Technologies, Inc. | Dynamic tuning of training parameters for machine learning algorithms |
US11120368B2 (en) | 2017-09-27 | 2021-09-14 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
US11176487B2 (en) | 2017-09-28 | 2021-11-16 | Oracle International Corporation | Gradient-based auto-tuning for machine learning and deep learning models |
US11544494B2 (en) | 2017-09-28 | 2023-01-03 | Oracle International Corporation | Algorithm-specific neural network architectures for automatic machine learning model selection |
US20190244139A1 (en) | 2018-02-02 | 2019-08-08 | Oracle International Corporation | Using meta-learning for automatic gradient-based hyperparameter optimization for machine learning and deep learning models |
US10554738B1 (en) | 2018-03-02 | 2020-02-04 | Syncsort Incorporated | Methods and apparatus for load balance optimization based on machine learning |
US20190340095A1 (en) | 2018-05-04 | 2019-11-07 | EMC IP Holding Company LLC | Predicting performance of applications using machine learning systems |
US11748654B2 (en) | 2018-06-25 | 2023-09-05 | Nasdaq, Inc. | Systems and methods of windowing time series data for pattern detection |
US11271939B2 (en) | 2018-07-31 | 2022-03-08 | Splunk Inc. | Facilitating detection of suspicious access to resources |
US11082438B2 (en) | 2018-09-05 | 2021-08-03 | Oracle International Corporation | Malicious activity detection by cross-trace analysis and deep learning |
US11451565B2 (en) | 2018-09-05 | 2022-09-20 | Oracle International Corporation | Malicious activity detection by cross-trace analysis and deep learning |
US11218498B2 (en) | 2018-09-05 | 2022-01-04 | Oracle International Corporation | Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks |
US11048727B2 (en) | 2018-09-10 | 2021-06-29 | Ciena Corporation | Systems and methods for automated feature selection and pattern discovery of multi-variate time-series |
US11061902B2 (en) | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
US11710034B2 (en) | 2019-02-27 | 2023-07-25 | Intel Corporation | Misuse index for explainable artificial intelligence in computing environments |
US11429895B2 (en) | 2019-04-15 | 2022-08-30 | Oracle International Corporation | Predicting machine learning or deep learning model training time |
US11620568B2 (en) | 2019-04-18 | 2023-04-04 | Oracle International Corporation | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
US11562178B2 (en) | 2019-04-29 | 2023-01-24 | Oracle International Corporation | Adaptive sampling for imbalance mitigation and dataset size reduction in machine learning |
US11562278B2 (en) | 2019-05-16 | 2023-01-24 | Siemens Aktiengesellschaft | Quantum machine learning algorithm for knowledge graphs |
US11868854B2 (en) | 2019-05-30 | 2024-01-09 | Oracle International Corporation | Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models |
US10832087B1 (en) | 2020-02-05 | 2020-11-10 | Sas Institute Inc. | Advanced training of machine-learning models usable in control systems and other systems |
-
2018
- 2018-01-31 US US15/885,515 patent/US11176487B2/en active Active
- 2018-09-28 CN CN201880062156.9A patent/CN111149117B/zh active Active
- 2018-09-28 EP EP18792657.1A patent/EP3688681A1/en active Pending
- 2018-09-28 CN CN202311159609.9A patent/CN117057446A/zh active Pending
- 2018-09-28 WO PCT/US2018/053474 patent/WO2019067931A1/en unknown
-
2021
- 2021-10-13 US US17/499,945 patent/US11720822B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1986139A1 (en) * | 2007-04-25 | 2008-10-29 | Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO | Machine learning hyperparameter estimation |
WO2008133509A1 (en) * | 2007-04-25 | 2008-11-06 | Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno | Machine learning hyperparameter estimation |
CN102298569A (zh) * | 2010-06-24 | 2011-12-28 | 微软公司 | 在线学习算法的并行化 |
CN102591917A (zh) * | 2011-12-16 | 2012-07-18 | 华为技术有限公司 | 一种数据处理方法、系统及相关装置 |
CN104102137A (zh) * | 2013-04-10 | 2014-10-15 | 罗伯特·博世有限公司 | 模型计算单元、控制设备以及用于计算基于数据的函数模型的方法 |
WO2014186488A2 (en) * | 2013-05-15 | 2014-11-20 | Microsoft Corporation | Tuning hyper-parameters of a computer-executable learning algorithm |
CN103324700A (zh) * | 2013-06-08 | 2013-09-25 | 同济大学 | 一种基于Web信息的本体概念属性学习方法 |
CN105765562A (zh) * | 2013-12-03 | 2016-07-13 | 罗伯特·博世有限公司 | 用于求取基于数据的函数模型的方法和设备 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
CN107209872A (zh) * | 2015-02-06 | 2017-09-26 | 谷歌公司 | 强化学习系统的分布式训练 |
CN106250986A (zh) * | 2015-06-04 | 2016-12-21 | 波音公司 | 用于机器学习的高级分析基础构架 |
Non-Patent Citations (3)
Title |
---|
Chi-Ou Chen.Machine Learning-Based Configuration Parameter Tuning on Hadoop System.《IEEE International Congress on Big Data》.2015,386-392. * |
FabianPedregosa.Hyperparameter optimization with approximate gradient.《Proceedings of The 33rd International Conference on Machine Learning》.2016,737-746. * |
James Bergstra.Random Search for Hyper-Parameter Optimization.《The Journal of Machine Learning Research》.2012,第13卷(第13期),281-305页. * |
Also Published As
Publication number | Publication date |
---|---|
US20220027746A1 (en) | 2022-01-27 |
US11720822B2 (en) | 2023-08-08 |
CN117057446A (zh) | 2023-11-14 |
US20190095818A1 (en) | 2019-03-28 |
US11176487B2 (en) | 2021-11-16 |
EP3688681A1 (en) | 2020-08-05 |
CN111149117A (zh) | 2020-05-12 |
WO2019067931A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111149117B (zh) | 机器学习和深度学习模型的基于梯度的自动调整 | |
Neelakandan et al. | RETRACTED ARTICLE: An automated exploring and learning model for data prediction using balanced CA-SVM | |
US11061902B2 (en) | Automated configuration parameter tuning for database performance | |
CN109657805B (zh) | 超参数确定方法、装置、电子设备及计算机可读介质 | |
US11120368B2 (en) | Scalable and efficient distributed auto-tuning of machine learning and deep learning models | |
US11138520B2 (en) | Ranking and updating machine learning models based on data inputs at edge nodes | |
US11790242B2 (en) | Mini-machine learning | |
US10916333B1 (en) | Artificial intelligence system for enhancing data sets used for training machine learning-based classifiers | |
CN103235974B (zh) | 一种提高海量空间数据处理效率的方法 | |
CN111164620A (zh) | 用于自动机器学习模型选择的特定于算法的神经网络体系架构 | |
US20210390466A1 (en) | Fast, predictive, and iteration-free automated machine learning pipeline | |
CN112199189B (zh) | 深度学习模型对资源受限边缘设备的适应 | |
Bae et al. | Scalable and efficient flow-based community detection for large-scale graph analysis | |
US12001511B2 (en) | Systems and methods of resource configuration optimization for machine learning workloads | |
CN113795853A (zh) | 基于元学习的自动特征子集选择 | |
US20240330130A1 (en) | Graph machine learning for case similarity | |
CN104182489A (zh) | 一种文本大数据的查询处理方法 | |
Dongarra et al. | Parallel processing and applied mathematics | |
Shehab et al. | Toward feature selection in big data preprocessing based on hybrid cloud-based model | |
de Oliveira et al. | Towards optimizing the execution of spark scientific workflows using machine learning‐based parameter tuning | |
US20220172105A1 (en) | Efficient and scalable computation of global feature importance explanations | |
US11620550B2 (en) | Automated data table discovery for automated machine learning | |
Yang et al. | Probabilistic multimodal optimization | |
KR20190105147A (ko) | 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템 | |
JP7348444B2 (ja) | 機械学習モデルのハイパーパラメータ最適化過程の分析と調整のためのチューニングアルゴリズム認識視覚化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |