软件学报ISSN1000-9825,CODENRUXUEWE-mail:jos@iscas.ac.cnJournalofSoftware,2018,29(10):30683090[doi:10.13328/j.cnki.jos.005607]©中国科学院软件研究所版权所有.Tel:+86-10-62562563贝叶斯优化方法和应用综述崔佳旭1,2,杨博1,21(符号计算与知识工程教育部重点实验室(吉林大学),吉林长春130012)2(吉林大学计算机科学与技术学院,吉林长春130012)通讯作者:杨博,E-mail:ybo@jlu.edu.cn摘要:设计类问题在科学研究和工业领域无处不在.作为一种十分有效的全局优化算法,近年来,贝叶斯优化方法在设计类问题上被广泛应用.通过设计恰当的概率代理模型和采集函数,贝叶斯优化框架只需经过少数次目标函数评估即可获得理想解,非常适用于求解目标函数表达式未知、非凸、多峰和评估代价高昂的复杂优化问题.从方法论和应用领域两方面深入分析、讨论和展望了贝叶斯优化的研究现状、面临的问题和应用领域,期望为相关领域的研究者提供有益的借鉴和参考.关键词:贝叶斯优化;全局优化算法;概率代理模型;采集函数;黑箱中图法分类号:TP18中文引用格式:崔佳旭,杨博.贝叶斯优化方法和应用综述.软件学报,2018,29(10):30683090.英文引用格式:CuiJX,YangB.SurveyonBayesianoptimizationmethodologyandapplications.RuanJianXueBao/JournalofSoftware,2018,29(10):30683090(inChinese).(KeyLaboratoryofSymbolicComputationandKnowledgeEngineeringfortheMinistryofEducation(JilinUniversity),Changchun130012,China)2(CollegeofComputerScienceandTechnology,JilinUniversity,Changchun130012,China)Abstract:Designingproblemsareubiquitousinscienceresearchandindustryapplications.Inrecentyears,Bayesianoptimization,whichactsasaveryeffectiveglobaloptimizationalgorithm,hasbeenwidelyappliedindesigningproblems.Bystructuringtheprobabilisticsurrogatemodelandtheacquisitionfunctionappropriately,Bayesianoptimizationframeworkcanguaranteetoobtaintheoptimalsolutionunderafewnumbersoffunctionevaluations,thusitisverysuitabletosolvetheextremelycomplexoptimizationproblemsinwhichtheirobjectivefunctionscouldnotbeexpressed,orthefunctionsarenon-convex,multimodalandcomputationalexpensive.ThispaperprovidesadetailedanalysisonBayesianoptimizationinmethodologyandapplicationareas,anddiscussesitsresearchstatusandtheproblemsinfutureresearches.Thisworkishopefullybeneficialtotheresearchersfromtherelatedcommunities.Keywords:Bayesianoptimization;globaloptimizationalgorithm;probabilisticsurrogatemodel;acquisitionfunction;black-box设计类问题在科学研究和工业设计等领域无处不在.例如:编程人员通过选择恰当的算法来优化系统性能;环境学家通过设计传感器部署位置来监控环境状况;化学家通过设计实验来获取新的物质;制药厂商通过设计新型药物来抵抗疾病;食品厂商通过设计新的食谱来生产优质食品等等.通常,将这些设计问题考虑成如下最优基金项目:国家自然科学基金(61572226,61876069);吉林省重点科技研发项目(20180201067GX,20180201044GX)Foundationitem:NationalNaturalScienceFoundationofChina(61572226,61876069);JilinProvinceKeyScientificandTechnologicalResearchandDevelopmentProject(20180201067GX,20180201044GX)收稿时间:2017-06-12;修改时间:2018-04-02;采用时间:2018-05-17;jos在线出版时间:2018-06-07CNKI网络优先出版:2018-06-0714:53:49,崔佳旭等:贝叶斯优化方法和应用综述3069化问题加以求解(本文只考虑最小化问题,最大化问题可简单通过取负号操作转换成最小化问题):*argmin()dfxxx(1)其中,x表示d维决策向量,表示决策空间,f表示目标函数.对应上述例子,x可以表示成算法、传感器部署位置、实验配置、药物配方或食谱等,f(x)可表示为判断系统、环境、实验、配方、食谱等表现优劣的测度.近年来,大数据应用的发展给物理学、生物学、环境生态学、计算机科学等领域以及军事、金融、通信等行业带了巨大的生机.这些大数据应用通常都存在以下特点:大规模用户量、极其复杂的软件系统、大规模异构计算和分布式存储架构.这些复杂应用包含大量的设计决策,并且更为复杂,其优化目标不仅具有多峰、非凸、高维、决策空间巨大等常见特征,通常还具有黑箱和评估代价高昂等新特点.优化目标不存在明确的数学表达,并且需要花费高额代价才能观测到目标函数的返回值.例如:在研制某癌症的有效药物问题中,药物配方可以作为决策空间,药物效果(药物效果用药物能够治愈病人的概率大小来描述)作为函数输出,临床实验作为评估药物效果的手段,目标是找到一种药物配方,使得药物能够最大概率地治愈病人.在该问题中,目标函数很难写成一个明确的数学表达式,评估函数过程可能会导致病人死亡.显然,这样的评估代价是巨大的.针对具有以上特征的复杂设计问题,贝叶斯优化(Bayesianoptimization,简称BO)是一种有效的解决方法[1].贝叶斯优化在不同的领域也称作序贯克里金优化(sequentialKrigingoptimization,简称SKO)、基于模型的序贯优化(sequentialmodel-basedoptimization,简称SMBO)、高效全局优化(efficientglobaloptimization,简称EGO).该方法是一种基于模型的序贯优化(即,在一次评估之后才进行下一次评估)方法,能够在很少的评估代价下得到一个近似最优解.贝叶斯优化已经应用于网页[24]、游戏[5]和材料设计[6]、推荐系统[7,8]、用户界面交互[9,10]、机器人步态[11]、导航[12]和嵌入式学习系统[13]、环境监控[14]、组合优化[15,16]、自动机器学习[1722]、传感器网络[23,24]等领域,展示出令人瞩目的发展前景.本文主要综述了贝叶斯优化方法的研究和应用领域.第1节引入贝叶斯优化的主要框架,并深入分析其优化原理.第2节从模型选择角度介绍贝叶斯优化中两个核心组成部分:概率代理模型和采集函数.第3节介绍贝叶斯优化过程中涉及的近似和优化技术.第4节综述贝叶斯优化方法的扩展及当前应用领域.第5节讨论其在未来发展中将面临的问题与挑战.第6节对其进行总结.1贝叶斯优化概率模型已经成为当前人工智能、机器人学、机器学习等领域的主流方法[25].机器能够根据概率框架预测未来数据,并且根据预测数据给出决策.这些问题的主要难点在于观测值具有不确定性,而概率模型能够对不确定性进行建模,有效地解决观测噪声问题.Ghahramani指出,贝叶斯优化是在概率机器学习和人工智能领域中几种最先进、最有希望的技术之一[25].1.1贝叶斯优化框架贝叶斯优化是一种十分有效的全局优化算法,目标是找到公式(1)中的全局最优解.贝叶斯优化有效地解决了序贯决策理论中经典的机器智能(machine-intelligence)问题:根据对未知目标函数f获取的信息,找到下一个评估位置,从而最快地达到最优解[26].例如:若已经评估得到3个不同输入x1,x2,x3的目标函数值y1,y2,y3,则如何选择下一个评估点?贝叶斯优化框架能够在少数次评估下得到复杂目标函数的最优解,本质上,因为贝叶斯优化框架使用代理模型拟合真实目标函数,并根据拟合结果主动选择最有“潜力”的评估点进行评估,避免不必要的采样,因此,贝叶斯优化也称作主动优化(activeoptimization).同时,贝叶斯优化框架能够有效地利用完整的历史信息来提高搜索效率.贝叶斯优化之所以称作“贝叶斯”,是因为优化过程中利用了著名的“贝叶斯定理”:1:1:1:(|)()(|)()tttpDfpfpfDpD(2)其中,f表示未知目标函数(或者表示参数模型中的参数);D1:t={(x1,y1),(x2,y2),…,(xt,yt)}表示已观测集合,xt表示决策向量,yt=f(xt)+t表示观测值,t表示观测误差;p(D1:t|f)表示y的似然分布,由于观测值存在误差,所以也称为“噪3070JournalofSoftware软件学报Vol.29,No.10,October2018声”;p(f)表示f的先验概率分布,即,对未知目标函数状态的假设;p(D1:t)表示边际化f的边际似然分布或者“证据”,由于该边际似然存在概率密度函数的乘积和积分,通常难以得到明确的解析式,该边际似然在贝叶斯优化中主要用于优化超参数(hyper-parameter);p(f|D1:t)表示f的后验概率分布,后验概率分布描述通过已观测数据集对先验进行修正后未知目标函数的置信度.贝叶斯优化框架主要包含两个核心部分——概率代理模型(probabilisticsurrogatemodel)和采集函数(acquisitionfunction).概率代理模型包含先验概率模型和观测模型:先验概率模型即p(f);观测模型描述观测数据生成的机制,即似然分布p(D1:t|f).更新概率代理模型意味着根据公式(2)得到包含更多数据信息的后验概率分布p(f|D1:t).采集函数是根据后验概率分布构造的,通过最大化采集函数来选择下一个最有“潜力”的评估点.同时,有效的采集函数能够保证选择的评估点序列使得总损失(loss)最小.损失有时表示为regret:rt=|y*yt|(3