《AI 随笔:观老教授Walid的神经网络批判有感》

昨天在 YouTube听了一个数小时的批判深度学习的小圆桌会,有点意思:

NLP is not NLU and GPT-3 – Walid Saba (可惜国内需要翻墙才能看youTube,我截屏如下)

是三个名校中青年学者对一位学富五车的老年教授,大家抱着尊重老专家的尊敬之心,与这位批判者深入交谈究竟神经网络的短板在哪里。

Walid 教授对于领域一边倒极为不满,凭着他对于电脑科学(早年好像是伯克利电脑博士)、传统机器学习和现代神经网络、符号AI、心理学、语言学等多学科的了解,讲述自己对于所谓 Bertology(就是 Bert 这类神经方法论)的批判,他的博客也有系列点评和批判。他是真有学问,所以批判中不时有闪光金句和洞见,但总体而言,说老实话,他的批判显得无力。

说来说去 他批判的焦点就是 embedding 词向量这样的数据结构虽然是伟大的发明 因为语言单位可以做各种信息计算了 但是说到底会遭遇无结构的天花板。他所谓的结构 不是指的文法结构 而是说 向量本身算来算去 无论求和 求product 还是 concatenate 这些信息操作的结果 他认为还是平面的 没有结构的。最终无论模型多大,也只是对于语言数据中可以观察到的词与词之间的某种角度的 similarity 计算而已,尽管可以捕捉语言中的 long distance dependency。

但是 语言理解有两个部分,他说,一个是说出来的 可以观察到的部分 一个是没说出来的脑补的 “我知道你知道(I know you know)”的部分。二者缺一不可,但是纯粹通过大数据训练的模型没办法得到后者,因此是跛脚的。

这个论点有其闪光之处,但是他说的太绝对了。

所谓数据里面学不到的后者 听了半天就是指的某种 ontology(本体知识),他有点遮遮掩掩,说自己几十年探索的最新创新还不想马上公布于众,又忍不住说其实就是一个 type ontology,并不复杂,规模也不大,2000 个基本概念,是四岁儿童都具备的先验知识。这其实就是 HowNet 的头部 features,也是 Longman 词典中用来定义所有词汇的大约 2000 基本词汇的某种映射物,他也许会有些不同的组织方式,不会相差太远。

总之,这些基本概念或 types 所构成的常识(他称 type checking,和 type unification)在语言理解中一直在下意识中起到脑补作用,否则人类的交流难以进行。既然人类是这样利用二者理解和交流的,电脑单单凭借大数据怎么可能模拟人类的语言能力呢?

我来批判一下他的批判(其实三位后学中的一位也不断礼貌地在反驳他的系列批判)。

蕴含常识的基本ontology确实有脑补作用,这个我们在白硕老师的语义计算群讨论过的无数案例中都有体现,但是铁口说这些东西是不可能从大数据学出来的,感觉偏差很大。他举例说 want 需要的 agent 是 human,这是四岁小孩子都知道的常识。其实大数据里面这种主语谓语的 type correlation 太普遍了,不可能不在大数据(预)训练中反映出来。

他还举了两个图片的例子,一个是女老师辅导学生的照片,一个一家三口的全家福,他说这两张图片的数据本身是没有区别的,都是成年人与孩子在一起的合照。他挑战说,因为数据本身没有区别,所以系统学不出来前者是辅导员与学生 后者是父母与孩子的关系。这个笑话闹大了 因为后学马上把两幅照片输入谷歌图片理解系统。结果是:第一张图 tutoring 的概率最高,第二张图 family 概率最高。

他实际上是犯了同样的错误 他以为数据中不存在的某种知识 其实在大数据的雷达上是有反映的。如果是小数据 可能的确找不到区别性特征或规律 数据大了就不同了。老教授这时候不得不说 你不能拿我举的个别案例说事,总之是有一种数据里面不存在的知识在起作用。这么说自然也有一些道理 但是感觉他批判的力度太弱,而且留给自己的批判空间也越来越小了。

说他有一点道理 是说大数据即便学出来常识 这些常识也是支离破碎的 没有内部的组织性和严格的结构 hierarchy,学出来的 onology 和人头脑里的 ontology (以及语义学家精雕细琢的ontology模型)总是有区别的。这一点需要承认,但很难说在语言应用现场前者的效果比后者差,本体知识与其他知识一样最终还是要落地的,要以落地赋能效益作为最终衡量。

他还举了一个有意思的例子,他说大学校园(campus)与大型商场群(mall),从物理角度观察几乎没有区别。但是人类的认知很容易区别二者。既然没有物理区别,机器怎么能够区别它们?这实际上是 tutoring 与 family 的放大版,实际上也经不起质询。二者的区别即便在物理层面也还是有蛛丝马迹。

总之,老教授的道理越来越难验证,他费了很大力气找出来的批判反例,其实大多不能构成神经网络的真正挑战。

