mlyu手机质量怎么样,米语手机多少钱

首页 > 经验 > 作者:YD1662022-10-27 10:26:30

机器之心专栏

机器之心编辑部

一文梳理腾讯 QQ 浏览器 2021AI 算法大赛冠军方案。

历时两个多月的腾讯 QQ 浏览器 2021AI 算法大赛 [9] 已经告一段落,大赛自 2021 年 8 月 15 日启动以来,受到了全球 AI 算法爱好者及业界的广泛关注。整个赛程历时 68 天,覆盖全球 279 个城市,共吸引来自 276 个不同高校、企业和社会的算法精英 1853 人,组成 852 支队伍参赛,其中进入决赛的 TOP 20 队伍就涵盖了北京大学、清华大学、复旦大学、香港科技大学、中科院大学、华南理工大学、浙江大学、西安交大、中山大学、西安电子科技大学等顶尖院校,也有来自德国、加拿大等国际高校的学生,期间共完成了近 7000 次提交。

mlyu手机质量怎么样,米语手机多少钱(1)

腾讯 QQ 浏览器为优秀参赛团队提供价值共计 41.7 万人民币的总奖池,除此之外每个赛道前 15 名队伍将会额外收获校招直通复试卡,前 8 名队伍可获得 QQ 浏览器实习生直通终面卡。

