首页 > 其他分享 >Monte-Carlo tree search as regularized policy optimization

Monte-Carlo tree search as regularized policy optimization

时间:2023-02-25 23:11:07浏览次数:38  
标签:Monte AlphaZero tree search optimization policy pi hat MCTS


发表时间:2020(ICML 2020)
文章要点:这篇文章把MCTS和policy optimization结合起来,说AlphaZero这类算法其实可以看作是带正则项的policy optimization(AlphaZero's search heuristics, along with other common ones such as UCT, are an approximation to the solution of a specific regularized policy optimization problem.)。然后以policy optimization的角度提出了一种AlphaZero的变种,在simulation次数较少的情况下取得比AlphaZero更好的效果。
首先,在AlphaZero中,有个神经网络表示的policy \(\pi_\theta\),然后MCTS会得到一个由visit counts生成的概率分布\(\hat{\pi}\),然后更新的目的就是让网络接近\(\hat{\pi}\)

然后这个网络又会继续用到MCTS里面,继续提升。这个过程就相当于一个generalized policy improvement。然后在AlphaZero的MCTS里面,动作的选择为

而在policy optimization里面,策略表示为

这里第一项其实就是最大化Q value,后面一项就是一个正则项。接下来就是要把MCTS和这个policy optimization联系起来。首先把\(\hat{\pi}\)写出来

这里多加了一个动作空间的常数,不过不影响。然后定义一个乘子

就可以把式子(1)写成

拆开其实是一样的

写成向量形式可以表示为

接下来定义另一个策略\(\bar{\pi}\)作为regularized policy optimization的解

求解有

并且说\(\hat{\pi}\)其实是\(\bar{\pi}\)的近似。这里中间还有好几个proposition就不贴出来了,作者最后证到的就是在无穷范数下,这两策略的误差以O(1/N)的速度减小

然后作者提出的改进就是把基于visit count的policy \(\hat{\pi}\)换成从policy optimization求解出来的\(\bar{\pi}\),具体可以换三个地方,一个是和环境交互的时候,二个是在做搜索的时候,三个是在拟合policy网络的时候。然后基于muzero做了验证。
总结:很喜欢这篇文章啊,虽然最后做的实验其实不做也能想得到,但是能把MCTS和policy optimization联系到一起,找出其中的共同点,这是真的牛皮啊。
疑问:式子(8)那里\(\bar{\pi}\)是怎么求出来的没看。
几个proposition和附录的证明都没看。

标签:Monte,AlphaZero,tree,search,optimization,policy,pi,hat,MCTS
From: https://www.cnblogs.com/initial-h/p/17155683.html

相关文章

  • windows 安装 Elasticsearch
    一.官网下载安装包Elasticsearch高版本内置jdk,无需使用系统安装的java,本文以8.3.3版本为例,无需修改配置文件1.下载安装包https://www.elastic.co/cn/downloads/elastics......
  • 【element UI】在 el-select 与 el-tree 结合组件
    前言项目上实现某个功能,使用到了el-select和el-tree组合实现,记录下两者结合的实现过程。要求根据项目接口提供的数据,el-tree里的数据是一次性返回来的,点击最后一......
  • Linux内核红黑树1—Documentation/rbtree.txt翻译
    转自:https://www.cnblogs.com/hellokitty2/p/15362630.html1.什么是红黑树,它们有什么用?------------------------------------------------红黑树是一种自平衡二叉搜索树......
  • Elasticsearch:一篇学会Elasticsearch(7.x)
    前言常见的数据类型一般为3种:结构化数据、非结构化数据、半结构化数据。结构化数据,通常会放在关系型数据库,如Mysql,Oracle等非结构化数据,如文档、音频、视频等,是二维结......
  • java TreeSet集合概述和特点
       ......
  • CF611H New Year and Forgotten Tree
    首先注意到:任何合法方案一定能调整成:每种位数选一个关键点,每条边都至少有一个关键点。本质上是希望找一个边和点的匹配。一种思路是确定关键点之间形成的树后(暴力枚举),让......
  • el-tree 获取父级节点数据
    转自于:https://my.oschina.net/u/3704598/blog/4438210 使用node-click事件,该事件会接收三个参数,分别是当前data节点数据,node当前节点,root根节点数据。我们通过......
  • CF825G - Tree Queries
    现在有\(n\)次操作,每次将一个点设为黑色,或者查询:从当前点到任意黑点路径上最小值的最小值。保证第一次操作是设置黑点。强制在线。我们考虑这样一个过程,我们把第一次操......
  • ElasticSearch 8.2.0版本访问9200端口,返回Empty reply from server
    Docker安装ElasticSearch8.2.0版本后,使用curl访问127.0.0.1:9200端口,返回Emptyreplyfromserver  出现问题的情况可能如下:1、ElasticSearch未启动、或是内存不足......
  • dev控件-treelist多列显示
    经测试,如果需要多列显示,必须通过设计器配置KeyFieleName和ParentFieldName两个字段,通过代码无效。可以通过设计界面的AddColumn菜单,为TreeList添加多列,并绑定相关的字段,......