昨天人机大战的第二场,AlphaGo又赢了,一些人工智能方面的专家开始坦白地承认——技术的发展超出了我们的想象。态度更明确的,比如在腾讯直播室观战的余凯则表示“我的结论是计算机已经超过了人类”。
但承认失败从来不是人类的常态,失败后找出破绽再次出发才是,以一种不屈不挠的挑战者精神来说,就算接下来的三盘李世石输了,还有中国的柯洁;就算柯洁也被AlphaGo超越了,我们也不会承认AlphaGo的智力已经全部辗压人类,因为它就是我们自己造出来的,因为它这次连赢两场是有客观条件的。
眼尖的人会发现,之前的IBM深蓝不管在计算力上多么厉害,它都没法像AlphaGo下地这么像人类的棋着,好比直播时新浪网友一边看一边惊呼“实战中李世石在黑3顶的时候,毅然抢占下边的大官子。本以为AlphaGo要对中腹白龙展开猛攻,谁知AlphaGo竟然11位本本分分地虎一手,仔细一判断,竟然全局还是黑棋优势,AlphaGo的全局判断力非常准确。”
但从机器的角度,AlphaGo无论下地如何像人都不会有灵魂在指导的,有的只是基于强大CPU集群的基础上多了一个强大的GPU集群,这些才是让它依托其其深度学习能力能表现地如此像人的本质所在。至于它这一次为什么表现地这么出色,据王小川3月9号的表述,此次谷歌此次动用了上万台的机器,对外宣称1200台,2000个GPU,比深蓝计算力提高了3万倍。
很多人不解,最初用于渲染游戏图像的GPU怎么就会被发现适合深度学习呢?对此,图灵机器人联合创始人杨钊告诉雷锋网
相比CPU设计为通用的计算处理,GPU更适合处理并行的相同的计算;一般情况下,GPU的核数更多,在并行处理大量数据时优势更加明显;深度学习需要大量的数据运算,典型的深度神经网络有很多节点,每个节点又有很多连接,需要并在学习的过程中不断更新迭代,这种情况下GPU更具优势;
如果要举一个形象的例子,按小智机器人何勇的说法
在串行架构下 ,计算两个长度为1000向量的加法需要循环计算1000次,而用GPU一次就可以完成计算。
普通人都知道,GPU的全名是“图形处理器”,按理说它应该不是这次人机大战的动力主角,但因为其在大规模并行运算环境中的出色表现,对需要大量使用张量计算的深度学习来说能够起到明显的加速作用,反而使得它成为此次人机大战中的耀眼新星。另外一个让雷锋网觉得有意思的东西,是余凯在解读昨天的人机大战时,提到“Alphago似乎可以掌握局面。因为基于深度学习里面采用卷积神经网络,就是拿很多的滤波器,扫描棋盘,它可能拿成千上百个滤波器,得到分层的理解,上面再来一层扫描,这个机制跟人眼睛的视觉神经网络是完全一样的。这里面很巧妙的,卷集神经网络是模拟人整个大脑的视觉神经网络的机制。”
人类脸上的一双眼睛,比其它任何五官部位都能有助于迅速掌握全局,但这个卷积神经网络没用摄像头、也没有雷达扫描。只是用一双没有眼睛的“眼睛”(基于模拟人整个大脑的视觉神经网络的机制),让AlphaGo有了比赛中表现的“全局观”,这似乎是非常有意思的一件事。
AlphaGo的计算能力比人强已经是板上钉钉的事实,它的“思维能力”也在赶超人类的路上,但这次人机大战展开的初衷,就是我们深信它的“神经网络”跟我们真人的神经网络是有差距的,所以我们不断测试。那它跟真人神经网络相比,还有哪些差距呢?
杨钊:
规模远没有人脑大,人脑800多亿个神经元,整体性能比人脑稍慢;
功耗的问题;
泛化能力(举一反三的能力);
何勇:
目前科学界对大脑的结构认知还是非常有限的,当前的人工神经网络就是建立在这个有限的认知上设计出来的一个高度简化的人脑模型,所以相比人脑而言,还有 很大差距。举个简单的例子,其“智能”的迁移性相对于人脑有非常大的距离,比如,一个能够击败人类棋手的AI很难去学习怎么去理解一篇简单的文章。
而思必驰CTO周伟达博士则从AlphaGo的主动和被动性上分析了这个问题——与人类相比,AlphaGO需要改进的地方还有很多方面,目前深度学习大多采用有监督的学习,在无监督学习,半监督学习和自学能力方面需要加强;同样由于目前深度学习大多从以往的棋局中进行学习,在联想记忆、创新、和推广能力不足,等人类逐渐熟悉其棋路后,其这方面的弱势也会显露无遗,所以其创新和推广能力方面还需要加强。
在正式比赛前,有人就已经关注到AlphaGo先读取KGS(一个网络围棋对战平台)上面近16万局共3000多万步的人类走法,但这种简单复制Copy的能力还不能满足AlphaGo飞速进化的需求,按出门问问NLP工程师Jason的说法,它只是“基于这个在人类棋局上学习出来的SL Policy Network, 然后使用强化学习(Reinforcement Learning)的方法通过自己跟自己对弈,来进一步优化Policy Network。”
而从李世石在前两局的“异常棋风”表现中,我们这里不妨推测出李世石已经意识到AlphaGo已经对自己的棋风相当了解,他本人正在极力求变,而不是职业棋手认为的他在“消极应战”,因为我们相信以一个围棋冠军的智商,他绝对知道找出对手破绽的重要性,即使这个对手不是人。
至于如何保证跟自己对弈的过程中学到东西(不下一样的棋),业余5段赵治勋表示
在算法里这个叫做加强学习,通过对弈提升棋力。我学过这个算法,认为它可信而且有用。通俗来讲,人不可以复制,但机器可以。两只阿尔法围棋的复制品0号机和1号机对弈 互不干扰 这样的学习就是有用的 而人并不能分身自我对弈干扰严重,因此不能学东西。
知己知彼,方有胜算,在知道AlphaGo在此番竞赛中,它擅长的是记住棋谱+加强学习+计算能力,那如果按武侠小说破招的思路,人类应该干啥来破招?
从招式上,杨钊表示有3点 1 尽可能地使用冷招,进入冷僻局面;2 在前期利用人脑的大局观建立优势,否则到了后期搜索空间变小,计算机更具优势; 3 创新棋局理论,让其之前学习到的棋局能力减效(挺难的)。
从心理上,何勇表示AI的优势在于精准的计算,不像人类棋手会受生理和心理因素影响,出现失误。而劣势也显而易见,缺乏对全局的掌控,AI的走法,更多的是基于当前棋局做出的 一个短期判断。所以,如果跟一个善于全局布局的高手对弈,胜的可能性相对较低。
从可能性上,出门问问李理表示,很难,从我程序员的角度看,因为残局的差距太大了,前面走子机器也不会太差。我觉得可以试试的策略就是中前期占优势,然后残局导向简单变化的局面。开局不要被怪招吓到,认为是弱手就要严厉打击,机器的开局不怎么样。
从本质上,周博士表示,目前机器智能还处在初始发展阶段,机器凭借其海量的存储能力和快速的逻辑计算能力获得了一定的优势,同时在智能方面通过人工智能专家的设计具备了一定的学习能力,但其与人类相比还有很大的差距,人类并不需要太大惊小怪。人类只需要更多地了解目前机器智能的本质,在实际对弈中去了解机器的强项和弱势,相信人类很快能找到发挥人类优势战胜机器的方法。
也许后面李世石接着输了,也许柯洁也被AlphaGo超越了,也许以后博弈类的游戏人类再也不是机器的对手了,但我们依然觉得,把AlphaGo的原理搞清楚了,像IBM的深蓝一样让我们对它知根知底,就是它最大的破绽。
目前网上分析AlphaGo的文章一大推,因为晦涩难懂,引发了人类对它的敬畏,或者说对它的恐惧,但我们若把它往简单里看。
1997年的IBM深蓝依靠计算力和暴力穷举,超越了人类在国际象棋上的局限。
2009年的时候,一个叫做Hinton的老头第一次把他研究了近30年的深度神经网络介绍给了做语音识别的学者,到了第二年语音识别领域就发生了巨大的突破。
于是深度学习网络像开了挂一样开始向人工智能的各个领域蔓延,并开始出现CNN、RNN等更多具体的变种。
直到2016年3月,它用在围棋游戏上跟人类对弈。
那怎么简单描述深度网络在围棋上的应用呢?
“我的理解,两个深度网络的工具,Policy Network+Value Network通过评估每一步收益,用来简化蒙特卡洛树(AI框架)的搜索空间,取得落子最优和时间消耗的平衡。”杨钊如是说。