来源:
http://headlines.yahoo.co.jp/hl?a=20160317-00000049-cnippou-kr
http://headlines.yahoo.co.jp/hl?a=20160317-00000050-cnippou-kr

作者:首尔大学计算机系教授 文炳魯

这场世纪的对决以人工智能的胜利而落幕。然而笔者仍然认为如果李世石九段能够发挥出全盛时期的实力与创意的话,是不会输给AlphaGO的。虽然李世石输掉了比赛,但仍然展现出了作为过去10年世界围棋第一人的那份宽容和品格。这次的对决中虽然也并非没有规则限制等不完美的地方,但是我们应该多看开一些,为人工智能的胜利毫不吝啬的送上祝福和赞许。
    如果不知道棋盘上变数的庞大性,也就不会明白为什么这次的对决会如此的让人瞩目。在围棋里,光是第一手的放置方式就有将近37个位置。随后稍微有所增加,然后越到终盘放置的可能性就会逐渐减少。这里假设一次需要考虑的落点位置大概有40个,如果如果计算机一秒钟能考虑一万种情况的话,那么连下7步所需考虑的情况大概需要多少时间来计算呢?
    问过一圈周边的熟人,一般的回答是仅需数秒,然而实际上却需要近5年的时间。如果扩展到下30步棋,所需时间就已经超过了10的36次方年。即使候选放子的位置缩小到10个,最初的7步仍然需要17分钟,而30步棋则超过了10的18次方年的时间。没有尽头的时间消耗啊。一般来说,围棋都会进行到200手左右,但仅仅是考虑30手就已经如此难堪,那怎样才能完整的计算200手棋的计算呢。就结论而言,非常细致的搜索和推断仍然是不可或缺的,即便是AlphaGO也并没有回避这个问题。
    AlphaGO之所以敢于挑战这个巨大的领域,其背景在于近几年卓越的技术进步。对于人类来说,图片的分类是比较容易的做到的,但对计算机而言却并不简单。拿当年的发展速度来说,每一年能把识别的错误率降低个0.5%就很了不起了。然而在2012年的ILSVRC(就是2015年百度被踢的比赛)大赛中,多伦多大学的hinton教授组将错误率从26%一口气压到了15%,并因此赢得了竞赛。取得了本应花上20年才能取得的进步。hinton教授所使用的技术正是深度学习和通用GPU运算。到了2015年(的比赛中),错误率已经被压制到了3%以内,仅仅3年的时间就获得了近50年的进步。
    AlphaGO得益于这个爆发式的技术进步,并在规模上堆到了极致。AlphaGO所使用的深度神经网络,仅仅输入层的节点数量就超过了2万5千个,而处理这些输入情报的中间层(hidden layer)有将近830万个。而它们之间的连接边(weight edge)竟然达到了14亿条。如此巨大的神经网络直到最近都是不可训练的。而AlphaGO使用3000万个落点、即将近16万分棋谱对这个网络进行一次训就需要大约一个月的时间。
通过这个惊人的过程,人工智能掌握了本来认为是人类专属的抽象思考能力。本次对局中,AlphaGO下一手所需的时间在平均一分钟或者稍微超过一点。通过论文内容逆向推,AlphaGO在一分钟内大约做了近5亿次的局势判断。5亿次看上去很巨大的数字,但如果每一手棋需要考虑30个左右落点的话,大概也就平均6.5手而已,只考虑10个落点的话也大概仅仅能推测8.5手。最终只能以推测的结果来确定落子点。这是这种检索方式与生俱来的界限。
    而能够突破这个界限的正是AlphaGO的另一个厉害的地方。仅仅上面那种程度的检索其实很难说能够战胜人类最高等级的棋手,因为人类也有很多很多使用推测能力的地方,甚至比人工智能程序更加精巧。然而AlphaGO有着比其他围棋软件领先一个时代的推测精度。可即便如此仍然可能还要比人类要差一些,这其中的差距已经可以使用强大的计算能力进行补全了。这个结果给予了我们一个重要的启示。人类的抽象思维能力这种东西,可能并非我们所想的那么复杂。
    职业围棋界想必受到了巨大的冲击,从今以后也会成为围棋界的重要资产吧。通过与AlphaGO的五盘对局,它展现出了职业棋手所下不出来的创意下法。也许会让职业棋手们从下法的固定观念里面觉悟出来,甚至有扩展思考边界的机会。围棋的水平也会更进一步的发展吧。
    也有人担心如果就这样发展下去,数十年后人类被人工智能所支配。从产业发展的历史来看,例如纺织业,信息化的初期也经常会有人对工作受到威胁产生恐惧。但是最终孕育出了新的工种,技术发展的同时,也为人类带来更加富裕的生活。以深度学习为代表的人工智能技术突然来到了我们的生活中,已经到了这些技术的基本含义应该像常识一样被知晓的时代。突然之间进步50年的发展速度,或许能够让我们享受到本应在有生之年连看都看不到的技术产物。

