CN113302605A - 鲁棒且数据效率的黑盒优化 - Google Patents
鲁棒且数据效率的黑盒优化 Download PDFInfo
- Publication number
- CN113302605A CN113302605A CN201980088752.9A CN201980088752A CN113302605A CN 113302605 A CN113302605 A CN 113302605A CN 201980088752 A CN201980088752 A CN 201980088752A CN 113302605 A CN113302605 A CN 113302605A
- Authority
- CN
- China
- Prior art keywords
- perturbations
- parameters
- machine learning
- performance
- computing devices
- 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.)
- Granted
Links
- 238000005457 optimization Methods 0.000 title abstract description 41
- 238000005070 sampling Methods 0.000 claims abstract description 39
- 238000009826 distribution Methods 0.000 claims abstract description 32
- 238000010801 machine learning Methods 0.000 claims description 97
- 238000000034 method Methods 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 58
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 230000009471 action Effects 0.000 claims description 15
- 230000002787 reinforcement Effects 0.000 claims description 15
- 230000009977 dual effect Effects 0.000 claims description 9
- 238000012417 linear regression Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 235000000332 black box Nutrition 0.000 abstract description 15
- 238000004422 calculation algorithm Methods 0.000 description 38
- 238000012549 training Methods 0.000 description 24
- 239000003795 chemical substances by application Substances 0.000 description 16
- 239000013598 vector Substances 0.000 description 16
- 230000015654 memory Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 11
- 238000013459 approach Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000543540 Guillardia theta Species 0.000 description 2
- 241000022852 Letis Species 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 206010026749 Mania Diseases 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001073 episodic memory Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- 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/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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Complex Calculations (AREA)
- Measurement Of Resistance Or Impedance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了估计函数的梯度的迭代黑盒优化技术。根据本公开的方面,可以从非正交采样分布中采样每次迭代中使用的多个扰动。作为一个示例,在一些实施方式中,先前在先前迭代中估计的扰动可以在当前迭代中重新使用,从而节省计算资源,因为重新使用的扰动不需要在当前迭代中重新估计。在另一个示例中,除了或替代地使用先前估计的扰动,在当前迭代中估计的扰动可以从非正交采样分布中采样。
Description
相关申请
本申请要求2019年1月16日提交的美国临时专利申请号62/793,248的优先权和利益。通过引用将美国临时专利申请号62/793,248的全部内容并入本文。
技术领域
本公开一般涉及例如在机器学习的上下文中的无导数优化。更具体地,本公开涉及鲁棒且数据效率的黑盒优化技术。
背景技术
***(例如,机器学习模型)可以包括许多可调节的参数,这些参数影响***的质量、性能和/或结果。识别优化***的性能的特定参数值的集合(例如,一般地或针对特定应用或用户组)可能具有挑战性,特别是当***复杂(例如,建模具有挑战性)或包括大量可调节参数时。
当其变得更容易实验而不是理解时,任何足够复杂的***都可以被看作是黑盒。因此,对于许多***(诸如例如,用于机器学习***的超参数调谐),现有技术包括对***的参数值进行手动调谐/实验,这是一个耗时的过程,该过程不能有效地进展到参数值的最优集合。例如,除了低效地消耗人力时间外,手动调整还可能低效地消耗计算资源,诸如存储器空间、处理器使用、功耗,等等,因为人工调谐可能需要大量的调谐和测试,这些调谐和测试并不能快速地进展到最优结果,并且测试的每个实例都需要分配/消耗计算资源。
随着各种***变得越来越复杂,黑盒或无导数优化(DFO)技术已经成为越来越流行的替代方法。黑盒优化可以包括优化具有对估计的有限预算的目标函数,并且不需要获得直接描述目标函数的梯度的信息的任务。例如,在一些情况下,形容词“黑盒”可以指目标函数可以针对给定的输入进行估计,但是关于函数的其他信息(诸如函数的真实梯度或海森值),通常是未知的情况。当函数估计很昂贵时,需要仔细地并自适应地选择要估计的值。因此,黑盒优化技术的总体目标可以是生成尽可能快地接近全局最优和/或在过程中消耗最少计算资源的输入值的序列。
最近,强化学习(RL)社区对诸如“进化策略”之类的黑盒技术的兴趣激增,越来越多的证据表明它们与策略优化任务的最新方法相匹配。特别地,它们实施起来更简单,不依赖于所考虑问题的特定内部结构(因此可以应用于一般的黑盒优化问题),并且通常优于其他最先进的方法。然而,黑盒技术的采样复杂度很高,因为它们需要大量的策略卷展(rollout)来进行可靠的梯度估计。它们也可能对奖励、执行器或环境动态中的噪音非常敏感。
发明内容
本公开的实施例的方面和优点将在下面的描述中部分阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
本公开的一个示例方面涉及计算机实施的方法。方法包括由一个或多个计算设备获得描述机器学习模型的多个参数的当前值的数据。对于一次或多次迭代中的至少一次,方法包括:由一个或多个计算设备从非正交采样分布采样对机器学习模型的多个参数的当前值的多个扰动。对于一次或多次迭代中的至少一次,方法包括:由一个或多个计算设备为多个扰动分别确定多个性能值,其中每个扰动的性能值是通过由性能估计函数估计机器学习模型的性能生成的,机器学习模型具有根据扰动而被扰动的其参数的当前值。对于一次或多次迭代中的至少一次,方法包括:由一个或多个计算设备执行关于多个扰动和多个性能值的回归,以估计性能估计函数的梯度。对于一次或多次迭代中的至少一次,方法包括:由一个或多个计算设备至少部分地基于性能估计函数的估计梯度修改机器学习模型的多个参数中的至少一个的当前值。方法包括,在一次或多次迭代之后,由一个或多个计算设备提供机器学习模型的多个参数的最终值作为输出。
方法可以包括以下特征。对于一次或多次迭代中的至少一次,方法还可包括:由一个或多个计算设备识别包括在与多个参数的当前值相关联的信任区域内的一个或多个先前估计的扰动;以及由一个或多个计算设备,将一个或多个先前估计的扰动包括在多个扰动中;其中,由一个或多个计算设备为多个扰动分别确定多个性能值包括由一个或多个计算设备为一个或多个先前估计的扰动分别重新使用一个或多个先前估计的性能值。由一个或多个计算设备识别信任区域内包括的一个或多个先前估计的扰动可以包括由一个或多个计算设备识别在距离多个参数的当前值的半径内的任何先前估计的扰动。由一个或多个计算设备识别信任区域内包括的一个或多个先前估计的扰动可以包括由一个或多个计算设备识别最接近多个参数的当前值的先前估计的扰动的固定部分。由一个或多个计算设备执行关于多个扰动和多个性能值的回归可以包括由一个或多个计算设备基于多个扰动和多个性能值确定前向有限差分进化策略估计器。由一个或多个计算设备执行关于多个扰动和多个性能值的回归可以包括由一个或多个计算设备基于多个扰动和多个性能值确定对偶进化策略估计器。机器学习模型可以包括强化学习策略,并且性能估计函数包括确定根据强化学习策略采取的动作的奖励的奖励函数。机器学习模型可以包括神经网络。机器学习模型的参数可以包括机器学习模型的超参数。机器学习模型可以包括具有权重共享机制的结构化网络。由一个或多个计算设备执行关于多个扰动和多个性能值的回归可以包括由一个或多个计算设备执行关于多个扰动和多个性能值的欠约束线性回归。由一个或多个计算设备执行关于多个扰动和多个性能值的回归可以包括由一个或多个计算设备执行关于多个扰动和多个性能值的L1-或L2-正则化回归。
本公开的另一示例方面涉及计算***。计算***包括一个或多个处理器和一个或多个非暂时性计算机可读介质,非暂时性计算机可读介质共同存储当由一个或多个处理器执行时使计算***执行操作的指令。操作包括由一个或多个计算设备获得描述机器学习模型的多个参数的当前值的数据;以及对于一次或多次迭代中的至少一次:由一个或多个计算设备从非正交采样分布采样对机器学习模型的多个参数的当前值的多个扰动;由一个或多个计算设备为多个扰动分别确定多个性能值,其中每个扰动的性能值是通过由性能估计函数估计机器学习模型的性能生成的,机器学习模型具有根据扰动而被扰动的其参数的当前值;由一个或多个计算设备执行关于多个扰动和所述多个性能值的回归,以估计所性能估计函数的梯度;以及由一个或多个计算设备至少部分地基于性能估计函数的估计梯度修改机器学习模型的多个参数中的至少一个的当前值;以及在一次或多次迭代之后,由一个或多个计算设备提供机器学习模型的多个参数的最终值作为输出。***还可以根据上述方法方面执行操作。
本公开的另一示例方面针对计算***。计算***包括一个或多个处理器和一个或多个非暂时性计算机可读介质,非暂时性计算机可读介质共同存储由当一个或多个处理器执行指令时使计算***执行操作的指令。这些操作包括获得描述机器学习模型的多个参数的当前值的数据。对于一次或多次迭代的至少一个迭代,操作包括:识别包括在与多个参数的当前值相关联的信任区域内的一个或多个先前估计的扰动。对于一次或多次迭代的至少一个迭代,操作包括:为信任区域内包括的一个或多个先前估计的扰动分别访问一个或多个先前估计的性能值。对于一次或多次迭代的至少一个迭代,操作包括:从采样分布对机器学习模型的多个参数的当前值的多个附加扰动进行采样。对于一次或多次迭代的至少一个迭代,操作包括:为多个扰动分别确定多个性能值,其中每个扰动的性能值是通过由性能估计函数估计机器学习模型的性能生成的,机器学习模型具有根据扰动而被扰动的其参数的当前值。对于一次或多次迭代的至少一个迭代,操作包括:针对一个或多个先前估计的扰动与多个扰动的第一级联和一个或多个先前估计的性能值与多个附加性能值的第二级联执行回归以估计性能估计函数的梯度。对于一次或多次迭代的至少一个迭代,操作包括:至少部分地基于性能估计函数的估计梯度修改机器学习模型的多个参数中的至少一个的当前值。
***可以包括以下特征。采样分布可以是正交的。替代地,采样分布可以是非正交的。识别包括在信任区域内的一个或多个先前估计的扰动可以包括识别在距离多个参数的当前值的半径内的任何先前估计的扰动。识别包括在信任区域内的一个或多个先前估计的扰动可以包括识别最接近多个参数的当前值的先前估计的扰动的固定部分。执行回归可包括基于一个或多个先前估计的扰动与多个扰动的第一级联和一个或多个先前估计的性能值与多个附加性能值的第二级联来确定前向有限差分进化策略估计器。执行回归可包括基于一个或多个先前估计的扰动与多个扰动的第一级联和一个或多个先前估计的性能值与多个附加性能值的第二级联来确定对偶进化策略估计器。
本公开的另一示例涉及计算机实施的方法。方法包括:获得描述机器学习模型的多个参数的当前值的数据;以及对于一次或多次迭代的至少一个迭代:识别包括在与多个参数的当前值相关联的信任区域内的一个或多个先前估计的扰动;为信任区域内包括的一个或多个先前估计的扰动分别访问一个或多个先前估计的性能值;从采样分布对机器学习模型的多个参数的当前值的多个附加扰动进行采样;为多个扰动分别确定多个性能值,其中每个扰动的性能值是通过由性能估计函数估计机器学习模型的性能生成的,机器学习模型具有根据扰动而被扰动的其参数的当前值;对一个或多个先前估计的扰动与多个扰动的第一级联以及一个或多个先前估计的性能值与多个附加性能值的第二级联执行回归以估计性能估计函数的梯度;以及至少部分地基于性能估计函数的估计梯度修改机器学习模型的多个参数中的至少一个的当前值。该方法还可以包括上述***方面的操作。
本公开的另一个示例针对一个或多个非暂时性计算机可读介质,其共同存储当由计算***执行时使计算***执行上述方法方面中的任何一个的操作。
本公开的其他方面涉及各种***、装置、非暂时性计算机可读介质、用户接口和电子设备。
将容易理解,各方面可以被组合,并且在一个方面的上下文中描述的特征可以与在另一方面的上下文中描述的特征组合。例如,一个方法方面的特征可以与另一方法方面的特征组合,同样地,一个***方面的特征可以与另一***方面的特征组合。在其它特征/方面组合中,来自方法方面的特征可以与来自***方面的特征组合。
机器学习模型可配置为接收任何类型的数字数据输入,并基于输入生成任何类型的预测(例如,分数或分类)输出。下面是几个示例。
例如,如果输入是图像或已经从图像中提取的特征,则由机器学习模型为给定图像生成的输出可以是对象类别的集合中的每一个的分数,每个分数表示图像包含属于该类别的对象的图像的估计可能性。
作为另一示例,如果机器学习模型的输入是因特网资源(例如,网页)、文档或文档的部分或从因特网资源、文档或文档的部分中提取的特征,则机器学习模型为给定因特网资源、文档、文档的部分生成的输出可以是主题的集合中的每个主题的得分,每个得分表示因特网资源、文档或文档部分关于该主题的估计可能性。
作为另一示例,如果机器学习模型的输入是针对用户的个性化推荐的特征,例如,表征推荐的上下文的特征,例如,表征用户所采取的先前动作的特征,由机器学习模型生成的输出可以是内容项的集合中的每一项的得分,每个得分表示用户将对被推荐的内容项作出有利响应的估计可能性。
作为另一示例,如果机器学习模型的输入是一种语言的文本,则机器学习模型生成的输出可以是另一种语言的文本片段的集合中的每一个的分数,每个分数代表另一种语言的文本片段是输入文本到另一种语言的正确翻译的估计可能性。
作为另一个示例,如果机器学习模型的输入是口语、一系列口语或从两者之一得出的特征,那么机器学习模型生成的输出可以是文本片段的集合中每个片段的分数,每一个分数代表一段文本是该话语或话语序列的正确脚本的估计可能性。
作为另一个示例,机器学习模型可以是自动完成***或文本处理***的一部分。
作为另一个示例,机器学习模型可以是强化学习***的一部分,并且可以生成用于选择要由与环境交互的智能体执行的动作的输出。例如,智能体可以是与环境交互以完成特定任务的机器人,例如,定位环境中感兴趣的对象或将感兴趣的对象移动到环境中的指定位置或导航到环境中的指定目的地;或者智能体可以是在环境中航行的自主或半自主陆地、空中或海上交通工具。
在这些示例中,观测值可包括例如图像、对象位置数据和随着智能体与环境交互而捕获观测值的传感器数据(例如来自图像、距离或位置传感器或来自致动器的传感器数据)中的一个或多个。
例如,在机器人的情况下,观测值可包括表征机器人当前状态的数据,例如:关节位置、关节速度、关节力、扭矩或加速度(例如重力补偿扭矩反馈)以及机器人保持物品的整体或相对姿势中的一个或多个。
在机器人或其他机械智能体或交通工具的情况下,观测值可以类似地包括位置、线速度或角速度、力、扭矩或加速度以及智能体的一个或多个部分的全局或相对姿势中的一个或多个。观测值可定义为1维、2维或3维,并且可以是绝对观测值和/或相对观测值。
观测值还可包括例如感测到的电子信号,诸如电机电流或温度信号;和/或例如来自照相机或激光雷达传感器的图像或视频数据,例如,来自智能体的传感器的数据或来自环境中与智能体分离的传感器的数据。
在电子智能体的情况下,观测值可以包括来自一个或多个传感器的数据,这些传感器监测设备或服务设施的一部分,数据诸如电流、电压、功率、温度和表示设备的电子和/或机械项目的功能的其他传感器和/或电子信号。
在这些示例中,动作可以是控制机器人的控制输入,例如,机器人关节的扭矩或更高级别的控制命令,或自主或半自主陆地或空中或海上交通工具,例如,交通工具的控制面或其他控制元件的扭矩或更高级别的控制命令。
换句话说,动作可以包括例如机器人的一个或多个关节或另一机械智能体的部件的位置、速度或力/转矩/加速度数据。动作数据可以附加地或替代地包括诸如电机控制数据的电子控制数据,或更一般地包括用于控制环境中的一个或多个电子设备的数据,其控制对所观察到的环境状态具有影响。例如,在自主或半自主陆地或空中或海上交通工具的情况下,动作可包括控制导航(例如转向)和移动(例如制动和/或交通工具加速)的动作。
在一些示例中,环境是一个模拟的环境,并且智能体被实施为与模拟环境交互的一台或多台计算机。
例如,模拟的环境可以是机器人或交通工具的模拟,并且强化学习***可以在模拟上训练。例如,模拟是环境可以是运动模拟环境,例如,驾驶模拟或飞行模拟,并且智能体是通过运动模拟导航的模拟交通工具。在这些实施方式中,动作可以是控制模拟用户或模拟交通工具的控制输入。
在另一示例中,模拟环境可以是网络游戏,并且智能体可以是玩网络游戏的模拟用户。
上述示例应用并非详尽无遗,并且也可以使用如本书面描述中生成的机器学习模型的其他应用。
参考以下描述和所附权利要求书,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书并构成本说明书一部分的附图示出了本公开的示例实施例,并且与说明书一起用于解释相关原理。
附图说明
说明书中参考附图阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1A描绘了根据本公开的示例实施例的示例计算***的框图。
图1B描绘了根据本公开的示例实施例的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的用于执行黑盒优化的示例方法的流程图。
图3描绘了根据本公开的示例实施例的用于执行黑盒优化的示例方法的流程图。
在多个附图中重复的附图标记旨在标识各种实施方式中的相同特征。
具体实施方式
1.概述
一般而言,本公开涉及迭代黑盒优化技术,其估计代表***(诸如例如,机器学习模型)的函数的梯度。具体地,本文描述的优化技术可以包括,一次或多次迭代中的至少一次,对分别与对***的多个参数的值的当前集合的多个扰动相关联的多个性能值执行回归。
根据本公开的一个方面,可以从非正交采样分布对在每次迭代中使用的多个扰动进行采样。作为一个示例,在一些实施方式中,先前已经在先前迭代中估计的扰动可以在当前迭代中重新使用,从而节省计算资源,因为重新使用的扰动不需要在当前迭代中重新估计。例如,在一些实施方式中,如果先前估计的扰动被包括在与多个参数的当前值相关联的信任区域中,则可以重新使用先前估计的扰动。在另一个示例中,除了或替代地使用先前估计的扰动,在当前迭代中估计的扰动可以从非正交采样分布中采样,这与从正交分布(诸如高斯分布)采样的各种技术(例如蒙特卡罗技术)相反。使用如本文所描述的从非正交采样分布采样的扰动使得能够更有效地优化参数,因为可以在每次迭代中更有效地分配估计。
本公开提供了许多技术效果和益处。作为一个示例技术效果和益处,本公开的***和方法能够使用广义回归方法实现更有效的梯度恢复。特别地,通过使用非正交采样分布,可以更有效地估计用于在每次迭代中估计梯度的扰动。例如,当重新使用来自信任区域内的先前估计的扰动时,通过消除必须在当前迭代中估计的扰动的数目来直接节省计算资源。这节省了执行估计所需的计算资源,诸如处理器时间、存储器使用、能量使用、网络带宽等。此外,即使当不重复使用先前估计的扰动时,从非正交采样分布选择要估计的扰动仍然导致更好的学习曲线,这对应于减少的训练时间。例如,使用非正交采样分布可以允许条件采样,条件采样可以智能地使用来自先前结果的信息。这使得能够在每次迭代中获得更多的信息和/或更好的梯度估计,加快训练过程并减少执行的训练迭代的数量。通过减少执行的训练迭代的数量,可以节省计算资源,因为不需要将它们分配给附加的训练迭代。
如本文将进一步描述的,本公开还提供了用于提高基于DFO的策略优化方法的数据效率的附加策略的组合。作为一个示例,本公开的示例实施方式可以使用具有权重共享(例如Toeplitz权重矩阵)机制的紧凑、结构化策略网络来降低问题维度。使用紧凑、结构化的网络可以使训练策略网络的参数数量少得多。这种具有较少参数的网络可以更快地训练、更小地存储、更快地运行(例如,更少的延迟)并且更容易通过网络传输,所有这些都节省了计算资源。此外,已证明本文所述的这些结构化网络与优化技术之间存在协同效应。
本公开提供的提高数据效率的附加策略包括:使用基于L0/L1/L2正则化回归的梯度估计来利用稀疏性和平滑性;经由鲁棒损失函数(例如,M-估计器,诸如L1,Huber,最小修剪损失)进行梯度恢复,用于处理随机和确定性噪声;使用来自增量更新的全局可微模型的分析梯度;和/或使用用于有效的样本重新使用的滑动信任区域。
完全并入本文的美国临时专利申请号62/793,248,提供了例如在本公开的各个方面进行的试验的结果。例如,在几个OpenAI Gym RL任务上,示例实验结果表明,通过本文描述的数据效率方案,策略可以仅在单独的机器上训练而具有与涉及O(1000)机器集群的先前工作一样好的性能。此外,训练具有很高的噪声鲁棒性,可容忍多达20%的卷展测量(rollout measurements)任意损坏。理论结果也支持了该噪声的鲁棒性。
尽管本文所包含的讨论的部分将侧重于机器学习模型(例如神经网络)的参数的优化,但本公开的优化技术同样适用于任何***的可调节的参数的优化。例如,***可以是工业过程,并且可调节参数可包括对该过程的输入和/或控制(例如,材料的混合、不同阶段的时间、不同阶段的温度等)。在另一个示例中,***可以是计算***,并且可调节的参数可以包括资源分配参数(例如集群大小、作业分配、作业优先级等)。许多不同的***可以被视为黑盒函数,并且本文描述的技术可以应用于任何此类***。此外,尽管本文包含的讨论的部分将说明在强化学习设置中使用所提议的优化技术,但是所提出的技术不限于此设置,而是可以应用于使用黑盒优化的任何设置。
更具体地,本公开的方面适用于以下示例黑盒优化问题:
其中取对策略编码(和分别代表空间和动作空间)的一系列参数θ作为输入并输出在给定环境中应用此策略的智能体获得的总(预期)奖励R。由于在一些常见的情况下,环境是黑盒物理模拟器,甚至是一块真正的硬件,F可能只允许函数估计,并且不能与显式的分析梯度配对。尽管在本讨论过程中讨论了该示例强化学习问题,但是本文描述的技术同样适用于各种其他黑盒优化问题,诸如任何***的可调节参数的优化。
黑盒算法,或者说无导数算法,通过应用基于梯度的方法和各种梯度估计技术来最大化F。其中最流行的是使用随机有限差分(FD)算法的随机搜索方法,并且可以等效地认为是F的各种平滑的梯度的蒙特卡罗(MC)估计器或进化策略(ES)的形式。尽管不依赖于强化学习(RL)问题的内部结构,这些方法可以与最新的策略梯度方法具有很强的竞争力,同时允许更简单和高度并行的实施方式。
然而,为了得到高维策略π的梯度的精确估计器,可能需要大量的长地平线卷展(long-horizon rollouts),这很快成为计算瓶颈。例如,某些提出的ES算法需要数千个CPU才能获得有竞争力的结果。因此,提高这些方法的数据效率是本公开的中心动机。
本公开的示例方面提供并全面地基准化以下技术的示例组合。在一个示例中,通过对函数进行局部采样,本文描述的技术可以经由欠约束线性回归来恢复梯度,其中L1或L2正则化器可以利用未知梯度的稀疏性和平滑性。在另一个示例中,来自诸如随机环境动态或奖励的源的噪声,或者甚至与泰勒近似相关联的确定性误差,可以经由诸如L1、Huber或最小修剪损失的鲁棒回归损失函数来处理。根据又一方面,本公开的示例实施方式可以使用滑动信任区域来对黑盒函数进行采样,并重新使用与先前迭代重叠的采样。这给黑盒方法带来了一种非策略性的味道。此外,结合上述思想,示例实施方式可以使用结构化策略网络将问题维度引入DFO“最佳点”。结构化策略网络的附加描述包含在美国临时专利申请号62/793,248中。
使用部分或全部这些策略的黑盒优化算法的示例实施方式可以称为鲁棒黑盒优化,或:RBO。当使用信任域技术实现样本重新使用时,使用进一步缩写TR-RBO。
本文描述的方法与先前基于MC的方法有根本的不同。特别地,本公开的示例实施方式可以通过求解广义回归/压缩感知正则化优化问题来重构梯度。与查询黑盒函数F所花费的时间相比,相关的计算开销可以忽略不计,并且即使与环境的交互的总测量的显著量(例如,20%)是任意不准确的,重构在噪声测量设置中也是准确的。此外,与标准黑盒方法相比,学习这些策略所需的卷展数要少得多。所提出的算法可以很容易地在分布式设置中运行,在分布式设置中,单个工作人员正并行地执行昂贵的环境卷展,并且中心工作人员正在解决优化问题来检索梯度。然而,由于所需的卷展数量大大减少,因此可以在单个机器上进行训练。
本公开的其余部分组织如下。第2节提供了相关背景,并介绍了RBO和TR-RBO算法的示例。第三节给出了基于强噪声鲁棒性保证下的线性编程(LP)解码技术的提议的算法的子类的收敛结果。第4节和第5节提供了根据本公开的各方面的***和方法的示例实施方式。美国临时专利申请号62/793,248提供了所提议的方法的详尽的经验估计,以及基于在OpenAI Gym任务上的MC梯度近似的与最新黑盒优化技术的详细比较。
2.经由用于RL&RBO算法的梯度感测的示例黑盒优化
在本公开中,术语:进化策略(ES)、蒙特卡罗(MC)梯度估计或随机化有限差分可以互换使用。首先描述这些用于梯度估计的标准方法,然后提出本公开的示例方法。
示例基线:平滑的梯度的蒙特卡罗估计器
对于平滑参数σ>0。F的高斯平滑的梯度由公式给出:
其中,每个gi独立于进行采样。向量gi可以称为扰动(或采样)方向。这是随机搜索ES策略优化方法所依赖的基线估计器,特别是Salimas等人2017年(“Evolutionstrategies as a scalable alternative to reinforcement learning”)和Mania等人2018(“Simple random search provides a competitive approach to reinforcementlearning”)中提出的方法。
基线方法的不同变体,其中其他控制变量项(例如,导致估计器仍然是无偏差的)以及从其他分布(例如随机哈达玛矩阵的行,对其相应的估计器变得有偏差)获得的感测方向gi在美国临时专利申请号62/793,248中提出。这里,最突出的示例中的一些包括:所谓的前向有限差分ES梯度估计器,由下式给出:
以及对偶ES梯度估计器,定义为:
不同的控制变量(例如,对偶采样)以及gi的不同分布(例如,产生的伪蒙特卡罗估计器的那些)导致中等精度增益(估计器的较低方差),但即使这些方法也需要大量的感测方向(例如,大量昂贵的卷展)才能学习高质量的RL策略。
RBO算法的示例讨论
因此对于z,||z||<<1以下是正确的:
表达式F(θ+z)-F(θ)可以称为z上的梯度作用的前向有限差分估计。通过与上述类似的分析,可以得到z上的梯度作用的对偶有限差分估计:
给定样本(在RL设置中,对应于通过由θ编码的策略的不同扰动版本获得的奖励),通过考虑带有针对i=1,...,k的回归值F(θ+zi)-F(θ)的向量{z1,...,zk}来规划回归问题。在一些实施方式中,可以通过解决以下最小化问题来解决此回归问题:
各种已知的回归方法通过用不同的p,q和α值实例化上述优化问题而产生。特别地,p=q=2导致岭回归算法,p=2,q=1导致拉索算法以及p=1,α=0到LP解码。然而,这些已知的回归方法迄今已经仅限于从正交分布(例如高斯分布)采样的采样方向。根据本公开的方面,与前面描述的标准MC方法相反,在本文描述的技术中,采样方向zi不需要取自高斯多元分布,并且事实上,它们甚至不需要是独立的。
以这种方式获得的一个示例算法(我们称之为RBO(Robust BlackboxOptimization)算法)以下被呈现为算法1。在迭代的每一步,正则化回归问题都可以被求解以估计梯度。然后使用估计更新策略参数。在RBO算法的for循环中的步骤7可以被执行,以确保得到的参数向量在允许的参数向量Θ的域中。
算法1:RBO算法
输出:参数向量θT。
for t=0,1,…,T-1do
TR-RBO算法的示例讨论
上述用于黑盒函数梯度近似的基于回归的优化算法的一个主要优点是,不必在每一步都从固定分布中采样以便应用它们。相反,在编码当前策略的任何向量θ,可以从在其周围的任意参数点云处的黑盒函数中得到相应梯度的高质量估计器。
本公开的附加方面应用信任区域方法,其中可以在一次迭代到另一次迭代中重新使用扰动。重新使用样本减少了采样的复杂性,因为它减少了黑盒函数F被调用的次数。
本公开提出了两种用于样本重新使用的示例信任区域技术,并且表明它们在实践中非常有效(参见:美国临时专利申请号62/793,248)。本公开不限于下面描述的两个示例信任区域方法。
用θt+1表示在整个优化过程中获得的当前参数向量。在第一个示例策略(称为静态信任区域方法)中,距离θt+1半径R内的j=1,...,k形式的所有扰动策略被重新使用以近似θt+1中的F的梯度(其中R是调谐的和/或自适应的超参数)。
在第二个示例策略中(称为动态信任区域方法),只有最接近θt+1的 形式的策略的固定部分τ(其中τ是另一个超参数)被重新使用。通过这种方式获得的,一个基于RBO算法的修改的示例信任区域方法(被称为TR-RBO算法)以下被呈现为算法2。
算法2:TR-RBO:动态信任区域
输出:参数向量θT。
for t=0,1,…,T-1do
RBO算法与蒙特卡罗方法的示例讨论
这类RBO算法包含了美国临时专利申请号62/793248中提出的一些最有效的蒙特卡罗黑盒函数梯度估计方法作为非常特殊的情况并且基于随机正交感测方向构造正交样本有许多不同的方法。例如,考虑高斯矩阵 其具有从独立随机获得的项(我们假设这里k≤d)。可以通过进行G的格拉姆-施密特正交化以便获得正交矩阵Gort并且然后独立地重整行以使得它们的长度的分布与d-维高斯向量的长度的分布相匹配或者使得每一行的长度为来构建扰动另一种构造是基于所谓的随机哈达玛矩阵的乘积HD,其中H是克罗内克积哈达玛矩阵,并且D是具有从{-1,+1}随机独立取得的项的随机对角矩阵。以下是正确的(对于相反的情况,可以得到完全类似的陈述):
引理1:应用具有固定确定性长度等于正交感测方向的基于蒙特卡罗的前向有限-差分估计器的ES算法的类别等价于p=q=2以及p=1和α=0的RBO算法的特定子类别(使用梯度作用的前向有限差分估计和相同采样)。
证明。首先考虑情况p=q=2(梯度近似的岭回归)。岭回归问题的解:
是形式为
其中是矩阵,具有由给定的行。因此,如果我们取δ=σMC,其中σMC代表MS估计器中的平滑参数,此外,其中ηMC代表使用该MC估计器的算法的步长,那么RBO算法与MC算法等价,并且证明完成。现在考虑这样的情况:p=1,α=0。但是(因为k=d)是线性***的解,并且其形式如下:
并且我们像之前一样继续,但这次η=ηMCδ。
RBO算法的类别包含基于正交感测的黑盒优化的MC方法作为特例,但是在下一节和在美国临时专利申请号62/793248中,显示使用非正交采样的技术优于依赖正交采样的技术。作为示例,使用p=q=2,p=2,q=1或p=1,α=0的(TR)-RBO算法,将能够针对k<<d学习良好的质量策略(见:美国临时专利申请号62/793,248)。此外(如在下一节中从理论上证明并在美国临时专利申请号62/793,248中通过实验证实的),在噪声状态设置中,大量测量值被任意破坏,RBO算法仍然工作良好,与基于MC的方法相反。
3.鲁棒梯度恢复的示例收敛结果
本节提供了在噪声测量设置中的p=1以及α=0的RBO算法的子类别的示例收敛结果(即使用LP解码来重构黑盒函数F的梯度)。所有的证明都在美国临时专利申请号62/793,248中给出。我们需要关于F的某些平滑性假设,但是正如在美国临时专利申请号62/793,248中所看到的,这些实际上是不需要的,并且(TR)-RBO算法的其他子类别也能够学习好的策略。
使用以下定义。
ρ*=1-F-1(x*). (15)
可以通过数值计算得出ρ*=0.239031891449516803895…
我们准备阐述我们的主要理论成果。
定理1考虑黑盒函数假设F是凹的,Lipschitz带有参数L并且平滑带有平滑参数λ。还假设域是凸的,并且具有l2直径考虑算法1p=1,α=0,τ=0,和噪声设置,其中针对j=1,2,...,k,在每个步骤处,所有测量的最多ρ*的部分被任意损坏。存在通用常数c1>0,使得对于任何γ∈(0,1)和T≤γexp(c1d),以下保持概率至少为1-γ:
其中θ*=argmaxθ∈ΘF(θ)。
如果F呈现额外曲率特性,诸如是强凹的,则可以得到线性收敛速度。
以下定理成立:
定理2假设定理1的条件,此外F强凹带有参数μ。采取算法2.2具有p=1,α=0,τ=0,在噪声环境中作用,其中针对j=1,2,...,k,在每一步处,所有测量的最多ρ*的部分被任意损坏。存在通用常数c1>0,使得对于任何γ∈(0,1)和T≤γexp(c1d),以下保持概率至少为1-γ:
4.示例设备和***
图1A描绘了根据本公开的示例实施例的示例计算***100的框图。***100包括用户计算设备102、服务器计算***130和通过网络180通信耦合的训练计算***150。
用户计算设备102可以是任何类型的计算设备,诸如,例如个人计算设备(例如膝上型或桌上型)、移动计算设备(例如智能电话或平板)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备、工人计算设备,或者任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器114可以存储数据116和由处理器112执行以使用户计算设备102执行操作的指令118。
在一些实施方式中,用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习模型120可以或者可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)、基于决策树的模型(例如随机森林),学习的智能体策略(例如,策略网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短时记忆递归神经网络)、卷积神经网络或其他形式的神经网络。
在一些实施方式中,可以通过网络180从服务器计算***130接收一个或多个机器学习模型120,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实施。在一些实施方式中,用户计算设备102可以实施单个机器学习模型120的多个并行实例。
附加地或替代地,一个或多个机器学习模型140可以包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算***130中或以其他方式由根据客户端-服务器关系与用户计算设备102通信的服务器计算***130存储和实施。例如,服务器计算***140可以将机器学习模型140实施为web服务的一部分。因此,一个或多个模型120可以存储和实施在用户计算设备102和/或一个或多个模型140可以存储或实施在服务器计算***130处。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如手指或触针)的触摸敏感的组件(例如,触摸敏感显示屏幕或触摸板)。触摸敏感组件可用于实施虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以通过其提供用户输入的其他装置。
服务器计算***130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器134可以存储数据136和由处理器132执行以使服务器计算***130执行操作的指令138。
在一些实施方式中,服务器计算***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可以存储数据156和由处理器152执行以使训练计算***150执行操作的指令158。在一些实施方式中,训练计算***150包括一个或多个服务器计算设备,或者以其他方式由一个或多个服务器计算设备实施。
训练计算***150可以包括模型训练器160,模型训练器160使用各种训练或学习技术(诸如,例如,强化学习策略)训练存储在用户计算设备102和/或服务器计算***130处的机器学习模型120和/或140。例如,模型训练器160可以实施本文描述的黑盒优化技术来训练模型120和/或140(例如,以优化模型的参数)。
替代地,模型训练器160还可以执行诸如有监督学习、无监督学习和/或半监督学习的其他学习技术。这些技术可以包括执行基于梯度的优化技术,诸如误差反向传播。在一些实施方式中,执行误差反向传播可以包括执行随时间截断的反向传播。模型训练器160可以执行许多泛化技术(例如,权重衰减、丢弃等)来提高被训练模型的泛化能力。
在一些实施方式中,模型训练器160可以基于训练数据162的集合训练机器学习模型120和/或140。训练数据162可以包括例如在其中模型可以选择采取具有特定结果的特定动作的环境。在其他示例中,训练数据162可以包括带标签的训练示例。
在一些实施方式中,如果用户已经提供同意,则训练示例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可由训练计算***150对从用户计算设备102接收的用户特定数据进行训练。在一些实例中,该过程可被称为个性化模型。
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以在控制通用处理器的硬件、固件和/或软件中实施。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其它实施方式中,模型训练器160包括一个或多个计算机可执行指令的集合,这些指令存储在诸如RAM硬盘或光学或磁性介质的有形计算机可读存储介质中。
网络180可以是任何类型的通信网络,诸如局域网(例如,内部网)、广域网(例如,因特网)或其一些组合,并且可以包括任何数量的有线或无线链路。一般来说,可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来进行网络180上的通信。
图1A示出了可用于实施本公开的一个示例计算***。也可以使用其他计算***。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102上本地训练和使用。在这样的实施方式的一些中,用户计算设备102可以实施模型训练器160以基于用户特定数据个性化模型120。
图1B描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括许多应用(例如,应用1到N)。每个应用都包含其自己的机器学习库和(多个)机器学习模型。例如,每个应用都可以包括机器学习模型。示例应用包括文本消息收发应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可以与计算设备的许多其他组件(诸如,例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实施方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,每个应用使用的API都是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括许多应用(例如,应用1到N)。每个应用都与中央智能层通信。示例应用包括文本消息收发应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用API(例如,所有应用中的公共API)与中央智能层(以及其中存储的(多个)模型)通信。
中央智能层包括许多机器学习模型。例如,如图1C所示,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其他实施方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实施方式中,中央智能层包括在计算设备50的操作***内或由其实施。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的数据的集中存储库。如图1C所示,中央设备数据层可以与计算设备的许多其他组件(诸如,例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实施方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
5.示例方法
图2描绘了根据本公开的示例实施例的用于执行黑盒优化的示例方法200的流程图。尽管为了说明和讨论的目的,图2描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定说明的顺序或布置。方法200的各个步骤可以以各种方式被省略、重新排列、组合、并行化和/或调整,而不偏离本公开的范围。
在202,计算***可以获得描述机器学习模型的多个参数的当前值的数据。
在204,计算***可以从非正交采样分布采样对机器学习模型的多个参数的当前值的多个扰动。
在206,计算***使用性能估计函数为多个扰动分别确定多个性能值。在一个示例中,机器学习模型可以包括强化学习策略,并且性能估计函数可以是确定根据强化学习策略采取的动作的奖励的奖励函数。在另一示例中,机器学习模型可包括神经网络并且例如,性能估计函数可以为损失函数。作为示例,参数可以是机器学习模型的权重(例如,神经网络的神经元的内部参数),或者可以是机器学习模型的超参数(例如,层数、每层中的节点的数目、连接的类型、神经元的类型等)。如又一个示例,机器学习模型可以是具有权重共享机制的结构化网络。
在208,计算***可以执行关于多个扰动和多个性能值的回归,以估计性能估计函数的梯度。作为一个示例,执行回归可以包括基于多个扰动和多个性能值来确定前向有限差分估计器。作为另一示例,执行回归可以包括基于多个扰动和多个性能值来确定对偶估计器。作为另一示例,执行回归可以包括执行针对多个扰动和多个性能值的欠约束线性回归。作为另一示例,执行回归可以包括针对多个扰动和多个性能值执行L1-或L2-正则化回归。
在210,计算***可以至少部分地基于性能估计函数的估计梯度来修改机器学习模型的多个参数中的至少一个的当前值。
在210之后,计算***可确定是否应执行附加迭代。例如,可以执行附加迭代,直到满足一个或多个停止标准。停止标准可以是任意数目的不同标准,包括作为示例,达到预定最大值的循环计数器、参数调整的逐次迭代变化降到阈值以下、估计的梯度低于阈值和/或各种其他标准。
如果确定应该执行附加迭代,则方法200返回到204并且再次对扰动进行采样。然而,如果确定不应执行附加迭代,则方法200前进到212。
在212,计算***可以输出机器学习模型的多个参数的最终优化值作为输出。
图3描绘了根据本公开的示例实施例的用于执行黑盒优化的示例方法300的流程图。尽管为了说明和讨论的目的,图3描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定说明的顺序或布置。可以以各种方式省略、重新排列、组合、并行化和/或调整方法300的各种步骤,而不偏离本公开的范围。
在302,计算***可以获得描述机器学习模型的多个参数的当前值的数据。
在304,计算***可以识别包括在与多个参数的当前值相关联的信任区域内的一个或多个先前估计的扰动。作为一个示例,识别包括在信任区域内的一个或多个先前估计的扰动可以包括识别在距离多个参数的当前值的半径内的任何先前估计的扰动。作为另一示例,识别包括在信任区域内的一个或多个先前估计的扰动可以包括识别最接近多个参数的当前值的先前估计的扰动的固定部分。
在306处,计算***可以针对包括在信任区域内的一个或多个先前估计的扰动分别访问一个或多个先前估计的性能值。
在308处,计算***可以从采样分布采样对机器学习模型的多个参数的当前值的多个附加扰动。采样分布可以是正交的,也可以是非正交的。
在310处,计算***可以使用性能估计函数分别针对多个附加扰动确定多个附加性能值。在一个示例中,机器学习模型可以包括强化学习策略,并且性能估计函数可以是确定根据强化学习策略采取的动作的奖励的奖励函数。在另一示例中,机器学习模型可包括神经网络并且例如,性能估计函数可以为损失函数。作为示例,参数可以是机器学习模型的权重(例如,神经网络的神经元的内部参数),或者可以是机器学习模型的超参数(例如,层数、每层中的节点的数目、连接的类型、神经元的类型等)。如又一示例,机器学习模型可以是具有权重共享机制的结构化网络。
在312,计算***可以针对多个先前估计的扰动和多个附加扰动的组合的第一组合以及多个先前估计的性能值和多个附加性能值的第二组合来执行回归以估计性能估计函数的梯度。作为一个示例,执行回归可以包括基于多个扰动和多个性能值来确定前向有限差分估计器。作为另一示例,执行回归可以包括基于多个扰动和多个性能值来确定对偶估计器。作为另一示例,执行回归可以包括针对多个扰动和多个性能值执行欠约束线性回归。作为另一示例,执行回归可以包括针对多个扰动和多个性能值执行L1-或L2-正则化回归。
在314,计算***可以至少部分地基于性能估计函数的估计梯度来修改机器学习模型的多个参数中的至少一个的当前值。
在314之后,计算***可以确定是否应该执行附加迭代。例如,可以执行附加迭代,直到满足一个或多个停止标准。停止标准可以是任意数目的不同标准,包括例如,循环计数器达到预定最大值、参数调整的参数调整的逐次迭代变化降到阈值以下、估计的梯度低于阈值和/或各种其他标准。
如果确定应执行附加迭代,则方法300返回到304并且再次识别包括在新信任区域中的先前估计的扰动。然而,如果确定不应执行附加迭代,则方法300前进到316。
在316,计算***可以输出机器学习模型的多个参数的最终优化值作为输出。
6.附加公开
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的***,以及所采取的动作和向这些***发送的信息和从这些***发送的信息。基于计算机的***的固有的灵活性允许在组件之间进行各种可能的配置、组合、任务和功能的划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实施。数据库和应用可以在单个***上实施,也可以跨多个***分布。分布式组件可以按顺序或并行操作。
虽然已经关于本主题的各种具体示例实施例详细描述了本主题,但是每个示例都是作为解释而提供的,而不是作为对本公开的限制。本领域技术人员在理解上述内容后,可以容易地对这些实施例进行修改、变化和等效。因此,本公开并不排除对本领域普通技术人员明显的对本公开主题的修改、变更和/或添加。例如,作为一个实施例的一部分示出或描述的特征可与另一实施例一起使用以产生又一实施例。因此,本公开的目的在于涵盖这种改变、变化和等效物。
Claims (22)
1.一种计算机实施的方法,包括:
由一个或多个计算设备获得描述机器学习模型的多个参数的当前值的数据;以及
对于一次或多次迭代中的至少一次:
由所述一个或多个计算设备,从非正交采样分布中采样对所述机器学习模型的多个参数的当前值的多个扰动;
由所述一个或多个计算设备,分别为所述多个扰动确定多个性能值,其中每个扰动的性能值是通过由性能估计函数估计所述机器学习模型的性能生成的,所述机器学习模型具有根据所述扰动而被扰动的其参数的当前值;
由所述一个或多个计算设备,针对所述多个扰动和所述多个性能值执行回归,以估计所述性能估计函数的梯度;以及
由所述一个或多个计算设备至少部分地基于所述性能估计函数的估计梯度修改所述机器学习模型的多个参数中的至少一个的当前值;以及
在所述一次或多次迭代之后,由所述一个或多个计算设备提供所述机器学习模型的多个参数的最终值作为输出。
2.根据权利要求1所述的计算机实施的方法,还包括,对于所述一次或多次迭代中的至少一次:
由所述一个或多个计算设备识别包括在与所述多个参数的当前值相关联的信任区域内的一个或多个先前估计的扰动;以及
由所述一个或多个计算设备,将所述一个或多个先前估计的扰动包括在所述多个扰动中;
其中,由所述一个或多个计算设备分别为所述多个扰动确定多个性能值包括由所述一个或多个计算设备分别为所述一个或多个先前估计的扰动重新使用一个或多个先前估计的性能值。
3.根据权利要求2所述的计算机实施的方法,其中,由所述一个或多个计算设备识别包括在所述信任区域内的所述一个或多个先前估计的扰动包括由所述一个或多个计算设备识别所述多个参数的当前值的半径范围内的任何先前估计的扰动。
4.根据权利要求2的所述计算机实施的方法,其中,由所述一个或多个计算设备识别包括在所述信任区域内的一个或多个先前估计的扰动包括,由所述一个或多个计算设备识别最接近所述多个参数的当前值的先前估计的扰动的固定部分。
5.根据任一前述权利要求所述的计算机实施的方法,其中由所述一个或多个计算设备针对所述多个扰动和所述多个性能值执行回归包括由所述一个或多个计算设备基于所述多个扰动和所述多个性能值确定前向有限差分进化策略估计器。
6.根据权利要求1-4中任一权利要求所述的计算机实施的方法,其中,由所述一个或多个计算设备针对所述多个扰动和所述多个性能值执行回归包括由所述一个或多个计算设备基于所述多个扰动和所述多个性能值确定对偶进化策略估计器。
7.根据任一前述权利要求所述的计算机实施的方法,其中所述机器学习模型包括强化学习策略,并且所述性能估计函数包括确定根据所述强化学习策略采取的行动的奖励的奖励函数。
8.根据任一前述权利要求所述的计算机实施的方法,其中所述机器学习模型包括神经网络。
9.根据任一前述权利要求所述的计算机实施的方法,其中所述机器学习模型的参数包括所述机器学习模型的超参数。
10.根据任一前述权利要求所述的计算机实施的方法,其中,所述机器学习模型包括具有权重共享机制的结构化网络。
11.根据任一前述权利要求所述的计算机实施的方法,其中,由所述一个或多个计算设备针对所述多个扰动和所述多个性能值执行回归包括由所述一个或多个计算设备针对所述多个扰动和所述多个性能值执行欠约束线性回归。
12.根据任一前述权利要求所述的计算机实施的方法,其中,由所述一个或多个计算设备针对所述多个扰动和所述多个性能值执行回归包括由所述一个或多个计算设备针对所述多个扰动和所述多个性能值执行L1-或L2-正则化回归。
13.一种计算***,包括:
一个或多个处理器;和
一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质集中存储指令,所述指令当由所述一个或多个处理器执行时使得所述计算***执行操作,所述操作包括:
获得描述机器学习模型的多个参数的当前值的数据;以及
对于一次或多次迭代中的至少一次迭代:
识别包括在与所述多个参数的当前值相关联的信任区域内的一个或多个先前估计的扰动;
分别为包括在所述信任区域内的一个或多个先前估计的扰动访问一个或多个先前估计的性能值;
从采样分布采样对所述机器学习模型的多个参数的当前值的多个附加扰动;
分别为所述多个附加扰动确定多个附加性能值,其中每个附加扰动的性能值通过由性能估计函数用根据所述附加扰动而被扰动的其参数的当前值估计所述机器学习模型的性能来生成。
针对所述一个或多个先前估计的扰动与多个扰动的第一组合以及所述一个或多个先前估计的性能值和所述多个附加性能值的第二组合执行回归以估计所述性能估计函数的梯度;以及
至少部分地基于所述性能估计函数的估计梯度来修改所述机器学习模型的所述多个参数中的至少一个的当前值。
14.根据权利要求13所述的计算***,其中所述采样分布是正交的。
15.根据权利要求13所述的计算***,其中所述采样分布是非正交的。
16.根据权利要求13-15中任一权利要求所述的计算***,其中识别包括在所述信任区域内的所述一个或多个先前估计的扰动包括识别在所述多个参数的当前值的半径内的任何先前估计的扰动。
17.根据权利要求13-15中任一权利要求所述的计算***,其中识别包括在所述信任区域内的一个或多个先前估计的扰动包括识别最接近所述多个参数的当前值的先前估计的扰动的固定部分。
18.根据权利要求13-17中任一权利要求所述的计算***,其中,执行所述回归包括基于所述一个或多个先前估计的扰动与所述多个扰动的第一级联和所述一个或多个先前估计的性能值与所述多个附加性能值的第二级联来确定前向有限差分进化策略估计器。
19.根据权利要求13-17中任一权利要求所述的计算***,其中,执行所述回归包括基于所述一个或多个先前估计的扰动与所述多个扰动的第一级联和所述一个或多个先前估计的性能值与所述多个附加性能值的第二级联来确定对偶进化策略估计器。
20.一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质集中存储操作,所述操作当由计算***执行时使得所述计算***:
执行权利要求1-12中任一权利要求所述的方法;或
执行权利要求13-19中任一权利要求所述的操作。
21.一种计算机实施的方法,包括执行权利要求13-19中任一权利要求所述的操作。
22.一种装置,配置为执行权利要求1-12中任一权利要求所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962793248P | 2019-01-16 | 2019-01-16 | |
US62/793,248 | 2019-01-16 | ||
PCT/US2019/066547 WO2020149971A2 (en) | 2019-01-16 | 2019-12-16 | Robust and data-efficient blackbox optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113302605A true CN113302605A (zh) | 2021-08-24 |
CN113302605B CN113302605B (zh) | 2024-08-02 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780522A (zh) * | 2014-01-08 | 2014-05-07 | 西安电子科技大学 | 基于双重迭代的非正交联合对角化瞬时盲源分离方法 |
EP2772737A1 (en) * | 2013-02-28 | 2014-09-03 | Siemens Aktiengesellschaft | Method and system for estimating a time of flight of a signal |
CN104616267A (zh) * | 2015-02-17 | 2015-05-13 | 海南大学 | 基于二阶总广义变差最小化的欠采样图像重构的方法 |
WO2017139534A1 (en) * | 2016-02-12 | 2017-08-17 | Google Inc. | Systems and methods for robust large-scale machine learning |
CN108257116A (zh) * | 2017-12-30 | 2018-07-06 | 清华大学 | 一种生成对抗图像的方法 |
CN109165416A (zh) * | 2018-07-30 | 2019-01-08 | 广东工业大学 | 基于回溯的共轭梯度迭代硬阈值辐射能量求解方法 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2772737A1 (en) * | 2013-02-28 | 2014-09-03 | Siemens Aktiengesellschaft | Method and system for estimating a time of flight of a signal |
CN103780522A (zh) * | 2014-01-08 | 2014-05-07 | 西安电子科技大学 | 基于双重迭代的非正交联合对角化瞬时盲源分离方法 |
CN104616267A (zh) * | 2015-02-17 | 2015-05-13 | 海南大学 | 基于二阶总广义变差最小化的欠采样图像重构的方法 |
WO2017139534A1 (en) * | 2016-02-12 | 2017-08-17 | Google Inc. | Systems and methods for robust large-scale machine learning |
CN108257116A (zh) * | 2017-12-30 | 2018-07-06 | 清华大学 | 一种生成对抗图像的方法 |
CN109165416A (zh) * | 2018-07-30 | 2019-01-08 | 广东工业大学 | 基于回溯的共轭梯度迭代硬阈值辐射能量求解方法 |
Non-Patent Citations (4)
Title |
---|
HAIM AVRON 等: "Sharper Bounds for Regression and Low-Rank Approximation with Regularization", 《ARXIV》, pages 1 - 35 * |
KRZYSZTOF CHOROMANSKI 等: "Provably Robust Blackbox Optimization for Reinforcement Learning", 《ARXIV》, pages 1 - 14 * |
KRZYSZTOF CHOROMANSKI 等: "Structured Evolution with Compact Architectures for Scalable Policy Optimization", 《ARXIV》, pages 1 - 16 * |
李通 等: "基于聚类的无监督神经网络模型", 《CAC2018》, pages 650 - 658 * |
Also Published As
Publication number | Publication date |
---|---|
US20220108215A1 (en) | 2022-04-07 |
WO2020149971A3 (en) | 2020-09-17 |
WO2020149971A2 (en) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3711000B1 (en) | Regularized neural network architecture search | |
US11875262B2 (en) | Learning neural network structure | |
US20230267330A1 (en) | Parameter-Efficient Multi-Task and Transfer Learning | |
Tsymbalov et al. | Dropout-based active learning for regression | |
US11468324B2 (en) | Method and apparatus with model training and/or sequence recognition | |
US20220108215A1 (en) | Robust and Data-Efficient Blackbox Optimization | |
US10839293B2 (en) | Noisy neural network layers with noise parameters | |
US20210397895A1 (en) | Intelligent learning system with noisy label data | |
US11494532B2 (en) | Simulation-based optimization on a quantum computer | |
CN110663049A (zh) | 神经网络优化器搜索 | |
US20200327450A1 (en) | Addressing a loss-metric mismatch with adaptive loss alignment | |
US20200265307A1 (en) | Apparatus and method with multi-task neural network | |
US20220366257A1 (en) | Small and Fast Video Processing Networks via Neural Architecture Search | |
Arnold | An active-set evolution strategy for optimization with known constraints | |
US11915120B2 (en) | Flexible parameter sharing for multi-task learning | |
Sahito et al. | Semi-supervised learning using Siamese networks | |
Fujimori et al. | Modality-specific learning rate control for multimodal classification | |
Violos et al. | Predicting resource usage in edge computing infrastructures with CNN and a hybrid Bayesian particle swarm hyper-parameter optimization model | |
CN113302605B (zh) | 鲁棒且数据效率的黑盒优化 | |
Duda et al. | Accelerating deep neural network learning using data stream methodology | |
Chen et al. | On the robustness and generalization of thermal error models for CNC machine tools | |
Yu et al. | Deep neural networks | |
Trentin | Maximum-likelihood estimation of neural mixture densities: Model, algorithm, and preliminary experimental evaluation | |
US20240169707A1 (en) | Forecasting Uncertainty in Machine Learning Models | |
US20240256865A1 (en) | Training neural networks using learned optimizers |
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 |