科普:alphago是什么

原创 2016年03月15日 11:57:13
鉴于大部分人类对alphago的认识:

1:Alphago有什么了不起的?不就是算得快吗,ibm早在20年前就通过象棋战胜人类了,又是Google的一次营销。
2:alphago 实现人工智能了,电脑马上要超过人类占领地球了。


这两种想法哪个才是正确的那?严格地说,都不正确。所以我觉得非常有必要给非计算机行业的同学们科普一下。由于是一篇科普文,所以我们不讨论卷积神经网络或MCTS这些东西,对原理感兴趣的同学可以:https://deepmind.com/alpha-go.html。另外,欢迎加微信探讨各种问题或指出错误:lofocus
要理解什么才是真正的alphago? 必须弄明白以下几个问题。


1: 象棋早就被打败了,围棋有什么了不起?

用计算机怎么才能达到绝对的胜利?那就是穷举,就是把每一步每一种落子的可能都算一遍,然后电脑尽可能的往胜利的分支上去走,这样除非你也能看尽每一步棋,或者运气极佳,一个失误都没有,否则必输。要做到看尽每一步棋,需要多大的脑容量那?这主要取决于棋盘的大小,简化一下,不考虑落子的顺序和规则,象棋的难度是10的46次方,而围棋的难度是10的172次方。这么说对于没有算法复杂度概念的人可能很难理解。10的172次方就是1后面跟172个零,而宇宙中原子总数量大概是1的80次方左右。还不理解?我们缩小一下范围,假设象棋的难度是1,就是只有一个格,谁先下谁赢。那么围棋就是1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,没错,依然很大。这种计算量,目前电脑的计算能力是远远不够用的。此外,象棋的棋子是有区别的,电脑可以优先保证车马炮一类的,然后才去考虑小兵,加上象棋的规则复杂导致计算机不用考虑大量不合理的走法(术语叫剪枝),所以计算象棋相对就简单多了,仅仅通过提高计算能力就可以达到打败天下无敌手。围棋也有很多不合法的落子方式可以去掉,去掉之后的难度大概是1的170次方,对,并没有卵用。当然,还可以刨除一些可预知的不合理没有胜率的规则,但是难度依然是不可计算的天文数字。通过计算机的计算能力打败人类围棋高手,目前看不到任何希望,这也就是大部分人,包括很多计算机领域的大牛,集体不看好alphago的原因。


2:围棋程序不是早就有了吗?狗狗就是提升了一点而已。

的确,很早之前电脑就会下围棋,而且也下的不错,至少我下不过我的手机。这些软件是怎么做到的那?其实就是用象棋程序的原理(当然有针对性的改善了,比如使用了蒙特卡洛搜索等等),这类程序太依赖计算,所以电脑性能越高,软件也就越厉害。不过前面说过了,围棋太复杂无法算尽。所以这种方式始终无法突破瓶颈。在人类高手面前看起来很像白痴。


3:Google是怎么实现的?

这个问题讨论起来很复杂,通俗的说,就是预先输入一大堆人类对战的棋谱,然后电脑下棋的时候,根据这些棋谱的某些特征去选择把棋子放在什么地方(注意,不是完全复制人类之前的下棋方法,而是依据数据分析判断)。它可能觉得很多地方都值得放棋子,那就把胜利最大的几个位置都测试一下,分析出一个胜率最高的位置。怎么确定哪个位置胜率最高那?就是把棋子放在一个位置,然后用相同的方法去判断对手的棋子会放在什么位置…如此重复,直到下完一整盘棋,看看是输是赢,这个过程会根据不同的选择重复很多次,这样就找到一个胜率相对最高的位置。然后你会发现,通过这种方法狗狗是无法进步的,因为人类没有那么多棋谱让它学习,所以,他会通过自己跟自己下棋来获得提高,并且他自己会下出什么奇怪的套路人类很难预测。
怎么样?狗狗的进步方法是不是跟人类很像?学习上:首先找老师学规则(程序狗写的),然后看各种名人的作品(输入人类数据),在然后自己反复练习(机器学习)。对战上:纵观全局,考虑一下因该把棋子放在什么地方,然后在心里预演一下放在这里合不合适。
其实,狗狗的实现就是对人了思考过程的模拟。


4:电脑要占领地球了?

然而并没有,先不说狗狗的算法有多通用,至少它完全不是你所理解的拥有了自主意识,它就只会下围棋,稍做修改或者不用修改(目前的算法还是需要修改的,看论文他们的算法还是针对围棋做了很多特殊的设定),就可以下象棋、打游戏、医疗、基因排序、经济预测等等等,但是它并不知道什么是程序猿,什么是单身狗,也不会梦见电子羊。它更像是用统计学上的一些方法,做到了人类凭直觉完成的事情。而不是具有了人类胡思乱想的能力。


5:狗狗根本不理解围棋,所以不是人工智能,大家都被骗了?