首届 AI 算法大赛议题设置 “多模态视频相似度” 和“自动超参数优化”两大赛道,以下为 “自动超参数优化” 赛道冠军团队,来自北京大学的队伍 PKU-DAIR 的方案分享。(PKU-DAIR 队成员:姜淮钧、沈彧、黎洋

团队介绍

PKU-DAIR 团队的三位成员来自北京大学崔斌教授 DAIR 实验室的 AutoML 自动化机器学习项目组。团队研究方向包括超参数优化(HPO)、神经网络结构搜索(NAS)、自动化机器学习系统(AutoML System)等。团队不仅在国际顶级会议上发表了多篇论文,为提高 AutoML 技术的易用性与可用性,团队还相继在 Github 开源了黑盒优化系统 OpenBox[1][7]、自动化机器学习系统 MindWare[2][8]等。

在本次自动化超参数优化赛道中,团队基于实验室自研开源黑盒优化系统 OpenBox 进行调参。初赛时使用 OpenBox 系统中的并行贝叶斯优化(Bayesian optimization)算法,决赛在初赛基础上加入早停机制。比赛代码已在 Github 上开源[3]。下面将进行详细介绍。

mlyu手机质量怎么样,米语手机多少钱(2)

初赛算法介绍

赛题理解

在信息流推荐业务场景中普遍存在模型或策略效果依赖于 “超参数” 的问题,而“超参数 " 的设定往往依赖人工经验调参,不仅效率低下维护成本高,而且难以实现更优效果。因此,本次赛题以超参数优化为主题,从真实业务场景问题出发,并基于脱敏后的数据集来评测各个参赛队伍的超参数优化算法。

参赛者需要提交超参数生成的算法代码,算法每一轮需要提供一组超参数,裁判程序会返回超参数对应的 reward。参赛者的算法要求在限定的迭代轮次和时间内,找到 reward 尽可能大的一组超参数,最终按照找到的最大 reward 来计算排名。

针对该赛题,优化器需要在每轮以同步并行方式推荐 5 个超参数配置,共执行 20 轮推荐,即总共搜索 100 个超参数配置。对每个超参数配置均执行完整资源的验证,并且在比赛的问题抽象中,不同超参数的验证时间相同。

根据现有研究,贝叶斯优化是超参数优化(黑盒优化)问题上 SOTA 的方法,而且比赛场景中的超参数空间维度不超过 6 维,并非超高维问题,较适合贝叶斯优化方法,因此我们选定贝叶斯优化作为初赛的搜索算法。另外,问题中所有的超参数均为连续型(离散浮点型)超参数,这决定了我们的超参数空间定义方法、贝叶斯优化代理模型以及优化器的选择,接下来也将分别进行介绍。

算法核心技术——贝叶斯优化模块介绍

贝叶斯优化简介

超参数优化是典型的黑盒优化问题,即对于目标函数(超参数 - 奖励函数),具体表达式或导数信息是不可知的,只能通过尝试输入获取输出来推测目标函数的内部情况。

贝叶斯优化是解决黑盒优化问题的一个迭代式框架,优化流程包括如下步骤:

  1. 使用代理模型(surrogate model)对已有观测历史数据(尝试过的超参数和对应的奖励)进行建模拟合;
  2. 使用采集函数(acquisition function)评估搜索空间内的超参数,平衡探索与利用。对采集函数执行优化,找到验证价值最大(使采集函数值最大)的下一组超参数;
  3. 在目标函数上评估超参数,得到奖励;
  4. 将新评估的超参数和结果加入观测历史数据,重复以上步骤。

注:以下代码分为文字版和图示版,代码以图示版为准。

贝叶斯优化算法封装在 OpenBox 系统中,代码实现的主要流程如下:

# 使用贝叶斯优化得到超参数配置推荐 def get_suggestions(self, history_container, batch_size): # ... # 基于观测历史数据,训练贝叶斯优化代理模型 self.surrogate_model.train(X, Y) # ... # 更新采集函数(使用EI函数时,要更新当前最优观测值) self.acquisition_function.update(eta=incumbent_value, ...) # 使用优化器优化采集函数,得到使采集函数值最大的一个(一组)超参数 challengers = self.optimizer.maximize(...) # ... return batch_configs_list # 依据并行算法,得到下一轮需要验证的超参数

mlyu手机质量怎么样,米语手机多少钱(3)

代码以图示为准

超参数空间定义

首先,我们使用 ConfigSpace 库 [4] 定义超参数空间。由于赛题中的超参数均为离散浮点型,并可近似为等间距分布,因此使用 Int 型定义超参数(本质上和使用 Float 定义相同,但避免了赛题中超参数取值范围边缘可能出现不同间距的问题)。在 ConfigSpace 库中,Float 型和 Int 型超参数均被视作连续型,在执行优化时会自动将参数范围缩放至[0, 1]。

初始化方法

贝叶斯优化需要一定数量的历史数据才能启动,我们使用了一种贪心法生成初始超参数配置。该方法从随机候选配置中,逐步挑选距离已有配置最远的配置加入初始配置集合。使用该方法进行初始化能更好地探索超参数空间,经测试效果稍好于完全随机初始化方法。初始化配置数设置为 10 个。该方法集成在 OpenBox 系统中,可通过 init_strategy="random_explore_first" 调用。

代理模型

贝叶斯优化中的代理模型(surrogate model)有多种选择,包括高斯过程(Gaussian process)、概率随机森林(probabilistic random forest)、Tree Parzen Estimator(TPE)等,其中高斯过程在连续超参数空间上(如数学问题)优化效果较好,概率随机森林在含有分类超参数的空间上优化效果较好。本次比赛只包含连续型超参数,经测试,高斯过程作为代理模型效果最好。高斯过程使用 OpenBox 系统默认的 Matern5/2 核,核超参数通过最大似然 (maximize log likelihood) 得到。

采集函数与优化

我们使用常用的 Expected Improvement(EI)函数作为贝叶斯优化的采集函数(acquisition function)。在优化采集函数时,我们使用系统中的 "random_scipy" 优化器。该优化器在结合局部搜索与随机采样的基础上,使用 L-BFGS-B 算法对采集函数执行优化。测试表明,相较于单纯使用随机采样,该方法能对采集函数进行更为充分的优化,从而更大程度发挥 GP 模型和 EI 函数的潜能。

其他

传统的贝叶斯优化每轮只能推荐一个超参数配置,因此设计并行推荐方法是一个值得考虑的问题。我们尝试了系统中实现的并行贝叶斯方法,包括 "median_imputation" 中位数插补法,即使用历史观察结果的中位数,填补并行 batch 中推荐配置的性能,重新训练代理模型并得到下一个并行推荐配置,以及 "local_penalization" 局部惩罚法,对并行已推荐配置在采集函数上施加局部惩罚,这两种方法的目的都是提高对超参数空间的探索性。不过经过测试,在本次比赛问题上这些方法的效果不佳,最终我们采用多次优化采集函数并去重的方式执行并行推荐,达到了较好的性能。

此外,为增大贝叶斯优化的探索性,保证算法收敛,我们设置每次推荐时使用随机搜索的概率为 0.1。

代码实现

初赛代码仅需调用 OpenBox 系统中的并行贝叶斯优化器 SyncBatchAdvisor,即可实现上述功能:

from openbox import SyncBatchAdvisor self.advisor = SyncBatchAdvisor( config_space=self.config_space, batch_size=5, batch_strategy='reoptimization', initial_trials=10, init_strategy='random_explore_first', rand_prob=0.1, surrogate_type='gp', acq_type='ei', acq_optimizer_type='random_scipy', task_id='thpo', random_state=47, )

mlyu手机质量怎么样,米语手机多少钱(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.