嘉宾:Yoav Shoham,以色列人工智能研究公司AI21 Labs创始人,斯坦福大学教授、前谷歌首席科学家,AAAI Fellow,横跨学术界和工业界的人工智能顶尖专家,创立了多个电子商务企业并被谷歌等企业收购。
人工智能,在深度学习的加持下,显然已经来到了新的阶段。
过去,深度学习的核心在于大规模、大范围地捕捉和识别规律。后来,结合强化学习,更是挖掘出了一系列惊人的应用场景,除了可以捕捉规律,还可以进行自发的行为决策。其中最广为人知、最令人期待的代表性场景,莫过于自动驾驶。
过去两年,这些领域持续蓬勃发展,其中深度语言模型更是脱颖而出,原因在于能与人类的思绪达到同步配合。
在我看来,机器的应用前景(尤其强化学习、深度学习)就像是眼睛的透镜,而语言模型则是大脑的透镜,更困难、更复杂,但也将会更加激动人心。
令人鼓舞的飞跃进展
近两年,自然语言处理的领域持续革命性地成长。一连串新的深度语言模型雨后春笋般诞生,大部分的语言技术都因为这些深度语言模型,有了显著的提高。
今天我们主要以Google的BERT模型和Open AI的GPT模型作为例子。
自然语言处理可以分作两个层面:
1.语言理解(NLU),相当于读和听;
2.语言生成(NLG),相当于写和说。
在语言理解(NLU)方面,学术界有明确的基准评估这些语言技术的表现情况,比如斯坦福的SQuAD问答数据集,或是采用复合基准的superGLUE。
在SQuAD的评估中,我们会给语言模型一个段落,然后让它对一些相关的问题进行回答,类似于咱们上课时的短文阅读理解。一开始机器的表现一般,但经过一段时间就稳定提高,并在2017年就达到了人类的理解能力水平。
另外,在ProPara、word-in-context及WinoGrad schemas的检测中,最初机器虽远落后于人类;但在短短几个月内理解力就急剧地拔高,在一些例子里达到了人类的水平。
至于语言生成(NLG)方面,现在虽然还没有明确的学术基准,但GPT-2及GPT-3模型在最近的应用展示中,已经可以根据我们输入的一个初始句子自动生成一个完整的段落/篇章,现在也已经大量投入了应用。
这一切进展听起来都振奋人心。然而,越是如此,我们越是要对它多抱一些质疑精神,并保持谦虚,否则落空的时候反而容易被反噬。
而这份谨慎不是没有原因的。
值得警惕的真实情况
2017年,就在机器的语言理解能力攀升到人类水平的时候,Jia & Liang曾发布了一篇论文,释放出警惕信号——自然语言模型看似一帆风顺,但其基础实际上存在着本质的脆弱。
以刚才提到的SQuAD“短文阅读理解”测验为例。我们发现,只要在短文中加入一些干扰项,即便这些干扰项与问题毫不相干,语言模型回答的准确度都会迅速降低。
前阵子的另一篇论文也谈到了类似的问题。它的标题挺有意思:《Right for the wrong reasons》(在错的基础上做对),言下之意是,虽然如今语言模型取得了相当大的成功,但这些成功并不是建立在牢靠的基础上。
在语言理解上,语言模型经常采用一些实用,但不正确的策略。
比如这句话:“如果老师赚了一百万,他会乘搭飞机环游世界。”,语言模型对此的策略可能是:
1)假设每一个分句都成立;结果误以为:“老师赚了一百万”、“他会乘搭飞机环游世界”……
2)假设每一个相邻的语句都成立;结果误以为:“飞机环游世界”……
3)假设相同词汇能组成的每一个句子都成立;结果误以为:“他乘搭世界”、“赚了老师一百万”……
为了验证这点,他们创建了一个问答数据库,让语言模型判断不同的句子分别包含(或不包含)哪些意思。实验结果,所有顶尖的语言模型都把句子本来不存在的意思,错当成了含义的一部分。
显然,机器只捉住了语言的表层意思,并没有真正做到了解。整体上,语言模型的思路和算法还经不起推敲,一旦掉出原来设定的范围和数据,表现大大不如预期。
而这样的瓶颈不仅是限于语言理解,语言生成也类似。
刚才我们提到:GPT-3模型如今已经能从一个单句自动生成完整的篇章。尽管如此,我们必须意识到:它生成的段落是随机的。
换句话说,得到一个好文章段落,是一个偶然而非必然事件。一般而言,前面的几句都还不错,但随后就会开始生成一些没有用处/意义的句子,最后彻底“放飞自我”——有人因此还戏称GPT的全写是“Good Part in Front of Parts”(虎头蛇尾)。
对此,GPT的研发方Open AI的总裁Sam Altman也不讳言:
GPT-3的热潮太疯狂了。它确实让人眼前一亮(谢谢大家的支持与赞美),但它仍然存在严重的纰漏,有时会犯下非常愚蠢的错误。没错,人工智能是将改变世界,但GPT-3只是最初的晨曦——我们还有很长的路要走。
总的来说,这一刻的自然语言模型,还远远未能捕捉到人类智慧的精髓,也远远没有达到掌握人类思考及使用语言方式的地步。
语言模型的下一座山
那我们该走向何方?
答案一定程度上有些扫兴,因为我们当下的目标是让机器具备一个五岁孩童的智力及语言水平。
丹尼在学校打了我,
所以我打了回去,
但老师只看到了我打他,
所以她惩罚我,
这不公平!
这是每个小朋友都能看懂的句子,极其浅白。但我们还没有哪一个语言模型能解读它当中的逻辑关系和意义。
以当前领先世界的语言模型BERT作为例子。
我吃了 木瓜 。
如果让BERT对遮蔽的词汇进行猜测,它很多答案都非常合理,比如“三文治、鸡肉”等——不过,它几乎不会猜测“木瓜、榴莲”这类合理但少见的词(假阴性);相反,它经常做出“可乐、刀子、电影”等荒谬的选择(假阳性)。
根本的问题,在于系统并不知道“吃”的对象应该是“食物”,更不知道哪一些东西是“食物”——而这也就追溯到了语义学。
本质上,人类的语言除了语法,还有着非常丰富的语义,其中包含了时间性、空间性、因果性等关联,以及情绪、信仰、原则等元素。语义,是语言模型必须攻克的部分。
在人工智能的发展中,我们上一个年代已经迈入了第二阶段。
第一阶段,是以专家系统为代表的物理符号系统,核心在于知识标识和推理,专注于语义学,但由于数据少、计算机算力有限,以及当时的方法原始低效,效果和效率一般。后来转向镜像。
第二阶段,统计学有了神经网络的加持,辅以大数据及强大的计算机算力,但没有语义学。
未来要想来到“机器可以理解事物”的时代,个人认为,第三阶段必须将推理和神经网络两者相结合。
正在攻顶的语言模型
最后,让我们借助以下两个例子,看看语言模型可以怎样对语义发起攻关。
- BERT→ SenseBERT
BERT的学习方式,是先遮蔽掉句子里的某个单词,接着进行猜测,再把结果反馈到深度强化网络;然后一再地重复“遮蔽→猜测”这个过程。这样的模式下,BERT可以自行从语料库学习,不需要我们对语料另外进行注释。
Dan cooked a bass on the grill.
但问题是,“bass”有多重语义。
The bass player was great.
一般上,一个英文单词可以拥有高达20个语义,系统要怎么进行区分?这也是SenseBERT诞生的由来。
本质上,SenseBERT只是在同样的流程上,多加一层语义的猜测任务——换句话说,它除了猜测遮蔽处是什么字,也同时猜测它的词性和词义。
Dan cooked a bass (名词,食物) on the grill.
The bass (名词,器具) player was great.
- GPT-3 → HAIM1.5、HAIMKE
像前面提到的,GPT相当有用,但也有其局限性。
以开车作为比喻,给这辆车一个起点,幸运的话,它或许不会坠毁,但开到哪,没人知道。
那么HAIM1.5的改进思路,是(除了起点)额外再给一个终点。不过起点和终点之间,仍然存在着无限路径,所以HAIMKE则进一步增设两者之间的节点,指导语言模型该怎么延伸、延伸多长。
当然,从本质上,这样的改进版生成的文本依然是随机的,不过可靠性和可控性提升了不少。
第三阶段已在路上。
翻译&整理丨邱施运
编辑丨朱珍