贝叶斯优化方法和应用综述

贝叶斯优化方法和应用综述

1.摘要

设计类问题在科学研究和工业领域无处不在.作为一种十分有效的全局优化算法,近年来,贝叶斯优化方法在设计类问题上被广泛应用.通过设计恰当的概率代理模型和采集函数,贝叶斯优化框架只需经过少数次目标函数评估即可获得理想解,非常适用于求解目标函数表达式未知、非凸、多峰和评估代价高昂的复杂优化问题.本文从方法论和应用领域两方面深入分析、讨论和展望了贝叶斯优化的研究现状、面临的问题和应用领域,期望为相关领域的研究者提供有益的借鉴和参考.
关键词:贝叶斯优化;全局优化算法;概率代理模型;采集函数;黑箱

2.介绍

目前在各行各业都容易出现这样一类优化问题:优化目标不仅具有多峰、非凸、高维、决策空间巨大等常见特征,通常还具有黑箱和评估代价高昂等新特点.优化目标不存在明确的数学表达,并且需要花费高额代价才能观测到目标函数的返回值
举个例子:在研制某癌症的有效药物问题中,药物配方可以作为决策空间,药物效果(药物效果用药物能够治愈病人的概率大小来描述)作为函数输出,临床实验作为评估药物效果的手段,目标是找到一种药物配方,使得药物能够最大概率地治愈病人.在该问题中,目标函数很难写成一个明确的数学表达式,评估函数过程可能会导致病人死亡.显然,这样的评估代价是巨大的.
针对具有以上特征的复杂设计问题,贝叶斯优化(Bayesian optimization,简称BO)是一种有效的解决方法.
贝叶斯优化已经应用于网页、游戏和材料设计、推荐系统、用户界面交互、机器人步态、导航和嵌入式学习系统、环境监控、组合优化、自动机器学习、传感器网络等领域,展示出令人瞩目的发展前景.

2.贝叶斯优化介绍

贝叶斯优化是一个很有效的全局优化算法,目标是为了找到全局最优解。本质上,因为贝叶斯优化框架使用代理模型拟合真实目标函数,并根据拟合结果主动选择最有“潜力”的评估点进行评估,避免不必要的采样,因此,贝叶斯优化也称作主动优化(active optimization)。同时,贝叶斯优化框架能够有效地利用完整的历史信息来提高搜索效率。
贝叶斯优化之所以称作“贝叶斯”,是因为优化过程中利用了著名的“贝叶斯定理”:
在这里插入图片描述

这个其实就是概率论上学的贝叶斯公式。其中,f 表示未知目标函数(或者表示参数模型中的参数);D1:t={(x1,y1),(x2,y2),…,(xt,yt)}表示已观测集合,xt 表示决策向量,yt=f(xt)+ᴈt 表示观测值,ᴈt 表示观测误差;p(D1:t|f)表示 y 的似然分布,由于观测值存在误差,所以也称为“噪声”;p(f)表示 f 的先验概率分布,即,对未知目标函数状态的假设;p(D1:t)表示边际化 f 的边际似然分布或者“证据”,由于该边际似然存在概率密度函数的乘积和积分,通常难以得到明确的解析式,该边际似然在贝叶斯优化中主要用于优化超参数(hyper-parameter);p(f|D1:t)表示 f 的后验概率分布,后验概率分布描述通过已观测数据集对先验进行修正后未知目标函数的置信度.
贝叶斯优化框架主要包含两个核心部分——概率代理模型(probabilistic surrogate model)和采集函数(acquisition function)

  • 概率代理模型包含先验概率模型和观测模型:先验概率模型即 p(f);观测模型描述观测数据生成的机制,即似然分布 p(D1:t|f).更新概率代理模型意味着根据贝叶斯公式得到包含更多数据信息的后验概率分布p(f|D1:t).
  • 采集函数是根据后验概率分布构造的,通过最大化采集函数来选择下一个最有“潜力”的评估点.同时,有效的采集函数能够保证选择的评估点序列使得总损失(loss)最小.

贝叶斯优化框架
在这里插入图片描述
下图为贝叶斯优化框架应用在一维函数 f(x)=(x-0.3)**2+0.2sin(20x)上 3 次迭代的示例:
在这里插入图片描述
贝叶斯优化原理

