打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
阿尔法狗和薛定谔猫



来自古哥古点旧版 09:17

最近一个星期,在全世界掀起霸屏狂潮的是一个叫狗不是狗的电脑AlphaGo。这台超级计算机和韩国九段高手李世乭的围棋对决不仅牵动了无数围棋爱好者的目光,而且被许多评论者认为是人类在人工智能领域发展的一个里程碑。关于这五番棋对战的棋局进程已经有了众多解说,今天我们通过这只狗和另一只猫来讲解AlphaGo的运作原理和智能计算的未来。敬请收听。


阿尔法狗


准确地讲,AlphaGo是DeepMind公司研发的一套在超级计算机上运行的围棋对弈程序。长久以来,人们一直认为围棋是最能体现人类智能的游戏,因为在围棋对弈中,变化之复杂难以穷尽,所以不仅要靠计算和记忆,更需要靠人类的直觉,而感觉是计算机难以领悟的。所以尽管凭借超强计算力的计算机早在上世纪末就已经在国际象棋领域完胜人类世界冠军,但围棋一直被认为是人工智能的禁地。



国际象棋世界冠军卡斯帕罗夫1997年被“深蓝”战败


不过在人工智能领域的科技人员看来,围棋尽管非常复杂,但仍然是一种明确的、逐步进行的、有限变化的计算任务,因此取得突破只是时间问题。果然AlphaGo如今的表现明白无误的证明了这一点。2015年10月,他以5:0完胜欧洲职业围棋冠军樊麾二段。短短5个月后,2016年3月他又成功的战胜了世界围棋最强者之一的李世乭。



AlphaGo挑战李世乭


那么这只疯狂的狗究为什么这么厉害呢。其实厉害的不是机器,而是背后的人,来自DeepMind的黄世杰团队。传统的围棋设计程序更多的都是从规则入手,希望把人类围棋高手的经验和行棋技巧用程序语言尽可能完整的描述出来,让计算机掌握,利用计算机丰富的记忆力,能够在实战中选择这些已经制定好的教条来与人博弈。然而这样的程序设计思路似乎遇到瓶颈,不论怎么调整和改变或者提升计算机的性能,棋力总是难以提高。根本的原因之一就是这样的模式太教条而无法应对千变万化的棋局。



DeepMind团队


黄世杰提出了全新的思路,利用近期在许多应用领域取得重要成果的深度学习技术来提高计算机下围棋能力。他使用的基本模型叫做“深度卷积神经网络”。这个名词听起来非常深奥,但是理解起来并不困难。这个工具其实是一个分类器,主要解决分类或者等价于分类的问题。生活中大量的问题其实都是分类问题,比如垃圾邮件过滤就是把邮件分成正常和垃圾两类,天气预报就是把不同区域分成晴、阴、雨、雪等类,精确广告推送就是把用户分成户外、母婴、体育健身、影视娱乐、电影、吃货等类,人脸识别就是把面部图像分成“是你”或者“不是你”两类。


分类器运作的原理也非常简单,首先提供一堆已经正确分类的样本,叫做训练集合。然后工具会把这些样本拆分成许多的特征量(这就是卷积),不同特征量对于最后决定样本的分类结果而言重要性是不同的,这些重要性的参数就形成一个网络。只要为这个网络设定好正确参数,那么任何新的对象进来,分解的特征量经过这个网络综合后,就能得到正确分类。但是正确的网络参数人是不知道的,这就要利用已经正确分类的样本,把这个问题反过来,输入样本后根据分类结果,反算出网络系数。这就如同一个学习过程,故此称为机器学习,而深度学习是指对多个层次的网络同时学习。



AlphaGo的成果发表在《Nature》

 

那么下围棋怎么就成了一个分类问题呢?其实这个思路很重要,就是把棋局的每一步棋,区分成“像人下的”,和“不像人下的”两类。这样围棋就可以变成分类问题。具体来讲,黄世杰团队把KGS(一个国外围棋网上对弈平台)收集到的大量对局作为样本数据。当对局进行到某一步时,程序要决定下一步的位置。那么所有棋盘上规则允许的位置其实就可以分成两类,一类是人类对局的样本数据中出现过的位置,另一类是样本数据中未出现的位置,一般来说这代表着人类棋手不会考虑的着棋点。当然还有一种可能是,人类会选择的合理位置却不在样本中,因为没有采集到。这种情况当然存在,但是当样本很大的时候,这种情况出现的几率很低。接下来利用深度卷积神经网络,就可以计算网络的参数,从而让计算机学会分类,选择接近人类的下法。我们称其为分类器策略。



