下文概括了围棋借助人工智能在 2016 年实现的突破。

围棋是一个完全信息博弈问题。而完全信息博弈,通常能被简化为寻找最优值的树搜索问题。它含有 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-Page AlphaGo --十分钟看懂 AlphaGo 的核心算法!相关推荐

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

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

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

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

  3. 十分钟看懂什么是VoLTE

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

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

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

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

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

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

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

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

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

  8. 谷歌大神带你十分钟看懂TensorFlow

    TensorFlow 是世界上最受欢迎的开源机器学习框架,它具有快速.灵活并适合产品级大规模应用等特点,让每个开发者和研究者都能方便地使用人工智能来解决多样化的挑战. 今天DT君给大家推荐的这个视频( ...

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

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

最新文章

  1. (一)硕博生常用的中文文献检索方式推荐
  2. Windows ninja
  3. 反思代码优化点:trycatch 验证类 封装用户变量
  4. C++中的继承(一)
  5. React里require('object-assign')里的实现原理
  6. 大数据导论章节答案_托福100+需要准备多久?考生大数据给你答案
  7. Gartner:6个容器和Kubernetes策略的最佳实用技巧
  8. css中em与px的介绍及换算方法
  9. LeetCode(集合)队列和栈的相互实现 golang
  10. 从Python中的另一个文件调用函数
  11. fluent设置uds c语言程序,FLUENT---UDS 计算流体停留时间(空气龄)
  12. 高校学生档案管理系统(Angularjs+HTML+CSS+bootstrap)
  13. 自动收取蚂蚁森林能量雨
  14. 科目二 起步准备工作 LTS
  15. 上云之路千万条,青立方易捷版第一条
  16. 用PS怎样把一个字体居中整个图片
  17. Python中面向对象封装案例——小明爱跑步、摆放家具
  18. 远程访问服务器上的MySQL数据库
  19. 设计企业PM能力与EPC不相适应,有何对策?
  20. linux命令chmod、chown、chgrp详解

热门文章

  1. 基于matlab的语音信号基本处理系统,基于matlab的语音信号处理及分析
  2. python opencv 识别角度_OpenCV入门之获取图像的旋转角度
  3. The Preliminary Contest for ICPC Asia Nanjing 2019 B. super_log (广义欧拉降幂)
  4. 最短路--DijkstraFloyedSPFA
  5. Drools的HelloWord例子
  6. sqlite学习笔记5:插入数据,查询数据和删除数据
  7. UI进阶--Quartz2D和触摸事件的简单使用:简易涂鸦板
  8. sqlite-常用语句
  9. 线程中发送消息阻塞问题解决
  10. 窗口结束后资源释放不掉问题解决办法