未来学徒:读懂人工智能飞驰时代

978-7-115-51603-9
作者: 脑极体
译者:
编辑: 刘晓飞

图书目录:

详情

本书从技术、产业和商业三个角度向读者介绍了当今人工智能的发展状况,让人工智能从历史和数学公式中走到读者身边,成为读者探索产业发展脉络的指南。通过追问人工智能的技术细节,记录下发生在人们身边的人工智能产业跃迁,关注人工智能带来的变革。

图书摘要




未来学徒:读懂人工智能飞驰时代


脑极体 著






人民邮电出版社

北京

图书在版编目(CIP)数据

未来学徒:读懂人工智能飞驰时代 / 脑极体著. --北京:人民邮电出版社,2019.8

ISBN 978-7-115-51603-9

Ⅰ.①未… Ⅱ.①脑… Ⅲ.①人工智能—普及读物 Ⅳ.①TP18-49

中国版本图书馆CIP数据核字(2019)第131007号

◆ 著 脑极体

责任编辑 刘晓飞

责任印制 马振武

◆ 人民邮电出版社出版发行 北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

北京市艺辉印刷有限公司印刷

◆ 开本:600×970 1/16

印张:18

字数:334千字  2019年8月第1版

印数:1-3 000册  2019年8月北京第1次印刷

定价:50.00 元

读者服务热线:(010)81055410 印装质量热线:(010)81055316

反盗版热线:(010)81055315

广告经营许可证:京东工商广登字20170147号

内容提要

本书从技术、产业和商业三个角度向读者介绍了当今人工智能的发展状况,让人工智能从历史和数学公式中走到读者身边,成为读者探索产业发展脉络的指南。通过追问人工智能的技术细节,记录下发生在人们身边的人工智能产业跃迁,关注人工智能带来的变革。

本书适合希望了解当今人工智能产业的读者,以及渴望了解人工智能技术如何赋能产业的企业管理者。

作者简介

脑极体,专注于人工智能与泛前瞻科技领域的独立自媒体团队,以深度科普和令读者脑洞大开的独特视角为写作特色,见证并参与了国内外人工智能领域的多项大事件。目前脑极体已在十余家主流科技媒体开设专栏,多次获得重要科技写作类奖项。

本书为脑极体两位主笔“风辞远”和“我堂堂一个熊猫”的部分文章集结,主要收录了脑极体成立以来,到2018年年中的文章,希望能够从学术、技术、商业化的话语空间中,将近几年人工智能浪潮的真相与细节展示给广大读者。

执笔作者

风辞远,前科技财经记者,科技媒体与自媒体主编。现为人工智能与前瞻科技自媒体脑极体创始人,虎嗅、钛媒体、36氪、I黑马、途观商业观察、新浪科技等十数家国内外知名科技媒体专栏作家。致力观察和推广人工智能、流媒体、量子计算等前瞻性技术的产业应用与场景化落地,剖析世界科技矩阵的最新动向与创生趋势。

我堂堂一个熊猫,前人民日报海外版记者。现为人工智能与前瞻科技自媒体脑极体联合创始人,虎嗅、钛媒体、CSDN、界面等多家科技媒体专栏作者,关注人工智能、消费电子等多个领域,致力为读者带来有趣有料的技术解读。

序言 我们今天从AI中学习什么

近几年AI(artificial intelligence,人工智能)开始疯狂生长,各种关于这门技术颠覆产业、颠覆生活,甚至取代人类的“宏大叙事”接踵而至。很多人对AI抱有过分乐观的期待,甚至在其中夹带别有用心的谬论。

如果暂时放下对AI的美好想象,坐下来平心静气地回顾一下人工智能的历史,可能会产生不少别样的结论。

自图灵20世纪40年代提出现代人工智能概念,到1956年达特茅斯学院的一次会议上诞生第一个人工智能程序,人工智能已经是六七十岁高龄的“爷爷级”技术了。

人工智能改变生活、代替人类工作也不是什么新鲜论调,这种说法在这几十年里被反复抛出……结果呢,直到今天也没做到。

时间回到20世纪60年代。很多我们在今天认为是AI核心的技术方案,那时就已经被提出,比如神经网络的构想,比如机器学习领域的很多基础算法等。但在当时,这些都是“旁门左道”,真正占领AI话语制高点的是逻辑理论。

自从1956年被提出之后,应用逻辑理论的人工智能程序在20年间不断获得举世瞩目的成就,比如在国际跳棋比赛中战胜人类选手、自己解决代数问题等。当时带来的社会冲击,想来跟我们今天看AI下围棋、AI与人聊天一样震撼。

1959年,约翰•麦卡锡发表论文阐述了完整的AI系统。之后,AI机器人开始进驻工业生产线,甚至出现了能完成自然语言处理的AI程序。

更重要的是,由于当时的国际政治秩序,美国等西方国家大量动用国防开支来支持人工智能研发,各种实验室和AI企业拔地而起。就在当时,已经有科学家预言20世纪70年代机器人将彻底取代人类工作,也有科学家和社会名流认为AI将毁灭人类——是的,一切都和今天如此相似。

但这次持续了近20年的AI第一次繁荣期,在1974年画上了句号。

当时逻辑理论下的AI系统难以工程化。纸上谈兵的AI在耗费了巨额资金和经历了漫长等待后,依然没有能成为实物或者带来实际价值的AI系统。

就在人们开始逐渐放弃对AI的幻想时,最后一根导火索被点燃了:应用数学领域的大师,詹姆斯•莱特希尔爵士在给英国科学研究委员会所做的报告中,用详尽的数据和调查结果狠狠批判了AI产业的发展现状,并且断言“AI研究没有带来任何重要影响”。

这场报告,使得西方各国政府大幅度削减AI研究经费,林立的实验室接连关门。第一次AI繁荣时期的逻辑理论也埋没在历史的尘埃中,难以与机器学习、神经网络等后辈相抗衡。

进入80年代,“不安分”的AI又开始了蠢蠢欲动。

相比于60年代作为军备竞赛产物的AI,80年代的AI是因为商业化前景而迎来了又一次集体“兴奋”。

在学界,机器学习开始取代逻辑理论成为主流,以反向传播算法为代表的多层神经网络被研发成功,成为直到今天都影响AI界的大事。多层神经网络的自我排错性和兼容性良好,带来了AI逼近通用的新希望。

而在产业方面同样传来了利好消息。一方面,1975年,第一台LISP计算机[1]研制成功。到了80年代,这种广泛被看好可以实现自然语言处理、知识工程、工业分析的计算机类型,成为商业追逐的风口。据统计,到80年代中期美国已经有100家以上的LISP公司,这在当年可谓新兴产业中的翘楚。

另一方面,是1981年日本开始的第五代计算机项目研究。这在当时日本经济腾飞的大背景下受到了全世界的广泛关注,美、英等国也出于战略考虑重新开始自主AI计算机研发。

多方面的利好加持下,AI又一次来到了舞台中央。但这次快速登场迎来的却是更快速的谢幕。

1987年,是一个被广泛承认的AI技术之年。这一年华尔街大崩溃,全球范围内迎来了史无前例的金融危机。而LISP计算机产业也裹挟其中,由于LISP的真实应用场景欠奉,危机中的资本界很快失去了耐心,泡沫急速破碎,相关公司近乎全线破产,AI又一次成为欺骗与失望的代名词。

当然,这次AI受到的打击,更大原因在于90年代个人计算机时代正式到来。原本已经对AI计算机失去耐心的市场瞬间被PC这个“怪物”攻陷——之后的故事我们都知道,AI陷入了史无前例的长眠,直到近几年才又一次苏醒。

如今的AI再繁荣,就像前两次一样,都是由几大利好消息作为核心支撑产生的。

首先,杰弗里·辛顿等人在2006年提出了深度学习架构,机器学习应用化前景又一次被打开。而芯片和云计算的发展飞跃,也让AI需要的庞大算力成为可能。

更关键的是大数据时代的到来,让建立在机器学习基础上的AI应用,似乎不会因为训练数据缺失而沦为空谈。

纵观整个AI发展史,不难发现AI产业的兴衰是有其规律的。今天的AI复兴虽然令人激动,但也充满了变数与问题。我们所经历的AI复兴,事实上只是AI这个名词第一次在中国出现,是我们大部分人第一次感受到AI的心跳。这场AI盛宴中还有太多未知与变数,置身其中的我们,仿佛在迷宫中寻找路标和宝藏。

今天的AI一定不会重蹈当年的覆辙吗?

中国的AI产业真实发展到了什么地步?

哪些AI技术最有前途?

AI已经被证明可以在哪些领域改变我们的生活?

哪些技术征兆,可以让我们窥视十年后的科技未来?

在这个AI复兴时代,还有哪些其他令人兴奋的科技话题?

带着这些疑惑,我们在本书中展开了一场AI丛林中的大冒险,集结成了你所看到的这些文字。

很多人说,在未来面前,我们都是孩子。但孩子终归要长大,要开始尝试向未来去学点什么,以至于去试着做点什么。

这本书是近几年来,伴随着AI的快速增长与乱象迷离,我们所做的记录与解读。希望你可以在其中找到有趣的细节,或者有灵光一闪的体验。

面对席卷而来的技术爆炸,希望我们能够保持冷静,保持独立思考,保持好奇和渴望。关于AI的一切才刚刚开始,其中可能有很多我们不适应或者不熟悉的东西。但是没关系,去探索和冒险总是没错的。

毕竟我们不能永远当科技的孩子,我们要做未来的学徒。

[1] 一种直接以LISP语言的系统函数为机器指令的通用计算机,主要应用领域是人工智能的各种工程。

导读

第一篇:技术,是AI永远的起点。从2016年开始的这一波AI热潮,根源是深度学习算法的发展、数据量的指数级增长和算力的爆发。读懂了技术,就读懂了今天的AI。

第二篇:如果要问今天的AI热潮和过去有什么不同,最典型的答案一定是“应用”。今天的AI已经走出实验室,走进我们生活的各个角落。不光有无人驾驶、人脸识别这些新兴产业,金融、保险、企业服务等相对传统的领域,也得到了AI的加持。

第三篇:在调研机构TCS出具的《2017年全球趋势年度报告》中有这样一句话,“未来将只有两种公司,应用人工智能的和不赚钱的”。如今全球范围内的大量科技企业都开始涉足AI,他们都在做些什么?

第1章 深度学习

知识点解析:深度学习是机器学习研究中一个新的领域,通过建立模拟人脑进行分析学习的运算模型,模仿人脑的机制来解释数据,例如图像、声音和文本。当人脑辨识物体时,我们会通过长耳朵、红眼睛这些特征判断出眼前的动物是一只小白兔。深度学习就是让机器也能够像人一样识别特征,从而更有效率地工作。

一、生成对抗网络是AI的强心剂吗?

相信绝大多数AI领域的关注者,更在意的都是AI何时、何地、以何种方式投入应用。要知道AI已经是一个六七十岁的长寿学科,相比于学理上的进化和实验室中的成就,大家必然更关注AI改变生活、产生经济效用的一面。

根植于这种漫长的期待,一些AI领域内的概念获得了迅速火爆的机会。比如在2016年,一种被称为生成对抗网络的机器学习模型就快速风靡了整个AI圈,从学术界到资本界,一时间都对这种技术充满了无尽的期待。好像没有哪个AI从业者可以绕开它,无论是对它顶礼膜拜还是嗤之以鼻。

如此火爆的行业大讨论给外界一个错觉,好像生成对抗网络技术已经十分完善,马上就可以促成AI技术的全面市场化。中外众多创业项目也开始以其为噱头。

但剥开生成对抗网络有点神秘的外衣之后,这种机器学习技术真的可以带给AI行业“跨进度表”式的革命吗?

什么是生成对抗网络?

生成对抗网络(generative adversarial networks,GANs)这个概念,最早是在2014年的时候由蒙特利尔大学的AI学者伊恩·古德菲罗(Ian Goodfellow)提出的。在相关论文中,伊恩阐释的算法复杂度和数理创新并不太引人注目,但其创造的算法模型在想法上别具一格,尤其在应用性上的优势令人心动。

抛开复杂的函数语言,GANs在原理上酷似博弈论中的二人零和博弈,即非此即彼的胜负游戏。这场游戏中,甲的存在价值就是无休止地挑战、质疑和审判乙,从而迫使乙不断调整方案,尽一切可能应对甲的刁难。

这个玩法应用在机器学习中会有非常奇妙的化学反应。

GANs对这个原理的实现方式是让两个网络相互竞争。其中一个叫作生成器网络(generator network),它不断捕捉训练库中的数据,从而产生新的样本。另一个叫作判别器网络(discriminator network),它也根据相关数据,去判别生成器提供的数据到底是不是足够真实。

有个非常生动的比喻来形容生成对抗网络技术——生成器是假币制造者,判别器是警察。警察不断质疑假币上的种种漏洞,这就迫使假币制造者不遗余力地提高造假技术,造出无限接近真实的假币——这也就是GANs的核心目的,从数据中生成全新样本。

这个极具张力的想法,事实上是在理论层面解决了机器学习技术长久以来的问题:如何促使机器学习的训练成果向着人类希望的方向前进。生成对抗网络简单粗暴地解决了这个问题,其带给业界的震动之大,从它蹿红的速度就可以得知。2015年这门技术还名不见经传,2016年就达到了无处不在的火爆程度,甚至被专家称为“机器学习领域20年来最酷的想法”。

当然,这个想法的优势不仅仅是够酷,更重要的是它的应用空间非常巨大。

确实有点心动:生成对抗网络的应用场景

简单的生成与判别关系,在大量重复学习运算之后,可能带来的行业想象力十分巨大。其最大的亮点是,其他AI技术还在标榜稳定性、兼容性,以及与多种技术的融合程度,生成对抗网络却能直截了当地告诉别人它能干什么。在醉心AI创业的世界投创圈里,这无疑是一个亮点。

那么GANs到底能干什么呢?从基本原理上看,它可以通过不断的自我判别来推导出更真实、更符合训练目的的生成样本。这就给图片、视频等领域带来了极大的想象空间。综合来看,生成对抗网络至少在以下几个方向上可能提供全新的动力。

(1)图像处理。目前网上流传最广的案例,就是通过GANs来生成全新图像,其在真实度和准确度上甚至超过了人工作业。

在真实工作场景中,为黑白图像上色、通过低清晰度的图片获得高清版本、复原受损图片等都可以运用它来解决。当然这仅仅是生成对抗网络技术的低配版,目前甚至有实验证明了可以用生成对抗网络来把图片变成视频。未来如果这个技术成真,电影拍摄的成本可以大大降低。

(2)声音处理。语音合成一直都是初级AI商业化的核心领域。生成对抗网络可以在合成和恢复语音素材中提供重大助力。例如,用AI合成语音、从大量杂音中恢复某条音轨,甚至模仿一个人的语速、语气和语言心理,都可以应用生成对抗网络。

(3)文字生成。同样的道理,生成对抗网络在文本生成、写稿机器人等领域也有极大应用空间。AI创作文字,最大的难关在于机器没有思想和感情,无法表现出人类写作的文本张力。而这些流于字里行间的所谓张力,说不定可以通过其来解决。