分解特征的卷积操作

 

分类器策略是远远不够的,因为这只是像人类,根本没有办法战胜人类。不过黄世杰的老师Remi Coulum在2006年提出的一种大胆的方法提供了重要的改进方向,这就是蒙特卡洛搜索树方法,简称MCTS。这种方法看起来更简单、更暴力、甚至有些愚蠢。它根本不需要任何的围棋专业知识。就使用两台电脑,进行自我对弈。第一局,完全随机摆放棋子,只要符合规则就行。这样乱战的一盘棋总归也有个胜负。然后把胜利一方的落子位置对应的评估成绩加分,表示这样落子受到了鼓励。然后更新两台电脑的计算程序,不再是完全随机落子,而是根据加分后的数值决定位置,这样就得到了一种更高质量的对局。之后重复这个过程,每次都对胜利一方的落子方法进行鼓励,利用计算机强大的计算能力,很快就能进化出一套计算机的对弈策略。我们称为随机策略。



KGS训练样本统计胜率


直接使用随机策略,其实效果是很差的。因为看似强大的计算机计算能力面对天文数字的棋局变化可能性时真的是沧海一粟,即使反复运算了很长时间,你会发现那个对弈水平仍然是很低的。由于在随机策略中,计算机完全没有借助任何人类经验的指导,因此大量的对局中充满了随机落子的步骤。而在一个没有价值的随机步骤之后再去推算其他步骤是否合理基本是浪费时间,故此这种方法计算效率当然非常低。随机策略要想改进,其实需要一种对当前形势分析的判断器,如果某一无厘头的昏招出来以后,立刻判断己方价值骤减到很低,就可以停止继续向下分支计算了。



蒙特卡洛搜索树


说到这里,即使不懂计算机编程的人可能也会想到了,如果把两个方法,分类器策略和随机策略结合起来,让计算机按照分类器策略决定落子,然后利用随机策略进行快速自我对弈升级,是不是会更好呢?答案是肯定的,而这也正是AlphoGo的基本算法。本质上来说,随机策略是基本的程序升级处理框架,分类器策略减少了搜索的宽度,把根本没有可能性的落子点排除,加速程序棋力提升。不过团队后来发现这样的速度仍然太慢,所以不仅要减少搜索宽度,还要减少搜索深度,也就是减少向后推算的步数。原先的随机策略要下到分出胜负才能记分,其实这样很浪费,因为人类选手不需要胜负就能判断局面的优劣。为此AlphoGo还开发了第三个网络:价值判断策略。同样的,这也是一个分类网络,这个分类问题,就是把当前局面分成好或者不好两类。


价值判断、分类器策略和随机策略共同组成了Alpha Go的大脑。利用输入的海量的人类高水平棋局加上强大的左右互搏进化,难怪从战胜欧洲冠军短短5个月,阿尔法狗的棋力就让职业棋手跌破眼镜。因为人家把你喝咖啡的时间都用在深度学习上了。




不过需要澄清一个问题,这种自我博弈进化方式,并不像很多人以为的那样重要,它既不是是阿尔法狗成功的关键,也不可以无休无止的提升棋力。因为这种棋局的提升方式很容易变得收敛。举个例子,阿尔法狗经过长期自我博弈的升级版本在对自己的原始版本时,胜率超过85%,然而当面对人类棋手时,升级版本甚至不如原始版本。至于为什么,想象朝鲜的三代大元帅吧,他们的地位和口碑在内部越来越神,然而真实的能力呢?呵呵。

 

薛定谔的猫


阿尔法狗取得了骄人的成绩,黄世杰团队也真的值得敬佩,不过人工智能的种种进步最根本的动力其实是来自计算机速度的提高。理论上来说,只要计算速度快到一定程度,那算法就完全不重要。就如同大象和人类比赛扔铅球,大象根本不需要研究投掷技术。提到计算的未来,最有希望的无疑是量子计算技术,这就要从薛定谔的猫说起。



薛定谔的猫实验


薛定谔的猫是量子力学当中最著名的一个理想实验,他是1935年德国物理学家薛定谔创造出的物理学上最有名的动物。一只小猫被关进一个装有毒气触发装置的箱子里,毒气开关被一个有50%几率发生衰变的原子控制,如果原子衰变了,放射出来的粒子就会触发毒气让小猫死亡,反之小猫就活着。当我们打开箱子时,看到的猫只有两种可能:生或者死。但如果不打开箱子的时候呢,猫是什么样的呢?一般人会认为猫已经死了或者活着,但是我们不知道而已。而量子力学的观点就认为没打开箱子时,猫即活着,又死了,两者各以50%的概率系数组成一个叠加状态。

 

