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中网络通信中 使用的结构体

    "+++++++++++++++++++++++++ Linux TCP/UDP通信中的结构体 +++++++++++++++++++++++++++++++++++++++" s ...

  2. LaTeX 编辑软件WinEdt使用简要介绍

    LaTeX 编辑软件WinEdt使用简要介绍   LaTeX 的起源非常牛逼,有一套书大家可能听说过<计算机程序设计艺术>,写了好几本.当然能在计算机方面写上艺术俩字的书恐怕不是我们一般人 ...

  3. python3 functools partial 用于函数的包装器详解

    一.partial 的作用: partial 用于对一个已有函数进行包装,达到功能的定制的目的. 二.例子: 假设我们要完成两个功能,第一个功能是完成两个数相加,第二个功能是给一个自增一下 1.传统方 ...

  4. 高度自适应的CSS

    /*高度自适应*/ .com_fill_height{ height:100%; overflow:hidden; } 高度自适应的样式代码,真的就这么简单吗...

  5. 【Android】3.11 地理编码功能

    分类:C#.Android.VS2015.百度地图应用: 创建日期:2016-02-04 一.简介 地理编码指的是将地址信息建立空间坐标关系的过程,提供了地理坐标和地址之间相互转换的能力. 地理编码分 ...

  6. ios笔记一(面向对象编程)

    #import <Foundation/Foundation.h> #import "Person.h" int main (int argc, const char ...

  7. [转]手工实现RTTI

    运行时的动态类型检查(RTTI,Run Time Type Indentifiation)是c++中提供的一项语言机制,它主要用于判断多态对象的具体类型. 为什么不使用c++提供的RTTI功能  但c ...

  8. pairRDD中算子reduceByKeyLocally

    原型: def reduceByKeyLocally(func: (V, V) => V): Map[K, V] 该函数将RDD[K,V]中每个K对应的V值根据映射函数来运算,运算结果映射到一个 ...

  9. show global status和show variables mysql 优化

    mysql> show global status; 可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%'; 一.慢查询 mysql> ...

  10. [转]好用工具:Oracle SQL Developer

    我們一直以來就很少使用 Oracle 資料庫,一年下來也頂多 1 ~ 2 個案子採用 Oracle 的資料庫,所以一直都對 Oracle 資料庫的操作不太熟悉,尤其是用 Oracle 內建的那些超難用 ...