贝叶斯优化更侧重于减少评估代价,保证其能够仅经过少数次目标函数评估即可得到近优解.
贝叶斯优化与其他几个优化算法的对比:
在这里插入图片描述
贝叶斯优化的局限性:

  1. 贝叶斯优化在更新概率代理模型时需要高昂的计算开销。比如在使用高斯过程代理黑箱函数时,模型更新的时间复杂度为立方阶。一些研究采用近似技术和并行方法降低模型复杂度,提高计算效率,以缓解更新概率模型计算开销大的问题,详见后文
  2. 相比无模型的优化方法,贝叶斯优化需要谨慎地选择模型和先验.在使用贝叶斯方法解决具体问题时,需要根据问题背景和专家知识选择合适的概率模型来代理黑箱函数.为贝叶斯优化选择合适的概率代理模型,甚至比选择恰当的采集函数更为重要.目前,还不存在一种通用的方法为贝叶斯优化选择合适的代理模型和先验分布,都是采取具体问题具体分析的策略.

根据以上特点分析,贝叶斯优化适合求解优化目标存在多峰、非凸、黑箱、存在观测噪音并且评估代价高昂等特点的问题,例如危险化学试剂实验、危害生命的药物测试、航空航天测试等等.但这些需要我们根据具体问题选择合适的模型代理模型和采集策略,才能充分发挥贝叶斯优化方法的潜力.

3.贝叶斯优化中常用的概率代理模型和采集函数

3.1概率代理模型

3.1.1高斯过程

该部分内容最重要,所以比较多。
高斯过程(Gaussian processes,简称 GPs)是常用的一种非参数模型,目前,高斯过程已被广泛应用在回归、分类以及许多需要推断黑箱函数的领域中.GaussianFace是高斯过程在人脸识别上的应用,该应用在人脸识别领域的表现胜过其他深度学习方法甚至人类.通常情况下,神经网络和高斯过程之间有这样一个联系:存在无限多个隐层单元的神经网络等价于高斯过程.
高斯过程是多元高斯概率分布的范化.一个高斯过程由一个均值函数 m(x) 和一个半正定(一个有效的协方差函数必须是半正定的)的协方差函数 k(x,x’) 构成:
在这里插入图片描述

其中,均值函数和协方差函数分别为:
在这里插入图片描述