这个想法可能源于人类对人工智能以及对自己的认识不足,举个例子:人理解骑自行车吗?人生下来是本不会骑车的,但是通过学习都可以学会。从不会到会,区别是什么,是因为那个人现在理解自行车了吗?就个人来说,从不断摔倒,到可以撒把骑车,并没有特别的变化,我说不出速度和重心的关系,也谈不上理解骑车,但不妨碍我转弯避让,自由穿梭。区别不是理解,而是训练。通过训练,得到反馈,做出调整,获得模式。下棋也是这样,通过大量的训练,能够做出最好的反应,就可能会赢。


6:这有什么意义?

要说意义,我个人认为还是非常非常大的,这可能是本世纪最重要的一个事件,也可能是人类历史上最重要的一个事件。当前,前提是证明AlphaGo的方法的确可行。
虽然现在的狗狗不是一个通用的神经网络,想让下围棋的狗狗下象棋,是需要人工修改狗狗的逻辑制造一条新狗的。即使这样,这种算法的应用场景依然十分广泛,比如医疗、金融、自动驾驶、同声传译、甚至在数论、量子场论等很多领域都有用武之地,现在,一些基层医生、律师、高级技工等行业也需要开始担心自己的饭碗了。他能解决的不是一个问题,而是一系列问题。他找到的未必是最佳解决方案,但至少超过了人类所能找到的所有解决方案。
的确,现在的狗狗还不具有自由意识,但不能说狗狗不具有自由意识就没有任何意义,就不叫人工智能。如果狗狗真的具有独立思维,那是否应该叫“人类智能”那?况且,如果机器真的具有了自由意识,那对于人类的意义恐怕就不需要我在这写了,也没有围棋比赛了,人类应该考虑是否拿起武器去反抗了。
说到底狗狗还是程序,还是各种指令的集合。但是,谁又能说程序和运算不能是智能那?难道智能必须是由碳水化合物组成的肉身吗?如果人类能够制造一个绝对理性人,没有情感,没有意识,但无所不知无所不晓,智商全面碾压所有人类小肉虫,这台“机器”的发明是否是一件值得我们深思的事情那?当然,狗狗还远未达到这个程度,但它让我们看见了一丝希望,一道曙光。
今天,AlphaGo用事实证明了机器可以部分代替人类思考,让人脑思维结晶的权威性受到质疑,这绝对是一个崭新的开始。。。

昨天,我们不相信计算机能够解决围棋问题,今天,我们是非依然不相信计算机能够产生自由意志那?我们还是独一无二的吗?


版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus 举报

相关文章推荐

李开复万字长文科普人工智能:AI是什么 将带我们去哪儿?

人工智能正以前所未有的态势汹涌而来,一方面是风投和创业创新,都把人工智能当做了下一个尚未被开垦的宝地;另一方面是应用,比起概念盛行的阶段,现在的无人车、AlphaGo等已经把人工智能技术带到了“看得到...

UITableViewCell高亮(按下)时,子视图背景色变透明的解决方法

UITableViewCell highlighted subviews backgroundColor自定义的UITableViewCell,在上面添加一个UIView(这里是UILabel),设置...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

软件项目报价方法

软件项目一般包括解决方案、开发、维护、系统集成等。以下将分别介绍软件开发价格、软件(系统)维护价格、系统集成价格、系统解决方案费用的价格估算方法,以供大家参考。

软件项目开发报价指南

公司一直以来都在接新开发的,定制化的解决方案开发项目,在和客户取得了互信以后,首先会遇到的问题就是:多少钱?报个价吧。往往,我们的销售经理就蔫吧了,具体研发需要多少钱?我得去问问项目经理,那项目经理又...

ios业务模块间互相跳转的解耦方案

一个app通常由许多个模块组成,所有模块之间免不了会相互调用,例如一个读书管理软件,可能会有书架、用户信息、图书详情等等模块,从用户信息-我读的书中,可以打开图书详情。而在图书详情-所在书架,又可以打...

iOS集成微信支付的一些坑:onResp不回调、只显示一个确定按钮、闪回

iOS集成微信支付总体来说还是比较容易的(如果没有那些坑的话),关于:发起支付之后只显示一个确定按钮,没有任何错误提示,断点返回的Url Schemes,也只有一个ret=-2,官方文档解释为: “...

深度解读 AlphaGo 算法原理

深度解读AlphaGo

科普:alphago是什么

鉴于大部分人类对alphago的认识:1:Alphago有什么了不起的?不就是算得快吗,ibm早在20年前就通过象棋战胜人类了,又是Google的一次营销。2:alphago 实现人工智能了,电脑马上...

云是什么?【科普】

到底什么是云(云计算)   有很多关于云的介绍。然而,大都是用比喻的形式来介绍云的属性。比较有名的比喻是餐馆、和电网。但是,云毕竟不是餐馆、或电网,如果只有这些比喻,仍然不清楚到底什么是云。 ...

科普:什么是TLS1.3

TLS1.3是一种新的加密协议,它既能提高各地互联网用户的访问速度,又能增强安全性。 我们在访问许多网页的时候,常常会在浏览器的地址栏上看到一个锁的图标,并使用“https”代替传统的“http...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)