【NeurIPS 2020】基于蒙特卡罗树搜索的黑箱优化学习搜索空间划分

news2024/11/27 21:08:01

Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search 

目标:从采样(Dt ∩ ΩA)中学习一个边界,从而最大化两方的差异

先使用Kmeans在特征向量上( [x, f(x)] )聚类,然后使用SVM划分出边界

通过learning+splitting构建一个树 --> 根据UCB选择一个区域 --> 在选择的区域上,进行采样

一、通过splitting进行动态树的构建

“Dynamic tree construction via splitting”这一段描述了一种动态树结构的构建方法,该方法通过分割操作来实现。具体来说,这个过程涉及以下几个步骤:

1、性能估计:通过计算在某个区域Ωi内所有样本xi的函数值f(xi)的平均值来估计该区域的性能,其中ni是该区域内样本的数量,xi ∈ Dt ∩ Ωi是在迭代t时收集的样本。

2、迭代收集新样本:在每次迭代中,收集新的样本xi,并且对于这些新样本,区域的性能估计误差|ˆv∗ni − v∗ni|会迅速减小。当这个误差达到一个平稳状态时,意味着不需要再收集新的样本。

3、使用潜在动作分割:一旦性能估计误差达到稳定,LA-MCTS会使用潜在动作来分割当前区域,从而继续精细化两个子区域的价值估计。潜在动作是指通过支持向量机(SVM)学习到的边界,它将节点代表的区域分割成高性能和低性能的两个区域。

4、树的深化:随着越来越多的样本从有希望的区域收集,树会向更好的区域深入,从而更好地引导搜索过程朝向最优解。

5、分割阈值θ:在实践中,使用一个阈值θ作为可调参数来控制分割。如果在任何叶子节点上,Dt ∩ Ωi的大小超过了阈值θ,就会对该叶子节点进行分割。

这个动态树构建过程的目的是为了更好地引导贝叶斯优化(BO)算法,特别是在高维问题中,通过直接在Ωleaves上优化来帮助BO算法避免过度探索,从而提高性能。

我们的搜索树的结构在迭代过程中动态变化,这与LaNAS中使用的预定义固定高度树不同。在迭代开始时,从包含所有样本的根开始,如果任何叶子的样本量超过分裂阈值θ,我们使用潜在动作递归地分裂叶子,例如在图2(a)中为节点B创建节点D和节点E。我们停止树的分裂,直到没有更多的叶子满足分裂标准。然后,树就可以在这个迭代中使用了。

二、通过UCB选择节点

本文使用UCB选择节点而不是贪心算法,因为UCB可以建立对整个搜索空间的全局视图。UCB的定义为每个节点的UCB如下,其中vj是节点j的平均值,nj是节点j的访问次数,np是节点j的父节点的访问次数,Cp是一个可调节的超参数,用于控制探索的程度。

通过从根节点到叶节点的路径选择一个分区进行采样,这个路径上的支持向量机(SVM)共同定义了一个用于采样的区域。例如,在图2(c)中,选择的区域为ΩE。在采样过程中,LA-MCTS在这个受限的搜索空间Ωselected上解决最小化目标函数f(x)的问题。

整个过程的目的是在保持对最有前途区域的关注的同时,确保算法不会过度探索或者忽视潜在的好区域。Cp参数的选择对算法的性能有显著影响,过小的Cp会导致性能下降,因为它可能忽略了探索;而过大的Cp则可能导致过度探索。文档建议将Cp设置为最大目标函数值的10%到1%。

三、通过贝叶斯优化BO进行采样

在文档中,“Sampling via Bayesian Optimizations”这一部分讲述了如何在贝叶斯优化(Bayesian Optimization, BO)框架内进行采样。它描述了在蒙特卡洛树搜索(LA-MCTS)中如何通过选择一条从根到叶的路径来确定一个采样区域。这个区域由路径上的支持向量机(SVM)共同定义,并且在这个区域内进行最小化目标函数f(x)的求解。