在这里插入图片描述
(下面部分比较难懂,如果需要的话可以留言,我尽量写详细点)
高斯过程是一个随机变量的集合,存在这样的性质:任意有限个随机变量都满足一个联合高斯分布.首先假设一个 0 均值的先验分布 p:
在这里插入图片描述
其 中 , X 表 示 训 练 集 x 1 , x 2 , … , x t f 表 示 未 知 函 数 f 的 函 数 值 集 合 f ( x 1 ) , f ( x 2 ) , … , f ( x t ) 其中,X 表示训练集{x1,x2,…,xt}f 表示未知函数 f 的函数值集合{f(x1),f(x2),…,f(xt)} ,Xx1,x2,,xtfff(x1),f(x2),,f(xt)
Σ 表 示 k ( x , x ′ ) 构 成 的 协 方 差 矩 阵 ( Σ i , j = k ( x i , x j ) ) , θ 表 示 超 参 数 . \Sigma表示 k(x,x')构成的协方差矩阵(\Sigma i,j=k(xi,xj)),\theta表示超参数. Σk(x,x)(Σi,j=k(xi,xj)),θ.
当 存 在 观 测 噪 声 时 , 即 y = f ( x ) + ϵ , 且 假 设 噪 声 满 足 独 立 同 分 布 的 高 斯 分 布 : p ( ϵ ) = ( 0 , σ ) . 从 而 得 到 似 然 分 布 : 当存在观测噪声时,即y=f(x)+\epsilon,且假设噪声满足独立同分布的高斯分布:p(\epsilon)=(0,\sigma).从而得到似然分布: ,y=f(x)+ϵ,:p(ϵ)=(0,σ).:
在这里插入图片描述

y 表 示 观 测 值 集 合 y 1 , y 2 , … , y t y 表示观测值集合{y1,y2,…,yt} yy1,y2,,yt

于是可以得到边际似然分布:
在这里插入图片描述
通常,通过最大化该边际似然分布优化超参数 θ \theta θ,这个 θ \theta θ就是 Σ + σ 2 I \Sigma+\sigma^2 I Σ+σ2I里的参数

这里理下思路,我们这个似然分布指在已知 X 和 θ X和\theta Xθ的情况下 y y y的分布是右边那个均值为0,方差为 Σ + σ 2 I \Sigma+\sigma^2 I Σ+σ2I的分布,所以我们需要的是优化 θ \theta θ,使得下次来一个点,我们能预测出其y值

根据高斯过程的性质,存在如下联合分布:
在这里插入图片描述
于是有:
在这里插入图片描述
X ∗ X* X表示预测输入, f ∗ f* f表示预测输出,< f ∗ f* f>表示预测均值, c o v ( f ∗ ) cov(f*) cov(f)表示预测协方差
在实际应用中,只有选择合适的协方差函数才能保证得到理想的预测效果.协方差函数一般分为平稳(stationary)协方差函数和非平稳协方差函数.若目标函数具有非平稳性,可以直接使用非平稳协方差函数或者通过把目标函数分离成多个平稳区域,并在每个区域内使用平稳协方差函数的方法来处理.
常用的平稳协方差函数有平方指数(squared exponential)协方差函数、指数(exponential)协方差函数和Matérn协方差函数等等.
Matérn 协方差函数簇是一类高灵活性的协方差函数,具体函数表达式如下:
在这里插入图片描述
下表是常用的 Matérn 协方差函数:
在这里插入图片描述
3.1.2随机森林

随机森林回归是一种十分适合并行化的回归方法,该方法属于集成学习,即通过组合多个弱学习器来提高预测精度.随机森林回归构造多棵决策树,每棵决策树通过从训练数据中有放回的采样进行训练.当需要预测时,把采样点输入到每棵决策树中,并得到每棵树的预测均值,然后通过投票机制得到最终预测结果.
与高斯过程高昂的更新代价相比,随机森林方法具有极其优秀的计算效率.由于其计算的高效性和对大规模数据集的有效性,该方法已成功地应用于自动算法配置领域(Sequential model-based optimization for general algorithm configuration)。
虽然随机森林回归在训练数据附近能够快速得到高精度预测,但在远离训练数据时的预测效果通常很差,并且该方法的响应面是非连续、不可微的,因此不能对其使用基于梯度的优化方法.

3.1.3深度神经网络

深度神经网络通常是指层数超过 2 层的神经网络,虽然具有无限多个隐层单元的神经网络等价于高斯过程,但该神经网络具有无穷多个参数,无法训练.为了减少参数个数,一种常用的方法就是增加神经网络的深度.
近年来,由于其优越的性能,深度神经网络已成功应用于语音识别(Very deep convolutional networks for end-to-end speech recognition)、机器视觉(Deep visual-semantic alignments for generating image descriptions)等领域.在贝叶斯优化领域中,深度神经网络同样得到重视.
一些研究者通过使用深度神经网络代理未知目标函数,以提升模型处理大规模数据的能力(Scalable Bayesian optimization using deep neural networks,Bayesian optimization with robust Bayesian neural networks).然而,若想得到理想效果的函数近似,需要合理地设计神经网络架构,如层数、每层的神经元个数等.如何设计合理的神经网络架构,仍是具有挑战性的问题.

3.2采集函数/获取函数

采集函数.所谓采集函数就是从输入空间 χ \chi χ、观测空间 R R R和超参数空间 Θ \Theta Θ映射到实数空间的函数 α : χ ∗ R ∗ Θ − − > R \alpha:\chi*R*\Theta-->R α:χRΘ>R.该函数由已观测数据集 D 1 : t D1:t D1:t 得到的后验分布构造,并通过对其最大化指导选择下一个评估点 x t + 1 xt+1 xt+1:
在这里插入图片描述
8

在这里插入图片描述

4.近似技术和优化方法

略,想看可评论区留言

5.应用领域

  1. A/B 测试、游戏与材料设计
    Google 和 Microsoft 等公司在广告与网页优化设计方面[24]应用了贝叶斯优化.解决的问题是,在一定查询预算的前提下,如何择优选择用户进行查询(这里的查询是指一个用户对某版本的产品进行评测,返回点击率或其他测度),帮助设计和改善产品.利用广告、网页、应用程序途径等得到的用户反馈,开发者可通过贝叶斯优化对产品的配置进行优化调整.Khajah 等人利用贝叶斯优化设计出最大化用户参与度的游戏[5].他们通过调整游戏中的设置,如敌人个数、出现频率、开枪次数等,来控制游戏难度,将玩家参与游戏的时间作为反馈,优化出用户参与度最高的游戏配置.Frazier 等人应用贝叶斯优化进行材料设计,选取合适的化学结构、组成成分和处理条件等构造理想的材料[6].
  2. 推荐系统
    Google 和 Microsoft 等公司应用贝叶斯优化技术,根据订阅者订阅的网站、视频、音乐等方面的内容为订阅者推荐相关的新闻文章[7,8].A/B 测试与游戏设计每次迭代只能给出一个网页或者游戏配置,然而推荐系统可以一次性地为任意订阅者推荐多个新闻或者商品.
  3. 机器人学、嵌入式系统及系统设计
    对两足或多足机器人的步态优化十分具有挑战性.Lizotte 等人应用贝叶斯优化解决传统步态优化方法容易陷入局部最优和需要大量评估的缺点[11].该方法采用高斯过程作为概率代理模型,采用 PI 采集函数实现了更快、更平稳、评估次数更少的机器人步伐评估过程.Martinez-Cantin 等人提出一种在有限视野和局部观测下的基于模拟的主动策略学习算法(高斯过程代理模型,EI 采集函数),应用于机器人导航和不确定性地点探索[12]. Schneider 讨论了嵌入式学习系统的挑战和贝叶斯优化应用到嵌入式学习系统的发展前景[13].Akrour 等人利用局部环境的贝叶斯优化,在高维度空间(70 维)中控制机器人臂运动[75].Torun等人提出一种两阶段贝叶斯优化方法(第 1 阶段注重不确定性区域探索,第 2 阶段根据当前探索区域寻找最优)优化集成系统设计[76].
  4. 环境监控与传感器网络
    传感器设备用于测量速度、温度、湿度、空气质量、污染物含量等环境指标.由于不能在所有区域布置传感器,再加上噪声的干扰,传感器测量的数据常常存在不确定性.此外,激活传感器设备进行环境感知都会消耗能量,如电量和传输流量.Srinivas 等人使用高斯过程代理的贝叶斯优化,通过仅激活少量的传感器,便可找到室内温度极值位置或高速公路上最堵位置[23].Garnett 等人使用贝叶斯优化选择最优传感器子集,使其根据这些子集得到最优的预测效果[24].Marchant 等人把贝叶斯优化扩展到环境监控中,利用可移动机器人在环境中进行主动采样,得到对周围环境的精确感知[14].Morere 等人结合贝叶斯优化和部分观测的马尔可夫决策过程,以优化无人机采样策略监测周围环境[77].Colopy 等人利用贝叶斯优化调整基于个体的个性化监测模型,以个性化地监控病人生命体征[78].Candelieri 等人利用贝叶斯优化来优化控制给水管网系统中的泵,以达到在少量能量消耗的情况下得到理想的泵调度方案的目的[79].
  5. 偏好学习与交互界面
    在处理计算机图形与动画领域中的问题时,通常需要专业人员手动调整大量棘手的参数.例如,构造烟雾场景的粒子系统,需要调整速度、半径、涡环大小、长度尺度、旋度噪音等参数.通常情况下,这些参数十分复杂,非专业人员难以理解.Brochu 等人提出一种使用贝叶斯优化的迭代选择方法.该方法在处理图片时不需要专业人员手动调参,只需在每次迭代时从生成的两张对比图片(两张对比图片具有不同的参数配置)中选取与目标更像的图片作为反馈(此时,用户知道最终想要的图片效果),不需要用户理解复杂参数的具体含义.该方法通过返回的对比偏好信息更新代理模型,并根据完全随机、EI 等策略生成下一次迭代的两张对比图片,直到找到满足需求的目标图片[9,10].
  6. 自动算法配置
    构造一种优秀的算法通常需要经过大量的参数调节实验.若算法的参数调节都需要人工干预,将花费大量的时间和人力,甚至做无用功.因此,自动算法配置十分必要.这样不仅能减少人工干预,使得人们能够更专注于新模型构建等高层次问题,还能缩短大量的训练时间.相比人工经验或穷举,优化算法会自动选择合适的参数配置进行训练验证.贝叶斯优化能够胜任这类问题,并已取得了令人瞩目的成果.Bergstra 等人应用贝叶斯优化自动地调整神经网络和深度信念网络中的超参数[17].Snoek 等人应用贝叶斯优化自动调整卷积神经网络中的超参数[18,19].Mahendran 等人提出一种基于贝叶斯优化的自适应马尔可夫链蒙特卡洛算法[20].Thornton 等人应用贝叶斯优化提出一种针对分类算法的自动模型选择和超参数调节的方法:Auto-WEKA[21].Zhang 等人使用贝叶斯优化对卷积神经网络中的参数进行调整,解决目标识别问题[15].Wang 等人通过贝叶斯优化调整混合整数规划求解器的参数来提升求解器的效率[16].Klein 等人提出一种快速贝叶斯优化方法,能够调节大规模数据集上的机器学习算法的超参数[80].Xia 等人应用贝叶斯优化调节决策树中的超参数,提高信用评价精度[81].
  7. 自然语言与文本处理
    Wang 等人使用贝叶斯优化对文本进行术语提取(term extraction)[61].Yogatama 等人利用贝叶斯优化为不同类问题选择合适的文本表示,其实验结果表明,该方法能够使优化后的线性模型与未优化的复杂模型在主题分类问题上具有可比的效率[82].
  8. 生物、化学及晶体学
    贝叶斯优化同样可以胜任在生物、化学及晶体学等领域中的高代价优化任.Carr 等人应用贝叶斯优化技术在晶体表面上寻找分子最稳定的吸附位置[83].Krivák 等人用贝叶斯优化提升配体成键位置的预测质量[84]. Tanaka 等人利用贝叶斯优化进行全基因组选择,能够在少量的模拟代价下找到较理想的基因型[85].在脑年龄分类预测任务中,Lancaster 等人利用贝叶斯优化调节对神经影像预处理时所采用重采样技术的参数,进而达到高分类精度的目的[86].
  9. 迁移学习
    Ruder 等人在迁移学习过程中,利用贝叶斯优化技术从多源或多领域数据中自动地选择有效数据作为训练集,以达到增强模型能力的目的,且与具体学习模型无关[87].

6.问题与挑战

实时性和自适应性

贝叶斯优化每次迭代需要对概率代理模型进行更新,当问题维度高或存在大量历史数据时,更新概率模型需要高昂的计算量,尤其不能满足对实时性要求高的实际任务.针对该问题,研究者已经提出了一些解决策略.

  1. 降维映射.当贝叶斯优化处理高维度问题时,需要从高维度空间映射到低维度空间进行优化,虽然该方法加快了求解效率,但是需要假设问题存在低有效维度的性质
  2. 近似方法.当模型的先验不为共轭先验时,需要使用变分贝叶斯近似推断或蒙特卡洛采样方法得到模型近似后验分布.当使用高斯过程代理目标函数时,精确推断需要 O(t3)的时间复杂度,可使用 Cholesky 分解、SPGP、SSGP 等方法对高斯过程进行近似推断.虽然这些近似方法能够加快求解效率,但却具有求解精度不足的缺点
  3. 并行化.通过对贝叶斯优化进行并行化扩展,能够同时评估多次目标函数,加快求解效率.该策略选择评估点时,根据部分未完成评估的采样点返回的虚拟观测值,而不是真实观测值,会在一定程度上影响求解精度
  4. 时间敏感性.时间敏感性主动选择策略能够选择单位时间期望提升最大的点进行评估.但该方法在相同迭代预算下,与传统方法相比,存在精度差异.在提高贝叶斯优化求解效率时,难点在于如何解决精度和计算开销之间的平衡关系.

7.总结

作为求解非凸、多峰、评估代价高昂、黑箱的复杂优化问题的有效解决方案,贝叶斯优化近年来在多领域获得了广泛关注.本文综述了贝叶斯优化的研究现状.

  • 首先,从其优化框架和优化原理入手,详细分析其优势与劣势,以帮助相关领域研究者深入理解贝叶斯优化;然后,从模型选择的角度介绍了贝叶斯优化两个核心部分:概率代理模型和采集函数,旨在为建模求解复杂优化问题进行模型选择时提供参考
  • 其次,介绍了贝叶斯优化涉及的近似与优化技术,并深入到技术细节
  • 最后,总结了贝叶斯优化的方法扩展和当前主要应用领域. 同时,本文也关注随着待优化目标的规模和复杂程度的增加,贝叶斯优化将面临实时性和自适应性、分布式、多目标以及模型选择等问题与挑战

返回受约束的多目标优化问题优秀论文及总结目录

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页