Nature2017AlphaGoZero强化学习论文解读系列(二)

人工智能的长远目标之一就是研发出一种能够从白板开始学习,并逐渐进化成拥有超常能力的算法。目前,AlphaGo成为了第一个打败围棋世界冠军的程序。AlphaGo的核心是使用深度网络在蒙特卡罗树搜索过程中进行棋盘局势判断和走棋选择决策。这些深度网络使用监督学习的方法从人类专家棋谱中进行训练,使用强化学习的方法从自我对弈的过程中进行训练。本文介绍一种只使用强化学习的训练算法,除了需要基本的围棋规则以外,不需要人类围棋数据、指导和领域知识。本文使用强化学习得到的深度网络能够同时进行棋盘局势判断预测获胜者,以及走棋选择决策。这个深度网络能够提高树搜索的优势,使得在下一次迭代时,保证更高质量的走棋选择,以及更强的自我对弈。AlphaGoZero从白板开始学习,能够达到超常的能力,并在实践中,以100:0的绝对优势战胜了此前发布的、打败欧洲围棋世界冠军的AlphaGo。

目前人工智能领域的成就主要得益于监督学习,使用监督学习的方法从人类专家数据中进行训练,达到复制、模仿人类专家决策的目的。然而,人类专家的数据通常是昂贵、不可靠甚至不可得到的。即使能够得到可靠的专家数据,训练得到的监督学习系统通常也会达到一个性能瓶颈。相反,强化学习系统从自我经历中训练,原则上可以超越人类的能力,并且能够发掘出人类不曾发现的未知领域。目前,使用强化学习训练的深度神经网络在这一目标上已经取得了快速的发展。例如计算机游戏Atari、3D虚拟环境等,强化学习系统已经超越了人类水平。然而,对于人工智能领域最富挑战性的围棋游戏,上述通用的方法还无法取得和人类水平相当的成就,主要是因为围棋游戏需要在一个浩大的搜索空间中进行精准、复杂的lookahead搜索。

AlphaGo是第一个在围棋领域达到超越人类水平的程序。此前发布的AlphaGoFan打败了欧洲围棋冠军FanHui。回顾一下,AlphaGo使用两个深度网络,策略网络输出下一步走棋的概率分布,值网络判断当前棋面局势,预测获胜者。策略网络一开始使用监督学习的方式,用于加快预测专家走棋;随后使用PolicyGradient的强化学习算法进行重新优化。值网络从策略网络自我对弈过程中进行训练学习,用于预测获胜者。离线训练完后,再使用蒙特卡罗搜索树将深度网络结合起来,使用策略网络将搜索局限在高概率的动作,使用值网络(和FastRolloutPolicy结合)来评估叶子节点的棋面局势,多次执行蒙特卡罗模拟,最终选择访问次数最多的边对应的动作为下一步棋的下法。值得注意的是,后续发布的AlphaGoLee使用了相似的方法,打败了18届围棋世界冠军李世石。

AlphaGoZero不同于AlphaGoFan和AlphaGoLee。主要体现在如下几个方面:

为了实现上述目标,本文研究出一种新的强化学习训练算法,将蒙特卡罗树搜索树纳入训练阶段。新的算法使得性能提升更快、学习更加精确和稳定。

ExpandandEvaluate:叶子节点访问次数达到一个阈值时,此时进行扩展并评估。使用神经网络产生先验概率和评估值。。「此处体现了神经网络是如何指导蒙特卡罗搜索的」。

Play:多次模拟过程结束后,得到搜索概率分布,搜索概率正比于访问次数的某次方,称为温度参数(temperatureparameter)。那么最终的走棋Play,可以使用该分布来抽样动作。

上述描述的是连续训练的版本,即每次都使用最新轮次的神经网络进行自我对弈和产生训练数据,实际自我对弈和训练过程中,部分细节和上述不大一样:

使用强化学习管道方式来进行AlphaGoZero的训练。训练从完全随机的行为开始,一直持续3天,期间不需要人为的干涉。在这个过程中,总共生成了490万个自我对弈棋局,每次蒙特卡罗搜索进行1600次模拟,相应的每步走棋平均花费0.4s,神经网络的参数使用70万个minibatch,每个minibatch包含2048个棋面进行更新,该残差神经网络包含20个残差块residualblocks。

a)合并了PolicyNetwork和ValueNetwork;

b)用ResNet替换了CovNet;

c)强化学习训练算法从PolicyGradient改为PolicyIteration.

