28天自制你的AlphaGo(四):结合强化学习与深度学习的Policy Gradient(左右互搏自我进化的基础)

本篇提前回答一个大家经常问的问题:强化学习在 AlphaGo 中究竟是怎么用的?比如说,SL策略网络,是怎么变成 RL 策略网络的?

| Policy Gradient:简单而有效

很有意思的是,很少见到有人回答上述问题(可能是因为 AlphaGo 论文在此写得很简略)。其实,这个问题的答案特别简单:

  • 如果我赢了棋,就说明这次我选择的策略是正确的。所以可以对于这次所经历的每一个局面,都加强选择这局的走法的概率。
  • 如果我输了棋,就说明这次我选择的策略是错误的。所以可以对于这次所经历的每一个局面,都减少选择这局的走法的概率。

举个例子,比如说电脑左右互搏,黑棋开局走星位,白棋回应走小目,最后白棋输了,那么黑棋就加强开局走星位的概率(以及后续的每一步选择这局的走法的概率),白棋就减少在黑棋开局走星位的情况下走小目的概率(以及后续的每一步选择这局的走法的概率)。

等一下,这里好像有问题。这是不是太傻了?也许白棋并不是败在开局,而是败在中盘的某一步?也许黑棋并不是真的这次走对了策略,而是白棋看漏了一步(而且白棋如果走对是可以赢的)?

以上说的很正确。但是,反过来想,如果黑棋的走法可以让白棋后面打勺的概率增加,那也不错啊。另一方面,如果白棋发现自己目前的策略容易进入自己不容易掌握的局面,那么尽管确实可能有完美的招数隐藏在里面,那白棋也不妨一开始就去避免这种局面吧。而且,胜和负的影响可以相互抵消,所以在经过大量对局后,这个过程是比较稳定的。比如说如果某个开局的后续胜率经统计是50%,那它就不会被改变;但如果不是50%,这种改变就有一定道理。

这个过程,有点像人类棋手的“找到适合自己的棋风”的过程。毫无疑问,现在的 AlphaGo 已经找到了十分适合自己的棋风,它确实是会扬长避短的。

以上是最简单的
Policy Gradient 的例子,它的问题是有可能陷入局部的最优(对付自己有效,不代表对付其他人有效),因此 AlphaGo
论文中会建立一个对手池(包括整个进化过程中形成的所有策略),保证新策略尽量对于不同对手都有效。在这个基础上,可以做各种各样的改进,例如配合未来的价值网络,更清楚地看到自己的败着在哪里,而不是傻傻地把所有概率都同样修改

| Deepmind 的相关研究

其实 Deepmind 自创始以来就在做类似的研究,在此简单说说。经典的一系列论文是学会玩 Atari 游戏:

Playing Atari with Deep Reinforcement Learning

Human-level control through deep reinforcement learning

例如最经典的 Pong:

这里也有一个策略网络,它输入的是目前的屏幕图像(实际上要输入几幅图像,或者前后两幅图像的差,用于判断运动情况),输出的是此时应该往上移动的概率。用这里所说的训练方法就可以让它无师自通,自己学会玩游戏,最终达到相当高的水准(可以想象,这个学习过程会比较慢)。

但是如果我们仔细想想,这个办法恐怕很难自己学会玩好星际!一个重要原因是星际的决策中有太复杂的“层次结构”。因此尽管 Deepmind 此前说星际是下一个目标,目前我们尚未看到 Deepmind 在这方面发表的进展。如果真的成功实现,将是相当大的成就。

最后,如果对于这方面感兴趣,这是一篇很好的介绍:

Deep Reinforcement Learning: Pong from Pixels

相关阅读:

28 天自制你的 AlphaGo(一)

28 天自制你的 AlphaGo(二):训练策略网络,真正与之对弈

28天自制你的AlphaGo(三):对策略网络的深入分析以及它的弱点所在

本文作者:彭博

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-09-14 22:26:58

28天自制你的AlphaGo(四):结合强化学习与深度学习的Policy Gradient(左右互搏自我进化的基础)的相关文章

28 天自制你的 AlphaGo(五):蒙特卡洛树搜索(MCTS)基础

蒙特卡洛树搜索(MCTS)是所有现代围棋程序的核心组件.在此之上可以加入各种小技巧(如 UCT,RAVE/AMAF,Progressive Bias,Virtual win & lose,Progressive Widening,LGR,Criticality 等等)和大改进(如 AlphaGo 的策略网络和价值网络). 网上很少见到关于 MCTS 的详细介绍,而且许多看似详细的介绍实际有错误,甚至许多人会混淆蒙特卡洛树搜索和蒙特卡洛方法.这两者有本质区别.用做过渲染器的朋友会理解的话来说:蒙特

28天自制你的AlphaGo(三):对策略网络的深入分析以及它的弱点所在