实验中说猫处于叠加态当然是物理错误的,不过这不妨碍利用它去直观理解什么是叠加态。在微观世界中,叠加态是真实存在的,且早已被实验证实。比如光的单缝实验和双缝实验。叠加态非常奇妙,我们无法知道处于叠加态的粒子信息,因为其信息是不确定的。如果非要确定叠加态粒子的某种信息时,必须通过测量。然而任何测量动作都会破坏量子的叠加态,当你测量出该粒子的数据时,也就失去了叠加态的其他信息,变为一个普通粒子。就如同薛定谔猫的实验中,打开箱子这个动作就是一种测量,一旦这个测量发生,就可以确定猫的状态,但与此同时,原先那个半死不活的量子猫就不见了。

 

量子叠加态有非常多的应用,最重要的就是量子计算。传统计算机是利用比特来表示二进制数据,通过对数据进行运算和逻辑操作处理各类计算任务。一个位只能保存一种状态,0或者1。然而与之相对的量子位却有着神奇的物理性质,0或者1只是它的基本态,量子位则是叠加态,它可以即是1也是0。这就意味着,量子计算效率将呈现几何级数的提升,因为它的一次操作将对叠加在一起的多种状态同时操作,并且结果仍然叠加在一起。



量子叠加


如果这点不好理解,我们来举一个调查员通神的比喻来说明。有一个调查员负责采集城市的房屋价格,通常这个调查员一次只能完成一个城市的调查工作。如果有ABCD四个城市需要调查,那么他的操作指令应该是:调查A,然后调查B,然后调查C,然后调查D。顺序完成。现在假设这个调查员会通神之术,一旦被神仙附体,灵魂进入混乱状态,产生了四个分身可以分别同时到ABCD去。这个时候对他的操作指令只要一条:去调查。他就会同时调查四个城市的房屋价格,而四个结果就叠加在他现在被附体的灵魂中。可是你不能询问他,一旦你问他:A的价格是多少?他就会立刻清醒过来,告诉你A的价格,但是BCD的结果却都忘记了。在真实的物理世界中,调查员的分身可以有无数个。



叠加态量子制备的离子阱


听完这个比喻,你就知道为什么量子计算的潜力为什么这么巨大。这就是因为一个量子位的操作等于同时完成了许多状态的操作。原先普通计算机看起来不可能完成的任务用量子计算机就变得可行。比如现代银行等很多系统使用的RSA加密算法就是依赖于对一个巨大质数进行验证的计算量是普通计算机无法完成的,而1994年彼得·秀尔(PeterShor)提出量子质因数分解算法后,利用量子计算方式破解RSA算法就变得可能。而现在人们已经在实验室里用14个量子位真实的完成了自然数15的因子分解。



D-Wave半量子计算机的发展


量子计算的概念最早在1969年,由史蒂芬·威斯纳提出,各种技术和理论的进展在最近二十年发展飞快。著名的D-WAVE公司曾让人们觉得量子计算的应用已经近在咫尺。2007年1月16量子位处理器问世,2009年11月开发出128量子位处理器“RAINIER”,2012年9月开发出了512量子位处理器“Vesuvius”。不过后来的研究表明D-Wave开发的并不是标准的量子计算机,而是一种利用到量子隧道效应的可以实现某些类似模拟退火算法计算的设备,而且其计算速度是否有相对于传统计算机有优势也并不明确。



谷歌公司与NASA购买的D-Wave 2半量子计算机


在标准的量子计算机研制方面,2015年5月,IBM开发出四量子位原型电路,这成为未来10年量子计算机发展的基础。中科大的潘神潘建伟教授说过,未来不长的时间,能用于某些专门问题计算的超级量子计算机已经可以预见。



潘神建伟


阿尔法狗证明了人工智能的现在,薛定谔猫预示了人工智能的未来。人工的颜值是被世界的压力改变,人工的智能却是改变世界的动力。


创业不易,耳娱心憩之余如有您偶或中意的节目期次,请帮我们随手转发。书不尽言!您的鼓励是我们最大的动力。谢谢!

 



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
即将到来的「量子至上」时代
特征选择方法
是否存在一种算法可以随机生成一个自然数?
人脸识别技术大总结
决策树与随机森林
机器学习开放课程(五):Bagging与随机森林
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服