他还举了一个 product 的例子,他说人类的ontology中有 product 的概念,可是千差万别的几乎任何东西都可以是 product,数据中怎么能区分这样的概念呢?人怎么认知的呢?人是把 product 与 manufature(制造) 结合起来的,“制造”的结果/宾语 就是 product,不管结果如何不同。同理,teacher 这样的概念离不开 teaching,先有 teaching 才会有其 agent 来做 teacher,形成这个概念的 type。这样的先验知识 他认为纯粹数据是学不出来的。因为学不出来 所以需要用到这种知识的认知理解过程 神经网络就是无能为力的。

总之,不能说他的批判完全没有道理,但是力度很不够,不足以批判神经系统的潜力。有些知识目前的神经系统也许没有捕捉,因此表现不出来,但很难说以后就没有。关键是,坚持 ontology 只能先验,不能反映在大数据中,这个论点是有问题的。常识在个例中通常是不说的,人吃饱了撑的,不会总是说出来人人都知道的常识:人要吃饭;枪可以杀人,等等。但是既然是常识,大数据的趋向中就会有反映,而捕捉这种趋向,是多维度的向量空间的拿手戏。常常是系统其实捕捉了,但因为向量表示如果不做可视化的用户友好努力,不变成人可以理解的符号或图示,我们不知道模型已经捕捉了。

他的有道理之处可能是在常识的深度推理、长链条的推理方面,目前的神经架构纯粹靠大数据可能局限于框架而学不出来,也用不起来。但大数据深度学习是一个进展变化迅速的上升领域,今天的无能就是明天的突破口,很难说推理这条路它一定跨不过去。这就好比几年前我们都觉得 coreference 和其他篇章的关联,神经网络应该是无能的,直到今天我们亲眼看到了神经系统在篇章方面的成就,这才改变成见。

这才十年左右的功夫,从CNN,到 RNN,到双向RNN,到LSTM,到 transformer,到各种 attention机制,深度学习的进步让人眼花缭乱,而每次进步都是真实可测的。以前看不上所谓的 transfer learning,觉得有点不实在,但超大规模预训练落地以后,产生了GPT3和盘古这样的庞然大物,NLP方面的 transfer learning 一下子变得触手可及了。今后几年这方面可以预见有越来越多的应用实践出现。

老教授还反复质问:心理学家、语言学家、逻辑学家这么多学者这么多代人艰苦探索语言和思维的奥秘,做了那么多的工作,难道这些人都是做无用功吗?你凭着大数据,一招打天下,只靠神经网络就搞定了人类认知?come on,give me a break

这种质询诉诸感情大于讨论问题,没多大意义。不同的路线和方法论虽然理论上不可能完全覆盖和超越另外的路线和方法论以及先贤,以此说一边倒对科学发展是不健康的,盲目迷信神经网络是不智的,两条路线可以取长补短,这些道理都没问题,但是以此来挑战新方法 还是需要拿出更加实在的立论和案例。老教授给人的感觉“虚”了些,有些倚老卖老,又有点像堂吉柯德战风车。精神可嘉。毕竟这种声音已经很少听见了,即便发声了,也很快淹没。乔姆斯基也多次批判过经验主义路线和机器学习,谁把他老人家当回事呢?都是我干我的,供着他或无视他,敬而远之。

时代大概就是这么前进的。连坚信“上帝不掷骰子”的爱因斯坦反对量子不确定性固执了一辈子,物理界还是达成共识认定老爱错了,普遍接受了现代量子理论。人不会因为曾经伟大,就可以改变潮流方向。

老教授的批判,其实还不如我们的批判深刻。我看到的神经网络的短板很简单:迄今为止,神经网络基本上不能落地领域,在NLP领域场景无所作为。

这是基本事实。原因也很清晰:就是绝大多数领域场景应用,虽然有数据,但是多是 raw corpus,缺乏或根本就没有大规模带标数据。皮之不存毛将焉附?神经网络除了预训练的语言模型以外(其实也是监督学习,只不过不需要人工标注而已,无数的语料本身就是自然标注的语言模型训练集),全部的拿得出手的应用成功都源于标注数据的监督学习。不管怎么神经,无米之炊是做不到的。于是符号路线就有了用武之地,就是这么简单。

我们可以做领域NLP的无米之炊。符号NLP在建立了平台和parser以后,就可以用“冷启动”快速结构开发来弥补领域应用的空档。无米(labeled corpus)可以,有稻(raw caorpus)就成,parser 就是碾米成稻的机器,结构就是一种通用标注,在此基础上的领域落地不过就是配置调适到最终目标,这条路经过多领域的实践证明是快速有效的。(但是,预训练也许是个竞争性威胁,在此基础上的 transfer learning 可能是个领域落地的替代品。我们当翘首以望。)

往深里说,除了带标数据的知识瓶颈外,老教授提到的外在知识,譬如领域知识图谱,等也是一个因素:不能说大数据完全学不了,但学得不系统不完整链条没有深度和结构的确是目前的神经局限。

