围棋是一个完全信息博弈问题。而完全信息博弈,通常能被简化为寻找最优值的树搜索问题。它含有 b 的 d 次方个可能分支,在国际象棋中 b≈35,d≈80;而在围棋中 b≈250,d≈150。很显然,对于围棋,用穷举法或简单的寻路算法(heuristics)是行不通的。但有效的方法是存在的:

从策略(policy) P(a|s) 中取样 action,降低搜索广度

通过位置评估降低搜索深度

把策略和值用蒙特卡洛树搜索(MCTS)结合起来。

通常的步骤是:

用一个 13 层的 CNN,直接从人类棋步中训练一个监督学习策略网络 Pσ。输入为 48 x 19 x 19 的图像(比方说,它的组成棋子颜色 是 3 x 19 x 19),输出是使用 softmax 层预测的全部落子的概率。精确度是 55.7%。

训练一个能在运行时快速取样 action 的快速策略 Pπ。这会用一个基于小型模式特征的线性 softmax。精确度是 24.2%,但它计算一次落子只用 2 微秒,而不像 Pσ 需要 3 毫秒。

训练一个增强学习策略网络 Pρ ,通过优化博弈结果来进一步提升监督策略网络。这把策略网络向赢棋优化,而不是优化预测精确度。本质上,Pρ 与 Pσ 的结构是一样的。它们的权重使用相同值 ρ=σ 初始化。对弈的两个选手,是当前策略网络 Pρ 和随机(防止过拟合)选择的此前的策略网络迭代。

训练一个价值网络(value network)Vθ,来预测强化学习策略网络自己和自己下棋的赢家。该网络的架构和策略网络类似,但多出一个特征平面(当前玩家的颜色),并且输出变成了单一预测(回归,均方差损失)。根据完整棋局来预测对弈结果,很容易导致过拟合。这是由于连续落子位置之间高度相关,只有一子之差。因此,这里使用了强化学习策略网络自己与自己对弈新生成的数据。该数据从包含 3000 万个不同位置的独立棋局中抽取。

把策略网络、价值网络、快速策略和蒙特卡洛树搜索结合起来。一个标准的蒙特卡洛树搜索过程包含四步:选择、扩展、评估、备份。为了让大家更容易理解,我们只粗略讲了讲它如何在模拟中选择状态的部分(如对数学感兴趣,请到原始论文中找公式)。

状态分数=价值网络输出+快速运行(fast rollout)的策略结果+监督学习策略网络输出

高状态得分(或者说落子)会被选择。价值网络输出和快速运行策略结果是评估函数,在叶子节点进行评估(注意,为了评估快速运行,需要一直到最后一步)。监督学习策略网络输出是一个当前阶段的 action 概率,充作选取分数的奖励分。该分数会随访问次数而退化,以鼓励探索。注意强化学习策略网络只被用于辅助,来生成价值网络,并没有直接在蒙特卡洛树搜索中使用。

到这就结束了,以上就是战胜了人类的 AlphaGo 算法!

原文:One-PageAlphaGo 十分钟看懂AlphaGo的核心算法
英文论文:Mastering the game of Go with deep neural networks and tree search

