跳到主要内容
研究文章
开放式访问

算法1025:PARyOpt:一个用于P(P)平行的A类同步表情Ba伊西亚语选择亚胺化

出版:2022年7月19日 出版历史
  • 获取引文提醒
  • 摘要

    PARyOpt公司1是基于Python的贝叶斯优化例程的实现,设计用于远程和异步函数评估。贝叶斯优化对计算优化特别有吸引力,因为它具有低成本功能占用以及解释数据中的不确定性的能力。在分布式计算系统上有效部署任何优化策略的一个关键挑战是同步步骤,在同步步骤中,来自多个函数调用的数据被同化,以确定下一个函数调用活动。贝叶斯优化提供了一种优雅的方法,通过异步更新来解决这个问题。我们制定、开发并实现了贝叶斯优化的并行、异步变体。该框架对外部故障具有鲁棒性和弹性。我们展示了这种异步评估如何帮助减少一系列测试问题的总优化时间。此外,我们还展示了框架的软件设计如何方便地扩展到响应面重建(Kriging),从而为自主探索提供高性能软件。该软件在PyPI上提供,并附有示例和文档。

    1引言

    基于仿真的设计是一种资源高效的方法,用于解决科学和工程中的逆问题和/或设计问题。逆问题/设计问题的目标是确定条件,这些条件可以是初始条件、边界条件或属性/系数分布,从而导致工程系统的期望行为。这些例子无处不在。一个很好的例子是确定定制的处理条件,从而产生具有高性能指标的电子设备。在大多数电子制造业中,已经表明,不同的加工条件会严重影响器件性能,从财务和可持续性的角度来看,确定最佳加工条件是一个关键问题[15,23,24]. 另一个例子是识别/设计具有一系列所需物理化学性质(吸收、混溶、溶解度、毒性等)的有用分子结构。这对制药和化学工业有着重大影响。在基于仿真的工程的所有此类情况下,都花费了大量精力来构建工程问题的优秀“正向”模型,即将输入条件、边界条件和属性分布集映射到感兴趣的输出量的模型(\(\mathcal{F}:\texttt{input}\rightarrow\texttt{property}\)). 然而,设计问题需要了解逆映射(\(\mathcal{F}^{-1}:\texttt{property}\rightarrow\texttt}input}\))它将所需的输出值映射到一组输入。
    在具有复杂正向模型的大多数应用中,显式构造逆映射是不可行的。辨识的设计问题通常被提出为一个优化问题。也就是说,远期模型,\(\mathcal{F}\),在优化框架内多次求解,以确定使成本函数最小化的输入条件,其中最小值的(参数)表示所需的输入值。在复杂的工程应用中,此成本函数的计算通常非常繁琐。它可能涉及计算成本很高的模拟。在这种情况下,这些“正向”仿真是在大范围内进行的高性能计算资源。这种用于仿真的联合方法非常常见,并提供了一些好处,如并行化和成本效益。然而,如此大的共享计算资源通常与一个作业调度程序一起工作,该调度程序跨多个进程、用户和项目平衡负载,导致每个模拟的完成时间不确定(排队时间+初始化时间+计算时间)。除此之外,还需要管理本地计算机和HPC客户端之间的数据。因此,在此类应用中,可以期望成本函数:(a)在HPC集群上求解,(b)计算时间长且不确定,(c)需要在计算机之间进行某种形式的数据传输,以及(d)由于硬件/网络故障而以较小(但有限)的概率失败。近年来,人们提出了各种方法来解决此类约束下的优化问题。
    贝叶斯优化(BO)是一种这样的方法,特别是对于昂贵的成本函数优化。BO通过对输入参数进行自适应采样,通过基展开构造正向模型的替代项。通过有效地构建代理,它实现了两个目的:一是通过所有现有数据点对代理进行插值,二是对构建的代理进行置信度估计。此外,该信息为确定下一组评估/实验(自适应采样)提供了严格的方法。这种形式的代理构造有助于直接减少函数求值和迭代的总数,有助于有效地确定最优值。此外,用于构建代理的高斯(均值、方差)描述支持从纯探索到纯开发的多种搜索。探索有助于建立对构建的代理的信心,而开发利用利用这种信心来找到最优值。探索和利用的混合避免了优化器陷入局部最优。因此,有效的BO使用涉及战略性的、可能同时进行的探索和开发搜索。这种并行化的成本函数评估通常会增加优化的总时间,这通常是由于资源可用性和管理方面的延迟。BO算法在这方面优于其他算法,因为替代项的更新是高斯的,因此数据同化的顺序不影响后验替代项。此外,异步数据同化[6]也可以合并到该算法中,在以后的迭代中同化异常长的函数求值(可能是由于收敛困难、硬件故障和其他一些逻辑原因)。与HPC系统集成的另一个常见挑战是协调跨仿真节点的多个运行。人们可能还对计算实际成本函数值的后处理模拟结果感兴趣。这将需要一个完整的设置来跨多个系统管理数据,通常使用安全的shell协议。
    利用这些优势并解决问题,我们提出了贝叶斯优化的并行实现,它可以:(a)每次迭代执行异步更新,(b)附带一个安全shell登录(SSH)用于HPC集成的模块,以及(c)具有容错重启能力。
    因此,使用PARyOpt,用户可以在本地机器上执行优化,可以灵活地在同一本地机器上或有/无作业调度程序的远程机器上执行模拟。为了解决仿真时间延迟的问题,我们提供了一个异步评估器类,该类可以管理和跟踪仿真的状态,并在完成时自适应地吸收它们。为了解决硬件/软件故障,我们提供了在头节点故障时重新启动优化的功能,以及在模拟故障时重新评估成本函数的功能。在所呈现的测试用例中,异步远程评估器将优化的总时间提高了多达\( 50\% \)此外,该软件还可以用于一般曲面重建,通常称为克里格。本文的其余部分结构如下——在第节2,我们讨论了代理构造背后的基本数学、贝叶斯更新和获取函数以及潜在的并行化途径。章节讨论了该算法的当前实现,以及异步计算器类的开发和使用。在节中4考虑了几个标准优化问题以及kriging,并对新的异步求值器类进行了深入分析。最后在第节5讨论了该软件的代码可用性、再现性和未来发展方向。

    2贝叶斯更新-高斯过程

    在本节中,我们将简要讨论贝叶斯优化算法。核心算法得到了很好的研究,而不是本文的主题[2,19]对于算法的详细说明,其要求和局限性。
    我们考虑一个一般的最小化问题:
    \(开始{方程式},结束{方程式{)
    (1)
    贝叶斯优化通过构造代理成本函数进行\(\波浪线{y}(\mathbf{x})\)。此代理项通过基函数展开表示,围绕每个评估点(\(\mathbf{x_i},i=1,\ldots,N\)). 这样可以确保代理通过(插值)计算的点。如果使用有噪声数据进行评估,代理应在评估点平均值的标准偏差。从分析上看,代理\(\tilde{y}(\mathbf{x})\)之后N个功能评估表示为
    \(开始{等式}\ tilde{y}(mathbf{x})=\sum_{i=1,2,\ldots N}w_i\,k(\mathbf{x} _ i,\mathbf{x})\结束{方程式}\)
    (2)
    通常,\(k(\mathbf{x} _ i,\mathbf{x})\)是一个内核函数(第节2.1)也就是说,它包含两个参数,\(\mathbf{x},\,\mathbf{x} _ i \),并返回函数相关性的标量表示\(y(\mathbf{x})\)在这些点之间\(\mathbf{x}\)\(\mathbf{x} _ i \).重量\(w_i\)通过求解系统N个线性方程\(w_i\)在矩阵表示法中,使用协方差矩阵表示(\(\mathbf{K}\)):
    \(\begin{align}\mathbf{K}\,\bar{w}&=y\end{alinge}\)
    (3)
    \(\开始{align}\mathbf{克}_{i,j}&=k(\mathbf{x} _ i,\mathbf{x} _j(_j)),\,\,i,j\ in[1,N]\end{align}\)
    (4)
    \(\开始{align}y_i&=y(\mathbf{x} _ i)[1,N]\结束{align}\)
    (5)
    \(\begin{align}\bar{w}&=\lbrace w_i\rbrace,\,\ in[1,N]\end{aling}\)
    (6)
    因此,权重是通过反演来计算的\(\bar{w}=\mathbf{K}^{-1}\,y\)注意协方差矩阵\(\mathbf{K}\)是正定核函数的Gram矩阵,使其对称且半正定(参见第节2.1). 此外,由于每次迭代都只向协方差矩阵中添加有限数量的行,因此可以通过增量Cholesky分解进行有效的反演[16]. 代用品的平均值和方差计算如下:
    \(\开始{align}\mu(\mathbf{x}_{N+1})&=\mathbf{k}^T\mathbf}k}^{-1}y_{1:N}\end{align}\)
    (7)
    \(\开始{align}\sigma^2(\mathbf{x}_{N+1})&=k(\mathbf{x}_{N+1},\mathbf{x}_{N+1})-\mathbf{k}^T\,\mathbf{k}^{-1}\,\mathbf{k}\end{align}\)
    (8)
    哪里
    \(\begin{equation}\mathbf{k}=\mathbf2{k}(\mathbf{x}_{N+1})=[k(\mathbf{x} 1个,\mathbf{x}_{N+1})\,k(\mathbf{x} _2,\mathbf{x}_{N+1})\。k(\mathbf{x} _N(_N),\mathbf{x}_{N+1})]\结束{方程式}\)
    (9)
    在每次迭代中,代理项都会使用成本函数中的新数据进行更新。通过优化采集功能(章节2.2). 获取功能是用于估计某个位置处的新信息内容的手段。它使用在上述步骤中计算的平均值和方差。总的来说,算法总结在下图中(图1).
    图1。
    图1贝叶斯优化的模块化设计。请注意如何使用自定义功能(例如异步性和远程评估)设计评估器。下一个图将解释异步计算器的实现。

    2.1内核函数

    内核函数,\(fi(\mathbf{x})=k(\mathbf{x{,\mathbf{x} _ i) \)是贝叶斯优化的最重要组成部分。它嵌入了有关基础成本函数的连续性、周期性和相关长度的信息,为了在高斯过程中用作核函数,该函数应为半正定函数,即。,
    \(\begin{equation}\intk(\mathbf{x},\mathbf{x^{prime}})g(\mathbf{x{)g
    (10)
    对所有人来说\(g,单位:L(chi,mu)),\(\mu\)是任何度量。协方差函数要求的详尽描述见[4]. 对于任何距离度量,\(r=||\mathbf{x}-\mathbf{x}^{\prime}||\),标准平稳协方差函数的一些示例包括:
    (1)
    平方指数协方差函数
    \(开始{方程式}k{SE}(r)=\exp\left(-\frac{r^2}{l^2}\right)结束{方程式{)
    (2)
    协方差函数的母类
    \(开始{方程式}k{Matern}(r)=\frac{2^{1-\nu}}{\Gamma(\nu)}\left(\frac}\sqrt{2\nu}r}{l}\right)^\nu k_\nu\left
    哪里\(K_\nu\)是修正的贝塞尔函数,\(\nu,l\)为正常数
    (3)
    指数协方差函数
    \(\ begin{equation}k_{E}(r)=\exp\left(-\frac{r}{l}\right)\ end{equation}\开始{方程}k_{E}(r)=\exp\left(-\frac{r}{l}\right)
    (4)
    \(伽玛射线)-指数函数
    \(\begin{方程}k_{gE}(r)=\exp\left(-\左(\frac{r}{l}\右)^\gamma\right)\end{方程{)
    (5)
    有理二次协方差函数
    \(\begin{equation}k_{RQ}(r)=\left(1+\frac{r^2}{2\alpha l^2}\right)^{-\alpha}\end{equation}\)
    (6)
    具有紧支撑的分段多项式:中讨论了几个算法[22],其中一个示例具有紧凑的支持D类尺寸由下式给出
    \(\开始{方程式}k_{ppD,0}=\左(1-\frac{r}{l}\右)^j_+\结束{方程式{)
    哪里\(j\ge\lfloor\frac{D}{2}\rfloor+1\).
    虽然可以使用几类核函数,但在我们的实现中,我们主要关注平稳函数(径向基函数)。它包含一些最常用的内核函数,如平方指数、Matern\( 3/2 \)和马特\( 5/2 \)它被实现为一个单独的内核函数类,以便用户可以从该类派生并提供自己的自定义内核函数。此类还包含设置长度刻度参数的功能。此功能用于估计和调整当前长度刻度,以便使用给定的内核函数类构建更好的代理。

    2.1.1最大似然估计。

    这个最大似然估计(MLE)对于高斯过程,基于当前可用数据提供有关代理优度的信息。这为估计核函数中的长度尺度提供了一种严格的方法。通常称为超参数估计,这是通过最小化代理的MLE来实现的[13]. MLE定义为:
    \(\开始{align}MLE=&\log(y^T\mathbf{K}^{-1}年)+\frac{1}{N}\log(det(\mathbf{K}))\nonmember\nonmember\\=&\log(y^T\mathbf{K}^{-1}年)+\frac{1}{N}\sum_{i=1}^N{\log(\lambda_i(\mathbf{K}))}\end{align}\)
    (17)
    方程式的右侧(17)可以分为两个术语:第一个术语量化了模型与数据的拟合程度,即马哈拉诺比距离[11]模型预测与数据之间的关系;第二项量化了模型的复杂性&更平滑的协方差矩阵将具有更小的决定因素,因此复杂性惩罚更低。最小化此度量的核函数参数是构造代理的最佳集合。这里应该注意的是,过早的核参数优化通常会导致估计值高度偏斜,只有在评估了足够数量的数据点后才能进行MLE估计[1,]. 有关贝叶斯优化中超参数估计的详细讨论,请参见[7,19,21].

    2.2采集功能

    采集功能通知选择下一个评估成本功能的点,它有时也称为“填充”标准。预计采购功能将定位成本功能评估的最有用点。在处理非常昂贵的成本函数时,这一点尤其必要。获取函数对代理的均值和方差进行运算,\(\波浪线{y}\),并确定下一次评估的“最佳”点。通常,这些函数的定义是,低采集值对应于(a)(b)低成本函数值(剥削),(c)高不确定性(探索)(d)勘探与开发之间的平衡。
    最小化采集功能可用于指导选择下一个评估点。软件中实现的一些常用采集功能如下所示:
    (1)
    置信下限:基于代理项的均值和方差,代理项的置信下限定义为
    \(\begin{方程式}LCB(\mathbf{x})=\mu
    \(\kappa\)是一个手动可调参数,表示对较小值的利用性搜索和对较大值的探索性搜索。
    (2)
    改进概率:这估计了代理在给定位置的改进概率。它由以下公式给出:
    \(\begin{方程式}PI(\mathbf{x})={left\lbrace\begin{array}{ll}\phi\left(\frac{f_{min}-\mu(\mathbf{x{)}{sigma(\mathcf{xneneneep)}\right),&\文本{if}\\sigma(\mathbf{x})\gt 0\\0,&\文本{if}\\sigma(\mathbf{x})=0\end{array}\right。}\结束{方程式}\)
    哪里
    \(\begin{方程式*}I(\mathbf{x})=\text{min}\left\lbrace\frac{f_{min}-\mu(\mathbf{x{)}{\sigma(\mathcf{xneneneep)},0\right\rbrace\end{equation*})
    是在给定位置的有效改进,以及\(\phi(\mathbf{x})\)是正态概率分布函数。
    (3)
    预期改善:该指标估计了代理人在某一地点的改善预期,具体如下:
    \(\bbegin{equation}EI(\mathbf{x})={\left\lbrace\bbegin{array}{ll}\mu(\mathbf{x})+(f_min}-\mu(\mathbf{x}))\Phi\left(\frac{f_min}-\mu(\mathbf{x})}{\sigma(\mathbf{x})}\right)+\sigma(\mathbf{x})\Phi\left(\frac{f_{分钟}-\mu(\mathbf{x})}{\sigma(\mathbf{x{)}\right),&\文本{if}\\sigma(\mathbf{x})\gt 0\\0,&\文本{if}\\sigma(\mathbf{x})=0\end{array}\right。}\结束{方程式}\)
    与置信下限类似,预期改善也可以参数化,以指导勘探与开采的优化。此修改后的EI称为广义EI(g-EI)并在[18].

    2.3并联

    该算法的并行化有几种策略[17,20]. 它可以是(a)协方差矩阵构造过程中的线性代数的并行化;(b) 多次优化/勘探开发的采集函数优化;(c) 成本函数执行; 以及(d)通过多个工作线程进行成本函数评估。其中,前两种策略的计算优势很小,因为在这些阶段花费的时间远小于昂贵的成本函数。因此,我们采取了并行化成本函数执行和评估的路线。这对于基于HPC的评估尤其重要,因为HPC能够同时运行多处理器作业。此外,并行化函数求值为异步数据同化创建了一个自然的设置。由于更新是贝叶斯的,数据添加到原始先验中的顺序无关紧要。下一个函数求值的选择完全取决于数据,而不是数据的顺序。这也可以从协方差/相关矩阵的构造中看出,协方差/相关性矩阵是对称的,数据的顺序只影响行和列的顺序,而对矩阵的特征没有影响。该算法的这一特性使其具有异步性。在技术延迟的情况下(通常是较长的排队时间或HPC集群上的硬件故障),可以稍后添加所选的“填充”评估点,而不会影响优化的进度。我们在结果部分中介绍了对该算法的分析,其中包括多长时间以及每次迭代的最小求值次数。

    3异步功能评估

    为了从评估平台中抽象成本函数评估,我们开发了一个成本函数评估器类(图2). 这个评价者是一个特殊函数,它接受两个参数:一个是要评估的“新”点列表,另一个是评估完成后要包含的“旧”未决点列表。函数求值器返回三个列表:完成点列表(及其成本函数值)、挂起点列表(仍在求值)和未求值点列表。两个输入点列表的并集始终等于三个输出点列表的合集。
    图2。
    图2.异步计算器:评估员收到两份待评估分数和新分数列表。它返回三个列表–评估完成、待处理点和评估失败。完成的评估分数可以由异步分数(块分数)控制。
    成本函数计算器最直接的实现是循环遍历所有输入点,并在每个点连续计算成本函数。我们可以通过生成并行处理输入点列表的工作线程(或进程),将其扩展为并行计算点,直到计算完每个点,然后返回结果。在这两种情况下,返回的挂起列表总是空的:所有点要么成功完成,要么失败。我们将这两种实现都称为“同步”,因为贝叶斯优化算法在评估所有输入点之前不会继续下一次迭代。
    由于成本函数评估时间可能会有很大变化,我们引入了一个可调谐的参数,该参数控制每次迭代的“新”点的分数必须完成在函数计算器返回之前。值1.0模拟同步/阻塞行为:必须在函数求值器返回之前计算所有点,挂起的列表将始终为空。如果值为0.6,则在继续下一次迭代之前,将等待至少60%的当前迭代点进行评估,并返回挂起列表中的其余点。值0.0将开始计算输入点,然后立即返回挂起列表中的所有输入点。只有“新”点(函数求值器的第一个参数)被视为该分数的一部分,以防止累积难以求值的陈旧点阻碍迭代。2
    以后对函数求值器的调用会将之前重新返回的挂起点列表作为第二个参数(“旧”点)传递。一旦评估者完成对“新”点列表的评估,它就会检查是否有任何未决的“旧”点已经完成(或失败)。如果有,则会将其添加到相应的列表中。如果没有,则会将其添加到待定列表中。评估人员从不等待“旧”分数。

    3.1实施细节

    该包附带了一个计算器类,该类支持异步函数求值。异步计算器类的基本输入是最大同时数评估平台和阻塞分数在继续进行下一次贝叶斯更新之前,需要完成个作业(共个)。例如,典型HPC集群上的最大作业数可能是50,但在本地4核计算机上只有4个。阻塞分数可以从0到1不等指示完全异步更新表示完全同步更新。该类必须针对特定平台派生,并为本地计算机和基于SBATCH调度器的HPC系统提供了示例。在本地机器上,实现方法以生成每个成本函数评估的进程。通过进程id,监控操作系统的进程表,以检测每个功能评估的完成情况。对于集群,基于SBATCH的排队系统包括示例计算器子类,对于该系统,实现了通过其作业Id它附带了一个完整的设置,用于使用Python的Paramiko SSH库执行文件传输和远程作业提交。用户只需提供外部方法,即可解析模拟输出文件并将其分类为以下三类之一:(a)(b)值未就绪; (c)评估失败; 和(d)评估增益;
    具有的作业值未就绪被推到未来贝叶斯同化的待处理列表中。如果评估完成,将调用结果解析脚本(用户提供的),它要么返回成本函数值(float),要么返回评估失败评估增益。具有评估失败未来不会评估状态。这是通过使用克里格信徒[5]策略,即我们完全相信现有的kriging曲面,以准确地表示失败评估点的值。这种策略自然避免了在失败点进行未来评估。那些带有评估增益状态将再次提交。

    4结果和讨论

    所有实验均在爱荷华州计算设施上进行。这些处理器是Intel Skylake 6140处理器,每个节点有36个处理器、每个节点192GB内存和100G IB互连。

    4.1优化

    有限预算优化。

    我们首先证明并行化不会影响算法寻找真正全局最优解的能力。在域上对标准Rastrigin成本函数进行优化\((x,y)\ in[-12,12]:\ times[-12,12]\).
    \(开始{方程*}f(x,y)=20+x^2+y^2-10 cos(2\pix)-10 cos
    全局最小值位于\( (0, 0) \)函数值为0.0。没有使用异步性,所有评估都用于更新代理。在所有情况下平方指数内核函数与一起使用低成本银行作为采集功能。在所有跑步中,都是一样的\(\kappa\)策略用于一致性。使用了两个不同级别的并行化:第一个级别的每次迭代有4个填充点,第二个级别的每个迭代有8个填充点。这两种情况都与标准的串行贝叶斯优化进行了比较。用不同的并行级别绘制函数求值的位置。应该注意到,通过使用并行优化器,优化不会受到影响。评估的路径确实受到并行化程度的影响。填充点的同时识别有助于模拟勘探开发搜索,而无需明确调整\(\kappa\)-战略。
    图3。
    图3不同并行度下Rastrigin函数的贝叶斯优化。请注意,在给定的预算内,串行和并行实现都可以毫不费力地达到最佳效果。虽然收敛的性质取决于成本函数和初始猜测,但重要的是要注意,PARyOpt在所有并行化场景中都达到了最佳效果。

    异步评估器。

    接下来,我们将演示异步计算器的性能和优点。使用相同的Rastrigin函数,我们展示了异步优化如何在不确定的函数求值时间下提高总优化时间。由于本例中的成本函数很便宜,因此函数求值是即时的。因此,为了演示异步工作,我们人为地强制执行有限的总评估时间。为此,我们从平均值为10秒、标准偏差为2.5秒的正态分布中采样时间。这种分布代表了标准调度器中的队列等待时间。其他时间,如评估时间和启动时间均假定为常数。选择10秒的平均时间,这样总时间很小,同时也不会太小,不会被程序(这里是Python)启动时间所掩盖。与之前的测试一样平方指数内核函数与低成本银行采集功能。由于每个评估的完成时间(此处为等待时间)是(确定的)不确定的,因此执行了几(200)次优化实现,以获得总优化时间的趋势。这些实现是用拉丁超立方体采样进行初始化的,从而在实现中产生一致但不同的初始猜测。4显示了不同阻塞分数值的优化完成总时间。排除少数异常值(用图中的点表示4(a) ),可以观察到,随着阻塞率的降低,总优化时间持续减少。平均完成时间与阻塞分数呈有趣的线性趋势,表明异步优化相对于完全阻塞优化的强大优势。在这个简单的例子中,改进取决于\( 50\% \)与同步实现相比,平均而言。然而,虽然平均完成时间显著缩短,但较低阻塞分数的不确定性增加。这是当前测试用例的预期结果,与完全阻塞优化相比,异步评估器受等待时间的影响更大。最后,应该注意的是,在最坏的情况下,所有阻塞部分的总完成时间相似,不受异步性的影响。
    图4。
    图4异步贝叶斯优化:固定预算优化的完成时间。
    异步计算器经过了更真实的等待和模拟时间测试。我们对评估器进行了严格的测试,使用不同的等待时间分布,即正态分布和半正态分布[8],指数[8]以及常数、不同的平均仿真等待时间比和不同的分布宽度。结果如图所示5需要注意的是,最大的性能增益是针对等待时间占主导地位、等待时间分布宽度较大的场景。在等待时间分布较窄的情况下,有效时间的改善几乎不明显。
    图5。
    图5。具有不同等待时间分布和模拟时间的异步计算器的性能。请注意,对于更长和更宽的等待时间分布(蓝色曲线和底行),可以获得最大加速比。请放大图例,以便更清楚地定义每个面板的实际标准化时间。

    基准优化。

    在这里,我们展示了使用标准基准函数的软件的工作情况,以及问题的维数如何影响精度。更具体地说,我们研究了Ackley、Rosenbrock、Rastrigin和Griewank函数,这些函数在与标准优化方法收敛时会造成困难。桌子12显示结果。在所有这些情况下,都没有使用并行化。这个平方指数内核与液化石油气采集功能。退火类型\(\kappa\)参数[18]用于LCB功能。可以观察到\(\kappa\)策略,PARyOpt可以同时探索和利用搜索空间,以有效地达到最优。此外,由于搜索空间的维数增加,所定位的最优值的准确性受到影响–当维数增加时,PARyOpt所定位的最佳值与实际的最小值相差很远。
    表1。
    成本函数Optima位置定位Optima
    Ackley函数(0.0, 0.0)(1.35秒\( - \)11,\( - \)2.95秒\( - \)08)
    Rosenbrock函数(1.0, 1.0)(0.9999999945, 1.00000000124)
    拉斯特里金函数(0.0, 0.0)(1.97e)\( - \)08年11月17日\( - \)09)
    Griewank函数(0.0, 0.0)(\( - \)0.0003,\( - \)0.0009)
    表1.基准优化测试功能优化结果:2D
    我们使用20个系列评估进行了固定预算优化。
    表2。
    成本函数 Optima位置定位Optima与真实Optima的距离(\(l_\infty))
    阿克利函数N=5D\(x_i=0.0)对于\(1、2中的i,N)1.75e-9页
     N=10D 1.57e-7页
     N=20天 1.57e-4个
    Rosenbrock函数N=5D\(x_i=1.0)对于\(1、2中的i,N)1.25e-9段
     N=10D 3.62e-7段
     N=20天 5.7e-4节
    拉斯特里金函数N=5D\(x_i=0.0)对于\(1、2中的i,N)1.136电子-7
     N=10D 4.23e-6段
     N=20天 3.8e-3条
    Griewank函数N=5D\(x_i=0.0)对于\(1、2中的i,N)1.2e-4段
     N=10D 2.4电子-3
     N=20天 5.9e-3条
    表2.基准优化测试函数的优化结果:更高维度
    我们进行了固定预算优化10天中的评估D类尺寸。

    4.2克里格

    克里格是一种基于高斯先验和后验的更通用插值技术。它根据平均值和方差通知不同位置的函数值,其工作原理类似于距离加权插值。克里金和贝叶斯优化的算法基础非常相似——使用局部基函数创建插值代理。在工程中,kriging有多种应用,特别是在自适应、自动化实验设计领域。由于众所周知的维度诅咒和昂贵的实验,工程师们希望算法能够告知区域最大的新信息内容。我们当前的实现通过选择获取函数的探索模式很容易实现这一点。
    我们通过考虑以下示例来演示此实用程序:给定曲线(1-D)的最有效采样是什么。我们将比较贝叶斯抽样和均匀间隔评估的评估次数,这是响应面重建的典型情况。在本研究中,我们考虑纯分析函数——尽管它们的评估很便宜,但它提供了一种简单有效的方法,可以看到评估数量对函数复杂性的依赖性。
    显示了当前软件如何用于kriging。每行显示基础曲线的不同形式。左栏显示了带有未优化长度参数的结果,右栏显示了具有优化(内核)参数的结果。请注意执行MLE最小化对于使用Kriging实现高效重建的重要性。所有结果都是在纯勘探模式下使用低成本银行采集功能。
    表3。
    表3.使用PARyOpt进行克里金
    在这些示例中,我们执行了预算克里格法,即函数求值的总数是固定的。请注意,使用MLE的超参数优化如何帮助建立对构建的代理的更大信心。

    5结论和未来工作

    在这项工作中,我们提出了执行并行异步贝叶斯优化的软件。通过测试示例讨论并展示了这种异步评估的几个优点。具体来说,我们表明异步实现确实加快了总优化时间。当作业队列的等待时间分布非常分散时,此加速比可达10倍。该框架是完全模块化的,使用户能够用定制的功能替换任何功能。该框架还可以扩展以执行克里金。给出了一些示例来说明当前框架如何做到这一点。在本文中,我们顺便说明了该软件对成本函数不可知的能力,以及异步评估加快了总优化时间。这在涉及复杂并行科学模拟器的实际优化问题中得到了实际验证。PARyOpt的使用示例可以在材料科学中找到[10,14],粒子流[9]和患者特定的心脏模型[12]. 此软件在上免费提供比特桶文档托管在阅读文档。我们预计材料设计界将广泛使用此框架。

    脚注

    1
    Paryopt发音为它在印地语中表示称职和最佳。
    2
    这还可以防止迭代以最陈旧的点完成。

    补充材料

    ZIP文件 (1025.拉链)
    PARyOpt软件:并行异步远程贝叶斯优化软件

    工具书类

    [1]
    罗曼·贝纳西、朱利安·贝特和伊曼纽尔·巴斯克斯。2011基于全贝叶斯期望改进准则的稳健高斯过程全局优化施普林格。176-190页。
    [2]
    E.Brochu、V.M.Cora和N.De Freitas。2010年,昂贵成本函数的贝叶斯优化教程,应用于主动用户建模和分层强化学习。(2010),49页。
    [3]
    亚当·D·布尔。2011.高效全局优化算法的收敛速度。机器学习研究杂志12(2011年10月),2879-2904。
    [4]
    卡尔·爱德华·拉斯穆森和克里斯托弗·威廉姆斯,2004年。机器学习的高斯过程。(2004), 69–106.arxiv:026218253X号
    [5]
    David Ginsbourger、Rodolphe Le Riche和Laurent Carraro。2010年。克里格非常适合并行化优化。昂贵优化问题中的计算智能施普林格,131-162。
    [6]
    Janis Janusevskis、Rodolphe Le Riche、David Ginsbourger和Ramanus Girdziusas。2012.昂贵函数的异步并行全局优化的预期改进:潜力和挑战。计算机科学课堂讲稿(包括人工智能子系列课堂讲稿和生物信息学课堂讲稿)第7219卷,LNCS。柏林施普林格,413-418。
    [7]
    唐纳德·琼斯(Donald R.Jones)、马蒂亚斯·肖诺(Matthias Schonlau)和威廉·J·韦尔奇(William J.Welch)。1998.对昂贵的黑盒函数进行有效的全局优化。全球优化杂志13, 4 (1998), 455–492.
    [8]
    Kirthevasan Kandasamy、Akshay Krishnamurthy、Jeff Schneider和Barnabas Poczos。2018年,通过汤普森抽样进行并行贝叶斯优化。第二十一届国际人工智能与统计会议论文集(机器学习研究论文集)阿莫斯·斯托基(Amos Storkey)和费尔南多·佩雷斯-克鲁兹(Fernando Perez-Cruz)(编辑),第84卷。加那利群岛兰萨罗特帕亚布兰卡PMLR,133-142。http://proceedings.mlr.press/v84/kandasamy18a.html.
    [9]
    Aditya Kommajosula、Daniel Stoecklein、Dino Di Carlo和Baskar Ganapathysubramanian。2019.惯性微流体流中稳定微粒的形状设计。(2019),29页。https://arxiv.org/pdf/1902.05935.pdf.
    [10]
    Shi Li、Balaji Sesha Sarath Pokuri、Sean M.Ryno、Asare Nkansah、Camron De’Vine、Baskar Ganapathysubramanian和Chad Risko。2020年。通过结合分子动力学和贝叶斯统计方法测定有机溶液混合的自由能。化学信息与建模杂志60, 3 (2020), 1424–1431.
    [11]
    普拉桑塔·钱德拉·马哈拉诺比斯(Prasanta Chandra Mahalanobis),1936年。关于统计学中的广义距离。美国国家科学院院刊,第2卷。印度国家科学院,49-55。
    [12]
    约书亚·米诺洛夫(Joshua Mineroff)。2018患者特定心脏模型的优化和不确定性量化框架博士论文。爱荷华州立大学。
    [13]
    迈克尔·蒙吉洛。2011.为径向基函数方法选择基函数和形状参数。SIAM本科生在线研究4 (2011), 190–209.
    [14]
    Spencer Pfeifer、Balaji Sesha Sarath Pokuri、Pengfei Du和Baskar Ganapathysubramanian。2018年,薄膜有机电子中微结构相关特性的工艺优化。材料发现11 (2018), 6–13.
    [15]
    Balaji Sesha Sarath Pokuri、Joseph Sit、Olga Wodo、Derya Baran、Tayebeh Ameri、Christoph J.Brabec、Adam J.Moule和Baskar Ganapathysubramanian。2017年,医生叶片与旋涂有机光伏薄膜的纳米形态。先进能源材料7, 22 (2017), 1701269.
    [16]
    卢卡斯·波洛克(Lukas Polok)、马雷克·索洛尼(Marek Solony)、帕维尔·斯莫兹(Pavel Smrz)、维奥雷拉·伊拉(Violela Ila)和帕维尔·泽姆西克(Pavel-Zemcik)。2013.机器人最小二乘问题的增量Cholesky因子分解。IFAC程序。第卷。8 (2013), 172–178.
    [17]
    隆美尔·里吉斯(Rommel G.Regis)和克里斯汀·舒梅克(Christine A.Shoemaker)。2007.昂贵函数全局优化的并行径向基函数方法。欧洲运筹学杂志182、2(2007年10月)、514–535。
    [18]
    Michael J.Sasena、Panos Papalambros和Pierre Goovaerts。2002.探索约束全局优化的元建模采样标准。工程优化34, 3 (2002), 263–278.
    [19]
    Bobak Shahraria、Kevin Swersky、Ziyu Wang、Ryan P.Adams和Nando De Freitas。2016.让人类脱离循环:贝叶斯优化综述。程序。电气与电子工程师协会104, 1 (2016), 148–175.
    [20]
    王佳磊、斯科特·克拉克、埃里克·刘和彼得·弗雷泽。2016.昂贵函数的并行贝叶斯全局优化。(2016).阿西夫:1602.05149http://arxiv.org/abs/1602.05149.
    [21]
    王子瑜(Ziyu Wang)和南多·德·弗雷塔斯(Nando de Freitas)。2014.未知高斯过程超参数贝叶斯优化的理论分析。(2014).http://arxiv.org/abs/1406.7758.
    [22]
    霍尔格·温德兰(Holger Wendland)。2005年,《分散数据近似》,剑桥应用和计算数学专著第17卷。剑桥大学出版社28 (2005), 29.
    [23]
    Olga Wodo和Baskar Ganapathysubramanian。2012.基于溶剂的有机太阳能电池制造过程中的形态演变建模。计算材料科学55 (2012), 113–126.
    [24]
    Kui Zhao、Olga Wodo、Dingding Ren、Hadayat Ullah Khan、Muhammad Rizwan Niazi、Hanlin Hu、Maged Abdelsamie、Ruipeng Li、Erqiang Li和Liyang Yu等。2016.小分子垂直相分离:聚合物共混有机薄膜晶体管可动态控制。先进功能材料26, 11 (2016), 1737–1746.

    引用人

    查看全部
    • (2022)的优化框架特定于患者不确定性建模国际生物医学工程数值方法杂志10.1002/cnm.366539:2在线发布日期:2022年12月14日

    建议

    评论

    信息和贡献者

    问询处

    发布于

    数学软件上的封面图像ACM事务
    ACM数学软件汇刊 第48卷第2期
    2022年6月
    308页
    国际标准编号:0098-3500
    EISSN公司:1557-7295
    内政部:10.1145/3530304
    期刊目录

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2022年7月19日
    认可的:2021年11月1日
    修订过的:2021年7月1日
    收到:2018年9月1日
    发表于TOMS体积48,问题2

    权限

    请求对此文章的权限。

    检查更新

    徽章

    作者标记

    1. 贝叶斯优化
    2. 并行优化
    3. 远程评估
    4. python软件

    限定符

    • 研究文章
    • 推荐

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载量(最近12个月)266
    • 下载次数(最近6周)18

    其他指标

    引文

    引用人

    查看全部
    • (2022)优化框架特定于患者不确定性建模国际生物医学工程数值方法杂志10.1002/cnm.366539:2在线发布日期:2022年12月14日

    视图选项

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    HTML格式格式

    在中查看本文HTML格式格式。

    HTML格式

    获取访问权限

    登录选项

    完全访问权限

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享