一.神经网络在围棋中的历史 再次回顾 AlphaGo v13 的三大组件: MCTS(蒙特卡洛树搜索) CNN (卷积神经网络,包括:策略网络 policy network.快速走子网络 playout network.价值网络 value network) RL (强化学习) 在上世纪90年代初期,大家就已经开始实验将神经网络(当时是浅层的)与强化学习应用于棋类游戏.最著名的例子是西洋双陆棋 Backgammon 的 TD-Gammon,它在自我对弈了150万局后,就达到了相当强的棋力,摘选

28 天自制你的 AlphaGo(二):训练策略网络,真正与之对弈

上次我们介绍了围棋基础和如何搭建深度学习环境,这篇我们安装 TensorFlow,真正训练一下 AlphaGo v13 的 policy network,并且你还可以与它真正对弈,因为前几天已经有网友在做可以运行的 AlphaGo v13 的简化版:brilee/MuGo.所以这个过程真的已经很傻瓜化,毫不夸张地说,人人都可以拥有一只小狗了,只要你把棋谱喂给它,它就能学到棋谱的棋风.(本文是给大家快速找到感觉,后续我们会从头写代码,因为这位网友的代码真的很多 bug) 如果还没有装 CUDA 等

深度学习之Google Deepmind的alphago人工智能算法技术演变历程

  一.简介   有些人会有如下质疑"alphago都用了蒙特卡洛搜索树了,这变成了一部分搜索问题了并不是人工智能算法了或者说不够智能了",但我的拙见是人在思考问题的时候除了直觉.经验判断.逻辑推理之外也会去枚举.搜索,所以我觉得算法包含一部分搜索并不能直接说该算法这不够智能或者这不是智能算法了,我觉得更多的是要考虑该算法在该类问题上如何去刻画出人类的直觉.经验判断.逻辑推理等.   最近大家比较关心的围棋人机大战(alphago vs 李世石)中,deep mind基于Nature2

学习深度学习的四个步骤

原文地址: https://medium.com/@vzkuma/4-steps-for-learning-deep-learning-86f11fcee54 学习深度学习的四个步骤 一个手写资源列表帮助你变成一个深度学习专家 首先,如果你需要一些基本的信息或者令人信服的关于深度学习为什么有非常大的影响,可以检验下面由Andrew Ng制作的视频.               https://www.youtube.com/watch?v=n1ViNeWhC24   步骤1.学习深度学习的基本知

2017年ACL的四个NLP深度学习趋势 (一):语言结构和词汇嵌入(Linguistic Structure and Word Embeddings)

更多深度文章,请关注:https://yq.aliyun.com/cloud 介绍 在本月初我在温哥华出席的ACL(国际计算语言学协会 (ACL,The Association for Computational Linguistics) )时Joakim Nivre宣布:"NLP正在蓬勃发展".参加人数众多的人士认为,学术界对NLP的兴趣已经处于历史最高点,主要是因为深度学习的成功. 然而,我参加ACL时注意到的一个研究人员的焦虑,因为一个领域正在快速发展转型.研究人员对是否将旧的N

深度学习零基础进阶第四弹!|干货分享

编者按:时隔一段时间,雷锋网独家奉送的深度学习零基础进阶第四弹又来了!经过前面三篇文章的研究和学习,相信大家在深度学习的方式与深度学习在不同领域的运用都有了一定的了解.而本次雷锋网(公众号:雷锋网)所推荐的论文,主要集中于自然语言处理层面,相对于此前比较枯燥的理论阶段,相信以下的内容会更能让初学者们有的放矢.原文首发于 GitHub,作者 songrotek,文章名为<Deep-Learning-Papers-Reading-Roadmap>,雷锋网对每篇论文都增加了补充介绍,未经许可不得转载

IROS数据分析:中国论文第四 深度学习不敌路径规划

加拿大温哥华当地时间晚上7点,IROS 2017在温哥华会展中心的大演播厅(Ballroom B,C&D)举行晚宴,招待来参加IROS 2017的付费参会者们.一直以来,参会者购买的门票收入都是大会收入的重要来源,占到了大会总收入的80%以上,借此宴会,IROS也希望能更好地与会员及社区成员交流,成为揭示最新研究动态的风向标. 在今天晚上的晚宴上,大会方公布了几个有意思的数据,雷锋网总结如下: 中国收录论文排名第四 本次IROS大会共收到2164篇论文投稿,最终收录970篇,录取率44.8%.在

2017年ACL的四个NLP深度学习趋势 (二):可解释性和注意力(Interpretability and Attention)

更多深度文章,请关注:https://yq.aliyun.com/cloud 2017年ACL的四个NLP深度学习趋势 (一):语言结构和词汇嵌入(Linguistic Structure and Word Embeddings) 趋势3:可解释性(Interpretability) 我最近一直在思考可解释性,然而我并不孤单,在深度学习实践者中,神经网络的可怕的"黑匣子"质量使他们难以控制,难以调试.然而,从非研究者的角度来看,有一个更重要的理由要求可解释性:信任. 公众,媒体和一些研