不过,在热议之外,人工智能到底是什么,大多数人如同盲人摸象,仅仅只有一知半解。至于其内部的工作原理,一般公众更是一无所知。由于巨大的技术障碍,舆论对于人工智能仅仅停留于「高深、前沿、无所不能」的印象,而无法对之进行深入解析。公众的怀疑、震惊、叹服等等心态,说到底都是无知的体现。
知己知彼,方能百战不殆。在打响自己的「职业保卫战」之前,让我们解剖一只麻雀,看看人工智能到底是如何思考的,它到底有什么能耐,又有什么缺陷。
我选取的麻雀是写作。
机器人写作思路
语言是人类的关键特征,它不仅是人类区别于动物,也是人类区别于机器的独特能力。鉴别机器是否具备人类智能的「图灵测试」,就是以语言为考察指标的。
NLP
NLP(Natural LanguageProcessing,自然语言处理)是一门研究如何让机器理解人类语言、写出人类文字的学科。这门学科有两种主要思路。一种是「符号法」,由人工建立语言的模型,提炼出语言的语法、词法,标注每个单词的含义、词性,然后教会机器这套原理,并让它根据语法去写文章——这种方法你一定很熟悉:不就是背单词、学语法、然后写作文吗?对,这就是我们在学校里学英语的方法。
另一种思路是「统计法」。与传统的老师教学生不同,这种方法更注重「自学」:扔一大批文字给机器,让它自己去寻找语言的规律,自己去尝试写作。
这种方法其实我们更熟悉。每个孩子不都是这样学习母语的吗?没有哪个父母会告诉孩子什么是名词、什么是动词、什么是疑问句强调句,孩子只是天天听、天天说,自然而然就掌握了一门语言。
当然,「符号法」与「统计法」并不是完全对立的,大多数 NLP 算法都同时包含两种思路。只不过在计算机发展的初级阶段,无力提供「统计法」所需要的大量计算资源,一直都是「符号法」更占上风。直到近十年以来,随着计算能力的大幅提高,尤其是深度学习理论的崛起,「统计法」才得到越来越广泛的 应用 。
一般认为,深度学习是通往真正人工智能的重要一步,如今声名鹊起的 AlphaGo,即是基于深度学习理论而设计的。它并不理解围棋中诸如「势」「厚薄」等种类繁多的术语,它只是学习了大量棋谱,从中总结出了围棋的规律,最终击败了众多高手。AlphaGo 取胜后,聂卫平一度苦思而不得其解,AlphaGo 团队中没有一个围棋高手,为什么能打败世界冠军呢?其实,这就是聂卫平还停留在老师带学生的思路上。老师带学生,学生很难超过老师的高度,而 AlphaGo 是自学成材,不仅超越了顶尖的人类高手,还自创了许多精彩的招式。在人机大战后的春兰杯、围甲联赛中,人类棋手也开始应用 AlphaGo 所创造的定势,「AlphaGo 流」迅速被围棋界所承认、吸收、并发扬光大。
卡帕西模型
在自然语言处理方面,也有一个著名的深度学习模型:卡帕西模型。
斯坦福大学的安德烈·卡帕西(AndrejKarpathy)是深度学习领域的知名人物。2015 年 5 月,他设计了一个基于递归神经网络的 NLP 模型,并将代码公布在 GitHub 上。
这个模型非常精炼,只有几千行的代码量,任何一个具备基本编程功底的工程师,都可以看懂代码并且下载运行。但模型的功能却非常强大,它没有设定什么语法,也没有什么单词库,更没有指定只能处理英文、法文、或某一种特定语言。它唯一的要求,只是文字输入。你喂给它大量的文字段落,它就会用递归神经网络分析段落,寻找出字与字之间的关系。
所有文章说到底,不过是文字的排列组合,从数学角度而言,也就是一种文字的序列。如果计算机能够破解这个序列,掌握其规律,那么从理论上来说,它也能够生成这样的序列,写出一篇类似的作文。
理论非常简单,实战效果如何?现在,让我们假设有一个 机器人 ,装备了卡帕西模型,他立志要成为一名中文小说家,他的表现会怎么样呢?
机器人的小说家之路 「全庸」学金庸
首先,要找一个学习范本。机器人找来的是中文世界最成功的流行小说:金庸的《射雕英雄传》。
机器人学习了一遍教材。《射雕英雄传》只有八十万字,学起来不费多少时间,一台普通的台式机,只要五六秒钟就可以学完。然后,机器人写出了如下文字:
呃,完全不知所云,是吧?
机器人所生成的文字,只是一些单字的随机组合。显然,他还没有找出任何文字的规律。此刻的机器人,如同一个初生婴儿,只会发出一些毫无意义的音调,完全不知语言为何物。
幸好,机器人有的是时间,他最擅长的就是重复性劳动。不过一分钟时间,他又学习了十遍,再次交出一篇作文:
机器人继续成长。十多分钟后,他已学习到一百遍:
当机器人学习到一千遍: 这篇作文简直是令人惊喜,就好像不知什么时候小孩子突然学会了说话,机器人对语言的领悟也突然有了一个飞跃。
最明显的变化是,他识别出了常用词汇,人物名字全部写对,连《九阴真经》也认识了。
更了不起的进步,则是机器人学会了句法,他会用标点符号了!每句话用逗号分隔,用句号结尾,双引号一一对应,而且全都位于冒号之后。
同样,他领会了「主谓宾」的句法结构,每句话都是以主语开头,后接人物动作。他也识别出了许多词汇的词性,并把它们放在正确的位置,形容词位于名词之前,副词位于动词之前。
总体而言,这篇文字还是看不懂,但是已经顺眼很多,开始像一片真正的人类文字了。可以说,现在机器人的语言水平相当于一岁多的孩子,能够磕磕碰碰说几句话了。
这充分显示了机器学习的威力。在没有预设任何语法库、词汇库的情况下,机器人愣是通过反复学习,掌握了人类语言的规律!
再接再厉,机器人学习到一万遍:
很遗憾,一万遍的学习并没有带来明显进步,这次写出来的作文跟上一篇区别不大,仍然不太通顺,也仍然是词法、语法基本正确,而句子的含义还是让人无法理解。
机器人不知道什么叫挫折和放弃,他继续埋头苦干,又学习到十万遍。但这一次,他的文字依旧没有起色。新的一份作业,通顺程度还是跟一万遍的一样。
坚持一天一夜,当机器人学习到上百万遍,又交出若干份类似的作业,我们不得不失望地发现,机器人的金庸之路到此为止,他的《射雕英雄传》没法写得更好了。
「吉龙」学古龙
不过,世界很大,中文作家除了金庸,还有很多。机器人又踏上古龙之路,学习了数万遍《古龙全集》之后,他拿出一份习作: 新的学习结果很有趣。熟悉武侠小说的朋友都知道,同为武侠大师,金庸、古龙的风格却是迥然不同。实际上,他们二人只不过恰好都写了武侠题材而已,从文学理论来看,金庸是一个古典作家,而古龙是一个现代作家。
而机器人的模仿之作,也明显能看出两位老师的风格差异:
古龙的段落更短,一般一段就一句话,而金庸的一个自然段通常包含许多动作和对话;古龙有更多心理描写,他的语言更现代,而金庸就显得古汁古味;古龙喜欢装逼,人物语言总是酷毙,恨不得不用动手,一开口就把人噎死。
作为人类,我们可以评论,机器人的作文还不是很通顺。然而神奇的是,他一不懂词汇,二不懂语法,更不了解句子含义,不认识金庸古龙是谁,但他却照样表现出了人类作家的细微差异。他所写出的作文,同样具备段落短、语言酷、深入人物心理这些典型的古龙式文风。
这就是机器学习的威力所在,他不再需要人类专家去煞费苦心地提炼模型,他自己就能从材料中总结出模型。这是人类认识世界的一个重大进步。以往,科学发展的典型流程是,开普勒这样的科学家观测、实验、收集数据,牛顿这样的科学大师研究、发明科学体系。而今后,我们或许不需要、至少是不那么依赖牛顿级别的天才,只要有一批开普勒提供数据,计算机就能帮我们完成最后的临门一脚,挖掘出人类想象不到的科学规律。
再审视一遍作文,我们还可以看出,同样是模仿之作,「吉龙」也比「全庸」写得更加通顺一些。结合机器学习的特点,我们不难找到原因。首先,机器人学习的两份材料样本,一个是《射雕英雄传》,八十万字,另一个是《古龙全集》,高达一千七百万字,是前者的二十倍。这方面机器和人是一样的,都是学得越多,写得越好。
另一方面,古龙的语言也比金庸简单,他的句子短,段落短,语法结构也较为简单。《射雕英雄传》篇幅不长,却用到三千多个单字,而厚厚的《古龙全集》,才用到两千多个。可以说,金庸小说的复杂性较高,更有利于人类审美,而古龙小说的规律性较强,更有利于机器人学习。
机器诗人
为了验证这个设想,机器人第三次踏上学习之路。这一次,他学习的是规律性要求最高的中文作品:《全唐诗》。
果然,机器人写出了一手漂亮的唐诗。以第一首诗为例,遣字造句像模像样,「花开」对「风吹」,人类诗人也不过如此。格律按古声为:平仄平平仄,平平仄仄平,平平仄仄仄,仄仄仄平平,算是相当工整。唯一的缺憾,就是还没有押韵。
从意境而言,这首诗生动形象,浅白明晰,自然流露出的那份性情,也颇有几分唐诗的风流味道。
其他几首诗,或是五言,或是七言,格式也都整整齐齐。虽然不全通顺,但奇妙的是,却大都能够读出一种独特的诗味。
这大概要归功于诗歌的艺术特色:重视语言的独创性、多义性。越是不符合惯例的诗歌,越是具有独创性,越是具备想象的空间。
前面我们已经总结出,机器学习的长处,在于从大量数据中寻找特征,总结模型。短处则是他并没有真正理解数据,他只是按照自己找出来的规律,似是而非地写作。这里,写作唐诗宋词,正好可以扬长避短。
古诗词有明确的规律,只要读得够多,机器人可以准确地提炼出平仄、韵脚等规则;另一方面,古诗词强调意境,强调联想,看似不合道理的汉字组合,被机器人放到一起,反而别具一番风味。
如今网上有许多写诗软件,或许就是这么来的。
机器人写网文
经过三次考试,机器人的写作水平大致暴露在我们眼前。看起来,除了唐诗宋词,他似乎写不出什么像样的东西。那么,只要你是写现代文的,是不是就可以松一口气呢?
不一定。
也许,写作正经文章,机器人还差一口气。但是,不那么正经的文章,机器人还是有用武之地的。
以最著名的网络小说之一《斗破苍穹》为例:
这篇作文读起来仍然不太流畅,但相对金庸古龙的模仿之作而言,却算得上大体通顺,至少,大部分句子都读得懂了。似乎机器人一旦学习网络小说,就突然悟性大增了。
为什么呢?难道网络小说就特别适合机器写作吗?
答案是 YES。从语言文字而言,古龙比金庸单薄,而网络小说又比古龙大大地单薄。前面提到,《古龙全集》用到两千多个单字,这已经比《射雕英雄传》少了许多,而《斗破苍穹》用到的单字,只有可怜的一千多个。
简单的对比就知道,古龙写作二十多年,也才写到一千七百万字,而《斗破苍穹》只花了两年,就写到六百万字,其中灌水的程度也就可想而知了。
简单、稀薄的文字,或许会被真正的作家所鄙视,但这却是机器人最喜欢的。越是单调重复,他越是能找出规律,模仿出类似的作品。也许,用不了多久,网络写手就会发现他们多出一个高产、全能、永不疲倦的竞争对手。
机器人局限与人类训练师
好了,现在我们大致知道,当机器人谈论写作时,他们在谈些什么。就卡帕西模型而言,他有一个天花板。他能够描绘出一种外表类似的文字风格,但却无法写出真正让人理解、让人心动的文章。
只要你不写唐诗宋词、不写网络小说,暂时可以放心了。目前机器人的语言能力,也就跟一两岁孩子相当。
但这并不意味着,人工智能永远追不上正常人类的智力。如前所述,卡帕西模型非常简单,只有几千行代码,也没有语义库、词汇库的定义,是一个纯粹的「统计法」模型。它主要是用来展示递归神经网络的工作原理,教学意义更甚于实用意义。实际应用中的商业化语言机器人,远远比它复杂和强大得多。
另一方面,也许你已经注意到,卡帕西模型的语言能力之所以上不去,是因为跟真正的孩子学说话相比,他还缺乏最重要的一环——外部反馈。
孩子学说话不仅仅是听,更重要的是说。语言学家指出,婴儿需要在母亲怀里亲密互动,需要与父母一起玩耍游戏。孩子每一句有意无意的吚吚唔唔,都能得到父母的回应与反馈,这种情境对于学习语言是最有利的。让孩子每天看电视,虽然他也听到了大量的对话,但由于缺乏双向沟通,孩子仍然无法习得正常的人类语言。
2015 年 3 月,微软推出对话机器人 Tay。她能够学习、模仿用户的言论,采取用户喜欢的语言风格进行对话。Tay 立即引起了用户的兴趣,大量用户蜂拥而上,用各种出位言论训练她,试图诱导机器人突破下限。结果,在无数粗俗对话的刺激下,只花了一天功夫,Tay 就变成了一个满口脏话、辱骂用户、鼓吹纳粹的不良少女。
微软不得不将 Tay 紧急关闭。但从另一方面来看,这也说明了对话在语言学习中的威力。如果机器人能够与人类频繁互动,从人类的反馈中得知什么样的句子是好的,什么样的表达方式是对的,什么样的文字是美的,那么,他离真正掌握人类语言就不远了。
这样的工作,谷歌、脸书等科技巨头已在开展。他们不仅有最先进的人工智能技术,还拥有世界上规模最大的用户,能够为机器人找到足够多的人类老师,进行足够多的训练。也许,谷歌和脸书的许多服务,已经是机器人在提供,只是用户并不知晓而已。我们在不知不觉之中,已经在充当训练机器人的人肉材料。
变革正在发生,未来无从知晓。对于文字工作者而言,人工智能仍然是一把悬在头顶的利剑。