AlphaGo的新技能学习过程

2018-07-20    来源:编程学习网

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

AlphaGo.png

引言

AlphaGo是google最近的一个人工智能项目,以下是百度百科的介绍:

阿尔法围棋(AlphaGo)是一款围棋人工智能程序,由位于英国伦敦的谷歌(Google)旗下DeepMind公司的戴维·西尔弗、艾佳·黄和杰米斯·哈萨比斯与他们的团队开发,这个程序利用“价值网络”去计算局面,用“策略网络”去选择下子。

如何学习新技能

下面我详细介绍一下AlphaGo是怎样从0开始学习下子的。

  1. 研究者教会系统看盘面信息,其中包括黑子信息,白子信息,空着信息,围棋规则等。
  2. 通过学习高手对弈棋谱,学习了3000万高手落子,让系统预测该如何落子,预测准确率达到57% 。
  3. 通过与自己对弈2000万局进一步提高自己的能力,完成这一步的系统与第二步中的系统对弈达到80%的胜率。

同样学习如何看整个盘面局势也用类似的方法。

这里我们来分解一下整个学习的过程:

  1. 入门:第一步对应的是一个领域的基本知识,掌握以后就入门了。
  2. 模仿:一直和菜鸟下棋是不会有进步的,去模仿该领域高手的作品,此时就进阶了。
  3. 领悟:通过不停练习来提升自己的能力,逐渐形成自己的风格,又一个高手诞生了。

通过这次AlphaGo的胜利,我觉得上面的学习方法是对学习的很好的一种抽象,整个过程可以让一个人更好的学习掌握一个领域知识,下面我拿学习编程来举个例子:
在入门阶段,选择介绍一门编程语言,学习语法以及基础库的使用,然后去看一些基础的教程。
在模仿阶段,这里一定要接触高手的作品(去找该语言github上star比较多的项目),思考他们如何去构建一个项目,如何实现各个功能模块,等到学习几个项目之后,能够基本理解高手为什么这么实现的。
在领悟阶段,用之前学到的知识,自己尝试去做几个项目,不停回顾自己的项目,通过重构现有的代码来提升自己的编程能力:架构,以及功能实现。
这时候你的编程能力也应该是在中上层的水平了,就像AlphaGo一样,进入了职业选手的大门。

后记

人类在做这类学习的过程相比机器还是有优势的,一个是人类强大的抽象能力,还有人类的思考的能力,这大大减少了需要学习的量,可以看到机器在学习围棋的过程中用的数据是非常大的,而人类要达到这个水平需要的学习量大大小于机器的量。

这里只进阶到了高手,和顶尖水平还是有距离的,期待AlphaGo三月份和韩国围棋高手的对局,同样我们也要思考顶尖高手和普通高手的差距到底在哪里,如何去跨越。

标签: Google 代码 谷歌 网络

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:数据科学能回答什么样的问题?

下一篇:Lambda表达式的意义