Silver, David, et al. "Mastering the game of Go with deep neural networks and tree search." Nature 529.7587 (2016): 484-489.

推荐PPT:https://wenku.baidu.com/view/3cbb606f49649b6648d747fb.html?from=search

Alphago的论文,主要使用了RL的技术,不知道之前有没有用RL做围棋的。RL之外的工作应该是围棋或者下棋这个研究领域都有的工作,包括蒙特卡洛搜索树(MCTS)和有监督训练。

所以主要贡献是提出了两个网络,一个是策略网络,一个是价值网络。均是通过自我对战实现。

策略网络:

策略网络就是给定当前棋盘和历史信息,给出下一步每个位置的概率。以前的人似乎是用棋手下的棋做有监督训练,这里用RL代替,似乎效果比有监督训练要好。策略网络的参数初始化是用有监督训练网络的参数。

价值网络:

价值网络就是给定当前棋盘和历史信息,给出对己方的优势概率。本来是用来代替蒙特卡洛的随机模拟估计的,但是发现把价值网络和随机模拟估计结合起来效果比较好。个人觉得要是价值网络如果训练得足够好,说不定也就不需要模拟估计了。当然这里的模拟也不是完全随机,好像是用的一个有监督训练出来的浅层网络进行模拟下棋。

策略网络可以降低蒙特卡洛搜索树的宽度,价值网络减小其深度。

该论文第一次打败了人类职业选手(五段的Fan Hui)

另外,该方法有分布式版本和单机版,官方给单机版的判断是和Fan Hui一个水平,分布式版本的可以达到职业5段以上水平。分布式版本用了40个搜索线程, 1,202 个CPU以及176个GPU。单机版是40个搜索线程,48个CPU和8个GPU。按照这个配置,应该10年之内,单台笔记本电脑能跑个职业3段以上的围棋程序,这对围棋学习者是个很好的消息。

Alphgo让RL火了,让围棋火了,让柯洁火了,威力还是巨大的。围棋比较容易形式化,规则也比较简单,只是搜索空间有点大,但现实中还有很多问题规则复杂,信息不完全,状态空间大,决策空间大,需要联合决策等。Alphago还在不断发展,后续应该还有论文。

另外论文的用色和图表做得真是好。

实用指数:4颗星

理论指数:1颗星

创新指数:5颗星

Mastering the game of Go with deep neural networks and tree search浅析的更多相关文章

  1. 论文笔记:Mastering the game of Go with deep neural networks and tree search

    Mastering the game of Go with deep neural networks and tree search Nature 2015  这是本人论文笔记系列第二篇 Nature ...

  2. AlphaGo论文的译文,用深度神经网络和树搜索征服围棋:Mastering the game of Go with deep neural networks and tree search

    转载请声明 http://blog.csdn.net/u013390476/article/details/50925347 前言: 围棋的英文是 the game of Go,标题翻译为:<用 ...

  3. 《master the game of GO wtth deep neural networks and tree search》研究解读

    现在”人工智能“如此火爆的一大直接原因便是deepmind做出的阿尔法狗打败李世石,从那时开始计算机科学/人工智能成为了吹逼的主流.记得当时还是在学校晚新闻的时候看到的李世石输的消息,这个新闻都是我给 ...

  4. 论文翻译:2018_Source localization using deep neural networks in a shallow water environment

    论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...

  5. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  6. On Explainability of Deep Neural Networks

    On Explainability of Deep Neural Networks « Learning F# Functional Data Structures and Algorithms is ...

  7. Introduction to Deep Neural Networks

    Introduction to Deep Neural Networks Neural networks are a set of algorithms, modeled loosely after ...

  8. 深度神经网络入门教程Deep Neural Networks: A Getting Started Tutorial

    Deep Neural Networks are the more computationally powerful cousins to regular neural networks. Learn ...

  9. Classifying plankton with deep neural networks

    Classifying plankton with deep neural networks The National Data Science Bowl, a data science compet ...

随机推荐

  1. Linux进程冻结技术

    1 什么是进程冻结 进程冻结技术(freezing of tasks)是指在系统hibernate或者suspend的时候,将用户进程和部分内核线程置于“可控”的暂停状态. 2 为什么需要冻结技术 假 ...

  2. lua学习笔记13:协程具体解释和举例

    一.coroutine.create创建协程 參数是协程的主函数,返回一个thread对象 co = coroutine.create(function() print("coroutine ...

  3. Unity3D中组件事件函数的运行顺序

    事件函数的运行顺序 Unity 脚本中有很多按预设顺序以脚本身份执行的事件函数. 其执行顺序例如以下: 载入第一个场景 启动场景时调用这些函数(为场景中的每一个对象调用一次). Awake: 始终在调 ...

  4. C#--索引

    索引是一组get和set访问器,类似于属性的访问器. 索引和属性在很多方面是相似的. 和属性一样,索引不用分配内存来存储: 索引和属性都主要被用来访问其他数据成员,这些成员和他们关联,他们为这些成员提 ...

  5. C#--类成员

    数据成员: 字段: 常量: 函数成员(执行代码): 方法: 属性 构造函数 析构函数 运算符 索引 事件 可以被声明为Static的类成员是:

  6. mysql 一对多 group查询

    场景:查询所有A表的数据,并且关联B表,再数据集中插入一个COUNT列.该列的数据是B表的COUNT 扩展:假设join的表数据为空,但我任然要把所有表A的数据取出来,那就用LEFT JOIN SEL ...

  7. scrapy 的框架的安装

    1.简介: scrapy 是用python写成的一个web 爬虫框架,scrapy 会把大多数在爬取网站时的通用的事给自动化的做了:我最开始爬别人的网站的时候 用的是requests这个库,用这个库我 ...

  8. Unity刚体穿透问题测试以及解决

    测试环境很简单,一面墙,红色方块不停向前 然后,由于刚体是FixedUpdate执行的,把FixedUpdate执行间隔调慢一些方便Debug: OK,下面还原一次经典的穿透问题: 测试脚本: voi ...

  9. 移动开发UI库

    参考链接:http://www.cnblogs.com/edobnet/archive/2012/08/17/2643573.html 自己总结: jquery 的移动开发UI库  http://jq ...

  10. C++ 11 Lambda表达式、auto、function、bind、final、override

    接触了cocos2dx 3.0,就必须得看C++ 11了.有分享过帖子:[转帖]漫话C++0x(四) —- function, bind和lambda.其实最后的Lambda没太怎么看懂. 看不懂没关 ...