【ICLR2020】看未知观测:一种简单的蒙特卡洛并行化方法

简介: 【ICLR2020】看未知观测:一种简单的蒙特卡洛并行化方法
  • 论文题目:Watch The Unobserved:A Simple Approach To Parallelizing Monte Carlo Tree Search

所解决的问题

  提出一种并行化的MCTS算法,该算法实现了线性加速,并随着Workers的增加,性能只有些许损失。

背景

  MCTS的缺点就是无法并行,但是并行之后没有性能损失是比较困难的,主要的原因就是MCTS的探索-利用的平衡会依赖于之前的采样信息。作者提出一种新奇的并行化MCTS算法,WU-UCT(Watch the Unovserved in UCT),在有限的性能损失下实现了线性加速。

MCTS

  MCTS不断重复以下四个步骤:

  1. Selection

image.png

  1. Expansion

  一旦选择过程到达搜索树的一个叶子节点(或满足其他终止条件),我们将根据事先的策略,通过增加一个新的子节点来扩展该节点。


  1. Simulation

  基于策略π ,进行simulation,评估累计奖励(cumulative reward) image.png

  1. Backpropagation


image.png

 虽然最新树展开过程中的数据的要求不是强制执行的,但在实践中,为了实现有效的勘探-开采权衡,它是必须的。


  从一个节点下来,并行展开rollout计算。当采用并行化的方法,确保每个worker都能使用最新的统计数据(V s N s )将大大影响性能。由于expansionsimulation这两步比其它两步所耗费的时间要多,因此想要worker同步更新是比较困难的。并且并行化由于statistic信息整体一样,并行化展开会选择到相同节点。


经典的MCTS并行方法


  LeafP缺乏探索性,而TreeP这种方法可能会导致exploitation失败,因为其即使知道了某个节点是最优的,也会减少这个节点的模拟次数。RootP通过worker独立的tree search来减少上述两个问题,但是这减少了每个workerrollout数量,并且会减少UCT的准确性。


所采用的方法?


  作者采取的办法是,如果有某个节点被选中,那么在不久的将来一定会得到它的Simulation Return,因此可以看作其已经被选择过了。设计 O s 去计算已经被初始化rollouts但是并没有做完(simulation完)的数量。


image.png

20200417230253945.png


WU-UCT的核心思想是通过a set of statistics来平衡探索利用,同时还没有得到simulation返回值的访问节点来做 (named as unobserved samples)。


取得的效果?


  在Atari games游戏上的性能。

所出版信息?作者信息?


  ICLR2020上的一篇文章,来自Tencent AI Lab,第一作者刘安吉,本科毕业于北京航空航天大学自动化系。于201812月-20196月在快手实习,现兼职快手顾问。


参考资料


  • Codehttps://github.com/liuanji/WU-UCT
  • UCT:Levente Kocsis, Csaba Szepesv´ari, and Jan Willemson. Improved monte-carlo search. Univ. Tartu,
    Estonia, Tech. Rep, 1, 2006.
  • UCB:Peter Auer, Nicolo Cesa-Bianchi, and Paul Fischer. Finite-time analysis of the multiarmed bandit
    problem
    . Machine learning, 47(2-3):235–256, 2002.


相关文章
|
3月前
|
机器学习/深度学习 网络架构
揭示Transformer重要缺陷!北大提出傅里叶分析神经网络FAN,填补周期性特征建模缺陷
近年来,神经网络在MLP和Transformer等模型上取得显著进展,但在处理周期性特征时存在缺陷。北京大学提出傅里叶分析网络(FAN),基于傅里叶分析建模周期性现象。FAN具有更少的参数、更好的周期性建模能力和广泛的应用范围,在符号公式表示、时间序列预测和语言建模等任务中表现出色。实验表明,FAN能更好地理解周期性特征,超越现有模型。论文链接:https://arxiv.org/pdf/2410.02675.pdf
146 68
|
14天前
|
机器学习/深度学习 人工智能 运维
[ICLR2024]基于对比稀疏扰动技术的时间序列解释框架ContraLSP
[ICLR2024]基于对比稀疏扰动技术的时间序列解释框架ContraLSP
|
2月前
分布匹配蒸馏:扩散模型的单步生成优化方法研究
扩散模型在生成高质量图像方面表现出色,但其迭代去噪过程计算开销大。分布匹配蒸馏(DMD)通过将多步扩散简化为单步生成器,结合分布匹配损失和对抗生成网络损失,实现高效映射噪声图像到真实图像,显著提升生成速度。DMD利用预训练模型作为教师网络,提供高精度中间表征,通过蒸馏机制优化单步生成器的输出,从而实现快速、高质量的图像生成。该方法为图像生成应用提供了新的技术路径。
134 2
|
10月前
|
机器学习/深度学习 人工智能 运维
[ICLR2024]基于对比稀疏扰动技术的时间序列解释框架ContraLSP
《Explaining Time Series via Contrastive and Locally Sparse Perturbations》被机器学习领域顶会ICLR 2024接收。该论文提出了一种创新的基于扰动技术的时间序列解释框架ContraLSP,该框架主要包含一个学习反事实扰动的目标函数和一个平滑条件下稀疏门结构的压缩器。论文在白盒时序预测,黑盒时序分类等仿真数据,和一个真实时序数据集分类任务中进行了实验,ContraLSP在解释性能上超越了SOTA模型,显著提升了时间序列数据解释的质量。
|
10月前
|
移动开发 算法 数据可视化
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享(上)
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享
|
10月前
|
机器学习/深度学习
【机器学习】噪声数据对贝叶斯模型有什么样的影响?
【5月更文挑战第10天】【机器学习】噪声数据对贝叶斯模型有什么样的影响?
|
10月前
|
Python
Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列数据|数据分享
Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列数据|数据分享
|
10月前
|
算法
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享(下)
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享
|
10月前
|
算法 Serverless
如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
|
10月前
|
存储 数据可视化
R语言中的Stan概率编程MCMC采样的贝叶斯模型
R语言中的Stan概率编程MCMC采样的贝叶斯模型