关于领域场景冷启动,可以从我们最近的电力场景知识图谱的实践得到一些启发。这个落地尝试我体会特别深。那真是冷启动,比冷还要冷,是冻启动。平常的冷启动,产品经理至少还能给一个 完整的 specs,里面给出领域知识抽取的样例,定义的每一种类至少给一个 input-output 对照的例子,作为种子去启动冷知识的开发过程。

回顾一下背景,电力NLP落地一直想做,但觉得很棘手,主要是行业太深,看不明白。而客户自己也说不清楚需求的细节,只是感觉有必要首先把这个场景的知识学习出来才好。这次是我们自己与电力客户做沟通了解,我们的一位 leader  临时充当产品经理的角色,给了一个电力图谱的初步 schema 设计图,有原始文档作为参照,完全没有时间去做例示化 specs 定义。我们要自己消化去启动知识工程。等于是把产品经理的任务转移到我们开发人员了。几天后做出的结果与做知识融合的后处理模块开发人员接口。知识融合需要做一些 dirty work,不仅仅是应对NLP抽取的碎片化知识结果,同样要应对半结构化表格抽取出来的碎片化结果,这个过程所化的时间远多于NLP冷启动抽取(现在看来语言parsing和抽取不是真正的瓶颈,后面的融合目前是瓶颈,这方面我们需要一些时间抽象和总结,来提高平台化的融合能力)。不久,做出来的图谱原型看上去有模有样,符合 schema 的设计要求。

电力领域的数据很各别。这与我们以前尝试过的金融文书、法律文本完全不同,因为金融法律虽然是领域风格的文字,但读起来与新闻类还是有不少类似的地方,起码外行也能大体读得懂,因此消化理解图谱里面的关系,心里感觉有谱。可是到了电力,虽然其实行文很规范(没有风格,完全的机械性文字表述,力求精确),但是没有领域基本知识,很难看懂,无从下手。

刚拿到薄薄的一页 schema 设计图,也是一头雾水,一组抽象的概念连接起来,到底想表示什么领域知识呢,不确定。但是几个小时对着原始文档的对照讲解和讨论,很快就冰释了这个领域知识的壁垒,有点豁然开朗的感觉。

说这是一次奇妙的NLP领域落地的产研经历,是很真实的感受。今后遇到其他暂新的领域,也不要被表面的“黑话”形式所吓倒。只要冷启动的方法论过硬,感觉困难的领域知识理解问题,也许实际落地操作层面就是一层没有捅破的窗户纸。

我们主打的RPA(Robotic Process Automation,机器人过程自动化)是普适的,可以触达各种各样的不同领域场景。由此带来的更加“高深”的领域知识抽取任务就会五花八门。这拓展了我们对于不同领域数据的视野。方法论和NLP平台的威力和意义就在于,任你千变万化,万变不离其宗。这个宗不仅仅是指背后的语言结构(这个高深一点,培训难度也大一些),也包括从原始数据自动做领域词汇习得(关键的一环)、上下文约束机制(线性的、结构的,线性的约束比较简单,能很快培训一线人员做低代码开发)、多层松绑机制、冷启动质量保障控制流程(没有大量标注数据也可以对精度和召回做系统性控制)等一系列配套工具,这些就是可以普适的NLP的平台工具。

这样的零标注数据的领域场景,神经纵然三头六臂,奈其何也?

 

 

 

【相关】
 
 

李维 郭进《自然语言处理答问》(商务印书馆 2020)

预告:李维《巴别塔影:符号自然语言处理之旅》(人民邮电出版社 2021)

发布者

liweinlp

立委博士,弘玑首席科学家,自然语言处理(NLP)资深架构师。前讯飞AI研究院副院长,研发支持对话的多语言平台,前京东主任科学家, 主攻深度解析和知识图谱及其应用。Netbase前首席科学家,期间指挥研发了18种语言的理解和应用系统。特别是汉语和英语,具有世界一流的解析(parsing)精度,并且做到鲁棒、线速,scale up to 大数据,语义落地到数据挖掘和问答产品。Cymfony前研发副总,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。立委NLP工作的应用方向包括大数据舆情挖掘、客户情报、信息抽取、知识图谱、问答系统、智能助理、语义搜索等等。

《《AI 随笔:观老教授Walid的神经网络批判有感》》上有1条评论

  1. 赞同李维老师说的,大数据中多少还是会有常识的反映,只是更加碎片化。研究者是有目的地构建 ontology,一些知识库和知识图谱可以说是 task specific 的,比如电商和医疗。预训练模型没有这样的 objective,以 BERT 系列模型的预训练任务 masked language model 来说,确实只是在学词与词之间的关系,不能学到更精细的常识也并不意外。即使如此,也体现了巨型模型+大数据的潜力,很难说在未来算力更加增强后是不是会有新的突破。现在如果要 from scratch 地训练一个类似 BERT 的模型,在实验室可承受的范围内,起码也需要 1-2 个月的时间,如果这个时间能缩短到一周以内,就有更多的余地可以实践新的想法,也是有可能实现方法层面的突破。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据