本文为《程序员》原创摘译文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》
计算机尚未出现之前,大多数经验丰富的心理学家都以为大脑就像个不可知的黑匣子。我们可以分析对象的行为——比如著名的巴普洛夫实验:摇响铃铛会让狗分泌唾液,但思维、记忆与情感这些又如何分析呢?这些东西太过模糊、难以了解,远超科学知识的理解范畴。因此这些自称“行为学家”的科学家们将自己的工作范围限定在对刺激和反应、反馈与强化、铃铛与唾液之类的研究上,他们放弃了理解思维内部运作方式的尝试,而这样的时日长达40年之久。
之后到了20世纪50年代中期,一群叛逆的心理学家、语言学家、信息理论学家以及早期的人工智能研究学家们提出了关于思维的不同设想。他们认为:人类不仅有条件反射的行为,还能吸收处理信息并依此行事,他们有着写作、存储和回忆的系统,这个系统可通过合乎逻辑的正式语法运行。大脑完全不是什么黑匣子,而更像是计算机。
这场所谓的认知革命始于微末,但随着计算机成为全美心理实验室的标配之后,有更多人开始认可这种概念。到了20世纪70年代末期,认知心理学之势压过了行为主义,在讨论心理学的问题时,也出现了全新的语言。心理学家开始按照程序的方式描述思维,普通人谈起在大脑记忆库中存储信息,商业大牛也烦恼于脑力带宽与处理能力对工作的限制。
这个故事一再重复发生,正如历史总是缓慢呈螺旋状上升,电子革命也逐渐渗透了我们的生活,并渗透到我们的语言中,渗透到关于事物运作的深层基础理论中——技术总有这样的作用。在这场启蒙运动中,牛顿与笛卡尔启发我们将宇宙看成一架精密的时钟。在工业时代,它是带有活塞的机器(弗洛伊德的精神力学概念便借鉴于蒸汽机的热力学理论),而现在宇宙则成了计算机。由于这个世界是一台计算机,因此我们就能对它进行编译。
代码合乎逻辑、可以修改、也可以预测结果,这些便是数字时代的生活核心原则,也是自证预言。套用风险投资商Marc Andreessen的一句话,随着计算机侵蚀着这个世界,我们周围满是机器,它们将我们的行为、思想以及情感转化为数据——大批会用代码的工程师所能操控的原始数据。根据这样的看法,生活中有一系列能被探索、利用、优化甚至重写的指令,一些公司利用代码来理解我们最为亲密的关系,比如Facebook的扎克伯格就已经在这方面取得了很大进展,他认为人类关系中存在着“基本数学定律”,决定我们更关心哪些人和事。在2013年Craig Venter宣布,在经过十年对人类基因代码的解译之后,他开始编写代码,创建合成有机体:“这一点越来越明显——地球上已知的所有活体细胞都是由DNA程序驱动的生物机器。”甚至励志文学作品也声称:你可以修改自己的源代码,对爱情生活、作息规律以及消费习惯进行重构。
在这个世界上,编写代码已经不仅仅是一项社会需求的技能,更是打入这种语言使用群体内部的一项工具。在机械化时代里,我们称这种打入群体内部的能力为权力杠杆。未来主义者Marc Goodman写道:“如果你能控制代码,就能控制世界。” 而在《彭博商业周刊》中Paul Ford的说法更谨慎一些:“就算代码编写者不是世界的掌控者,他们也把控着能控制这个世界的事物。”
不过无论你是否喜欢——无论你是编程精英中的一员,还是连手机设置都搞不定,都不会对此习以为常。如今,我们的机器开始使用不同的语言了,甚至连最厉害的编程者都无法完全理解。
在过去这几年里,硅谷最大的科技公司都在积极寻求机器学习方面的算法。在传统编程中,工程师要撰写详细的步骤指令,以便计算机可以遵循执行。而在机器学习中,编程者不再编译指令代码,而是训练计算机。举个例子:如果想要教会神经网络如何识别一只猫,无需让计算机寻找胡须、耳朵、皮毛和眼睛,只需简单地向它展示成千上万张猫的照片,最终事情就解决了。如果在分类时,计算机仍错将狐狸当作猫,也不必重写代码,只需继续对计算机进行训练。
这种办法并不算什么新东西——它已经存在了几十年,但近来这种方法发展地更加强大,这也要部分得益于深度神经网络的崛起,随着大规模分布式计算系统的出现,它们可以模拟大脑神经元的多层连接。而且无论你是否意识到这一点,机器学习都已经在我们的网络活动中留下了深刻的痕迹。Facebook使用这种方法来决定在用户的News Feed中显示哪些内容,Google Photos则使用它来识别人脸。机器学习运行着微软的Skype Translator,可以实时翻译多种语言。无人驾驶汽车也使用机器学习来避免事故发生,甚至连多年来作为人类撰写规则高岭之巅的谷歌搜索引擎也开始依赖于这些深度神经网络。在今年2月份,谷歌用机器学习专家John Giannandrea代替了原本多年来的搜索主管,并发起了再教育项目,训练工程师学习这些新技术。Giannandrea对记者表示:“构建机器学习体系之后,我们就无需再编写这些规则了。”
我们的机器现在开始使用不同的语言了,甚至连最厉害的编程者都无法完全理解。
但这就是问题的关键——通过机器学习,工程师是无法了解计算机如何完成工作的,神经网络的运行大部分情况下都是我们难以了解的。换句话说,它实际上是一个黑匣子。随着这些黑匣子越来越多地接手我们的日常数字生活,它们不仅将我们的人际关系转变为技术实现,也会改变我们对自己、对世界的看法,以及对人类自身的定位。
如果在旧有观点中,程序员就像是神明那样,撰写着管理计算机系统的规则,那么现在走下了神坛,成为了更像父母或者驯狗者这样的角色。
安卓之父Andy Rubin是一个骨子里的发明家兼程序员,他是安卓操作系统的联合创始人。在硅谷,Rubin便以工作场所和家里塞满了机器人而闻名,他自己为机器人编程:“我在很年轻的时候便进入了计算机科学这一行,而且也非常热爱这一行,因为我可以沉浸在计算机的世界里。它是一张纯净的白纸、一块空白的画布,我可以从头做些什么东西。这让我感觉全世界尽在掌控,我可以在这个世界里沉浸很多很多年。”
而现在这个世界即将结束。Rubin对机器学习的崛起很感兴趣,他的新公司Playground Global就在投资机器学习类的创业公司,他们对自身的定位就是引导智能设备普及,但这也是他难过的原因——机器学习的出现改变了作为工程师的意义。
Rubin表示:“人们不再逐行编写程序了,神经网络学会了如何进行语音识别,但程序员无法深入研究具体的过程。就像人类的大脑一样,我们无法切开脑袋来查看思维。”当工程师盯着深度神经网络查看时,他们只能看到一片数学的海洋:一个大规模多层次的微积分问题集,通过数十亿个数据点不断衍生关系,并得出对世界的猜测。
过去人们对人工智能的设想并不是这样的。数年之前,主流的人工智能研究者提出这样的假设:想要创建智能,只需向一台机器输入正确的逻辑,编写足够多的规则,最终就能创建一个复杂到足以理解这个世界的系统。这些研究者在很大程度上忽视甚至贬低了机器学习的早期支持者对机器学习的观点——不断在机器中使用数据,直到这些机器产生自己的结论。多年来,计算机都不够强大,无法真正证实两种方法的优劣,因此这种争论成为了哲学问题。斯坦福的人工智能教授Sebastian Thrun曾为谷歌创造了无人驾驶汽车,他认为:“这些辩论大多都是基于顽固的信念之上——关于这个世界的组成方式,以及大脑的运作方式。神经网络中没有符号或者规则,只有数字,这让很多人敬而远之。”
机器语言的变化不仅引发了哲学问题。在过去20年中,学习编程一直是获得可靠工作最有保障的方式之一,但由深度学习的机器所组成的神经网络需要不同类型的劳动力,随着旧有技能的淘汰,机器分析学家已经开始担忧人工智能对劳务市场的影响,也许程序员们很快就亲身体验。
就像经典力学无法被量子力学替代一样,编程仍是人类探索世界的强大工具。
技术专家Tim O’Reilly在谈及这种转变时表示:“我刚刚就这个问题进行了一场谈话,并认为在受STEM教育的这些孩子长大之后,编程工作会与现在大相径庭。”传统编程不会完全消失——实际上,根据O’Reilly的预测,在很长时间内我们仍需要程序员,但这样的需求可能会越来越少,而编程逐渐会成为一种基础技能,一种被人工智能Allen研究所的CEO Oren Etzioni称为创建机器学习运行“脚手架”的方式。就像经典力学无法被量子力学取代一样,编程仍是人类探索世界的强大工具。但涉及到具体功能时,机器学习将会接手大量工作。
当然,人类仍需要训练这些系统,但至少就目前而言,这项技能还是稀缺技能。这项工作需要我们对数学有高层次的理解,并需要拿捏直觉与教条知识的分寸。谷歌的DeepMind人工智能团队主管Demis Hassabis表示:“这几乎就像一种艺术形式,我们从这些系统中找出最好的,而在这个世界上仅有几百个人能真正做好这件事。”但就算只有这么点人,也足够在几年时间内改变整个科技行业了。
无论这种转变代表着什么,它对文化带来的影响会更大。人类编写的软件曾导致我们对工程师的盲目崇拜,认为人类的经验最终可以被精简为一系列的综合性指令。而机器学习则将钟摆撞向另一个方向,宇宙运行的代码可能会超出人类的分析能力。举个例子,目前谷歌在欧洲正面临指控,称谷歌对其搜索结果施加不正当影响。如果连公司的工程师都无法清楚说明其搜索算法的工作原理,那么这样的指控是难以证实的。
甚至最简单的算法也会导致无法预测的紧急情况,这已经不是新闻了——这种观点可以追溯到混沌理论与随机数生成器。在过去几年中,随着网络发展地越发枝蔓丛生,功能也越来越复杂,代码倒显得更像是外星力量,机器中的幽灵较之以往更加复杂难懂,也难以控制。飞机无故着陆、股票市场无法避免地崩盘、还有轮流停电事故都曾经出现。
这些力量导致技术专家Danny Hillis宣布启蒙时代已经终结,我们长达数世纪之久,对逻辑、决定论以及人类掌控自然的信仰将会结束。Hillis表示:我们正在经历转变。他在《设计与科学》杂志上发表文章称:“随着我们的技术与制度产物变得更加复杂,我们与其之间的关系也在改变。我们不再是自己创造物的掌控者,而要学着与它们讨价还价,通过哄骗与引导的手段来实现我们的目标。我们已经建立了丛林,但它有着自己的生命。”机器学习的崛起是这段旅程中最新的,也许也是最后的一步。
这些可能是很可怕。毕竟,编写代码至少是那种普通人可以想象得到,也可以学习的工作,代码的编写者至少是人类。而现在,这些技术精英的群体比之前规模更小,他们对自己创造物的权威也削弱了,发出指令的方式也越来越间接。建立机器学习的那些公司已经发现,这些东西的行为难以管理。去年夏天,谷歌匆忙道歉,因为其照片识别引擎错将一副黑人照片标记为大猩猩,而谷歌最初的修正措施便是禁止系统为任何照片打上大猩猩的标签。
所有这些都暗示着:一个新的时代到来了,我们丧失了对机器的权威。霍金这样认为:“可以想见:这样的技术比金融市场更强大,超越了人类研究者的发明,也胜过了人类领导者的操控能力,同时也开发出了我们甚至无法理解的武器。” 而这种观点得到了Elon Musk与Bill Gates还有很多人的赞同,“然而人工智能的短期影响要取决于其控制者,长期影响则取决于它是否能够被控制。”
但不要过于恐惧,这并非天网来临的前兆。我们只是在学习采用一项新技术的规则,工程师们已经研究出了方法,可以对深度学习系统的内部进行可视化。但即便我们从未完全理解过这些机器思考的方式,也不代表我们在它们面前无能为力。在未来,我们不用太过担心其行为背后的源头,而是着重于行为本身。相对于我们用来训练机器的数据,代码的重要性会下降。
这并非天网来临的征兆,我们只是在学习采用一项新技术的规则。
如果这一切似曾相识,那是因为这与20世纪的行为主义非常相似。事实上,训练机器学习算法的过程经常会被拿来与20世纪初的那场著名的行为主义实验相类比。在著名的“巴甫洛夫实验”中,巴甫洛夫在训练狗时,并没有让狗对饥饿有深层的了解,而是简单地通过重复一系列行为来实现结果:他一次又一次地重复提供数据,直到代码能够自我重写。无论你怎么评论行为学家,他们的确了解怎样控制研究主体。
Thrun表示:长期来看,机器学习将会普及技术。同样地,你也无需了解如今用来构建网页的HTML语言,也无需拿到PhD学位才能发挥深度学习强大的力量。编程不再是掌控一系列神秘语言的程序员的专属领域,任何会驯狗的人都能参与进来。Thrun表示:“对我来说,这是编程中最酷的事情,因为现在谁都能编程了。”
自计算有史以来,大多时候我们都采用自内而外的角度来观察机器的运作方式。首先由人类编写出代码,再由机器将其表达出来。这种世界观隐含着可塑性,但也暗示着一种基于决定论的规则,一种认为事物是规则背后产物的观念。机器学习则代表着相反的观念,一种自外而内的视角——不仅代码定义行为,行为也会定义代码,而机器是世界的产物。
最终我们将会懂得在欣赏手写代码的同时,也能欣赏机器学习算法对代码修正的能力,这是设计与实现的互相妥协。生物学家已经开始逐渐得出这个结论,类似Crispr这样编辑基因的技术赋予了他们操控代码的能力,而这是传统软件开发者曾使用过的能力。但在遗传学领域有发现表明,遗传物质实际上并非一个不可变的指令集,它更像是一个开发中的动态集,可以根据环境与宿主的经验进行调节。我们的代码并非独立于真实物质世界,却深受后者的影响。Venter也许会相信细胞是由DNA软件所驱动的机器,但表现遗传学家Steve Cole则有不同的表述:“细胞是将经验载入生物体的机器。”
从图灵首次设计出解决问题的机器到了80年之后的现在,计算机已经逐渐成为了我们将经验融入技术的工具。几十年前,我们找到了可以诠释宇宙的密码,并通过调整优化人类的生活体验。但这种方式终将改变,机器已经脱离了我们的掌控,而世界也从未在人类的掌控中。我们与科技之间的关系将会更加复杂,但最终也会带来更大的价值,我们将从机器的命令者转变为机器的教育者。