0:3,在前不久的人机大战中,柯洁负于AlphaGo。正如各方预测所言,虽然柯洁在人类围棋中排名世界第一,但是如果想战胜AlphaGo是毫无希望的。
去年,在AlphaGo以4:1战胜了李世石之后,柯洁曾发微博说AlphaGo赢不了他,或许在那个时候,AlphaGo确实有可能赢不了柯洁;但是如今进化版的AlphaGo早已今非昔比。相比去年,今年的AlphaGo在很多方面做了改进。在这里,科大讯飞研究院也给出自己的看法。
AlphaGo为什么越来越强?
首先,强化学习的作用更加突出。在去年的版本中,基于人类对弈的棋谱通过监督学习所训练的策略网络仍然占据重要的作用,基于强化学习得到的策略网络仅用于第一步选择候选路径,做蒙特卡洛树搜索时,采用的仍然是基于人类对弈的棋谱训练的策略网络。AlphaGo团队中的黄世杰博士曾在2015年发表的论文中解释,按强化学习的策略网络采样很难覆盖人类走棋时的多变性,或者说,这时的强化学习策略网络已经有一定程度过拟合了。
强化学习是多学科多领域交叉的一个产物。图片来源于雷锋网
而在今年版本里,这一问题无疑得到了显著的改善。此时的策略网络和估值网络都是强化学习训练得到,基于人类对弈棋谱通过监督学习得到的策略网络只是充当初始模型的作用。强化学习过拟合问题的解决我们猜测可能是通过多模型融合或结合历代AlphaGo网络用于指导下一代AlphaGo,这一块在2016年的版本中可能也只是由于时间问题而没有做好。
此外,盘面解读上更加精确。2016年的AlphaGo使用12层卷积神经网络结构来解读整个盘面,而今年AlphaGo使用了40层的卷积神经网络,并且可能采用了残差结构等在图像领域取得了巨大成功的网络结构。相比12层的网络,40层的网络表达能力更强,对盘面的解读更加的精确,帮助AlphaGo更好的把握当前的大“势”,而残差等网络结构则可以弥补模型在对局部细节表达能力上的不足,更好的把握具体的“实地”信息。
GPU、TPU、FPGA,机器大脑加速前进
今年AlphaGo最大的亮点莫过于仅仅采用了一台搭载4个TPU的服务器来进行计算。之所以能够将计算资源从去年的1202颗CPU和176颗GPU减少到4个TPU,除了工程上的优化和蒙特卡罗树搜索规模的精简之外,TPU非常强大的计算能力是这里面的关键因素。就在今年的5月11日,NVIDIA推出了新一代的GPU架构Volta,而仅在一周后的Google I/O大会上Google发布了第二代TPU,号称具有相比GPU更强大的计算能力,随后的AlphaGo与柯洁的人机大战更是点燃了深度学习硬件之争。
谷歌自行打造TPU芯片
我们在这里也简单的对GPU和TPU做一个对比。GPU作为目前最为主流的深度学习硬件,通过内部极多线程的并行计算,取得了相比CPU高一个量级的计算速度。但是GPU为了管理这些线程,让它们都能够彼此不冲突的快速访问到显存,GPU需要在微架构上做出精心的设计以满足各种深度学习计算对于带宽和缓存的需求,因此也拖累了GPU的计算效率。
相比之下,TPU是一种针对深度学习定制特殊应用集成电路(ASIC),通过在电路层面上对深度学习中所需的计算和存储进行定制设计,实现了极高的计算密度。ASIC其灵活性能否高效率计算新的神经网络结构还不得而知;而同时,其编程模型少于CPU和GPU,很难适应除TensorFlow以外的编程模型,因此TPU的瓶颈可能就是是否具有足够的灵活性。
AlphaGo对战李世石比赛中使用的载有TPU的服务器机架。图片来源于雷锋网
在TPU和GPU争得火热的时候,大家似乎忘记了FPGA。和TPU类似,FPGA同样是在电路层面对深度学习算法进行定制,我们可以通过VHDL等硬件描述语言对FPGA进行编程,从而实现对某种深度学习算法的定制。尽管这种通过硬件编程的方式进行的优化相比于TPU在晶体管结构上的定制优化在理论单位功耗计算能力上稍逊于TPU,但是相比TPU,FPGA更加灵活,深度学习算法更新后仅仅需要重新对FPGA进行编程,而无需重新进行电路结构的设计和芯片生产。早在2015年底,科大讯飞就已经开始尝试用FPGA进行深度学习算法的定制。采用该芯片搭建卷积神经网络语音识别系统可以取得相比于GPU Tesla K40更高的单位功耗计算效率。
科大讯飞第一代人工智能计算加速卡 FALCO IM1000
团灭人类棋手,AlphaGo还有哪些新“套路”?
本次人机大战中,除了“单挑”模式之外,更是增加了“群殴”和“双打”模式。群殴模式中,五名人类棋手共同迎战AlphaGo,每次落子都由五名棋手共同讨论决定。这种群殴模式看上去人类占有人数优势,但是实际上人类战胜AlphaGo的概率并不会比柯洁单挑AlphaGo时高。这是因为人类学习下棋都是从前辈们总结出的一些理论和“套路”中学习的,人类的思维相对而言更加固化,因此,人类棋手很难在原有套路的基础上有所创新和突破,发现新的招数。然而围棋的变化之多远不是人类对弈所能覆盖的,谁也不知道这里面还有多少妙招、绝招没有被发现,而这些招数恰恰在AlphaGo海量的自我对弈中能够被不断发掘出来并予以强化。
AlphaGo“团灭”人类棋手。图片来源于搜狐科技
再来看看“双打”模式,两位人类棋手分别搭档AlphaGo交替落子进行对弈。如果说群殴模式只是更加彰显了AlphaGo的实力之外,双打模式更加具有意义。我们注意到在比赛过程中,连笑在开局处于不利局面,古力则占有优势,然而随着比赛的进行,连笑和AlphaGo的配合变得越来越好,连笑似乎心有灵犀地领悟到了AlphaGo的意图和招数的精妙之处,很快的扳回了劣势,最终取得了胜利。看似娱乐为主的比赛其实值得深思,如果让AlphaGo——阿老师来指导人类棋手下棋,是否能够让人类棋手很快的学习到AlphaGo发现的新的妙招,甚至是这种创新的能力呢?
AlphaGo这次输给了自己。图片来源于新浪网
除了下围棋,人工智能还能做什么?
在人工智能的其他方向上,机器的将来也许可以预想。让机器学习行业最顶尖专家的知识,未来达到一流专家水平,从而超越90%的普通专业人士,这也是今天我们面临的机遇。教育、城市、医疗、汽车、客服、家居……只要是你能想到的行业,人工智能已经融入其中大展拳脚,正在绘制一幅崭新的图景。
今天再让人类与机器下围棋比出高低胜负已经意义不大,如果让每个围棋顶尖高手带着一个人工智能助手相互PK,让每个人轻松打开人工智能、站在人工智能肩膀上发展,这才是AlphaGo的成长之路给我们最好的启示。人工智能不仅要“ 行业”,更要“ 个人”。
编辑:阿序 yinkai
,