AlphaGoZero中的改进值得我们思考,最振奋人心的就是排除了人类棋谱数据和人工特征,完全从强化学习自我对弈过程中进行学习。这其中有两点感悟。

引用周志华的一段话,“如果说深度学习能在模式识别应用中取代人工设计特征,那么这里显示出强化学习能在启发式搜索中取代人工设计评分函数。这个意义重大。启发式搜索这个人工智能传统领域可能因此巨变,或许不亚于模式识别计算机视觉领域因深度学习而产生的巨变。机器学习进一步蚕食其他人工智能技术领域。”

可以看出这里面的核心包括深度学习、强化学习、启发式搜索。本文分别对这三个方面都有所改进,深度学习体现在ResNet的使用以及合并两个神经网络;强化学习体现在PolicyIteration算法的使用,启发式搜索体现在引入PolicyIteration训练过程以及改进蒙特模拟过程(Expansion、Evaluation合并、最终动作决策由选择访问次数最多的动作改成根据访问次数计算动作分布,再随机抽样动作)。这里面的核心中的核心仍然是蒙特卡罗搜索,深度学习和强化学习都是为蒙特卡罗搜索服务的。

可能可以改进的几个核心要素包括单一的改进以及多种元素的结合方式改进。例如强化学习算法中最终报酬函数的设计、深度学习中是否有更好的网络架构,如SENet等、蒙特卡罗搜索树除了用在强化学习算法中,能否用在深度学习算法中,指导误差的反向传播等;蒙特卡罗模拟结束后,是否有其他更好方式来计算动作概率分布。当然另一方面,有没有新的领域能够替代蒙特卡罗搜索树的核心地位,具有前瞻性的问题是否只有通过大量模拟才能得到反馈,是否还有其他的方式能够更好的进行反馈。

知乎:如何评价AlphaGoZero?

AlphaZero实战

「阿尔法狗」再进化!

(1)点击页面最上方'AINLP',进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