[翻译]AlphaGO留给我们的东西的更多相关文章

  1. 服务发现与健康监测框架Consul-DNS转发的应用

    关于Consul Consul是一个提供服务注册与发现,健康监测,Key/Value存储以及多数据中心存储的分布式框架.官网地址是https://www.consul.io/,公司初步应用后我们老大觉 ...

  2. Notepad++中NppExec的使用之一:基本用法

    一直用NPP,很长时间了,最近才学习它的各种插件,这篇文章是根据NppExec的用户指南写的.很多地方是翻译的,但不全是翻译,同时也有些东西没有翻译. 一.何为NppExec 简单的说,这个插件可以让 ...

  3. iOS 使用Storyboard 和 xib时的一些知识

    以前不太使用xib和storyboard进行布局,后来在工作中参与到了一个项目的维护工作,那个项目就是使用stroyboard的,再加上xcode5对stroyboard的大力支持,就在这里对于使用s ...

  4. cocos2dx 2.x 版本+Windows+ADT Bundle 配置

    昨天解决了cocos2dx 3.x版本+Windows+ADT Bundle的配置,今天来解决cocos2dx 2.x版本的配置. 整体来说,2.x的配置相对麻烦一点,不过一旦解决了,就一路畅通无阻了 ...

  5. JSP(一)

    一.JSP概要 一]JSP的概念 1>JSP是SUN公司开发的一个基于服务端的一种动态WEB开发技术.         2>JSP的代码结构/内容 = HTML内容+JSP特有元素内容   ...

  6. 目标管理剖析与实践– 献给追梦的人 (转)

      好久没写日志了. 最近总算在忙碌的日子中小小的松了一口气, 过来补起这几个月的空缺. 上次写的Cover Letter & Resume 重点诠释 - 深度剖析没想到居然超过了一万的阅读量 ...

  7. struts2 全局格式化,格式化时间,金钱,数字

    //在前台页面去控制时间,数字,小数,金钱,是极其不明智的选择,除非你是写了良好的 js api 像freemarker , struts 都有良好的标签,我们应该好好利用,才发现的,给大家分享一下 ...

  8. C#重的数组、集合(ArrayList)、泛型集合(list<T>)三者比较及扩展延伸……

    本来我只想总结下数组.集合(ArrayList).泛型集合(list<T>)三者的比较的,可以一写下来要扩展的知识点有点多了,只能写一个小的知识点列表了如下: 1.数组.集合(ArrayL ...

  9. C#入门基本概念

    一.版本号的命名规则 大部分时候是在名字后面加些数字表示不同的版本.其中以加上年份号最为简单明了.比如 Visual Studio 2008.但是大部分人还是不用这个方式.因为年份号中没有带来跟多的信 ...

随机推荐

  1. php提高效率

    1. foreach效率更高,尽量用foreach代替while和for循环. 2. 循环内部不要声明变量,尤其是对象这样的变量. 3. 在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环 ...

  2. linux svn迁移备份的三种方法

    原文:http://www.iitshare.com/linux-svn-migration.html svn备份方式对比分析 一般采用三种方式: 1.svnadmin dump 2.svnadmin ...

  3. (三)java的数据类型

    java是一种强类型的语言,所谓强类型,意味着每个变量都要有确定的类型,每个表达式也要有明确的类型,包括传递的某些参数.java中从大的方面分有两大数据类型,分别是基本数据类型和引用数据类型,基本数据 ...

  4. CXF发布restful WebService的入门例子(服务器端)

    研究了两天CXF对restful的支持.   现在,想实现一个以 http://localhost:9999/roomservice 为入口, http://localhost:9999/roomse ...

  5. Linux 2.6 内核实时性分析 (完善中...)

      经过一个月的学习,目前对linux 下驱动程序的编写有了入门的认识,现在需要着手实践,编写相关的驱动程序. 因为飞控系统对实时性有一定的要求,所以先打算学习linux 2.6 内核的实时性与任务调 ...

  6. 网页爬虫--scrapy入门

    本篇从实际出发,展示如何用网页爬虫.并介绍一个流行的爬虫框架~ 1. 网页爬虫的过程 所谓网页爬虫,就是模拟浏览器的行为访问网站,从而获得网页信息的程序.正因为是程序,所以获得网页的速度可以轻易超过单 ...

  7. OAF_架构MVC系列4 - Control的概述(概念)

    2014-06-18 Created By BaoXinjian

  8. py继续

    这个正则里面有引号,我外面在一个引号就出问题了,应该怎么处理 用双引号

  9. mysql 正则

    mysql 正则学习 基本字符匹配 select desk from dealer_info where desk regexp "82107777"; . 表示匹配任意一个字符 ...

  10. Cassandra安装及其简单试用

    官方主页:http://cassandra.apache.org/ 简介: The Apache Cassandra Project develops a highly scalable second ...