(4)信息破译与信息安全。既然生成对抗网络的目的是使某物不断趋近真实,那么产生出真实的笔记、密码习惯,甚至生物密码也都是可能的。借助GANs破译个体习惯来解锁信息,以及提前运用相关技术进行信息安全防护,未来都可能有很大的市场。这里插一句,其实每种AI算法的出现都映射着人类信息将会变得“更危险”一点,AI在信息安全上的应用,近乎于一场与全世界赛跑的拉力赛。

(5)生成个性化产物。生成对抗网络的学习方式,是根据一系列数据指标来将样本生成为可被接受的信息。那么,个性化产物的制造其实也在可应用范畴中,《西部世界》里看起来接近真实人类的机器人,其实也就是按照多种社会因素来进行样本判断与生成。这类应用采取生成对抗网络也可一战。

(6)高精度的样本预测。生成对抗网络的更大作用,其实还在于通过模糊数据和少量信息,对某种可能性结果进行样本预测。数据越充分,算法越高超,预测就会越精准。比如2017年年底十分引人注目的事件,AI通过人的侧脸来判断正脸,就是用生成对抗网络技术来完成的。

这种预测样本的应用还有很多,而推测未知永远都是人类最愿意付费的领域之一,这带给生成对抗网络的商业想象空间当然也十分充足。

说了这么多,给人的感觉好像生成对抗网络已经无所不能了。但实事求是地说,理想总是美好的,而什么时候成为现实就不一定了。

问题依旧无数:生成对抗网络目前还属于“看起来很美”

目前来看,生成对抗网络在业界引发的是疯狂的资本想象,在学界更多激起的却是讨论甚至论战。因为这个简单粗暴的机器学习解决方案看似美好,但在实际应用和反复试验中却总是存在各种问题。即使相对成熟的实验结果,也会留下诸多隐患。

(1)需要数据量过大。生成对抗网络的推导,完全依赖于大量样本数据的反复判断。这对于样本数据的数量和覆盖广度都有严苛要求,而且对算力的要求也比较高。在相对垂直、小众的应用领域里,生成对抗网络还是比较难以施展手脚。

(2)理论指导匮乏而造成的系列问题。生成对抗网络用什么标准判断、以何种理论体系来引发判断,一直以来还都缺乏支撑。准确地说,生成对抗网络是一个有充足样本和指导思想之后的解决方案,但目前解决方案有了,前提条件很多还不具备。在缺乏有效理论指导的情况下,生成对抗网络很难得出复杂的样本推导结果,错误率十分高,进入无监督学习领域也存在着大量门槛。

(3)普遍应用度不高。复杂的算法往往也代表着比较强的兼容性,而生成对抗网络目前相对简单的算法,带来的问题就是普遍应用度不高。除了在少数几个领域表现突出之外,在更多底层运算领域则后继乏力。当然,目前学界的大量研究也在解决这个问题,根植于生成对抗网络思想衍生了大量深度学习模型,或许可以很快弥补这个缺憾。

总而言之,生成对抗网络虽然很容易让人感受到它的魅力所在,但完整性和深度显然还不足,与国内一些人的吹捧更是相距甚远。当然了,生成对抗网络的火爆也绝不仅仅是个伪风口,它真正的价值,在于其可能激发的连锁反应。

真正的价值来自“脑补”:生成对抗网络可能激发的连锁反应

相比于快速进入商业场景,AI体系内部对生成对抗网络的期望可能更多来自其他方向。比如,生成对抗网络作为一个入口或者关键解决方案,影响其他AI关键领域进程的能力。

比如说迁移学习。我们知道,今天主流的AI机器学习,更多解决的是应用能力学习的问题。但如果具体到垂直领域,数据和样本的匮乏会导致AI无法工作。但通过生成对抗网络的生成与判断机制,可以为迁移学习能力提供一个学习能力推导的输出端。这是AI长期发展的基石。

再比如弱监督学习领域。生成对抗网络代表了一种核心想法,即让算法内部存在不止一个模型,这些模型不再是统一目的的运算体,而是通过不同目的的运算来相互制衡,这也就让算法的自我推进成为可能。目前,基于生成对抗网络已经产生了更多模型学习框架,这是它的一大功劳。

还有,在机器理解能力和异介质样本生成方面,生成对抗网络都有比较突出的帮助。这些价值可能并非体现在生成对抗网络现在得出的实验结果或者已经可以提供的价值,而是在整个AI演进体系中激发了一种连锁反应,可以发挥研究者和创业者的“脑补”能力。

简要总结一下,生成对抗网络在目前的进度条上投入应用并非不可能,但绝对没有众多媒体和商业力量吹捧得那么神奇。这种技术在民间的出彩,很大程度上来自它的理论容易理解和实验应用能力。

但更深处,那些可能需要挑战一下脑容量的AI逻辑,或许才藏着真正的金矿。

二、用LSTM让人工智能产生记忆

想要谈个恋爱,总共分几步?

大多数人的回答是,从搭讪开始。

但如果你想跟人工智能谈个恋爱,那情况可能就要复杂一点了。毕竟搭讪的前提是它能记住你才行,而且就算它能记住你,也要把你和桌椅板凳、萝卜青菜分开才行。

今天要讨论的技术,就是负责这块工作——当然离谈恋爱什么的还有点远——如何让AI记住某件事的同时,将这件事与万事万物区分出来。

这个神经网络技术的名字叫作LSTM(long short-term memory,长短期记忆网络),可以说是个相当酷的名字。

这项技术虽然在1997年就被提出,但随着整体AI技术环境的变化和改进方式的完善,LSTM在近期开始火爆起来。包括谷歌翻译等产品都开始应用这项技术。

今天就来科普下这个“让人工智能在人群中认出你”的技术。虽然LSTM的技术进程推进比不上很多算法与神经网络,但它展示的未来可能与人文内涵却有更加丰富的意味。

从呱呱坠地到情窦初开:LSTM解决了什么问题?

想要了解LSTM,必须先要弄懂另一个名词——循环神经网络(RNN)。很多机器学习算法与应用都会用到RNN,主要就是因为它解决了机器学习中一个最重要的问题:记忆。

所谓循环神经网络,简单来说是在传统的神经网络上加入了“循环”功能。最开始的神经网络,每层计算之间的结果是不相联系的,这样留下的问题是机器学习系统没有记忆能力。

而RNN的根本出发点,就是让不同层神经网络之间的输入、运算与输出进行联系,使神经网络产生记忆能力。

赋予机器学习记忆能力,有很多直接使用场景。比如说在机器翻译当中,使用RNN技术可以带来联系上下文的能力,让翻译结果准确贴合语境。

但是RNN还是存在着巨大的缺陷,那就是它不知道如何选择该记住什么、该忘记什么。这就导致了机器学习系统把所有信息都记了下来。这样首先给运算能力增加了大量负荷,其次也让神经网络难以判定与比较遥远信息的对应性。这在AI界被称为RNN的“长序依赖”问题。

举例来说,用RNN协助进行翻译,它会记住连续语句中的吃饭、喝水等动作。但如果主人公在前几段举起了酒杯,这一段开始喝酒,那它就彻底分不清了。

针对这些问题,从业者发明了LSTM。所谓长短期记忆网络,就是来区分哪些记忆要归为长期记忆,哪些记忆只需要短期储存。这样就可以在循环记忆网络中记住关键信息的同时减轻运算工作量。

所以LSTM是一种特殊的RNN。

回到谈恋爱的话题,RNN就像一个呱呱坠地的婴儿,虽然有了记忆,但无法区别记忆,不知道该记住什么。而LSTM就像情窦初开的少年,他已经能记住女孩的名字、爱好、容貌,并将这些东西联系起来,推断出自己注定是“备胎”的悲惨现实……

三重门:LSTM的工作原理

不妨简单解释一下LSTM的工作原理。

LSTM区别于RNN的地方,主要就在于它在算法中加入了一个判断信息有用与否的“处理器”,这个有处理器作用的结构被称为Cell。

一个Cell中被放置了三扇门,分别叫作输入门、遗忘门和输出门。一个信息进入LSTM的网络中,可以根据规则来判断是否有用。只有符合算法认证的信息才会留下,不符的信息则通过遗忘门被遗忘。

说起来无非就是“一进二出”的工作原理,却可以在反复运算下解决神经网络中长期存在的大问题。目前已经证明,LSTM是解决长序依赖问题的有效技术,并且这种技术的普适性非常好,带来的可能性变化非常多。各研究者根据LSTM纷纷提出了自己的变量版本,这就让LSTM可以处理千变万化的垂直问题。

LSTM的应用空间

LSTM虽然没有多么复杂,但应用率却非常高。例如,这项技术已经被证明有效的应用环境有文本理解与翻译领域。

LSTM的最直接价值体现,就是根据上下文之间的关键信息来推断后序文本当中出现的主体定义。这就让机器翻译更有可能处理较长的文本甚至整个故事。

对于“机器学习+文本”来说,理解、翻译和新的文本生成永远是捆在一起的“铁三角”。LSTM可以帮助理解上下文这种人类特有的表达方式,当然也有助于AI学习从人类文本中梳理逻辑和脉络。而以此为契机反向生成有语境、有逻辑、有伏笔的新文本,也是LSTM最直接的应用场景之一。

同样,上下文不仅是在文本当中才有。比如在视频当中,也会出现前后故事联系的情况,甚至更复杂一点,出现通过图像来进行的前后联系。比如一件衣服穿在不同人物身上的意义、反复出现的关键道具,甚至天气对剧情的推动作用。

目前已经有通过LSTM变体技术来解读电视剧的实验。而更广阔的应用空间,是通过LSTM来对监控视频进行记忆推理。比如在全市的视频监控数据中寻找被偷钱包的下落等,说不定很快就可以实现。

同样,在NLP自然语言处理当中,LSTM也可以有巨大的应用价值。比如选择记忆人的语言习惯、口音、发音方式等,可以帮助AI理解人类真实语言,降低对语言准确性的要求。另外,LSTM也可以帮助AI来理解人类的大段语音命令,从而让人类对AI下达复杂命令成为可能。

未来狂想:当机器开始选择性记忆

让人工智能选择性地记住点什么,绝对是一件“脑洞大开”的事。

这很容易理解,要知道众多科幻片里毁天灭地的人工智能都是从有选择性记忆开始的——当然,他们不约而同地先记住人类很坏就不知道为什么了。

由于针对长短期记忆的训练数据缺失非常严重,LSTM的进化速度还比较缓慢。尤其是更加抽象的非文本材料信息训练十分匮乏,行之有效的训练方式也较少。但如果补齐了这一环,那带来的想象冲撞可谓疯狂。

这里列举一下LSTM技术带来的两条比较有可能的进化线。它们都是由LSTM指向的选择记忆能力开始,推导到我们十分惧怕也十分向往的人工智能能力当中。

猜想1:长短期记忆—选择记忆—精确的推理能力—预言能力

通过大量的选择记忆训练,AI可以理解到事物之间有怎样的长序联系。甚至是信息距离非常遥远的两个事物之间是如何关联的,而这指向的也就是机器的推理能力。随着一些优质论文的发表,近年来机器推理又成为AI圈的热门话题。机器可以具备推理能力近乎是确定的了,而可以利用无限多数据的AI,是否可以将推理能力做到极致,达到人类梦寐以求的预言未来能力呢?

再往下想,能够预言未来的AI会如何看待人类的现在,以及AI与人类的关系呢?真是“细思恐极”。

猜想2:长短期记忆—选择记忆—选择性专注—机器价值观

很多科学家都认为,在循环神经网络这条线上,LSTM带来了选择记忆能力之后,下一步就是训练机器如何选择性地把运算能力专注在某件事上。而可以自行判断专注目标、专注时长以及专注目的的AI,是否可以说是有了自己的价值观呢?

毕竟人类的所谓价值观,说穿了无非也就是在什么东西上浪费多少记忆、思考和时间而已。有了自己价值判断的AI,当然也是人类一边期待一边惧怕的。

这样看来,LSTM技术可以帮助人工智能在人群之中记住你,也不一定是好事。毕竟即使你想跟可爱的AI谈个恋爱,人家说不定是想动动手指灭了你。

但无论如何,AI的记忆,已经是一道关不上的闸门了。

三、为什么AI公司都热爱《星际争霸》?

2017年的8月,AI圈出了很多大事,但只有一件事同时引起了两家AI巨头的兴趣,那就是《星际争霸》[1]

8月7日,Facebook的AI团队发布了史上最大的《星际争霸:母巢之战》游戏数据集。紧接着8月10日,DeepMind[2]就和暴雪娱乐公司联合发布了《星际争霸2》的游戏数据集与AI训练平台SC2LE。

为什么DeepMind、Facebook等AI巨头先后迷上了对《星际争霸》的研究?为什么他们做的不是制造一个人工智能去打败人类选手,而是不约而同走上了开源数据、发布研究工具的这条路?

此外,相信关注AI的各位都注意到了,众多媒体和专家们都认为对《星际争霸》的研究可以引导AI走向通用智能之路。但大部分解释都知其然而不知其所以然,到底《星际争霸》跟通用智能之间是怎样一个逻辑关系?

本节尝试回答以上这些问题——到底《星际争霸》是如何让AI巨头们集体为之着迷的?

我们知道,AlphaGo之所以选择围棋,是因为这项智力运动具有无法被暴力穷举的特质,可以检验AI的非运算能力。比如我们看到最新版的AlphaGo已经展现出了布局能力、对抽象形势的判断力,甚至具体行为中的创造力——这都是传统计算机绝不会具备的能力。

对于AI研究者来说,游戏只是方法,绝非目标。AI公司的目标只有两个:一是做出更好的AI,二是用它卖钱。但游戏在训练AI上有天然的实验室属性:用数据支撑、成败标准清晰、大量的人类训练数据可用。

有了这点共识,我们就可以开始破解AI企业对《星际争霸》的图谋。

为什么AI要玩《星际争霸》?

训练深度学习等AI系统,被使用最多的有三种游戏:迷你游戏、沙盒游戏和即时战略游戏。但这三种当中,迷你游戏和沙盒游戏AI扮演的都是单一智能体。只有即时战略游戏提供了独一无二的训练特征:复杂与协作。

在2017年,OpenAI[3]的模型打败了DOTA2[4]顶级选手,马斯克激动地连发“推特”庆祝,但很多其他AI巨头的科学家却相当不屑,这是为什么?

原因在于1V1模式的DOTA2里AI仅适用一个智能体,目标比较单一,一对一遭遇战也谈不上不完全信息博弈。拼手速和反应,人类肯定是比不上AI的,OpenAI的这款模型的价值更多在于用AI系统自主学习电竞的规则。

而大型即时战略游戏则有着完全不同的环境。

(1)复杂多变的环境,考验智能体对大量环境信息空间、时间和数据变化的理解能力。

(2)众多独立单位的配合。人类选手称之为“微操”的技术,就是考验混战下对多个单位、建筑、编队的协同运作能力,这对AI是核心考验。

(3)不完全信息博弈。这类游戏开局时有战争迷雾,无法观察对手动向。需要智能体进行布局和长远判断。

这些特征让即时战略游戏成为已知AI实验环境中最复杂的几种之一,要知道AI的目标不是可以赢,而是一定赢。

至于为什么一定是《星际争霸》,或许也可以归纳出几个原因。

