热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论文|AlphaGoZero的模型和算法

上一篇文章简单学习了AlphaGoZero的特点:AlphaGoZero初探http:www.jianshu.comu7b67af2e61b3算法采用自对弈强化学习,不再需要学习人

上一篇文章简单学习了 AlphaGo Zero 的特点:

AlphaGo Zero 初探
http://www.jianshu.com/u/7b67af2e61b3

算法采用自对弈强化学习,不再需要学习人类棋谱数据。
模型由原来的两个模型变成只使用一个神经网络。
今天来学习一下细节。

论文:
Mastering the game of Go without human knowledge

先将围棋问题转化为强化学习过程:

《论文 | AlphaGo Zero 的模型和算法》

一个棋盘上有 19×19=361 个交叉点可以落子。
每个点有三种状态,白,黑,无子,分别用 1,-1,0表示。
这样一个棋盘的状态是一个长为 361 的向量 S。
下一步的落子行动用 a 表示,也是长为 361 的向量,例如第几个位置为 1 就表示在棋盘上换算后相应的第几行第几列下白子。

这样围棋问题就转化为:任意给定一个状态 S,寻找最优的应对策略 a,使得能够获得棋盘上的最大地盘。

AlphaGo Zero 的网络结构:

《论文 | AlphaGo Zero 的模型和算法》

是基于 ResNet 的卷积网络,包含 20 或 40 个 Residual Block,加入批量归一化和非线性整流器模块。

输入为 19×19×17 的 0/1 值:包括17个二元特征平面的图像堆栈。
(The input to the neural network is a 19 × 19 × 17 image stack comprising 17 binary feature planes.)

输出为 落子概率 p 和一个评估值 v。P 即下一步在每一个可能位置落子的概率,v 表示当前选手在输入的历史局面下的胜率。
(A fully connected linear layer that outputs a vector of size 19×19 + 1 = 362, corresponding to logit probabilities for all intersections and the pass move)

自对弈强化学习算法:

《论文 | AlphaGo Zero 的模型和算法》

在每一个状态 S,利用深度神经网络 fθ 的输出作为参照执行 MCTS 蒙特卡洛搜索树算法,MCTS 搜索的输出是每一个状态下在不同位置对应的概率 π。

上图 a 表示自对弈过程 s1,…,sT。在每一个位置 st,使用最新的神经网络 fθ 执行一次 MCTS,根据得出的概率 at∼πi 落子,终局计算出胜者 z。

上图 b 表示神经网络 fθ 的参数更新过程。st 作为输入,得到下一步所有可能落子位置的概率分布 pt 和当前状态下选手的赢棋评估值 vt。

更新参数 θ 时,以最大化 pt 与 πt 的相似度和最小化预测的胜者 vt 和局终胜者 z 的误差为目标。

《论文 | AlphaGo Zero 的模型和算法》
《论文 | AlphaGo Zero 的模型和算法》

随机初始化 θ0
每一轮迭代 i⩾1,都自对弈一盘
第 t 步 MCTS 搜索 πt 进行落子
神经网络 fθ 以最大化 pt 与 πt 的相似度和最小化预测的胜者 vt 和局终胜者 z 的误差来更新参数 θ

学习资料:
https://www.nature.com/articles/nature24270.epdf?author_access_token=VJXbVjaSHxFoctQQ4p2k4tRgN0jAjWel9jnR3ZoTv0PVW4gB86EEpGqTRDtpIz-2rmo8-KG06gqVobU5NSCFeHILHcVFUeMsbvwS-lxjqQGg98faovwjxeTUgZAUMnRQ
https://charlesliuyx.github.io/2017/10/18/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E7%9C%8B%E6%87%82AlphaGo%E5%85%83/

推荐阅读 历史技术博文链接汇总
http://www.jianshu.com/p/28f02bb59fe5
也许可以找到你想要的:
[入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]


推荐阅读
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 简述在某个项目中需要分析PHP代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑ÿ ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • OWASP(安全防护、漏洞验证工具)开放式Web应用程序安全项目(OWASP,OpenWebApplicationSecurityProject)是一个组织 ... [详细]
author-avatar
hedongsheng
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有