THE END
1.《算法(第4版)》学习总结我个人感觉,学习这一章最好的方法是结合visualgo网站的动态演示来学习,非常直观,大大降低了学习难度。 紧接着,作者讲了__归并排序和快速排序__。这两种算法中都用到了递归,二者的不同之处在于,归并排序是先递归,再归并,而快速排序是先切分,再递归。我认为这部分是本书最出彩的地方,作者分别用了一个小例子,用https://zhuanlan.zhihu.com/p/296199621
2.《算法(第4版)(中文版)》PDF本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。 第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些 Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。https://www.jianshu.com/p/f3e4614b8998
3.算法第四版学习总结(超赞!!!)计算方法引论第四版pdf算法 第四版学习总结(超赞!!!) 我是技术搬运工,好东西当然要和大家分享啦.原文地址 第一章 基础 栈 数组实现 publicclassResizeArrayStack<Item>implementsIterable<Item>{privateItem[] a=(Item[])newObject[1];privateintN=0;publicvoidpush(Itemitem) {if(N>=a.length) {https://blog.csdn.net/FanceFu/article/details/79356876
4.高中人工智能教育应该教什么和如何教——基于四本《人工智能初步(4)人工智能核心算法方面,教科版花了较大篇幅重点介绍了知识表示和机器学习,人教版、浙教版、粤教版则只是简述知识表示,而重点讲解了人工智能的核心算法,如逻辑推理、决策树、启发式搜索(A*算法)、聚类、贝叶斯、知识图谱、机器学习、神经网络与深度学习。(5)系统设计与开发方面,四本教材都提到了国内的四大开放平台https://zhjy.sxnu.edu.cn/info/1007/1107.htm
5.关于机器学习,这可能是目前最全面最无痛的入门路径和资源!至于如何获取这些资源的下载链接呢?在本文结尾的地方,我会分享给大家:) 下面内容,会从四个方面展开: 1、机器学习第一语言Python 2、机器学习中数学基础 3、机器学习算法基础 4、深度学习框架基础 再次强调,我本文中提及所有知识点和资源,仅仅是让你入门机器学习,如果想要走更远,那肯定是远远不够的,我们还是要继续https://www.36kr.com/p/5109465.html
6.不可错过的十本Python好书python关注如何利用Python编程有效地解决问题,关注如何构建良好的Python应用程序。 Python参考手册(第4版?修订版) Python编程经典著作。 Python程序员案头必备。 涵盖Python2和Python3共有特性。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。https://www.jb51.net/article/118053.htm
7.重磅!花书《深度学习》,这份精炼笔记可能是最全面的完整版: https://zhuanlan.zhihu.com/p/39063974 4. 逻辑回归 继续花书第五章机器学习基础部分总结,接下来是经典监督学习算法,不过Ian对于逻辑回归和支持向量机一笔带过,解释的不是很详细,我准备结合Andrew Ng的cs229内容将逻辑回归(logistic regression)与支持向量机(support vector machine)分两篇https://blog.51cto.com/u_14481745/5706537
8.零基础小白如何入门人工智能?《人工智能(第3版)》是这一领域的经典著作,被誉为“人工智能的大百科全书”。这应该是每个小白进入人工智能世界要读的第一本书。 我们来看一下本书涵盖的内容:人工智能的历史、思维和智能之辩、图灵测试、搜索、博弈、知识表示、产生式系统、专家系统、机器学习、深度学习、自然语言处理、自动规划、遗传算法、模糊https://www.douban.com/note/856962437/
9.趣学算法(第2版)本书是用轻松有趣的方法学习算法的入门指南。按照算法策略分为8章。第1章以算法之美、趣味故事引入算法,讲解算法复杂度的计算方法,以及爆炸性增量问题。2~7章讲解经典算法,包括贪心算法、分治算法、动态规划算法、回溯法、分支限界法、网络流算法。第8章讲解实际应用中的算法和高频面试算法,包括启发式搜索、敏感词https://www.epubit.com/bookDetails?id=UB7d85fa69dcbd8
10.MindSpore官网全新的昇思MindSpore全场景AI框架1.6版本已发布,此版本中昇思MindSpore全场景AI框架易用性不断改进,提升了开发效率,控制流性能提升并支持副作用训练,与此同时,昇思MindSpore全场景AI框架发布高效易用的图学习框架昇思MindSpore Graph Learning,高性能可扩展的强化学习计算框架昇思MindSpore Reinforcement,提供支持第三方框架https://www.mindspore.cn/news/newschildren?id=967
11.Java后端开发学习路线(修订版)腾讯云开发者社区推荐书籍:《阿哈算法》、《算法设计与分析基础》适合入门;《算法第四版》、《算法导论》、《编程之美》适合进阶 视频:这种还是挺建议看书,我没看过视频,,这里就不介绍了。 3、保持算法的学习 算法的学习,真的是靠积累的,而刷题是必须的。而且学校都会举办一些比赛,这里还是比较建议大家去参见的,这样也能让你更https://cloud.tencent.com/developer/article/1933965
12.科学网—[转载]基于容器云技术的典型遥感智能解译算法集成此外,以往遥感领域的深度学习算法往往是基于单一的深度学习环境开发的,不同环境之间兼容性低,算法集成难度大。如何使深度学习代码无须重写,一次编写、到处运行(write once, run everywhere),具备良好的可移植性和复用性,成为一大挑战。传统的深度学习流程中算法在不同机器间进行环境迁移非常复杂,基于Conda包管理技术解决https://blog.sciencenet.cn/blog-3472670-1339282.html
13.算法数据结构体系学习班马士兵教育官网注意原“算法与数据结构基础班”已经过期。所有内容都被现在的“算法数据结构体系学习班”重新讲述,还增加了内容,增加了题目练习。原“算法与数据结构基础班”的所有内容,对应现在的“算法数据结构体系学习班”的1-23节。 注意原“算法与数据结构进阶班”已经过期。所有内容已经被现在的“算法数据结构体系学习班”和“https://www.mashibing.com/course/339
14.如何选择机器学习算法Python 入门(第 1 天) 训练和部署图像分类 构建训练管道 (Python) 与Azure 机器学习交互 处理数据 自动化机器学习 训练模型 使用基础模型 负责任地开发和监视 使用管道协调工作流 概述 设计器(拖放 ML) 什么是设计器 算法备忘单 如何选择算法 转换数据 https://docs.microsoft.com/zh-cn/azure/machine-learning/studio/algorithm-choice
15.二年级数学上册优秀教案推荐作为一位杰出的教职工,有必要进行细致的教案准备工作,通过教案准备可以更好地根据具体情况对教学进程做适当的必要的调整。那么应当如何写教案呢?下面是小编收集整理的二年级数学上册优秀教案,欢迎阅读与收藏。 二年级数学上册优秀教案1 学习内容: 人教版《义务教育课程标准实验教科书·数学(二年级上册)》第五单元“观察https://www.unjs.com/jiaoan/shuxue/20230318091758_6681303.html