首先,暴雪有开源打造AI的意愿,《星际争霸》本身的素材和接口也都非常流畅。整个游戏数据化的成本很低。

其次,相比于拼效果和画面的即时战略游戏,《星际争霸》的竞技属性更强。其动作众多、元素复杂,像围棋一样具有难以被暴力计算拆解的基本特质。

同时,因为竞技属性强烈、竞技历史悠久,《星际争霸》的战术、战略讨论非常丰富,每一个子动作的价值基本都有判断依据,这是机器学习系统的先决条件之一。

这三点之外,其实还有个最重要的原因:《星际争霸》是对战量最大的即时战略游戏,同时战网等平台建设非常完整——换言之,就是留给AI的训练数据够多。

AI巨头的真实目的

宁愿采取开源众包的模式,也要攻克《星际争霸》这种超复杂的训练环境,AI巨头们难道是“吃饱了撑的”吗,他们到底想要从中获得什么呢?

按照DeepMind把《星际争霸2》拆解成系列小游戏的原理逆推。我们可以知道AI公司希望的是破解一个又一个细节动作后,把这些集合在一起,组成大的智能体集合。而这个集合汇集的将不仅仅是无数解决方案,更是这些方案背后普遍蕴藏的通用能力。

如果与围棋进行参照,我们可以从《星际争霸》这样的训练环境中推测出至少四种围棋无法给予的能力。

(1)机器记忆力。区别于棋类游戏,即时战略游戏中过去的信息可能被完全抹杀,比如刚才造的兵都死了……但这些信息却将左右接下来的故事。这就需要AI具有记忆力,以及对记忆进行运用,给出反制措施。根据记忆的快速调整,将是一种全新且商业价值极强的AI能力。

(2)弱信息环境下的长期规划能力。就像上文所说,《星际争霸》这种游戏开局是完全信息封闭的。开局时做的事表面上可能跟战争的结果完全无关,但实际上却具有货真价实的因果关系。这类人类独有的长期规划和调整规划能力,对应的是机器的预测和判断能力。

(3)多智能体协作能力。通过与人类近似的键盘鼠标,一个智能体如何在终端指挥大量智能体协作,绝对是个迷人的话题。甚至战略性牺牲、设置诱饵和集中火力,对照的可能是未来AI在现实社会中的中枢作用。

(4)动作连贯性。打游戏的都知道,取胜的关键是打出“节奏”。所谓节奏,来自玩家每一个指令之间如何衔接,是否具备连贯性。对于AI来说也是如此,一个细节上超越人类智慧并不难,但如何把每一个动作衔接起来,整体取得价值最大化,就是AI向前发展的关键了。

这四个方向,最精彩的部分在于都对应着现实中人类的能力——不仅是人类认知和解释世界的智能,更是记忆、协作、坚持这种人类反作用于物理世界的“动能”。

至此,或许我们就可以理解为什么《星际争霸》被称为通用智能的关键了。因为它预示着AI将在更加混乱和真实的环境里,习得更加类似人类心智的可能性。

它不仅是实验环境向真实环境的过渡,长远来看,这类游戏被AI完全攻克,甚至可能成为智能体向类人智能体过渡的关键。

即使不谈论那么宏大的命题,类似智能也可能成为AI股票分析员、AI广告策划、AI律师,这类巨大商业变革的基石——这类智能游戏,恐怕不比与顶级玩家打《星际争霸》困难。

AI公司对《星际争霸》的情有独钟,至此就很容易被理解了。

四、“中文屋悖论”:为何不会出现超级智能?

大家都非常关注这样一个问题:拥有自我意识和情感的超级人工智能到底会不会出现?说实话,这个话题都“烂大街”了。科学家、科技大佬、各国政要们争得头破血流,我们也很难知道答案。

但是,有没有一些理论或者猜想可以触及AI觉醒这个话题,让我们不是只能云里雾里或者一腔热血地想象未来呢?

比如说著名的“中文屋悖论”。这个情景猜想在大部分情况下都被用来否定“图灵测试”[5]。但它更深层的本意,其实是在阐释人工智能永远不可能像人类那样拥有自我意识。

什么是“中文屋实验”

所谓的“中文屋实验”,是由美国哲学家约翰·希尔勒(John Searle)在1980年发表论文提出的一个思维试验。

这个思维实验是说,如果把一位只会说英语的人关在一个封闭的房间里,他只能靠墙上的一个小洞传递纸条来与外界交流,而外面传进来的纸条全部由中文写成。这个人带着一本写有中文翻译程序的书,房间里还有足够的稿纸、铅笔和橱柜。那么利用中文翻译程序,这个人就可以把传进来的文字翻译成英文,再利用程序把自己的回复翻译成中文传出去。在这样的情景里,外面的人会认为屋里的人完全通晓中文,但事实上这个人只会操作翻译工具,对中文一窍不通。

当然了,这是个思维实验,具体操作起来近乎不可能。但这个实验里蕴含的思想却在表达这样一个可能:机器所表现出的智能(理解中文),很可能只是翻译程序带来的假象,其实它对真正的人类智能一无所知。

这个实验本来是为了反驳图灵测试的,认为即使通过了图灵测试,机器也不见得有了人类智能。但它或多或少有点牵强,始终也没有把图灵测试彻底反驳掉。不过,“中文屋悖论”却可能在技术发展之路上告诉我们另一件事:我们所有的技术探索与研究,可能都是在完善那个中英文翻译程序,从来不是去教机器真的智能。

通用人工智能和强人工智能的界限

这里要来认识两个大家经常听到,但有可能混淆的概念——通用人工智能与强人工智能。

所谓通用人工智能(artificial general intelligence,AGI),是指在不特别编码知识与应用区域的情况下,应对多种甚至泛化问题的人工智能技术。这个技术虽然冷门并遥远,但其实也有不少学术机构与企业在研究,一般被认为是人工智能技术的未来发展方向。

而强人工智能(strong artificial intelligence)则是约翰·希尔勒在提出“中文屋实验”时设定的人工智能级别。这个等级的人工智能,不仅要具备人类的某些能力,还要有知觉,有自我意识,可以独立思考并解决问题。

虽然两个概念似乎都对应着人工智能解决问题的能力,但我们可以把前者想象为无所不能的计算机,后者则类似穿着钢铁侠战甲的人类。

“中文屋悖论”表达的思想,是人类研究的方向根本无法逼近强人工智能。即使能够满足人类各种需求的通用人工智能,也与自我意识觉醒的强人工智能之间不存在递进关系。

现实中的技术发展好像也确实是这样的。

在通用人工智能领域,人类已经提出了一些设想与架构模型。其中最著名的应该是澳大利亚国立大学学者马库斯·赫特(Marcus Hutter)在2000年提出的AIXI[6]。这个计算模型据说可以涵盖各种算法与技术,逼近通用人工智能的本质……当然,这个算法的复杂程度奇高,根本无法执行,所以仅仅是个设想。

OpenAI和DeepMind这样的企业在近两年则都开始了具体层面的AGI研究,其中DeepMind被认为是继承AIXI的先锋军。

从DeepMind进行的通用人工智能性质的研发与实验中,我们可以看到其“通用性”主要集中在四个层面:(1)智能体应对复杂环境;(2)陌生环境处理;(3)时间变量应对;(4)多个信息源同时处理任务。

而这些技术都指向同一个方向,就是智能体与外界的交互——也许可以理解为AI与这个世界的翻译程序吧?

换言之,人类所做的仅仅是给“那个人”更好的翻译程序,而非教他中文。所以通用智能这种已经很玄的东西,依旧与强人工智能保持着清晰的界限。

绝望的强人工智能:能力和意识,也许南辕北辙

让我们把“中文屋实验”极限化一点,把整个房间放在一个人的大脑里。

假如一个人记住了所有翻译程序,看到任何中文他都能调用回忆,能写出相应的回答,那么他是不是就懂中文了呢?对于人类来说,可能他自然而然地就已经理解中文了。但对机器来说,即使这个过程速度再快、反应再灵敏,它也依旧没有理解任何一个汉字。

确切地说,这个人(智能体)获得的是使用中文的能力,但对中文没有意识。

能力与意识的区别,是我们在想象未来的超级智能时最容易混淆的问题。但从现实的逻辑推理,就会发现这二者差别很大,而且近乎没有关联。

知识表示[7]、机器学习、NLP等人工智能技术,都是在不断强化人工智能模仿人类能力的能力,但让人工智能具备模仿人类意识的能力,直到现在依旧是一片空白。

没有因,自然无果。“中文屋实验”讲述的,就是按照人类遵循的技术轨迹,智能体意识崛起这个命题将永远缺乏基础条件。

如果这个结论成立,那么对于强人工智能来说可谓是非常绝望的。它们只能继续在时空的长河里沉睡在人类的幻想中,一如远古的神祇,一如都市传说里的鬼怪。

想一想,还是觉得蛮无趣的呢……

五、用“贝叶斯意识”来推断“人工智能还能干什么?”

有读者希望我们做个专题,专门列一个“你想不到AI居然可以做这些”的清单。

可以非常负责任地说,这清单太容易了,但问题是工作量巨大。即使不考虑技术的可能性,仅仅是每天统计新的论文和研究报告里又让AI能做什么了,那都是个近乎无法完成的工作。

但这并不是说AI已经无所不能。事实上,AI在绝大多数基础工作中并没有传统计算机效率高,完全谈不上取而代之。AI总能在意想不到的领域冒出来,是因为它采取了完全不同的底层策略,专注于解决那些经典计算和人工无法解决的问题。

所谓“鱼不如渔”,与其大家一起感叹“AI居然能做这个!”不如来思考“如何知道AI还能做哪些”。想要获得这个能力,就需要知道今天主流AI解决方案的依据是什么。这就不得不提一个对AI发展至关重要的名字:贝叶斯。

想要寻找“上帝”,却找到了人工智能

假如没有贝叶斯,实在很难想象今天的AI会怎样。不仅是AI,可能统计学、应用数学、测绘学、医学,甚至犯罪学都会受到巨大的影响。

有趣的是,对学术界如此重要的一个人,却根本不是一位科学家。生活在300年前的托马斯·贝叶斯,是英国的一名牧师。当然,同时还是一位业余数学家。

可能是出于把爱好和工作融合到一起的考虑,贝叶斯提出了将归纳法应用于概率统计的方法,希望能以此向世人证明“上帝是存在的”。很“不幸”,三百年之后“上帝”存在的依据依然未找到,但贝叶斯归纳却在无数科学领域开花结果。

所谓贝叶斯归纳,其实基础原理非常简单。比如说一个人做了一件好事,那他是不是个好人呢?显然不一定。但是假如一个人每天都做好事,那他是不是一个好人呢?其实也不一定,也可能他在背后十恶不赦、丧尽天良。但假如没有他做坏事的证据,每天做好事就是好人的概率显然已经非常大了。这就是贝叶斯归纳的核心逻辑:不必获取所有证据之后再进行判断,而是结合已知条件先进行判断,再通过数据不断去验证、调整、修改这个判断,让它无尽趋于合理化。

这个逻辑听起来蛮简单的,但好像还有点不靠谱,在贝叶斯生前,他的想法甚至没有发表出来。即使其死后的两百多年里,贝叶斯归纳也没有得到多少重视。因为从数据严谨性出发的经典统计学显然可以更好地接触事物本质,而不是像贝叶斯归纳一样用“猜”来开启计算。

直到二十世纪七八十年代之后,沉寂百多年的贝叶斯理论开始重新在统计学中被重视。

因为经典统计学虽然可靠,但是需要依靠完整的数据模型,往往效率太低,无法满足实际需求。比如说在搜寻海面遇难船只时,经典统计学需要每个海域的气象数据、监控数据、过往船只数据,然后综合计算这些因素来精准定位。但事实上,这些数据是不可能马上齐全的,即使可以,分秒必争的搜救工作也不能等。而用贝叶斯理论来解决这个问题,会先让有经验的专家主观判断船只失事海域,然后通过不断获得的数据一点点修正专家的判断,争取在最短时间内解决问题——这就是著名的1968年美国天蝎号潜艇失事事件,也是贝叶斯理论进入应用的标志。

贝叶斯理论在工作中强调从人类先验知识出发,对目标进行模糊判断,然后不断进行判断校对,这成了后来大量人工智能技术的诞生起点。

三百年前,本来希望用来证明“上帝”存在的理论,在三百年后却成为人工智能的基础,这是一个悲伤的故事呢,还是说贝叶斯牧师其实已经找到了正确答案?

贝叶斯意识:一切学习型AI的基础

与0和1组成的经典计算不同,贝叶斯计算不需要建立在完整的数据基础上就能获得答案。这种不完全数据推理能力,与人类思维中的认知与判断过程非常相似。于是产生了数量众多的贝叶斯理论与AI结合,运用于不完全信息推导的技术模型。

比如说贝叶斯网络、贝叶斯分类器、贝叶斯逻辑,都是如今非常基础的AI工具。贝叶斯网络[8]更是可以看作机器学习理论自证有效的基础条件;而贝叶斯方法也被广泛运用在NLP、机器视觉、知识图谱等领域,成为优化结果型算法与技术的支撑。

在我们的生活中,贝叶斯意识可谓无处不在。比如说有没有感觉手机拍视频或者直播正在越来越清晰?这其中很大一个原因在于摄像算法中运用了贝叶斯逻辑加持下的视频优化算法,通过对抗生成来获得更清晰自然的拍摄效果,也就是所谓的视频美颜。

从另一个角度也可以论证贝叶斯对人工智能的重要性。20世纪70年代,曾经有过一次比较短暂的AI复兴。当时知识表示和专家系统成为人工智能的主角,人们希望用超级计算机来归纳人类的所有知识,进行网络化。最终所有问题都可以在其中找到答案。

这种模式在当时赢得了大量资金与关注,却在短短几年间宣告破产。因为人类知识和数据太复杂了,收集所有知识只具有理论上的可能性,现实操作遥遥无期。

而今天以机器学习为主要特征的AI二次复兴,很大程度上受益于贝叶斯意识带来的思维转变:人类不用收集一大堆知识,只需要从一部分已有知识出发,让机器不断去学习和验证自身能力,不断提高就可以了。毕竟人类需要的不是全能全知的存在,只要智能体可以比人类更强就够了。

可以说,贝叶斯意识依靠着对现实变化的高度敏感,已经成为今天一切学习型AI的基础。了解了贝叶斯意识中从不完整出发,逐步向完整迈进的逻辑,也就懂了未来AI还能做出什么。

人类大脑和技术未来的殊途同归

有学者认为,贝叶斯意识可能是最接近人类大脑思维模式的应用数学逻辑。就像让一个孩子去认识狗,不必教他狗的种类、科属、习性,也不用把狗的耳朵、鼻子、四肢都变成数据让他理解。孩子会马上知道这是狗,然后在自己不断的学习过程中去加强对狗的认识,知道狗有不同种类,知道狼与狗的区别,等等。

所以我们过去在思考很多问题时,会主动地让大脑像计算机一样去想象。在移动互联网时代,我们又习惯了以手机为中心去思考一切。但在人工智能时代,贝叶斯意识告诉我们:也许人类该像人类自己一样去思考了。