十分钟看懂AlphaGo的核心算法相关推荐

  1. One-Page AlphaGo --十分钟看懂 AlphaGo 的核心算法!

    下文概括了围棋借助人工智能在 2016 年实现的突破. 围棋是一个完全信息博弈问题.而完全信息博弈,通常能被简化为寻找最优值的树搜索问题.它含有 b 的 d 次方个可能分支,在国际象棋中 b≈35,d ...

  2. 十分钟看懂图像语义分割技术

    转载于:十分钟看懂图像语义分割技术 大多数人接触"语义"都是在和文字相关的领域,或语音识别,期望机器能够识别你发出去的消息或简短的语音,然后给予你适当的反馈和回复.嗯,看到这里你应 ...

  3. 苹果发展到计算机,从天堂到地狱 十分钟看懂AIO兴衰存亡

    一体电脑真正被大众所熟知的时间虽然并不长,但短短几年之间,一体电脑行业却经历了从快速发展,到鼎盛,再到衰落的全过程.OEM厂商曾经看好这片土地,也为此付出了诸多努力,但对于消费者而言,一体电脑倒在了性 ...

  4. 十分钟看懂语义分割技术【转载】

    大多数人接触 "语义" 都是在和文字相关的领域,或语音识别,期望机器能够识别你发出去的消息或简短的语音,然后给予你适当的反馈和回复.嗯,看到这里你应该已经猜到了,图像领域也是存在 ...

  5. 十分钟看懂图像语义分割技术(转载)

    https://www.leiphone.com/news/201705/YbRHBVIjhqVBP0X5.html 大多数人接触 "语义" 都是在和文字相关的领域,或语音识别,期 ...

  6. 十分钟看懂什么是VoLTE

    你是不是遇到过下面这个情景: 正在用手机玩游戏--玩得正嗨,胜利在望-- 突然,来电话了-- 我勒个去!-#^%$^@ 完蛋--断网-- 这个时候的你,是不是很抓狂,是不是很想死? 其实,不止是游戏, ...

  7. 十分钟看懂数据库——数据库入门级语言总结

    从sql入门经典,到sql视频,再到自考的数据库系统原理,不知不觉中我们已经走进了数据库的世界,那么什么叫数据库,他又是干什么用的呢? 咱们先看一下百度给的解释啊. 数据库(Database)是按照数 ...

  8. 十分钟看懂时序数据库(III)- 压缩

    物联网邻域近期如火如荼,互联网和传统公司争相布局物联网.作为物联网邻域数据存储的首选时序数据库也越来越多进入人们的视野,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序 ...

  9. 十分钟看懂云计算概念

    亚马逊AWS.微软Azure.阿里Aliyun组成的3A团队连续多季度保持高速增长.AWS通过光环新网实现商用,IBM Bluemix则由世纪互联提供运营,国际云服务商陆续来了.Openstack发布 ...

  10. 的一致性哈希_五分钟看懂一致性哈希算法

    作者简介: 华哥 10年+后端开发工作经验, 主要分享:关于java体系的知识,如:java基础知识/数据结算/算法,Spring/MyBatis/Netty源码分析,高并发/高性能/分布式/微服务架 ...

最新文章

  1. JAVA面试题(2)
  2. workflow4.0学习资料
  3. (转)彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter
  4. php require 找不到,php使用require()时的注意点
  5. Ext---CheckBoxGroup的取值和赋值
  6. 综合演练 对象数组 对象的方法 我们9203班 0912
  7. Vue项目构建后通过Nginx/SpringBoot/Express/Egg发布
  8. Python项目中 封装日志模块logging 及快速调用方法
  9. android开发仿原生联系人,android 仿IOS联系人列表
  10. matlab教程分析,MATLAB数据分析教程
  11. 加载webView使用框架AgenWeb
  12. 微信公众号图文 点击显示图片效果
  13. windows服务器ssl证书安装及配置
  14. 自动清理内存linux,linux 过滤内存使用率并于计划任务结合来自动清理内存缓存...
  15. Linux安全之三大攻击(SYN,DDOS,CC)原理及处理的详解
  16. 深夜十点,400万人在微博泪崩:如果人生太难,就去医院看看
  17. android 动画后动画效果,Android5.0之后 VectorDrawable实现超炫酷动画效果
  18. Python for Maya DCC工具插件开发学习记录(一)
  19. 专家称北京上海未来十余年房价已被透支
  20. 华为手机usb计算机连接在哪里设置密码,简单十步设置Huawei Share,手机与电脑传输从此告别数据线...

热门文章

  1. 【java学习之旅】——JSP入门
  2. rs232接口_串口、COM口、UART口,TTL、RS-232、RS-485这么多接口,怎么区分
  3. 极值波延拓matlab函数,函数极值是什么意思
  4. 均匀分布产生高斯分布
  5. Linux学习之Makefile编写
  6. 中国口岸年鉴(2001-2015年)
  7. 东华理工大学arm试卷_《arm体系结构》期末考试试卷 含等答案.doc
  8. 织梦dedecms怎么让图片自适应屏幕大小
  9. mysql卸载后重装不_mysql卸载无法重装怎么办?
  10. 云课堂智慧职教中c语言答案,云课堂智慧职教查答案自动答题