文 / 周明 转载于“中国人工智能学会”
0 引言
人工智能(AI)从上世纪50年代达特茅斯会议发展到今天,经历了多次起伏,围绕着基于知识还是基于数据两条线,先后发展出了基于知识的符号系统,以及基于数据的统计机器学习和神经网络方法。目前基于神经网络的深度学习方法,在大数据和大算力支持下,在感知智能方面,基于CNN、ResNet等技术,在图像分类、人脸识别、语音识别等方面已达到与人相仿的水平,推动了AI在安防、质检、医疗图像识别和自动驾驶等领域的落地。最近三年,基于 RNN、Transformer、预训练模型(Pre-trained models)和图神经网络(GNN)技术,AI正由感知智能快速向认知智能迈进。计算机正在从能说会看,向能思考、能回答问题、能决策等认知能力快速推进。计算机通过感知智能获得的是对世界的感知,而从感知智能过渡到认知智能后,将使得计算机理解人类语言并推理解题的能力大幅度提升。认知智能提供了从数据获取和分类到信息抽取和检索、到知识推理,再到洞见发现、撰写调研报告,最终形成决策的全方位的能力。它会同感知智能,将对提升各行各业的数智化产生深远的影响。这其中最重要的一项突破是预训练模型和微调技术。作为自然语言理解的新范式,它通过无监督学习方式从大规模无标注文本中学习语言模型,然后通过迁移学习对下游任务进行端对端的微调。这个新范式大幅度提升了各项NLP能力,包括机器翻译、聊天、对话、搜索、摘要、问答,知识图谱、推理和决策等;然而,这类模型的可解释性比较差,对常识的建模能力,以及逻辑推理能力较弱,仍需大规模的带标注的样本。
为了推认知智能的发展,我们提出了新一代认知服务引擎的计划,研制了轻量化预训练模型(孟子模型)、支持语言和多模态,以及领域订制;在此基础上,开发了新型机器翻译、文本生成和行业搜索引擎等核心技术;同时,通过司法考试(LSAT)利用规则和神经网络的方法研究复杂推理。本文将介绍我们在这个过程中对认知智能三个比较重要方面的体会,包括预训练模型、推理和小样本学习,希望可以激发读者更多的思考。
简介
1 预训练模型
当前大热的预训练模型BERT、GPT和T5及其之后的各种变种,使用自回归的语言模型和自编码技术等自监督学习方式进行;训练单语言、多语言和多模态的模型支持分类、序列标记、结构预测和序列生成等各项技术,并构建文摘、机器翻译、图片检索、视频注释等应用。
预训练模型是一种迁移学习的应用,利用大规模的文本(譬如来自互联网的文本数据),学习输入句子每个词汇的上下文相关表示。它隐式地学习到了一般性的语法语义知识。将这种从开放领域学到的语言知识迁移到下游任务,有利于改善低资源的任务,以及低资源语言(比如小语种和少数民族语言)的任务。在支持一个新任务时,只需要在通用预训练模型支持下,利用该任务的标注数据进行微调即可。这种预训练-微调机制有效提升了开发效率,同时标志着NLP进入到工业化实施阶段。
一般而言,在相同网络架构和训练方法下,增加模型层次和模型参数得到的预训练模型的能力就一定会提升。不过模型的规模到了一定程度后,增强幅度也会趋缓。我们注意到训练一个大模型的代价很高,譬如GPT-3训练以前需要460万美金;大模型落地部署的代价也极大。随着摩尔定律逐渐枯竭,计算机硬件能力的增加速度赶不上模型参数的增加速度,统计表明至少差一个数量级。这时不一定一味追求更大的模型,而应注重提升算法能力。
有鉴于此,我们比较关注轻量化的模型(这里指预训练模型参数数目在10亿以下),在训练优化、知识增强和数据增强三个方面展开相关研究。在训练优化方面,在不改变模型结构并保证通用性的基础上,优化主流的自编码和自回归的训练方式,使模型的训练更快、性能更强;在知识方面,引入语言学知识和知识图谱来增强模型的上下文感知和认知推理能力;在数据方面,使用领域数据和其他语言的数据增强模型训练。因为是轻量化模型,所以模型的训练、部署和维护的成本较低。针对新领域快速定制也容易实现。我们开源了三个孟子轻量化模型,用于文本分析、生成、图片理解等应用,同时也开源了金融领域的预训练模型。
我们认为以下10个研究方向值得关注,涵盖了预训练技术、模型架构设计、建模和表示方法、性能评价、模型应用等方面。
(1)轻量化模型的技术研究。平衡算力消耗和训练效率,通过设计轻量化的预训练策略,或从大模型提炼出轻量化模型,实现预训练模型的规模化应用。
(2)大小语言模型协同应用。大模型侧重通用能力,小模型侧重特定任务和场景。结合大模型的性能和小模型的效率优势并基于SaaS提供服务,以高效实现推理。
(3)神经-符号结合的架构。将符号知识与神经网络结合,赋予预训练语言模型强大的认知推理能力,增强求解过程的可解释性。
(4)通用的语言表示范式。实现不同语言建模粒度(字、词、短语、句子、篇章)、不同语言间的通用建模方法;对不同的语言处理任务(例如自然语言理解和自然语言生成),采用统一的序列建模方式;通过提示学习方法,将自然语言处理任务建模成统一形式求解。
(5)知识驱动的预训练模型。设计面向知识推理的预训练方法,包括常识、事件相关的正则项或预测任务;按需检索,有效利用结构化知识,构建知识间的联系,减少噪音,并与文本表示融合,强化知识推理能力。
(6)语言模型中的知识编辑。预训练语言模型可视为一个巨大知识库,根据应用需求,维持通用知识,更新任务相关知识,避免灾难性遗忘,实现持续学习能力。
(7)模块化的预训练模型。不同任务通常需要不同的技能来求解。从细分技能的角度,利用混合专家 (Mixture of Experts,MoE),把多个技能导向的子模型合并为一个大模型,对不同任务按需装配,选择不同子模型进行处理。
(8)层次化的多模态建模。层次化的建模方式和细粒度的多模态信息融合,包括同一模态内、不同模态间的对象对齐与融合;新一代面向文档理解的预训练模型。
(9)预训练模型的鲁棒性。面向预训练模型的对抗攻击与防御,通过构造自然的对抗样本和数据增强等手段,提升预训练模型在现实应用中的鲁棒性。
(10)多维度模型性能评价。客观、综合、均衡的评测基准对于分析预训练模型能力、发掘问题、启发新的研究课题具有重要意义。开发新型基准评价平台,对预训练模型做出全面、科学、有效的评测。
2 复杂推理
复杂推理问题是理解和分析已有的信息,应用推理机制期望得到推理结果。它有很多应用,譬如解数学题、谈判和辩论、客服和医学诊断等。相对于简单推理(比如蕴含或者问答),“复杂”体现在依赖深度语言理解(语义解析、跨句理解等)、逻辑关系复杂(从属关系、因果关系、否定关系等)、推理能力多样(数值推理、逻辑推理、常识推理等)、推理过程复杂(多跳、推理方向不确定等)。除了这些问题之外,由于标注困难度和人工成本,普遍缺乏标注数据。我认为,推理问题是NLP皇冠上的明珠,如果突破了,则意味着AI的巨大进步。
我们选择LSAT入学考试任务研究复杂推理问题,以期通过考试题推进AI在理解和推理上的发展。LSAT考察学生的综合推理能力,被认为是最困难的入学考试之一。它有如图1所示的三项任务。
图1 LSAT三项任务
(1)分析推理(AR)。考察一个人分析推理的能力。跟定一个上下文,要针对问题判断哪个解决方案正确,需满足若干个约束条件才行。需要有能力判断条件是否满足了。
(2)逻辑推理(LR)。考察一个人逻辑推理的能力。根据上下文,选择哪个逻辑推理是正确的。需要有逻辑推理能力才能做出来。
(3)阅读理解(RC)。考察一个人的阅读理解能力。给定一篇通常较长的文章,给几个选择,每个选择是关于这篇文章的一个推论,问哪个选择是正确的。需要对文章理解,并且具有常识才能做出判断。
可见,这三项任务可以体现出一个学生的理解问题并通过推理解决问题的能力。对计算机推理是一个非常好的实验。
LSAT的任务概括而言是一个多选QA问题。根据一个上下文,围绕一个问题有几个选择,判断最佳的选择。如果做一个 baseline 的推理系统,可以把上下文c与问题q和一个选择答案o拼起来,送到一个多层神经网络(transformer 架构);然后把几个候选答案的输出,通过softmax得到每个选择的概率(见图2)。由于只有小数量的标注语料,所以这种简单的方法结果不行。
图2 baseline的推理系统
我们来看看数据集合,根据不同的推理任务对应三个数据集合。1991—2016年的考题,还有五个考题是印度考题,总共90场考试,一场考试100道题目左右。三类的问题,每类数据都可以划分成训练、验证和测试三个部分。这就是可以获得的全部数据。由于数据十分稀疏,如果只是用一个通常采用的基于预训练的端对端学习,比如BERT、XLNet、RoBERTa、ALBERT,其结果与随机猜测相仿。因此,我们需要更强的推理模型。
在分析推理方面,所做试验表明,在现在阶段符号的方法最佳。由于缺少数据,神经网络无法训练,而写规则时,可以根据问题的特点写一系列针对性的规则,所以规则的方法在这里有一定优势。
在逻辑推理方面,符号方法和神经方法融合最好。对每道题用符号方法去理解逻辑,根据逻辑的等价规律进行延伸和推广,然后对每个答案也进行逻辑抽取,利用推广的这些逻辑对答案逻辑再进行推广,把推广的逻辑变换成文字,把文字加回到神经网络中进行训练,这个方法目前最优。它的好处就是把逻辑方法充分用到问题的实质中,然后用逻辑方法来扩展数据,而没有直接用逻辑方法去推导,所以这个组合方法在这种题目上取得了最优结果。
在阅读理解方面,神经网络加预训练的方法是最好的。它利用了端到端训练,在SOTA的阅读理解基础上得到了不错的分数。
LSAT的整体水平。LSAT的分数不是1~100分,是120~180;也就是说,什么也不做也是120分;满分是180分。这里可以把我们的分数对应过来,然后根据历年以来的一个统计,对应一下可以上前多少名的大学分数线,总分可以得到151分,大概可以上到前104名的学校;AR分数差一些,只能上200名之后的学校;LR分数大概可以上第58名的学校;RC分数大概可以上第30名的学校;结论是可以考上一个一般的法律学校(学院),100名左右。通过这个实验得到了一些正面的发现,整体上,系统达到了一般学生的水准,说明机器复杂推理的潜力;RC和LR不错,可以被第30名和58名学校录取。这两个方法都用到了预训练,也用到了与任务相关的推理,说明这两者有一定有效性。符号系统来解AR问题,问题很多,但是居然还是比神经网络好。AR问题确实很难,要对上下文理解,然后建立推理链条。然而现在没有多少数据可以用于训练,所以现阶段求解这类问题,符号知识和符号推理还是必须的。这个任务也说明,小样本学习非常重要。
LSAT是一个研究复杂推理很好的数据集合。我们针对不同任务设计了在目前数据集合和技术手段下最佳方法;研究了规则方法、神经网络方法、神经-规则方法,切身体会了各自方法的特点;针对小样本问题,实验了合成数据、迁移学习、元学习等方法;分析了目前复杂推理存在的问题,比如常识、可解释性、小样本、评测集合等;提出了未来的研究方向1。这件事情仅是开始,未来还需要很多工作。
3 小样本学习
神经网络用较大的标注数据做端到端训练。真实场景下,很多任务都少有标注数据,所以小样本学习是目前神经网络的一个难题。但是人类可以通过少量样本识别一个新物体。比如,小孩只需见几次猫就可以识别几乎所有的猫。研究人员希望机器学习模型在学习了一定类别的大量数据后,对新的类别只要少量的样本就能快速学习。这就是Few-shot Learning要解决的问题。
人可能有一些基础能力(Foundation Skills),这些基础能力不用针对每个任务都像现在的神经网络端对端的重新学一遍。与Foundation Skills相对,Foundation Models指的是支持各个任务能力的通用模型。但是人不管用什么Model,体现在外在功能都是一个个Foundation Skills。语言理解像分词、句法分析、常识问题,每个Foundation Skill完成某个基本任务。每个人都有Foundation Skills,虽然能力各有不同,但是人在解决一个大问题时,调用了一组Foundation Skills形成一个序列执行具体任务。人可以针对任务目标,对每个Foundation Skills要快速做Domain-Adaptation。
对于很多实际场景,难以标注大量的语义解析数据,可以使用合成数据辅助训练2,3。比如在上述LSAT的分析推理任务中的问题解析模块中,为了扩充训练语料,我们设计了同步上下文无关文法,用于生成大量的合成数据。在生成一个逻辑表达式的同时,生成其对应的文本。然而,这样的合成文本多样性较弱,因此考虑使用同义改写模型,为合成文本生成同义句,增强合成数据的多样性。
除了构造合成数据,还可以利用已有的数据资源。现有许多人工标注好的语义解析数据集,可以让模型从中学习通用的语义解析知识,用以辅助新的语义解析任务。我们采取基础模型 + 微调的思路。在基础模型构建部分,基于T5,使用来自多个符号系统的多个数据集训练一个神经解析器。不同符号系统之间的知识可以共享、互补,构成了语义解析的基础能力。针对目标任务,例如LSAT的分析推理任务,可以使用合成数据对模型进行微调,使得模型具备文本到目标符号系统的映射能力。从实验结果来看,针对语义解析构建基础模型的方法,能在一定程度上提升LSAT分析推理任务的解析性能。
尽管我们可以采用多种方法提升合成数据的多样性,但是由此训练的模型依然欠缺泛化能力。在这里同义数据的定义,是指逻辑表达式相同但是输入文本不同的数据。为了提升模型的泛化能力,我们提出了基于元学习的训练方法,即learn-to-generalize。从实验结果来看,元学习可以帮助模型有一定能力从合成数据泛化到真实数据。
4 结束语
目前神经网络的方法依赖大规模的标注数据做端到端训练。这种黑箱式系统缺乏解释能力、也不具备常识推理能力。解决这个问题不是一件容易的事情,但是可以从如下三方面推进。
第一,人脑在处理熟悉的事情时,依赖数据和直觉,比较快,缺乏解释性,这个能力通常被称作系统2的能力;而在遇到不很熟悉的事情时,依赖规则、逻辑和推理,比较慢,但是具备可解释性,这个能力通常被称作系统2的能力。我们可以把前者类比于神经网络方法,后者类比于符号系统。为了改进目前的神经网络系统,应该把这两个系统融合起来,也就是数据和知识融合起来寻找解决思路。
第二,现在的深度学习,依赖数据做端对端的训练。这意味着针对一个新任务,要学习所有的能力。这就和假定人脑做任何事情时都是从空白开始学习。实际上,人具备很多基础能力。这些基础能力针对一个新任务时大部分的能力不动,只是小部分简单调整。我们设想模拟人脑,设计一系列基础能力和基础能力的微调机制。为了能够实现微调,需要每个基础能力可微。如何把规则系统转换为神经网络系统从而实现可微,是一个挑战性课题。
第三,常识问题。常识问题困扰NLP的发展,目前并没有很好的方法。为了研究常识推理,ConceptNet建立了针对常识问答的数据集CommonsenseQA。最近有研究提出了用一种外部注意力机制增强Transformer和预训练,把外部常识知识引入到预训练的预测过程中。期待今后更多的研究。
总而言之,借助预训练模型推进,认知智能正处在蓬勃发展的势头,取得了令人振奋的进步。但是,预训练模型的训练成本太高、效率低、推理能力差;由于数据的偏差,模型也存在着隐私和伦理问题。我们希望未来的认知模型能够像人脑一样具备可解释性和小样本学习能力,以及常识推理能力,在这些方面,需要不懈的努力。
(参考文献略)
1 https://xueshu.baidu.com/usercenter/paper/show?paperid=1t5006r05m4w0jn0mc1e0ms0e1656798
2 https://aclanthology.org/2021.acl-long.397/
3 https://aclanthology.org/2020.emnlp-main.31/
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“认知智能” 就可以获取《认知智能专知资料合集》专知下载链接
请扫码加入专知人工智能群(长按二维码),或者加专知小助手微信(zhuanzhi02),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG、论文等)交流~