在某些技术奇点之后,机器已经可以在局部区域像人类一样通过局部知识去认知、推理和判断复杂问题。最好的例子可能就是AlphaGo Zero的出现。其实AlphaGo的逻辑就是一种贝叶斯思维,要知道对围棋来说经典计算是无法穷尽所有变化的,暴力穷举只能带来死机。

而AlphaGo采取的,是让智能体去学习围棋规则,然后大量学习人类棋谱,这就是贝叶斯归纳中不断吸收数据校准目标。在实战的时候,智能体内部算法还会自我验证每一步预测的合理性,最终求得最优解。

而有了一定的积累后,AlphaGo这个贝叶斯体系就可以不再依赖人类提供的数据,而是通过对优质数据进行自我学习,从而在短时间内具备了秒杀上一代的能力。这可以看作贝叶斯体系摆脱了对初级数据的依赖,进入了进一步自我校准的过程。

有理由相信,此后这类现象会陆续出现更多。因为人脑的学习能力有若干限制,但贝叶斯智能体却没有。

通过模糊知识来进行不断学习,最终通往广义未知,很可能是人脑与技术未来的共同方向。至少目前来看,这种技术逻辑在前瞻性科学中的应用已经越来越多。比如量子贝叶斯、贝叶斯基因算法等。

而另一方面,想知道人工智能还能在哪些领域做出惊人之举,不妨也像贝叶斯一样去思考:首先这个领域是否存在效率、可靠性、成本比率、盲目性等问题,如果有的话是否有必要引入AI;其次看一下这个领域是不是存在先验知识,作为智能体的基础;再次看一下这个领域能否源源不断产生提供给机器学习的数据和知识。

如果这几个条件都确立,那么AI已经不远了。

经过从PC到手机的漫长教化,我们可能已经习惯了数字化的世界。但人工智能却可能打破人与计算机的经典搭配,利用人的感知与学习能力和计算机的运算能力来打开另一条路。也许已经是时候改变一下互联网思维,让大脑去和人工智能产生多一点点默契了。

六、迁移学习:AI在GTA5[9]里考下的那本驾照

我们都在歌颂人工智能的伟大,但我们都知道,如今的AI对我们生活的改变,很多都基于计算能力的增强、数据量的庞大和算法架构的优化。可自然环境中无穷无尽的变量、每个用户也有不同的个性化需要,这一切都在增加着人工智能算法的应用难度。

最关键的是,很多时候我们很难针对每一个应用模式都寻找到一个相应的数据库,从而进一步阻碍了算法的实际应用。

面对这个问题,很多专家把希望寄托于迁移学习之上。下面就来聊聊,迁移学习到底是什么,它会怎样改变人工智能的应用。

迁移学习——让机器融会贯通

在目前的机器学习中常常出现这种情况,当我们想教会机器辨识一张图片上的动物是猫还是狗时,我们需要大量的猫狗图片数据。好不容易教会了,当把问题换成图片上的动物是老虎还是狼时,过去的训练无法发挥一点作用,只能从头开始。又比如说,我们利用白天街景训练出了一个可以在马路上识别行人的模型,可到了晚上,这个模型的表现却糟糕得令人咋舌。

类似的情况正在不断地增加着机器学习应用场景的限制和成本,原因就在于机器缺少在学习上的迁移。什么叫学习上的迁移?就是当你学习过法语再学英语,学习速度会比只懂中文的人更快。让机器在学习时可以举一反三和融会贯通,是迁移学习的最终目的。

学会抽象思考是迁移学习的第一步

那么机器究竟是怎么迁移学习的?用一句形象的话说,是机器学会了抽取概念。

比如说,我们可以为机器模拟出一个训练环境,就像玩游戏时的模拟教学关卡,学会了怎么玩,再去面对各种各样的真实游戏场景。当然,这样的学习方式一定要建立在模拟数据和现实数据十分相似的前提下,此时所谓迁移的难度也就大大降低了。

除此之外,迁移学习也可以让机器通过特征进行迁移。如上文提到的从辨识猫狗到辨识狼虎,机器可以从猫与狗的区别中提取出长短吻、耳朵形状等特征,将这些特征差异与不同答案的对应模式应用于狼与老虎的判断中。

其他的还有结合深度神经网络来进行基于模型的迁移,比如我们利用大量语料进行了基于普通话的语音识别训练,当我们开始进行基于山东话的语音识别训练时,虽然不能直接使用普通话的模型,但可以基于原有的模型,只需要少量的语料就可以完成训练了。

相比“直接”的迁移模型,我们目前更多的还是在利用迁移学习减少模型训练成本。如今迁移学习还在不断地发展,出现了层次型的迁移学习,把问题分层,将能够应用原有模型的层次固定,在其他层次再进行训练。还有传导式的迁移学习、迁移学习方式获取等。

迁移学习怎么应用?在GTA5里训练无人驾驶!

说了这么多,其实我们最关心的还是迁移学习的实际应用。

最容易理解的迁移学习,存在于机器模拟训练环境之中。最典型的就是DeepMind通过仿真环境训练机械手臂的案例。在2015年,DeepMind就将其作为最新研究成果推出。2017年又出现了无人驾驶项目Deep Drive在GTA5里训练AI。

利用模拟环境训练机器,虽然暂时不会加快家务机器人的应用,但对于工业生产来说,极大地降低了智能化的成本。对于各种工业作业的不同需求,应用机械也需要不同的算法模型,但直接在实物上训练意味着巨大的成本。这时利用迁移学习的模拟训练就能解决很多工业方面的需要。同时在无人驾驶上,很多平台也都开放了自身的模拟器,帮助无人驾驶实现更快速的训练。

除了模拟之外,特征识别也有很广的应用,最典型的就是把用户在通用领域的喜好迁移到个别领域之上。比如根据以往数据,得知用户喜欢推理类电影,在为用户推荐书籍时,也会为其优先推荐推理类小说。不仅仅让智能推荐更加准确,在一些人机对话中,也可以通过增强对用户的了解而减少对话的步骤。

除了以上两点外,迁移学习还有大量应用案例。业内有人认为从深度学习到增强学习再到迁移学习的过程中,我们对数据的依赖程度越来越轻,所以迁移学习相比另外两者更加“高级”。不过我们也可以换个思路,正确地了解和看待每一种学习方式,或许,多种理论的交会和共同发展才真正有益于机器学习。

七、遗传算法:能欺骗神经网络的“神算法”

有一款非常有趣的小游戏叫Boxcar 2D,游戏主要内容是用几何图形和圆形的轮子组成小汽车,不断走过一条有上下波动的“路”,看什么形状的小车可以走得更远。但和大部分游戏不一样的是,不用玩家自己手动拼装小车,整个过程完全由算法自动进行,每次随机生成小车,卡到路上了就重新来过。最后小车会越走越远,整个过程中小车的形状会越来越合适,一开始可能只是个“独轮车”,到后期则会很接近我们生活中摩托车的样子。

要问有什么案例能简单明晰地体现出“智能”“自学习”的概念,这款游戏一定是首选。而这款游戏中,应用的就是遗传算法。

什么是遗传算法?

简单来说,遗传算法是一种随机搜索算法,主要目的是用来优化。和自然界的遗传一样,遗传算法秉持的是适者生存、优胜劣汰的原则。通过选择、交叉和变异,不断迭代出更优秀的解法。

通过编码,将解空间变成编码空间,从中选择当前较为优秀的解当作“父母”,下一步则是将多种解的特征进行交叉,诞生下一代,最后经过变异成为“子嗣”。如果“子嗣”还是不能符合要求,那就再进行一次上述步骤,直到满足要求。过程中,较差的基因就会一步步被淘汰。总之,这是一个枚举的过程。就像长颈鹿的进化一样,树叶长在高处,每一只鹿都去尝试吃树叶,只有符合“标准”的长颈鹿能够吃到食物、生存下来并诞生后代。

但要注意的是,这种算法很多时候不会给出一个“最优解”,而是给出一些较为接近的次优解,从矮子里面拔将军。

在哪里能看到遗传算法?

遗传算法经常被用来解决一些调度类的问题,比如确定车间工作流程、飞机航线等。它是将工程、航行中所需要的资源消耗、时间等权值看作“染色体”,几种染色体排列组合,最终选择其中的较优方案。

此外,机器人中也会用到遗传算法,尤其是快速定位、路径规划等。就像Boxcar这个游戏一样,机器人在仿真环境中不断尝试接近目标,路线的优越度随着路线的长度增加,结合机器人对自身位置的感知,最后得出较优解。

同时,遗传算法也可以被应用于帮助神经网络调整参数,只是这种方式需要的时间太长、运算量太大,属于性价比较低的参数调整方式。

在游戏中,也能见到遗传算法的影子。比如说很多游戏会有在同一场景面对多轮敌人的“生存模式”,在这一模式中,敌人的属性是会不断增强的,有了遗传算法,就可以根据你自身属性的变化不断改变敌人的属性,以增强游戏的难度。比如说你的法术强度高,敌人就会增加法术防御度;你的攻击穿透性高,敌人就会增加血量。这样一来相比直接增加属性,可以有更好的游戏体验。

从“骗人”到“写诗”,遗传算法有什么好玩的应用?

以上都是一些适用于实际场景的应用,由于遗传算法简单易用,我们可以看到很多娱乐化的、有趣的应用。

比如说,模仿图形。在一款程序中,我们可以看到遗传算法通过几何图形的不断组合,最终慢慢变成接近案例图形的样子。

同时你还可以亲自调整变异的倾向,最终成果虽然和原图相比还有很大差距,但也不乏自己的风格。不过尝试时就可以发现,整个过程时间很长,某种程度上也体现了遗传算法的低效。

基于上述功能,遗传算法还有一个非常有趣的玩法,那就是“欺骗”深度学习模型。

2014年有一篇论文曾经写过,深度神经网络[10](DNN)在图片识别上有着很优异的表现。当用遗传算法模拟图片时,两张图片在人眼看来一模一样,可深度神经网络却完全识别不出来;或者遗传算法可以模拟出一张人眼看起来是“乱码”的图片,却被深度神经网络识别成正常的图片。

这一点让人们注意到了机器视觉和人类视觉的区别,和人类不一样,机器还是会把图像转化为“数字”,再进行比对、识别。这也导致深度神经网络有时候会把一张噪声图识别成动物、建筑等。

除了生成图片,遗传算法还可以生成音乐、宋词等。将词语和音符输入,让机器随机组合,加入人类评分机制。整个过程和“让猴子在打字机前坐几十年可以写出莎翁作品”的假说差不多。基本上只能用于娱乐,不太适合实战。

其实,目前遗传算法已经慢慢淡出了主流算法舞台。虽然主旨是为了避开局部最优误区,为无限解集问题寻找答案,可在实际应用时相比梯度和蒙特卡罗算法都没有明显的差异和优势,常常被视作“玄学算法”。比如计算结果的稳定性差、求解过程没有可复制性等都是遗传算法的缺点。很长一段时间里,遗传算法都被看作只能用来凑论文的算法。

不过理论也和技术一样,会随着实践和研究不断发展,神经网络也曾被打入冷宫。DeepMind还提出了把神经网络和遗传算法结合,应用到迁移学习中的案例。或许,有朝一日遗传算法还会重新进入我们的视野。

八、马尔可夫链:启蒙运动时的数学理论,机器学习的基础设施

如果几十年前的学术界也会像娱乐圈一样发通稿,或许会出现这种情况:

《本届神经信息处理系统国际会议圆满落幕,贝叶斯学派艳压全场》

《师承达尔文,自然进化学派讲述初心》

不过,虽然贝叶斯学派用“概率”和“验证”开启了学习型AI之路。可在当年,对他们的嘲讽也不少,其中有一个特别有趣的段子是这样的:

“换一个灯泡需要多少个贝叶斯学者?”

“不确定。”

“不确定需要多少个人?”

“不,是贝叶斯学者们不确定灯泡是不是坏了。”

马尔可夫链条:指数终结者

的确,在贝叶斯相关理论的发展初期,概率这件事似乎是和推理相对立的。理论上来说,如果你想知道明天中午食堂做咖喱鸡的概率是多少,只能拿出上个礼拜食堂的菜单,分别把周一到周五“做了咖喱鸡没做红烧肉”“做了红烧肉没做咖喱鸡”“做了小炒肉没做咖喱鸡”等很多种状态罗列出来。这样所带来的就是结果的指数性暴增。

而想要避免这种问题,佩德罗·多明戈斯[11]曾经举过一个非常生动的例子。

队长带着纵队行军,想确认所有人都在跟着自己,可以用一种非常笨的方法:停下来自己数一数,还要走几步就得数一下。而聪明的办法是,问你身后的第一个人“你后面有几个人”,每一个士兵都问身后的士兵同一个问题,直到最后一个人说“后面没有人”。这样倒数第二个人可以回答“我身后有一个人”,然后每个人都会在后面人报的数字上加1。

如此既能得到士兵的数量,还不用停下来。而这一纵队士兵形成了一个链条,名叫马尔可夫链条。

马尔可夫链条的概念,就是指“一系列事件中,某一给定事件发生的概率只取决于以前刚刚发生的那一事件。”苏联数学家辛钦这样解释这一概念:客观世界存在着这样一种现象,当下对未来的影响程度,与过去无关。当下是已知的,过去和未来就存在着一种名为“马尔可夫性”的独立的特性。

马尔可夫其人:数学、哲学、民主斗争

说到马尔可夫其人,还有不少传奇事迹。这位来自俄国的数学家在中学时期就开始厌恶各种宗教的祈祷和忏悔,喜欢读进步读物。入读彼得堡大学数学系后,马尔可夫的数学天赋愈发凸显,他师从著名的彼得堡学派数学家切比雪夫,致力于把概率论推向实际应用。

1896年,马尔可夫正式成为彼得堡科学院的院士,他的《概率演算》不仅是数学学术著作,还扛起了唯物主义的大旗。在那个充满了皇权、专治、愚昧教义的年代,深受民主启蒙运动影响的马尔可夫在用自己的方式为真理和科学摇旗呐喊。

同年,俄国的末代沙皇尼古拉斯二世上任,他粗暴专横,阻止高尔基当选科学院院士。马尔可夫和契诃夫等多名科学家、文学家一起表达了对沙皇行为的不满,马尔可夫甚至还递交声明,强调科学院无意取消高尔基当选院士的资格,不能被强加,最后甚至用辞职表达自己的不满。

在马尔可夫的余生中,他除了用心执教、研究学术外,一直在不断试图和强权斗争。

在那个新世界体系逐渐破壳而出、旧世界体系逐渐坍缩的年代,马尔可夫链条的概念有着太强烈的哲学寓意。

如何理解隐马尔可夫模型?

回到之前的话题,我们要是想知道明天食堂做咖喱鸡的概率是多少,只需要列一个矩阵,罗列出第一天吃了小炒肉/咖喱鸡/红烧肉,第二天吃咖喱鸡的概率。

也就是说,在马尔可夫的食堂菜单中,没有星期一到星期五的菜单,只有第N天和第N+1天的概率。

比马尔可夫链更出名的,是隐马尔可夫模型(HMM)。在这里,我们不对算法进行太多数学方面的解释,还是以食堂为例。我们在食堂能吃到小炒肉、咖喱鸡、红烧肉,是因为分别有三位厨师A、B、C当班掌勺做这几个菜。而厨师隐藏在后厨,不被我们所发现。