在与TuRBO(Truncated Robust Bayesian Optimization)集成的过程中,文档提到了几个关键的调整点:

  1. 在每次TuRBO重启时,只在选定的区域(Ωselected)内用随机样本进行初始化。由于选定区域的形状可能是任意的,因此使用拒绝采样(均匀采样并用SVM拒绝异常值)来获得Ωselected内的一些点。由于只需要少量样本进行初始化,所以拒绝采样就足够了。

  2. TuRBO将一个边界框(bounding box)定位在到目前为止最好的解决方案上,而在LA-MCTS中,中心被限制在Ωselected中的最佳解决方案上。

  3. TuRBO从边界框中均匀采样以选择下一个样本,而在LA-MCTS中,TuRBO被限制在边界框与Ωselected的交集中均匀采样。由于中心在Ωselected内,所以交集的存在是有保证的。

在每次迭代中,TuRBO会一直运行,直到信任区域(trust-region)的大小变为0,并且所有评估(例如xi和f(xi))都返回给LA-MCTS,以便在下一次迭代中细化学习到的边界。

这一部分的重点是在高维空间中,特别是在采样区域受限的情况下,如何有效地进行采样。文档提到了一些替代的采样方法,如hit-and-run或Gibbs采样,这些方法可能是拒绝采样的好替代品,因为在高维空间中,拒绝采样可能无法在Ωselected中获得足够的随机样本。文档还提出了一种新的启发式采样方法,即在Ωselected内的每个现有样本x处,绘制一个超立方体,并扩展这个立方体同时拒绝异常值。

Sampling with TuRBO:

here we illustrate the integration of SoTA BO method TuRBO [2] with LA-MCTS. We use TuRBO-1 (no bandit) for solving minf(x) within the selected region, and make the following changes inside TuRBO, which is summarized in Fig. 2(c).

a) At every re-starts, we initialize TuRBO with random samples only in Ωselected. The shape of Ωselected can be arbitrary,so we use the rejected sampling (uniformly samples and reject outliers with SVM) to get a few points inside Ωselected. Since we only need a few samples for the initialization, the reject sampling is sufficient.

b) TuRBO centers a bounding box at the best solution so far, while we restrict the center to be the best solution in Ωselected.

c) TuRBO uniformly samples from the bounding box to feed the acquisition to select the best as the next sample, and we restrict the TuRBO to uniformly sample from the intersection of the bounding box and Ωselected. The intersection is guaranteed to exist because the center is within Ωselected. At each iteration, we keep TuRBO running until the
size of trust-region goes 0, and all the evaluations, i.e. xi and f(xi), are returned to LA-MCTS to
refine learned boundaries in the next iteration. Noted our method is also extensible to other solvers
by following similar procedures.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1172802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python算法例4 求平方根

1. 问题描述 实现int sqrt(int x)函数,计算并返回x的平方根。 2. 问题示例 sqrt(3)1;sqrt(4)2;sqrt(5)2;sqrt(17&#…

GEE数据集——原住民土地(原住民土地地图)数据集

原住民土地(原住民土地地图) 土地承认是人们在日常生活中融入原住民存在和土地权利意识的一种方式。这通常在仪式、讲座或教育指南开始时进行。它可以是一种明确但有限的方式来认识殖民主义和第一民族的历史以及定居者殖民社会变革的需要。在这种情况下…

夜间灯光数据VIIRS Nighttime Day: Night Band Composites Version 1数据集

简介: 新一代对地观测卫星Suomi NPP,搭载的可见光红外成像辐射仪(Visible Infrared Imaging Radiometer Suit,VIIRS),能够获取新的夜间灯光遥感影像(Day/Night Band,DNB波段)。VIIRS_VCMCFG夜光遥感数据的…

航模模拟器训练

准备物品 航模遥控器 aux线 即两端都是耳机插头的线 解密狗 电脑 phoenixRC 航模模拟软件(【飞舜极创】凤凰5.0飞行模拟器 安装和设置方法_哔哩哔哩_bilibili) 操控 美国手(俗称左手油门)——左手油门和方向舵,右手升降和副翼 美国手 左摇杆: 上下…

【qemu逃逸】HITB2017-babyqemu 2019数字经济-qemu

前言 由于本地环境问题,babyqemu 环境都没有起起,这里仅仅做记录,exp 可能不正确。 HITB2017-babyqemu 设备逆向 设备定位啥的就不说了,先看下实例结构体: 其中 dma_state 结构体如下: 这里看字段猜测…

【算法|二分查找No.3】leetcode 35. 搜索插入位置

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

网络运维Day01

文章目录 环境准备OSI七层参考模型什么是协议?协议数据单元(PDU)设备与层的对应关系什么是IP地址?IP地址分类IP的网络位和主机位IP地址默认网络位与主机位子网掩码默认子网掩码查看IP地址安装CISCO汉化CISCO(可选操作) CISCO之PC机器验证通信 CISCSO之交…

台球厅桌球室计时计算软件计费方法,台球厅的电脑怎么计时

台球厅桌球室计时计算软件计费方法,台球厅的电脑怎么计时 今天给大家分享的是 佳易王桌球计时计费软件V18.0版本,只需点开始计时即可,结账的时候,软件自动计算金额。 灯控为可选,点开始计时,相应的桌灯亮…

【算法|二分查找No.4】leetcode 852. 山脉数组的峰顶索引

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

一文带你掌握多继承,菱形继承以及虚拟继承

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻强烈推荐优质专栏: 🍔🍟🌯C的世界(持续更新中) 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔…

第二十三章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)