这时我们的问题也变了,变成判断明天B大厨当班的概率是多少。我们明白了今天吃到小炒肉,就是厨师A当班,明天吃到红烧肉,就是厨师C当班。从菜品可以分析出有关隐藏在后厨的厨师的概率。

而这就是隐马尔可夫——一个隐藏的状态,随着时间变化,改变着表象。

随机是混沌世界中唯一的真理

在马尔可夫链刚刚得出结论那阵,其实已经有类似的案例出现在其他学科的研究中,比如传播学、遗传学等,人们开始明白,很多事物不容易一步步推导出来,而是具有一定的随机性,只是没法把这种东西数学化。

这个世界的很多事都没法清晰解读出层层道理,正因为概率、随机这种特性在生活中无处不在,才让马尔可夫链、隐马尔可夫模型成为机器学习中的一种基础设施。

举个最简单的例子,之前提到过分词技术,拥有大量文字语料时,我们如何寻找分词规律?

“我们如何寻找规律”这句话是表象状态,隐藏在背后的,是“我们/如何/寻找/规律”这样的状态。

假设分词模式有“A”“AX”“XAX”三种。句子中“我”字可以被分割入“-我”“我们”,“律”则可以被分割入“找规律”“规律”“律-”。其中“-”代表句子的开始和结束。隐马尔可夫模型,就可以凭借上一个字的分词状态,判断下一个字各种分词状态的概率。

比如,当“我”字被分割入“我们”,“们”字被分割入“们”“们如”等的概率就是0。

这样只考虑前一个状态的算法,极大地减少了计算量(不用总是总览整个句子)。同样的道理,在语音识别、机器翻译、金融等多个领域都已经有了成熟的应用。虽然后来LSTM的出现凭借着强大的“记忆力”功能,在一些领域替代了隐马尔可夫模型。但马尔可夫链相关概念在机器学习,甚至整个科学界的牢固地位依然是无法撼动的。

可以说马尔可夫链让早期贝叶斯概率论有了更加实际的应用意义,到了后期,贝叶斯网络的发展又将马尔可夫链中的哲学思想蔓延到更广的领域。

在今天,隐马尔可夫模型随处可见,可马尔可夫隐藏在公式中的独立思辨精神,又去哪了呢?

九、模仿学习:让机器人从一段视频中拜师学艺

有关于人工智能到底有多强大这件事,已经不用再做过多讨论了。AlphaGo如何在围棋领域“吊打”人类,或者Prisma[12]如何模仿出大师的画作,这些案例我们已经见了太多。

不过我们更关心的是,什么时候家里扫地机器人可以不那么弱智,别再咬着地上的数据线不放?

这是一个很普遍的状况:人工智能面对单纯环境中的计算问题、数据处理问题都可以表现得很好,可放到现实生活环境中却是举步维艰。很多实验室连机械手臂抓举杂物这项技术都没能突破。

如何让机器人干点实事?

为了能让机器人们做点实事,人们想了很多办法。比如用SLAM(即时定位与地图构建)系统把机器人所在的整个区域构建成一个地图,让它们以计算的方式实现自主移动。又比如利用强化学习,为机器人的正确行为设置奖励;或者是利用迁移学习,在仿真环境中训练程序,再迁移到真实的机器人“脑”中。

这样做的结果,或许可以让工业生产线上的机械手臂更好地工作。可对于日常生活中的大部分场景而言,没有固定不变的地图,没有可以设置奖惩的规则,更没有可以完美仿真的环境。

更何况,以上这些做法,需要数据、大量的数据,以及无尽的训练……

不过,加州大学伯克利分校曾在博客上展示过一段视频,是一个小机器人在铺床。而实现这一行为的方式,是通过一种更为前沿的方式——模仿学习(imitation learning)。

模仿学习:现在就开启你的机器人学徒

何谓模仿学习?简单来说,模仿学习是通过在某种意义上模仿人类行为,从而教会智能体如何像人类一样与世界进行交互。

实际上在机器人学习(这里专指实体机器人)这件事上,专家们一直在向一个方向发展:用端到端神经网络实现控制,让机器人不需要编程就可以自行动作。

那么具体怎么做?坦白讲,目前模仿学习还处在论文大战中,每过三五个月就可能出现一种较新的训练方式,但我们可以提出一些目前属于“共识”类的概念。

首先,模仿学习对于人类来说,可能就是看看别人是怎么做的,然后自己再照着来。而机器人模仿的对象,则是一串动作序列。在模仿学习术语中,被称作专家动作序列。

目前较为公认的做法是,为了贴合强化学习中非常好用的“奖励”概念,把生成对抗神经网络引入模仿学习,以生成模型生成机器人自己的动作序列,再用判别模型和专家序列做比对,比对而来的结果就和强化学习中的“奖励”概念一样,这样机器人的动作序列就会和人类的专家序列越来越像。

至于如何提取专家动作序列,则和我们分析运动员的动作有些类似。把“上帝式”的第三人称视角和可以观察到的运动主体四周状况分而论之。可以录制第三人称视角的运动视频,一帧帧地把动作进行聚类,把图像输入到网络,再到机器人的动作关节。又或者把第三人称视角转变成第一人称视角,再将图像信号映射到神经网络之中等。

总之,目前DeepMind、OpenAI等机构都在研究模仿学习,我们看到的还仅仅是冰山一角而已。

如何更好地适应现实场景?在线学习或许是个办法

这次加州大学伯克利分校展示的铺床机器人,研究重点在于对机器人动作的纠错。

在现实生活中,机器人在服务人类时不可能总有监工相伴,而模仿学习的训练也不可能让机器人永远万无一失。

解决办法是,使用在线学习(on-policy)——一边学习一边产生样本的训练方式,为专家序列加入噪声,从而提高鲁棒性,并且可以为机器示范如何纠正错误动作。

就好像故意误导机器人,让它不小心把枕头掉在地上,再教导它这时应该把枕头捡起来。这样在现实场景中,机器人就会知道枕头掉在地上时应该做些什么了。

如果没有这种解决方法,那么可能出现的情况就是,机器人正在铺床,结果枕头不小心掉在了地上,机器人立刻陷入了呆滞状态,不知道该如何继续。又或者,工作人员录下几百部花样丢枕头再捡起来、床单反了再正过来等“犯错——修正”的示范视频,转换成专家动作序列再让机器人学习。

相比之下,在线学习实在是太具性价比了。

更少、更少的数据

著名的AlphaGo Zero和今天的模仿学习,似乎有一些共同点:算法技术的发展,正在朝计算量越来越小、训练数据越来越少的方向发展。

其中的必然性也很简单,庞大的计算量意味高昂的成本,和人工智能的普及性相悖。至于训练数据,我们要承认,现实生活就是一个庞大的随机场,很多情况是不能提前通过数据训练的。

而以模仿学习为代表的一系列前沿算法,最终发展目标就是Few shot learning、One shot learning,甚至Zero shot learning——用尽量少的样本、一个样本,甚至无样本来完成训练。

在未来,只需一部铺床叠被的视频,机器人就立刻能在酒店里上岗。不过从当前的发展情况来看,未来恐怕还有点遥远。

把模仿学习应用到抢劳动力饭碗这件事上,意义似乎不大。笔者认为,模仿学习需要训练样本少这一特征,应该被应用于那些真正意义上“样本少”的事情当中。

比如,那些技艺濒临失传的民间手工艺。当年轻人不愿留在村子里,花费一辈子的时间学习如何做油纸伞、编竹筐时,拍摄下一两部视频,记录下一些参数,就可以让机器人成为这些技艺的传承者。

机械曾经让这个世界上的很多技艺濒临灭绝,而如今算法的出现,或许可以做出些许补救吧。

十、仿真环境:如何让机器人有尊严地学习

在有关机器人造反、进攻人类的电影中,情节一般是这样的:在遥远的3×××年,人类世界已经奴役了机器人几百年,一不小心某一个机器人开始觉醒,发现人类对自己又打又骂,还残忍地把自己丢进熔炉,于是愤怒地揭竿而起。

你一定觉得这种情节距离我们很遥远,现在的机器人要不是各种展会的座上宾,要不就像索菲亚[13]一样成了“网红”,如果觉醒了也该是享受自己的人间生活吧。

不如我们为机器人打造一座模拟城市?

其实人们一直在寻找更给机器人面子的训练方式,传统训练方式伤害的不仅仅是机器人,也包括人类。

在传统的机器人训练中,往往是用代码写出一大串动作序列,连接传感器模块和动作模块。然后把机器人丢到一块训练场中,让它一次次重复动作,观察哪里出错,记录数据后从开发端口进行优化。在深度学习风行的今天,更需要让机器人进行大量的实践,才能不断优化技术。这个过程不仅耗费时间和人力,更对场地有一定的需求。机械手臂、服务机器人这些还好说,难道研究无人驾驶,就只能像Uber一样承包整座城市?

换个角度想,很多时候机器人在现实环境中训练,出现的问题或者得来的反馈也会追溯到机器人OS的软件层面,我们为什么不能直接训练软件呢?

于是,“仿真环境”这个神器就出现了。

所以仿真环境,就是用代码写成的仿真器,在其中加入物理引擎,把万有引力、摩擦等逻辑加入到环境中,让仿真环境更接近现实环境。你可以在仿真环境中建立各种形状的对象和地形,将模拟出的智能体放在里面一遍遍地“跑”。

目前两个最常见的仿真环境都是OpenAI的作品:Gym和Universe。前者自由度更高,后者则更加复杂。除了这两个仿真器,还有很多人在游戏环境中训练智能体——物理引擎技术本来就是应用于游戏之中,比如Minecraft、GTA这样的沙盒游戏。后来被开发者们发现并利用了起来,像DeepMind就曾经在GAT5里训练了一辆无人车。

在仿真环境中训练AI本质上就是一种迁移学习,在低成本环境中进行大量训练、制造大量训练数据,再从数据中提取特征应用到现实环境里,虽然不能完全替代现实训练,却可以极大地减少对现实训练的依赖。

或者让机器人学会预见未来?

建立仿真环境还不够,为了让机器人们更有尊严地学习,伯克利的研究人员正在研究一种名为“预见视觉”的技术。

我们可以想一想,为什么人们如此注重机器人现实训练和现实应用中产生的数据呢?是因为机器人不像人类,感官和动作通过大脑相连,机器人即使能看到周围的环境,也很难理解自己的行为会对周围对象造成什么影响。

经过训练,机器手臂知道如何去拾取桌上的水果。可在现实应用时,如果在水果正前方有一杯水,结果往往有两个:一、机器手臂直直地伸出去,碰翻了那杯水;二、机器手臂转来转去,不知如何是好。

可人类就能绕过那杯水拿起水果,因为我们知道如果直接伸手,水杯会被打翻。

伯克利的实验就是给机器人一个摄像头,然后把机器人放到任何一个环境中让它们自己玩耍。而摄像头背后的“大脑”则在利用循环卷积网络对机器人看到的画面进行分析,很快就能对接下来几秒的画面进行预测。

几秒的预测虽然很短,却能让机器人预见自己动作之后的情况。理想状态下,就不太容易出现那种为了执行任务而把周遭环境弄得一团糟的情况了。

预见视觉技术的应用,也让无监督学习在机器人训练中的比重加大,人类节省了时间,机器人也不用再受“虐待”。而预见视觉能力得到进一步增强,也会意味着机器智能(尤其是无人驾驶汽车)对传感器的依赖减少。现在的无人车上装满了雷达传感器,就是要依靠这些传感器提醒汽车:“你离物体太近了!再往前会受伤!”有了预见视觉,一个全景摄像头就能代替这些昂贵的传感器。

费尽心机,只想让你记得我的好

除了以上两项,我们还想了很多帮助机器人学习的方法。

比如OpenAI曾经尝试过让机器人们互相对战并从中进行自我训练。为机器人们设立简单的目标,比如把对手推倒,再加上一些奖励机制,机器人们就能在对战中学会很多动作。虽然让机器人“自相残杀”也很残忍,但或许这样能让它们“记恨”同胞而不是我们……

总之,虽然现实环境一定是机器人训练不可或缺的一部分,尤其是对“波士顿动力”这种动作机器人而言。但人类一直在尝试如何少去亲自掺和机器人训练,这不仅仅是为了“机器人道主义”,也为了尽可能降低训练这件事带来的成本。

希望在未来,每个机器人都能有尊严地学习,并且在自我觉醒后记得人类的好。

十一、好奇心算法:当人工智能拥有好奇心,结果可能没那么糟糕

好奇心,是人和人工智能最显著的差异之一。从我们睁开双眼看到这个世界开始,我们就在努力地了解着周围的一切。我们了解世界的方式很多样:一开始是试图把所有东西放进嘴巴里,到后来我们想走遍这世界的每一个角落。

这也是生命中一件美妙的事情,在满足好奇心的过程中,我们获得了快乐。人类了解一切,不是为了完成某一个目标,而仅仅是一种来自本能的冲动。

可人工智能所做的,只有根据既定目标进行学习、搜索和计算。这也是强人工智能不会出现的证据之一:人类自己都没弄明白“意识”为何会存在,更没法将“本能”加在AI头上。

不过在现有技术下,我们能否让人工智能做出类似好奇的行为呢?比如给予无意义的探索行为一些奖励,或者是把探索行为和完成工作相结合进行评分。

答案是可以。

好奇心帮助人工智能成为更棒的水管工

还记得我们第一次玩“超级马里奥”的时候吗?进入游戏的第一时间,我们通常都会试一试手柄上的每一个按键是做什么的,然后跳来跳去,尝试触碰游戏里的每一个小方块。这就是好奇心最基本的表现。

那么AI在玩“超级马里奥”时是怎样的呢?通常情况下是应用了增强学习算法,用正负反馈机制帮助人工智能快速通关:踩死一只乌龟,获得正向反馈;掉入悬崖,获得反向反馈。问题是,只要能够继续过关,人工智能很难学会新的动作,这也就造成了当遇到新的关卡时,人工智能常常需要耗费很大力气才能通过。

在一篇关于人工智能好奇心的论文中提到,利用传统的增强学习方法训练,在“超级马里奥”的游戏过程中,人工智能卡在了游戏的30%处,因为它需要越过一个坑,而想要越过那个坑,需要15到20个特定顺序的按键操作。由于之前在坠落进坑里时已经获得了反向反馈,人工智能常常在坑的位置止步不前。

上述论文的作者,来自加州大学伯克利分校的研究团队提出了一种新的思路,为人工智能加入了内部好奇心构型。以自监督的方式,预测自身行动会造成何种结果,并将这种算法称作自监督预测算法。

当外部反馈减少时,内部好奇心构型会激励人工智能通过探索环境去检验自我对于行动的预测。结果是,采取内部好奇心构型的人工智能不会盲目重复那些有正向反馈的动作,而是开始了解游戏环境,把握整体游戏进程,最终战胜了那个坑。

好奇心不仅会害死猫,还会让人工智能得“多动症”

接下来,在DeepMind的计算机科学家赫斯特(Hester)和德州大学奥斯汀分校的彼得·斯通(Peter Stone)的研究中,同样的概念被进一步具象化。

在强化学习的基础上,他们开发了一种名为“TEXPLORE-VANIR”的算法。和自监督预测算法不同的是,“TEXPLORE-VANIR”为人工智能设立了内部奖励机制,当人工智能探索环境时,即使这种行为对达到最终目标没有好处,人工智能也会因为减少了外部环境的未知性而获得来自内部的正向反馈。同时,在探索环境时发现了新事物,人工智能也会获得正向反馈。

这么听起来,是不是和人类的好奇心非常相像了?

并且“TEXPLORE-VANIR”也让人工智能的好奇心不再止步于游戏中。在关于机器人工作的实验中,面临多项工作安排,“TEXPLORE-VANIR”算法能让机器人表现得更好。原因是面临多项工作时,普通深度学习算法会让机器人不断重复某一项工作中的动作,因为机器人曾经在完成这一项工作时获得过正向反馈,当其他工作出现时,它还是会重复那些让自己获得过正向反馈的动作。这样一来,就会浪费很多时间。

当人类表现出过度好奇时,会有怎样的结果?最常见的,注意力无法集中,常常将手头的工作半途而废。同样,人工智能拥有好奇心后也会有这样的表现。搭载“TEXPLOREVANIR”算法的机器人在一项开门锁的任务中表现较差,就是常常因为好奇而去探索环境,导致任务完成的延迟。甚至有学者称,这是人工智能的“多动症”。

这样看来,如何平衡内部和外部的反馈将是让人工智能好奇心发挥作用的最大问题。

没有好奇心的人工智能只是机器?

我们更关心的是,让人工智能拥有好奇心这件事究竟有什么用?是为了让他们在游戏中更好地打败我们,还是让他们在执行任务时分心而变得低效?或者说让他们更接近人类,可以更好地打败我们?

首先,好奇心会让人工智能在学习时更加高效。减少对外部环境反馈的依赖,意味着对已有数据的利用率更高。比如在机械手臂试图抓起物品时,常常是把可能抓起物品的姿势都尝试一遍,直到把物品抓起来。对于人来说,这是根本不能接受的低效,可换到了一个充着电的机器上,似乎就没人在意了。可笑的是,人工智能本应该替人类完成重复劳作的工作,结果却是用更多的人工智能重复劳作,代替人类的重复劳作。可有了好奇心,人工智能可以先对环境、环境中的物体进行初步地了解,然后再加以行动,而不是无脑地用暴力穷举解决问题。

其次,好奇心可以让人工智能更好地适应现实应用环境,毕竟现实和游戏或者实验不一样,没人会为人工智能的每个动作打分。当缺少外部环境反馈时,好奇心驱使的内部反馈就可以发挥很大作用。只有可以自我驱动的AI,才能在真正意义上帮助到人类,发现那些我们在设立目标时没有发现的事,而不是像所有机器一样听从指令。

看到这里,是不是加重了对人工智能的恐惧?别担心,大多数有关好奇心的算法目前还都停留在实验阶段。一是前面提过的,由于无法平衡内部反馈和外部反馈,好奇心常常会降低人工智能的工作效率,毕竟百分百地专注,是所有机器的优势。二是传统深度学习的“萝卜加大棒”机制已经能满足当下很多人工智能的应用。暴力穷举虽然低效,但是十分有效。

但我们相信,不管以何种形式,未来的人工智能一定会出现类似好奇心的机制,在更了解这个世界的前提下,更好地服务人类。

十二、决策树算法:隐藏在“当代玄学”外衣下的真相

智能这个词,在当今似乎被赋予了一种非凡的意义:它能轻易参透人类的想法,理解过去甚至预测未来。

一切的机器学习算法最终都指向对某种情况的准确预测,而数据挖掘就是其中少不了的玩法之一。从已知数据中找到规律和意义,才能更进一步接近“机器预测未来”这件有着当代玄学意味的事。

今天就来简单介绍一下众多算法中较为经典、应用也相对多的决策树算法。

什么是决策树

决策树,顾名思义,结构就像一棵树,有分叉的枝杈和树叶。枝杈的分叉处是关于目标某一个特征的判断,枝杈本体则是关于该特征的判断结果,而树叶则是判断过后产生的决策结果。

下图就是一个最为简单的分类树决策,当我们看天气预报时,根据降雨、雾霾、气温、活动范围是室内还是室外等特征将自己的行为分类为出门和不出门。简单来说,决策树可以被看作一大堆if-then的判断,每一个枝杈都是一条规则。

而我们看到这颗决策树时,最想问的问题一定是,为什么要将降雨当作决策树的第一个枝杈,为什么不是雾霾或气温?

关于特征划分的选择,就是决策树学习算法的关键,往往也是不同决策树学习算法的差异所在。

以最典型的ID3算法[14]为例,ID3算法中采取“信息增益”为特征划分的标准。抛开一切条件熵、信息熵等复杂的概念不谈,信息增益可以被简单理解为:同一个条件下,信息不确定性减少的程度。

也就是说,当用ID3算法为图中决策树划分特征时,我们会拥有一个表格,其中有大量在各种天气情况下是否出行的样本。首先我们要通过公式从数据中得出,当降雨、雾霾等所有特征皆为未知时,我们对于出门这一信息的不确定性数值a。想要判断信息增益,就要依次判断当降雨、雾霾等某一特征作为已知条件时,我们对出门这一信息的不确定性数值b。两者相减,就得出了某一特征的信息增益程度。信息增益程度最高的,自然就成为特征划分的顶端,从而可以减少接下来的运算量。

可这种算法最容易出现的问题就是,当某一特征的数据严重少于其他特征时,得出的结果很容易出现误差。比如在我们收集的数据中很少有关于人们在雾霾时是否出门的情况,却有大量人们在降雨时是否出门的情况,这最终就会导致信息增益的计算错误。

应用场景:市场营销和客户关系管理的旧新闻

决策树最典型的应用场景就是客户关系管理(CRM),比如游戏行业内的流失预测模型。通过回溯用户历史行为,选择登录间隔、游戏内停留时长,甚至某一关卡是否过关等,从而去判断究竟是哪一环节让用户对游戏失去兴趣,从而实施对策。

如下图所示,如果通过用户历史数据得到这样的决策树,我们就会知道,想要防止用户的流失,我们需要:(1)通过奖励鼓励用户登录;(2)通过奖励鼓励用户进行对战等游戏内行为;(3)降低BossA难度。

除了CRM,市场营销也常常应用到决策树,其中的要点就是市场细分和用户行为预测。

比如我们可以通过用户性别、地域、职业、收入情况和历史购买数据等将用户分类,得出收入1万左右的上海女性白领是我们的主要用户,几项特征的信息增益程度分别是“性别(女性)”>“地域(上海)”>“职业(白领)”>“收入(1万左右)”。

这时需要投放广告时,我们会优先确定广告内容一定要是女性感兴趣的,其次要确定投放地区选择在上海,然后则要确定投放在上海写字楼周边。这样就能圈定我们所需要用户的性别、地域和职业了。

可问题是,我们无法区分出现在写字楼的女性是白领还是清洁工,更没办法区分她们的收入。但是这不重要,毕竟职业和收入两项特征的信息增益程度是最低的。

这就是决策树最重要的作用,通过分类和排序让我们可以进行取舍,从而尽量去实现精准营销。

优点与缺点兼备,决策树没那么神奇

决策树算法的优点有很多,比如计算过程相对简单、容易理解,但它也有缺点。就像之前提到的,如果我选择不出门,我可以清晰地提出“虽然没有降雨也没有雾霾,但是今天的气温低于18℃,所以我决定不出门”。而如果把数据给到和决策树十分相似的神经网络算法,得到则是一大堆比树状图复杂太多的权重相关数据。

决策树的应用非常广泛,其应用历史也很悠久。只是最近几年又被“智能”的风吹了起来。

某家电商企业曾经大肆鼓吹自己的“智慧营销”,声称自己能在“电商节”开始前就把货品提前配送到有购买意向用户附近的货仓里。外行人一听,还以为该企业的运营员工参透了“推背图”,实际上,只要掌握了用户收货地址、历史购买记录等信息,通过决策树就能实现。比如掌握了大量购买尿不湿用户的数据,发现某条街道中购买尿不湿的用户最多,那当然要把明天打三折销售的奶粉提前送到这条街道的货仓中了。

除了电商营销,还有很多自称Fintech[15]的风控模型、能判断员工是否流失的智能人力资源管理系统等。其实哪里有什么智能呢。只不过是这行混得久了,数据累积得多了;硬件发展了,计算能力变强了;融到资了,雇得起人做数据挖掘了。

之所以会出现“当代玄学”这一笑谈,还不是因为在这些企业的“人工智能”里,有多少人工,就有多少“智能”。

[1] 星际争霸:1997年暴雪娱乐公司制作的一款即时战略游戏初代作品,2010年推出第二代。风靡全球的同时引发了AI产业的关注。

[2] 位于英国伦敦,由人工智能程序师兼神经科学家戴密斯·哈萨比斯(Demis Hassabis)等人联合创立的前沿人工智能企业。著名的围棋AI程序AlphaGo即出自这家公司。

[3] 2015年,由马斯克等硅谷企业家共同创建的非营利性AI组织,希望能够预防AI的灾难性影响,推动AI发挥积极作用。

[4] IceFrog(冰蛙)联手美国Valve公司研发的一款游戏,于2013年正式测试。

[5] 著名数学家、计算机科学家艾伦·麦席森·图灵发明的测试。测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。

[6] 马库斯·赫特教授在2002年提出的通用人工智能模型,其假设任何计算问题都可以被变换为一个效用函数最大化的问题,希望以此概括出智能的本质。这个模型被很多专家评为最接近通用智能的模型,但仅仅属于学术假设,难以实践。

[7] 通过对知识进行归纳,形成计算机可以接受的用于描述知识的数据结构的技术,是众多人工智能技术的发展根源。

[8] 贝叶斯方法的扩展,又称信度网络,是目前不确定知识表达和推理领域最有效的理论模型之一,也是深度学习的基础理论依据。

[9] 中文译为《侠盗猎车手5》,是2013年由Rockstar Games游戏公司出版发行的一款开放式动作冒险游戏。

[10] 20世纪40年代提出的人工神经网络技术,在2006年后与深度学习技术相结合,诞生的新型神经网络技术,是目前AI的主流实现方式之一。

[11] 美国华盛顿大学计算机科学教授,加州大学欧文分校信息与计算机科学博士,在机器学习与数据挖掘领域有多部畅销著作。

[12] 一款图像处理软件,运用人工神经网络和AI技术,获取著名绘画大师和主要流派的艺术风格,然后对用户照片进行智能风格化。

[13] 历史上首个获得公民身份的机器人。2017年10月26日,沙特阿拉伯授予美国汉森机器人公司生产的机器人索菲亚公民身份,但事实上这款机器人智能程度并不高。

[14] ID3算法是一种贪心算法,起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,在每个节点选取还尚未被用来划分的、具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成的决策树能完美分类训练样例。

[15] 金融科技,由金融“Finance”与科技“Technology”两个词合成而来。

第2章 自然语言处理

知识点解析:自然语言处理,即NLP(natural language processing),是AI领域中的一个重要方向,其研究目的在于如何实现人与计算机之间用自然语言进行有效通信。作为横跨语言学、计算机科学、数学的前沿AI领域,自然语言处理被视作今天AI产业发展的主要动力之一,是翻译、输入、人机交互等多个产业的理论基石。

一、语言即魔鬼:DeepNLP的富矿与盐碱地

很长时间以来,人工智能与计算机科学、语言学之间有一个交叉学科始终被市场热切关注,那就是NLP(natural language processing),即自然语言处理。

这项技术的基本内涵,是指人类与计算机之间用自然语言进行有效通信的各种理论和方法。说白了就是如何让机器听懂人类说什么,以及如何让机器说人类能听懂的话。这两个方面也被称为NLP的两个核心关键领域:自然语言理解和自然语言生成。

回想一下,我们可能会发现NLP对于推动人工智能产业发展有着举足轻重的作用,因为它可以直接作用于机器翻译、语音输入等领域。相比于人工智能和机器人领域那些“只闻其声不见其人”的算法和神经网络,翻译和语言输入法可是货真价实的商业应用。

作为这些应用领域的主角,NLP一直在人工智能产业化中扮演着重要角色。但有很多人认为,NLP在整个AI体系中是相对孤立的,应用范围也相对狭窄。

随着学界一种新的跨界思维开始流行起来,这种情况仿佛有了改观:将流行的深度学习技术(deep learning)与NLP相结合,打造出更深度自然语言处理(DeepNLP)成了火爆的AI概念。

而真正令人在意的是,这个概念背后指向的应用性近乎是无限广泛的,甚至有人认为人类将史无前例地打开语言这个“魔鬼迷宫”,将自身的某些能力拉升到新的维度。

究竟有没有这么神当然不好说,但DeepNLP的潜在价值绝对不凡。

为了让大家更好理解DeepNLP的含义与应用性,我们尝试尽可能抛弃掉所有函数公式和语言学概念,并且用一种比喻来理解这项技术的真实情况:挖矿。

假设DeepNLP是一座深埋在地下的富矿,那么想要得到它首先要翻越大块盐碱地,而矿藏的最深处,可能就是“魔鬼”的居所。

从NLP到DeepNLP:人工智能不仅可以翻译、速记、问答

先来解释一下NLP与DeepNLP的不同之处。

自从20世纪80年代NLP概念被提出以来,经过了长时间的演进和迭代,其技术本身的变化非常显著,但其基本运作模式却是相同的。一般来说,NLP体系的工作对象都是人类语言。一段语言样本进入NLP系统之后,将经过系统的符号化处理,变成运算语言;然后通过运算能力进行模块化生成,根据不同目标进行语言处理;最终生成的模块输出为结果,整个语言处理任务就完成了。

这样的语言处理体系,按照目的来区分一般有三种应用:一是语音文本转化为文字文本,也就是我们今天常用的语音输入;二是不同语言之间的转化,也就是机器翻译;三是语言文本理解后给出相应回馈,也就是Siri这样的聊天机器人。

NLP的作用,基本就是在这三种应用当中让语言处理得更加自然、合理。而随着深度学习技术的不断发展,NLP似乎可以迎来一场全面的革命。

NLP长久以来存在的问题,就是人类不同的语言体系确实太复杂了,经典计算网络根本无法完全处理。尤其语义、语言情感、语言氛围,以及歧义、多义等内容,更是难以被机器理解。

目前火爆的深度学习技术,可以用非监督式或半监督式的特征学习,来自主提取高效算法替代传统算法。换言之,深度学习中的某些技术或许可以让NLP自主理解人类语言中的具体特征和复杂语言材料。这就给NLP的革命带来了一线遐想。

事实也确实如此,随着卷积神经网络、递归神经网络、迁移学习等技术的成熟,NLP可以主动理解的算法越来越多。比如对关键词的归纳、对句子上下文关系的理解,以及通过训练结果去自主理解其他语料和语言情况。

总之,深度学习技术加上NLP,把人工智能理解人类语言推向了理论上的新高度。甚至有学者提出了DeepNLP这个新概念。加入深度学习的NLP体系,在表达适配度、可训练性、泛化性、模块化性、可迁移性等领域上较原有NLP具有明显的优势。