一 前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 二 LaneAF接入openlane数据集 2.1 Lan…

Box2d 物理画线,Cocos Creator 3.8

一个简易的画线刚体Demo 效果 抱歉,放错图了,以上是 孙二喵 iwae https://forum.cocos.org/t/topic/142673[1] 的效果图。本Demo是根据文章的思路,合成的代码。首先,感谢孙二喵的技术分享。 以下是最终效果图 使用 版本 Cocos Cre…

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 1.使用STM32F系列开发一款高精度恒流电源,用到了24位高精度采样芯片ADS1255/ADS1256系列。 2.使用时发现很多的坑,详细介绍了每个坑的具体情况和实际的解决办法。 坑1:波特率设置…

【C++初阶】第一站:C++入门基础(上) -- 良心详解

前言: 从这篇文章开始,将进入C阶段的学习,此篇文章是c的第一站的上半篇,讲述C初阶的知识 目录 什么是C C的发展史 C关键字(C98) 命名空间 命名空间定义 命名空间使用 1.加命名空间名称及作用域限定符 2.使用using将命名空间中某个成员引入 3.使…

PTA:前序序列创建二叉树

前序序列创建二叉树 题目输入格式输出格式输入样例(及其对应的二叉树)输出样例 代码 题目 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以二叉链表存储)。 例如如下的先序遍…

火狐浏览器导入burpsuite CA 证书无法正常上网

当我们给火狐浏览器设置burpsuite代理,并给火狐导入了burpsuite的CA证书后,仍然无法上网的解决方法。 当我们把浏览器的代理配置好之后,浏览器导入证书,burpsuite设置好代理后,如上图,仍然无法上网&…

精品Python手机数据收集软件-爬虫可视化大屏

《[含文档PPT源码等]精品基于Python的数据收集软件-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 开发语言:python 使用框架:Django 前端技术&#xff…

【教3妹学编程-算法题】重复的DNA序列

3妹:“太阳当空照,花儿对我笑,小鸟说早早早,你为什么背上炸药包” 2哥 :3妹,什么事呀这么开心呀。 3妹:2哥你看今天的天气多好啊,阳光明媚、万里无云、秋高气爽,适合秋游。 2哥&…

STM32WB55开发(6)----FUS更新

STM32WB55开发.6--FUS更新 概述视频教学硬件准备存储器映射FLASH安全区设置SRAM安全区设置通过USB进行下载注意事项 概述 在 STM32WB 微控制器中,FUS(Firmware Upgrade Services)是用于固件升级的一种服务。这项服务可以让你更新设备上的无…

回归预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机的多输入单输出回归预测

回归预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机的多输入单输出回归预测 目录 回归预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机的多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.SSA-CNN-SVM麻雀算法…