而所谓DeepNLP的美梦成真,是从一些新工具投入使用开始的。

发现新矿层:词向量等思维模块带来的冲击

话说自然语言处理的逻辑,是将人类语言转化为运算语言。但在传统计算模式下的语言转化,是将不同词汇转化为相互间完全没有联系的符号编码。

这种方式对于机器运算本身没什么问题,但让机器语言更好地贴近、理解人类语言就会有很多障碍。比如带来的运算量非常庞大,一旦需要对语义、句法、语言回指这样的复杂问题进行计算,就会难以为继。

另一方面,这种转化模式背后,词、句、语法间是完全没有联系的。这也就难以让机器学习人类语言间的联系,产生自主理解的学习训练效果。

有一些新技术的出现,正在改变这种现状。比如一种叫作“词向量”的思维模块,这种技术把人类语言转化为机器语言时,对每一个词进行了有联系的界定。就是说,将词汇处理成向量,并且向量间的相对相似度和语义相似度是相关的。

比如人,会关联着男人、女人、老人、成年人等词。这些词相互联系,并且可以被机器理解。这也就将人类语言体系重新展现在了机器面前,给了机器学习全新的理解方式。

词向量只是DeepNLP技术中的一种解决方式,并且各种词向量也在不断进化当中。这些让机器重新理解人类语言的技术,可以被视作全新的探测器。有了这些工具,距离语言应用的富矿又近了一步。

“潘神的迷宫”:DeepNLP的技术盐碱地

当然,就像深度学习在众多领域的应用一样,DeepNLP达成应用也绝非朝夕之功。在开始近乎癫狂的应用想象之前,我们还是要泼一盆冷水。

虽然帮助机器深度理解人类语言的工具和技术越来越多,但语言这个神奇的王国依然保留着大块处女地。目前的神经网络和深度学习算法,还有大量的语料和语言问题无法处理。这就像我们知道某处深山中有大量金矿,但勘探队与其之间依旧隔着大片的盐碱地和坚硬岩石。

比如说语言歧义性问题,就是目前词向量和词嵌入技术的“噩梦”。一个词可以有很多种意思,这是人类不同语言的“通病”。人类理解这些多义词基本依靠对语境和言语情感的理解。但机器学习对人类语言进行重新编码的时候,却无可避免地将同义词进行错误编码,甚至会产生对整体语义的歧义理解。

再比如不同语种的问题。字母文字和表意文字之间的逻辑、结构和语境是完全不同的,甚至近似语言之间的语法结构也可以截然不同。深度学习体系追随的是语法内部的逻辑体系,而追寻语言本身的通路,在跨语种时可能出现巨大的障碍。

还有一个问题,是DeepNLP究竟如何训练。语言的复杂性,让复杂处理后的语言结果很难被判定,一种判定结果也很难成为其他语言处理结果的指标。因此,训练样本的缺少适配性,让弱监督与无监督的NLP非常困难。

当然了,问题有是有,但并不妨碍我们看到DeepNLP的宏大价值。语言这令人着迷的东西,如果真正为人工智能所掌握,带来的效果近乎无法想象。

越过山岩之后的富矿:DeepNLP的应用甜梦

DeepNLP的应用价值非常复杂,如果算上与其他智能体系结合的应用场景,那几乎是个无穷数。这里基本推测几个DeepNLP应用场景,相信大家就会明白为什么将之称为“富矿”。

(1)复杂语言目的提炼与反向生成。通过循环神经网络与卷积神经网络,NLP提取复杂语言材料的核心概念将成为可能。这个能力的作用非常多,比如全面接管客户服务。复杂语言提炼还可以重新定义模糊搜索和电商搜索。人们只需要描述自己对信息或者商品的需求,NLP就可以自主提炼并进行精准定位。

而这个能力的反向生成也十分重要,深度学习体系可以帮助NLP根据人类需求自主生成文字语言材料,就预示着根据某个需求进行文本与语音创作成为可能。通过人类语言训练反向影响AI写作,也是一个十分有意思的破局思路。

(2)基于语言的逻辑推理与情感判断。通过对人类语言环境中的复杂关系进行迁移学习,可以达成另外一些有意思的应用可能,比如让机器学习到人类语言中的逻辑和情感。先不提是否赋予机器这些东西,至少这将有机会让机器从人类的语言中预测结果,达成机器推理甚至情感判断。

从听懂你说话的机器人,到能够预测你目的、读懂你情绪的机器人,显然都是巨大的商机。

(3)文本关系的提取与分类。DeepNLP的另一个主攻方向,是对文本关系的理解。从语言环境到语言使用习惯和语言情感,人类的语言其实根植于无数文本关系之中。如果不能理解这些关系,那么AI就永远是只能进行简单交互的机器。

通过深度学习技术进行自然语言处理,则可能让机器理解这些关系。于是复杂的文本翻译将成为可能,整本书的瞬间翻译似乎也不是难事,而方言、发声问题下的人机语音交互也可能达成。当然了,这都仅仅是这个技术达成所带来应用的一小部分。

(4)图像的识别与描述。通过对语言材料的迁移学习,让机器读懂人类通过双眼与自然界间的交互,也是一个充满想象力的区域,而循环神经网络等技术正在帮助NLP打开这种可能。通过反复训练AI阅读人类对图像的描述,机器将生成自主描述图像、归类解释图像的能力。

这让AI拥有了可以自己看东西,并转化为人类语言介质的能力。通过摄像头,机器将可以随时理解实物并进行分类汇总。这首先让人类的公共安全警报、搜救、探测事业有了彻底改观,更深处或许将指向机器对自然万物的自我解读。

这些应用听起来都非常魔幻,而这正是DeepNLP的可怕之处。一旦高强度自主学习的NLP与人类信息接入,那绝不是几个应用所能描述的技术变革。

矿石之外的石油:DeepNLP结合大数据

在开采DeepNLP这座矿山之外,我们显然能够发现这项技术与大数据体系结合的奇妙化学反应。这或许将在矿井之外再打开一座油田。

首先要知道,目前大数据资源中的很大一部分,都是以人类语言作为基本单位的。这些数据指向多种多样的目的和结果,但其借助人类语言的特点却是相同的。在这一点上,原本普通廉价的人类语言可以成为DeepNLP非常有效的训练材料。

反过来说,DeepNLP技术的成熟,也可以帮助人类重新理解和使用已有的大数据资源。比如用户对某一产品的使用体会数据,原本的数据判别系统只能推测出满意级别、改进点等几个数据,因为它的逻辑是提取关键词和打分,而这显然就忽视了用户的个体性。通过DeepNLP去处理客户数据,或许可以判断每一个用户的受访环境、回答真实性,甚至根据语气和描述推断出用户没有提到的产品改进建议。

这里有一个逻辑推演,那就是在足够成熟的DeepNLP体系、足够大的数据承载量和足够强大的计算能力(比如相对成熟的量子计算[1])支撑下,将有可能对人类的每一句话进行推演和预测,推断人类生活中每一个细节的原因与结果。电影《少数派报告》中的预测犯罪机器人,或许就是以此为科学解释。

语言迷宫,是人类长期以来自身都无法破解的牢笼。一个优秀的演讲者、魅力十足的推销员、套路诡谲的骗子,往往有无法解释的能力达成目标。他们依靠的没有其他东西,就是语言。一旦这种能力为AI所获得,释放出的当然有数不胜数的机遇和财富,但同时出现的,或许还有一个恐怖的魔鬼。

二、解密神经机器翻译

2014年到2016年,机器翻译领域可以说是翻天覆地。

这期间发生的大事,是以神经网络作为基础的机器翻译,开始全面超越此前以统计模型为基础的统计机器翻译(SMT),并快速成为在线翻译系统的主流。

在这场革命之后,机器翻译彻底进入了NMT(neural machine translation)神经机器翻译时代。

并不是所有人都为此欢欣鼓舞。回想2017年,谷歌在中英翻译系统上部署了GNMT——谷歌神经机器翻译之后,当时网上有一句广为流传的话:“作为翻译,看到这个新闻的时候,我理解了18世纪纺织工人看到蒸汽机时的忧虑与恐惧。”

怎么样?是不是感受到了深深的绝望?

但是先让自己的小情绪平静一下。一年后,市面上的NMT系统越来越多,虽然翻译质量确有提高,但远没到上述引文中描绘的发生“质变”的程度。这到底是为什么?

于是,我们选取了目前最有代表性的谷歌GNMT和屡获大奖的SogouNMT[2],来感受一下今天神经网络机器翻译的真实水平和进化空间。

进击的神经机器翻译

开始十分有趣的实验之前,先来简单了解一下神经机器翻译在原理上强在哪里,它的内部有哪些门类,以及为什么几年间成为主流?

基于人工智能命题下的神经网络来构建机器翻译系统,是一个早在1949年就提出的想法,但是在此后的漫长时间里都没有工程化基础,并且效率不高,一直没有成为主流。

最早的机器翻译,是根据不同语言的语法语序进行翻译,被称为规则机器翻译(RBMT),这种机器翻译应用范围非常狭窄,只能算早期技术。之后统计学崛起,统计机器翻译(SMT)成为主流,这种技术是通过平行语料进行统计分析,从而构建模型进行翻译。

谷歌翻译之所以很早就进入公众视线,就是因为他们积累了大量的语料数据,可以让翻译系统通过在语料文档中查找对应因素来生成翻译结果,堪称SMT时代的代表。

这样做的优点是翻译效率很高,但缺点是翻译结果太过零散,很难产生正确的语法和通顺的语序。

用神经网络来进行机器翻译,首先解决的就是难以形成语句和必须依赖人工语料的问题。NMT的基本思想,是以每一个句子作为独立的神经元,从而打破基于短语的翻译障碍。并且翻译系统可以实现监督训练,不必完全依赖固定数据,这可以在专业领域等资料稀少的环节,获得更好的翻译结果。

相较于SMT,NMT可以获得更好的语感,减少此前机器翻译的形态、句法、词序等错误,并且工程效率比较高。

2014年,用循环神经网络(RNN)来对语言向量进行编码解码,并且使用长短期记忆网络(LSTM)来增强长句翻译能力的NMT算法,开始在所谓“跑分”上超越了SMT。随后两者差距开始拉开。

到了2016年,谷歌的GNMT开始全面部署在谷歌翻译当中,随后2018年Facebook推出了基于卷积神经网络(CNN)的翻译模型,据说效率更高。而后,谷歌推出了完全基于注意力(attention)的翻译模型,是目前最优质的神经网络机器翻译模型。

除了这些美国巨头,中国的搜狗、百度、阿里巴巴、腾讯等公司也都部署了NMT。至此,应该说神经网络机器翻译这个刚刚工程化不久的技术,已经彻底成为在线翻译领域的标配。

而问题也来了,这个技术真的有传说中那么神奇吗?

应用效果测试

其实,网上有很多对不同在线翻译系统的测试。其中有一些非常专业,大家不妨找来作为本节参考。这里依旧要进行测试是为了后续推理的严谨性,并且限于篇幅,更多类似翻译测试没有展现,仅列举几个比较有代表性的例子。

考虑到要求连贯性、语句准确的在线翻译技术,其应用场景无非两种:一是以海外旅游、购物为代表的实时沟通场景,二是垂直领域的专业内容翻译。所以这里选取了一些旅游用语和专业论文,来检测一下SogouNMT和GNMT的翻译实力。此外,2018年6月,搜狗在发布翻译App时表示SogouNMT的独门绝技之一是翻译古诗词,所以我们也找来了古诗词与文言文来“折磨”两个“小家伙”。

首先是来看一句基本的旅游用语。

(英译汉)What is the possibility of my getting a seat if I wait?

谷歌翻译:如果我等待,我可以得到座位的可能性?

搜狗翻译:如果我等待的话,我有座位的可能性是多少?

(汉译英)如果我等下去的话有多大几率有座位?

谷歌翻译:What is the chance of having a seat if I wait?

搜狗翻译:How often do I have a seat if I wait?

从中可以看出,英译汉的语序调整大体正确,搜狗对汉语的语法理解更准确。但汉译英却没有那么乐观,对于表述比较口语化的“几率”,两个系统都没有表现出对上下文的理解能力。

我们来找点论文里的长句子试验一下。

(英译汉)It seems anachronistic to talk about intertextuality in the beginning of the Twenty First Century,almost forty years since the term first appeared with Julia Kristeva's introduction of Mikhail Bakhtin to the Western world.

谷歌翻译:在二十一世纪初谈论互文性似乎不合时宜,自从Julia Kristeva将Mikhail Bakhtin引入西方世界以来,已经有四十年了。

搜狗翻译:在二十世纪初开始谈论互文性似乎是不合时宜的,近四十年来,从Julia kristeva引进米哈伊尔·巴赫金到西方世界第一次出现。

(汉译英)自四十年前朱丽娅·克里斯蒂娃在介绍巴赫金思想时首次将“互文性”概念引进西方世界以来,到21世纪初的今天再针对“互文性”进行讨论已经显得有些不合时宜。

谷歌翻译:Since the introduction of the “intertextuality” concept for the first time in the introduction of Bakhtin's thought forty years ago,the discussion of “intertextuality” at the beginning of the 21st century has become somewhat outdated.

搜狗翻译:Since Julia Christie introduced the concept of “ intertextuality” to the western world for the first time 40 years ago,it has become an anachronism to discuss the“intertextuality” in the early 21st century.

从长句子的翻译上看,中英之间的语序调整还是大问题,而且语序引发的意义差别会影响整个翻译的效果。汉译英中,谷歌表现稍微好一点,搜狗出现了很严重的漏译。值得肯定的是,两者对专有名词的翻译都比较准确,但是人名库显然还不够大。

我们再来一点有意思的,杜甫的《石壕吏》。

(汉译英)暮投石壕村,有吏夜捉人。老翁逾墙走,老妇出门看。吏呼一何怒!妇啼一何苦!

谷歌翻译:

Twilight cast stone trench village,there are officials to catch the night.

The old man went over the wall and the old woman went out to see.

Official call an anger!Women cry one bitter!

搜狗翻译:

Twilight lapidation the village,there are officials and night catchers.

The old man went over the wall and the old woman went out to see.

The guards cried so fiercely The old lady cried so sad.

参考巴顿·华兹生的译文:

At evening I put up at Stone Moat Village;

that night an official came to round up people.

The old man at the inn scaled the wall and ran away;the old woman came to open the gate.

The official,how fiercely he shouted!

The old woman,how pitiful her cries!

可以看出谷歌对古诗词的理解确实不如搜狗,比如“妇啼一何苦”搜狗翻译为“old women”,应该是对应上了前文。再比如“夜捉人”谷歌翻译成了“catch the night”,似乎不如搜狗的贴边。当然,两者对于“逾墙走”这类表达都无法准确理解,另外搜狗完全漏译了石壕村。

再来一句最“虐”的,引自《文心雕龙·神思》:故思理为妙,神与物游。神居胸臆,而志气统其关键。

先来参考一下宇文所安的译文:

When the basic principle of thought is at its most subtle,the sprit wanders with things.The spirit dwells in the breast;intent and qi control the bolt to its gate.

谷歌翻译:

So think for the wonderful,God and the tour.God in the chest,and the ambition of its key.

搜狗翻译:

So thinking for the good,god and the matter swim.God lives in the heart,and the ambition is the key.

当然,这一题纯属娱乐,太难为机器了。但还是可以看出,翻译过程中根据词的表面意义直译的现象比较严重,并且应该是在算法的加持下强行组成句子。而这种翻译模式下,漏译现象会很严重。

问题在哪里

从以上实验中似乎可以得出结论:神经网络机器翻译确实有很强的效果,尤其在短句的翻译上比较出彩,但总地来说,翻译职业还是非常安全的。

无论英译汉还是汉译英,在翻译复杂长句、专业术语,以及诗词和古文时,现有的机器翻译依旧会展现出无力的一面。

首先,中英文之间的语序对调,也就是机器翻译中的对齐问题还是没有得到妥善解决。仅从我们进行的测试来看,似乎搜狗在英译汉时会妥帖一些,而谷歌在汉译英时稍好。但无论哪种,整体上都保持着统计机器翻译中的基本对应模式,很难根据实际语感调整。

再一个非常突出的问题,在于神经网络翻译应该会根据算法自己生成整句内容。这是因为算法把句子当作单独的序列,所以无论短语和单词是否正确,都必须生成句子。以翻译《石壕吏》和《文心雕龙》为例,翻译结果是在错误的单词翻译下翻译出更错误的内容,有些甚至有点搞笑。复杂翻译中,用户可能难以逆推到出错点。并且,语位关系与动词的翻译经常出错,搜狗翻译的漏译情况似乎很多。

当然以上只是根据我们的测试得到的特征,不一定全面和准确,但似乎确实说明了神经机器翻译没有那么神,甚至有一些技术迭代后出现的新问题。

找钥匙,抢钥匙

如此主流的机器翻译系统,难道只能做到这一步吗?答案应该是否定的,一方面我们可以观察到学界完善神经网络机器翻译的方法在快速增长,这项技术的燃料充足;另一方面这项技术的工程化效率很高,无论谷歌、搜狗,还是Facebook、微软,这些机器翻译玩家对于最新学术成果都会非常高效地配置。

所以在目前来看,神经网络机器翻译未来很长时间都会处在主要位置,并且可能会短时间内不断突破。而针对上面分析到的问题,有一些解决方案可以作为比较高效的补充,也许这些会成为神经网络翻译企业接下来的重要战场。

这里强调一下,我们不希望预测算法与技术线上的改进(当然也没法预测),以下探讨的是以其他技术力量完善神经网络机器翻译的方式,或许其中某项会成为迫使真人翻译进一步失业的“钥匙”。

(1)引进NMT以外的人工智能技术。巧合的是,近几年关于机器翻译的技术突破往往来自其他人工智能领域。比如注意力模型,是来自DeepMind在机器视觉领域的技术构想。主动引入其他领域的算法和模型,或许在翻译领域有神奇的效果。

(2)建立机器学习使用的用户数据库,激发互动。在机器学习的原理当中,对错误样本纠错往往是最好的学习途径,但翻译上的纠错行为显然是企业难以完成的。促使用户主动纠正翻译结果,并以之建立数据库,或许是非常便捷的办法。现在的机器翻译平台当然都有纠错功能,但用户的参与热情和参与方式是个问题。

(3)尝试优质训练语料下的弱监督学习。目前的NMT体系,归根结底属于有监督学习过程,很多所谓“莫名其妙”的翻译结果都来自翻译机制无法优化。尝试一些深度学习架构让翻译系统自我优化,也许是个解决方案。

(4)垂直领域语料数据库和数据抽调系统。解决具体的专业领域,甚至文言文的中英互译(当然也包括英文的诗歌和文学文本),其实也没什么特别的办法,拥有强大的垂直领域数据库是硬实力,当然好的数据抽调模型会事半功倍。搜狗此前投资UHT国际,构建语言垂直领域大数据,或许就是这个目的。

神经网络机器学习,还是个标准的新生事物。业界愿意选择它只是因为它比此前的方案更优化,也更有发展潜力;绝不是因为它一出手就大获成功,达到了取代人类同行的地步。

翻译依旧是一个非常安全的工作,绝大多数工作其实都是——至少今天还是。

三、从卷积神经网络[3]到循环神经网络[4],机器翻译的技术论战

提到机器翻译时,很多人心中都会感到疑惑,早在十几年前,我们把一句英文放到金山词霸里,就能被翻译成中文。如今加入了深度学习技术的机器翻译,又有什么不同呢?

区别当然有很多,最典型的就是机器翻译能够翻译出整篇文章,可普通的翻译技术遇到长一点句子就不行了。原因就是机器翻译并非简单地将一个个单词翻译成另一种语言,而是可以像人一样,不断向前回顾以理解结构复杂的句子,并且结合上下文,理解每一个it/he/she具体指代谁。

实现这种功能,分别依赖于两种神经网络架构,一个是RNN——循环神经网络,另一个则是CNN——卷积神经网络。从2017年开始,关于RNN和CNN哪个更适用于机器翻译的争论已经很多,今天就来看看这两种神经网络都是如何加持机器翻译,拯救“外语渣”的。

RNN:机器翻译中的传统武器

首先我们要明白,对于机器来说,翻译就是一个解码后再编码的过程。如果要把英语翻译成中文,就要先把英语原文解码成“神经代码”,再编码生成中文。

循环神经网络的关键,就在于循环二字上。系统会“记住”上一次输出的内容,以此来决定下一次输出。有了上一次和下一次的概念,神经网络就不会把输入和输出的信息看作独立的,而是看作相互关联的时间序列。这样就可以通过以往的序列关联猜测到下一个序列会出现的词。

在翻译时,RNN把源语言当作输入序列,把翻译语言当作输出序列,由于每一次输出都会参考上一次输出的结果,所以机器翻译更具整体性,而不是简单的翻译单词。

目前对RNN应用最为炉火纯青的应该就是谷歌翻译了,2017年谷歌提出了用神经网络系统进行机器翻译,据称汉译英的错误率最高下降85%,在当时还小小地引起了一番轰动。

如果说传统神经网络在翻译时,永远是在用一片空白的大脑面对每一个句子,那么RNN在翻译时则拥有持久的思想,而谷歌翻译所应用的LSTM更加强了这一点。LSTM是RNN的一类变种,被译为长短期记忆网络,是一种时间递归神经网络。RNN的缺陷在于,间隔很短的序列预测很容易,但要预测需要联系到间隔较远的上下文,RNN可能就表现得没那么优秀了。

而LSTM,就可以学习和理解这种长期依赖关系。LSTM通过一系列计算将句子中各个元素的特征构建成非线性的组合,同时还设立了“遗忘机制”,将权重较低的元素遗忘掉。这就意味着LSTM可以“更新”记忆,让长期依赖因素不断地存在于距离较近的神经元中。

CNN:GPU[5]的宠儿

就在RNN机器翻译还在不断更新时,又有人提出了将CNN——卷积神经网络应用于机器翻译上。

从前面的分析可以得出结论,RNN(LSTM)机器翻译按照序列进行工作,也就是和人一样,按照顺序一个个地进行翻译。但要记住的一点是,目前比较主流的GPU最大的优点是可以进行并行计算,而RNN就没法最大化利用GPU的算力。

CNN则可以同时处理多个语言片段,并且具有信息分层处理能力。将文本序列化、单词向量化,经过分层处理后再输出结果。在分层过程中,还会不断回顾源文本来确定下一个输出序列。

提出这种技术的是Facebook和机器翻译新秀DeepL。2017年,Facebook宣布推出基于CNN开发的语言翻译模型,据说比基于RNN开发的语言翻译模型速度快9倍,而且准确率更高。在测试上,Facebook翻译系统在英语—德语、英语—法语的测试上都比RNN更接近人工翻译。

而来自德国的DeepL更是在冰岛安装了一台世界排名第23位的超级计算机,只为了训练他们的神经网络。从他们自己展示的数据看来,DeepL的成绩已经远超Facebook、微软和谷歌。

不过,不管是CNN还是RNN,都不是机器翻译的终点,比如谷歌在2017年提到的不基于RNN的注意力机制,以及多层神经网络、深度神经网络等,都是解决机器翻译的方法,在速度、计算资源消耗、情感理解等多种维度上都有各自很好的表现。

如果从最终的实用性来说,神经网络模型能影响到的仅仅只是一部分,更多的还是语料库的大小、繁重的语料标注工作等,这同时也注定了一些语料较少的语言仍然无法受益于机器翻译。目前的机器翻译,基本还停留在辅助人工翻译的阶段。不论是DeepL的超级计算机,还是谷歌的神经网络,都可以理解成技术上的一种“炫技”。比使用哪种神经网络更重要的,还是应该让机器翻译更多地进入我们的生活。

四、Yandex如何战胜谷歌,在人工智能领域取得一席之地?

谷歌、百度、微软、Facebook、阿里巴巴……我们介绍过很多企业在人工智能技术和商业化方面的进展,包括印度、以色列等地区也出现过不少创业团队。

可这里面似乎没有俄罗斯什么事。按理说,俄罗斯有大量科技人才储备,国家对数学、计算机等学科的基础教育又足够重视,强大的黑客团队也展示了俄罗斯人在技术上能达到的种种可能。

放眼俄罗斯,甚至整个东欧地区,在人工智能领域最活跃的可能就是Yandex了。

Yandex:把搜索引擎当作技术发展的根本

Yandex是谁?大多数人第一反应是俄罗斯的“百度”。

没错,在1990年,来自莫斯科大学的阿卡季·弗洛日和阿卡季·勃可夫斯基共同创建了俄罗斯自己的搜索引擎Yandex。“Yandex”这个创造出来的词是英语“yet another indexer”的缩写,意为“另一种搜索引擎”。

建立了搜索引擎后,Yandex逐渐开始发展为一家全能型的互联网公司:建立门户网站、创立电商平台、与联邦储蓄银行Sberbank合作推广线上支付、代理来自中国的4399小游戏、推出打车平台……基本你能想到的风口,Yandex都没错过。

和谷歌、百度一样,搜索引擎成了Yandex收集语料数据、着手机器学习技术发展的根本。

Yandex在机器学习方面都做了什么?

首先,是近几年最火的无人驾驶。Yandex着手研发了无人驾驶需要的计算机视觉、语音识别等相关技术。Yandex选择了丰田普锐斯作为原型车,加上英伟达的芯片、Velodyne[6]的雷达传感器,目标是向L5级的无人驾驶冲击。

2017年,Yandex晒出了旗下无人驾驶车的场地测试视频,视频中无人车的表现中规中矩,虽然实现了在无人控制的情况下缓慢驾驶,但也会有障碍难以越过、躲避行人不及时等情况。

Yandex当时为自己定下了目标,2018年要让丰田普锐斯进行公共道路测试,同时还和卡车制造商Kamaz、Daimler达成合作,计划推出无人驾驶的迷你公交车。坦白讲,Yandex对于自身无人驾驶技术的披露相当少,俄罗斯本土是否有无人驾驶必备的高精地图也不得而知,俄罗斯的无人驾驶究竟会发展成什么样,目前很难下个定论。

除了无人驾驶,Yandex还“有样学样”地推出了语音助手Alice,以此展示自己的语音识别技术。和Siri、谷歌语音助手一样,Alice可以帮助用户连接出行、购物、支付、新闻和音乐等服务。

除了这些,Yandex还开源了机器学习框架Catboost,推出了深度神经网络搜索引擎等。

分词技术:本土搜索引擎的神器

我们想了解的是,Yandex如何战胜谷歌搜索,如何在自然语言方面取得了相对前沿的进展。答案或许是因为Yandex独有的分词技术。

所谓分词技术,其实是中文搜索引擎中的技术,即搜索引擎针对用户提交查询的关键词串进行查询处理后,用各种匹配方法进行分词的一种技术。

比如在搜索引擎中搜“不知道你在说什么”,就可能分成“不/知道/你/在/说什么”和“不知道/你/在/说什么”等很多种分法,再到数据库中进行索引。

分词的方法有很多,比如正向最大匹配法,按照中文阅读习惯,从左向右分词;又比如最短路径分词法,把一段话切出的词数最少等。这些只是比较传统的方法,现在还可以利用NLP技术,从语义理解上进行分词;利用邻近算法,看哪些相邻字符出现的频率最多,就按照这样的方式进行分词。

如何战胜谷歌?语言壁垒是关键

同样的概念,在Yandex的搜索引擎技术中也存在,只不过不叫分词技术,叫“морфология”,可以被理解为“词形”。

这就要谈到俄语这门语言的特殊性。和中文、英语不同,俄语中词与词之间的关系通常用词形变化表示,于是,同一个名词可以有12种形式,形容词甚至能达到二三十种形式……所以,俄语中会有动名词、形名词这些奇怪的东西。

因为俄语的特性,在搜索中非常容易引起歧义,对搜索的精度要求也更高。比如машиностроительный这个词,在俄语中意为“机械的”。在谷歌搜索中,可以找到与之完全匹配的网页,却很难找到有关机械形容词剩下的二十多个词形变化的网页。

而Yandex搜索引擎技术擅长的恰恰就是关键词的多义分析和查找。它还形成了一些独有的搜索方式,比如加上“ ”(引号)即可只搜索指定单词,不搜索变形词,也可利用指令只搜索形容词形态、动词形态等。

俄语属于斯拉夫语族内的东斯拉夫语支,也就是说白俄罗斯语、乌克兰语甚至捷克、波兰等地方的语言有会有类似的语法形态。而Yandex的分词技术在这些语言中的表现也很出色。

凭借着语言优势上的独有技术,Yandex战胜了谷歌成为俄罗斯本土最大的搜索引擎。而大量用户使用时累积的数据,更让Yandex可以发展机器学习技术,对算法进行进一步优化。放到整个NLP技术里也是一样,难怪Yandex可以在语音识别上获得不小的进展。

机器学习给了这个世界一个相对平等的机会,就算技术、资金相对落后,语言上的差异仍然可以树立起壁垒,更别提语料这一宝贵的数据。有Yandex的案例在先,是不是意味着那些基于泰语、印度语、阿拉伯语等小语种的搜索引擎,也会在人工智能领域有着独有的优势?

看来,我们还可以把眼光放到更远的地方。

[1] 一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式,被认为可以突破今天经典计算的限制,将计算推向新的高度。

[2] 搜狗推出的机器翻译平台。

[3] 一种深度前馈人工神经网络,主要应用于图像识别。

[4] 一种节点定向连接成环的人工神经网络。其内部状态可以展示动态时序行为,并可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。

[5] 图形处理器,即专门在计算设备上进行图像运算工作的处理单元,近年来也应用于AI任务的运算。

[6] 成立于1983年的硅谷技术公司,最早以音响业务起家,现主要业务为激光雷达生产。

相关图书

GPT图解 大模型是怎样构建的
GPT图解 大模型是怎样构建的
大语言模型:基础与前沿
大语言模型:基础与前沿
扩散模型从原理到实战
扩散模型从原理到实战
ChatGPT原理与应用开发
ChatGPT原理与应用开发
人工智能(第3版)
人工智能(第3版)
ChatGPT写作超简单
ChatGPT写作超简单

相关文章

相关课程