复旦大学邱锡鹏教授做客达观NLP研讨会:自然语言处理中的多任务学习

达观数据举办的自然语言处理学术交流研讨会上,有幸邀请到复旦大学计算机科学技术学院邱锡鹏教授前来做客活动现场,并和大家分享了《自然语言处理中的多任务学习》的主题报告。以下为现场分享内容整理,内容略有删减。

本次分享内容围绕基于深度学习自然语言处理深度学习自然语言处理中的困境、自然语言处理中的多任务学习、新的多任务基准平台四大模块展开。

一、自然语言处理简介

什么是自然语言处理?自然语言就是人类语言,区别于程序语言,目前来讲自然语言处理有很多方面,是一个非常大的学科。包括语音识别自然语言理解自然语言生成人机交互以及所涉及的中间阶段。

自然语言的发展经历了从规则到统计再到深度学习的过程,在深度学习方法大规模应用之前,自然语言处理主要存在两种学派,基于规则(rule-based)的符号学派和基于概率方法的统计学派。Noam Chomsky是前者的代表人物。在1990以前,自然语言处理多采用人工规则的方法,其后,在语料库(corpus-based)数据驱动(data-deriven)下,基于统计或机器学习模型的概率学方法成为主流。2012年以后,基于神经网络(neural-based)的方法开始大规模应用,以Sequence to Sequence Learningwith Neural Networks论文为代表的端到端模型在实践中取得重大突破。

在研究领域,工作重心也转变到了深度学习方法之上。早期NLP基本上有很多方式,各种各样的建模,把大系统拆成小块,把小块做好。现在更容易一些,端到端的系统,中间是神经网络

二、深度学习自然语言处理中的困境

目前NLP的现状是,我们所谓的深度学习其实模型并不深。一个主要原因在于NLP的数据量不够,因为标注成本太高。与图像标注不同的是,NLP更需要认知,通常需要专家来进行标注,所以成本非常高。

标注成本高需要我们转变思路:能否从学习框架上改变?现在用的非常多的比如无监督预训练,多任务学习深度学习

1.无监督预训练

去年暑假时很多报告在说ELMo,下半年就出现了另外一个BERT。相较于只有3层的ELMO,BERT具有12层网络结构,,并且证明在NLP里仍然有足够强大的表现能力。所以我们现在的问题是,NLP的数据不足,很大层面是通过大量标注数据来辅助训练,很多人把这种方法叫做自监督训练。

在NLP中表示学习依然十分重要,什么是好的文本表示?“好的表示”是一个非常主观的概念,没有一个明确的标准。一般而言,一个好的表示具有以下几个优点:

1.应该具有很强的表示能力

2.应该使后续的学习任务变得简单

3.  应使后续的推断任务变得简单

2.多任务学习

从上面三点出发,就对应到了多任务学习。我们的目标是学到一个表示,对所有任务都试用。既然这样,就直接让多任务一起学,把所有任务数据放到一起进行学习。举个例子,比如说有在三元组处理的POS标签和Chunking,用一个模型解决两件事。

多任务学习在1997年被提出来。多任务学习加NLP在传统离散表示的时候,非常难,如何设置共享的表示很困难,因为是离散的空间很难投影做互相转化。现在,基于神经网络深度学习方法的应用,使得多任务学习变得十分简单。

多任务学习和几类学习特别相似,一类是多标签学习,是指一个X进去,多个Y出来。一句话既可以有实体,还有实体之间的关系,相当于同样X上有不同的标签。多任务学习可能一个X在每个任务上只有一种标签,不同X有不同的标签。它的标签是离散的,一个句子一般不会把所有任务标签都打上。还有相关的是迁移学习,目标是在一个任务上学好然后迁移到另外的东西上。

多任务学习非常常见的训练方式是所有模型先联合训练,因为有共享的表示,这些层次在所有任务上进行训练,同时有私有层,在私有层每个特定任务上单独训练。经过Joint Training之后再进行Fine Tuning。

多任务学习之所以会有效可以从几方面来看:

1.因为实现了隐式数据的增强,因为数据增强是经常用的任务,但是在NLP里很难用。

2.我们的表示对所有任务都适用,所以学习了更加通用的数据表示。

3.正则化,尽可能去选择泛化能力比较高的点。一个表示对所有任务起作用,每个任务都有参数空间,所有任务参数空间的交集和搜索范围非常小,这样的程度讲,相当于正则化手段。

4.窃听技术,每个任务可以从另外的任务中获取对自己任务有帮助的信息。像这个盲人摸象,理解一个大象的话,可能不同任务是测试他的一个部件。如果把所有任务拼在一起可能会得到一个非常好的表示。

三、自然语言处理中的多任务学习

有了多任务学习之后,就可以改变做事的思维方式。输入——词法分析——句法分析——任务。我们很难把中间某一块做得特别好,如果中间有一块错了,就导致后面全错误。我们可以把词法分析和句法分析作为目标任务平行,然后一起去学习。因为要输出词法和句法分析,假设隐含了某种词法和句法的表示能力,直接送到目标任务上,这样就避免了错误传播。

自然语言处理中的各种任务,非常适合多任务学习。所有的NLP任务背后都涉及到文本理解,本质上都是相关的,所以很自然可以用多任务学习框架处理。

NLP可以用的多任务学习有几种类型,一种是分类分析。有不同的领域,电影领域的和评价领域。这是天然的多任务学习,每个领域有单个任务,把所有任务放在一起学习电影评论中学习的情感词,这对上面的评论也会有用。比如刚才讲的自然语言的词性标注,到分词、句法。越往上越偏语义。这是与传统不太一样的多任务学习方式,我们需要严格设计共享方式。

现在越来越多的是文本和图象放在一起做交叉的检索推荐等,情感分析目前也做的非常多。我们在NLP里很多任务适合做多任务学习。还有一类万能的任务是语言模型,可以和任何任务结合,提高对应任务的效果。

这里讲三个非常简单的共享方式,左边的a是硬共享模式,上面接三个不同私有层,中间是软共享,每个任务有自己主线,还有虚线,可以通过其他的注意力机制选择相关信息进来。c是共享私有模式,都有各自私有部分、共享部分。

1.硬共享模式

目前在NLP里的共享模式非常多,首先看硬共享模式,在2008年的时候就提出了自然语言神经网络处理。早期非常简单,只是把每个词的信息共享受。到2015年做机器翻译,机器翻译是天生可以多任务的,比如说英翻译成中文、德文、日文等。因为所有编码原文都是英文,所以没有设立多个编码器,让不同任务可以共享,这也是一种方式。

这个是我们之前的工作,把刚才三个共享方式用到深化神经网络中。现在看起来比较简单,当时没有人用。硬共享、软共享、私有共享模式,把三个共享放到文本分类上。包括这两年,通用表示在NLP上非常火热。用一个语言表示所有语言,这也是非常新兴的研究方向。我们目标是做多任务学习,同样的句子,虽然是面向不同任务,但是希望用同样的表示模型去表示。

最左边的a是标准的硬共享模式,下面共享,上面是私有层,中间是共享私有模式。最右边是提出一个全共享模式。所有的X在不同任务的表示都一样。如果都一样,做不同任务,我们是否认为一个共享表示可能不能体现特定的任务信息?所以我们引入了一个任务相关的查询,叫Q。这个Q可以从共享表示中选出和任务相关的信息。用相同的不同的注意力进行多任务的框架。就是同样的表示,只是不同任务中不一样的部分,非常简单的同一个框架处理,以下是具体的学习模型。

同样的文本在不同任务中,他的Attention是不一样的,红色表示Attention的权重,颜色越深表示任务越重要。不同任务的Attention不一样。

后面所谓的通用表示,这个概念越来越热,其实也是类似想法,只是用的任务更复杂,包括现在谷歌推出所有语言放在一起训练,得到更加通用的表示。

2.软共享模式

第二种是软共享表示。在每一层的时候,我们都可以从其他任务中去选一些信息过来,看起来非常像十字绣的方式。这是在NLP里的任务,更加复杂的网络,无非把任务的交互信息选来选去。

3.共享-私有模式

最后是共享私有模式。在该模式下,通过设置外部记忆共享机制实现信息在所有任务中的共享。

共享私有模式还有一个:避免在共享路径上传递负迁移的信息,这些信息对另外的任务有损害,我们可以通过对抗学习,引入对抗层可以有效避免不迁移的信息。

元共享,叫Meta Multi-task Learning, 这个函数生成各种不同的深层,我们叫多任务学习,生成各自任务的参数。

共享模式搜索是实现共享模式的自动组合,从而产生更加灵活的模型。在面向NLP的神经网络结构搜索中用一个控制器、一个STO的网络,生成一个目标网络,这个目标网络用来处理不同的NLP任务。上面的m是从共享词里自动挑出来的,这就实现了在所有任务中进行多任务共享。用一个控制器、一个STO的网络,生成一个目标网络,这个目标网络用来处理不同的NLP任务。上面的m是从共享词里自动挑出来的,这就实现了在所有任务中进行多任务共享。

这个是一个例子,这是自动挑出来的网络结构。比如说POS用了M1,chunk用了M1,紧接着用了m2,NER用了M1、M2、M3,这种方式将模型带入任务训练,从而实现了模型的自动选择组合。

今天分享就到这里,谢谢大家!

达观数据
达观数据

达观数据是一家专注于文本智能处理技术的国家高新技术企业,获得2018年度中国人工智能领域最高奖项 “吴文俊人工智能科技奖”,也是本年度上海市唯一获奖企业。达观数据利用先进的自然语言理解、自然语言生成、知识图谱等技术,为大型企业和政府客户提供文本自动抽取、审核、纠错、搜索、推荐、写作等智能软件系统,让计算机代替人工完成业务流程自动化,大幅度提高企业效率。

入门无监督预训练多任务学习自然语言处理深度学习
2
相关数据
复旦大学机构

复旦大学(Fudan University),简称“复旦”,位于中国上海,由中华人民共和国教育部直属,中央直管副部级建制,国家双一流(A类)、985工程、211工程建设高校,入选珠峰计划、111计划、2011计划、卓越医生教育培养计划、卓越法律人才教育培养计划、国家建设高水平大学公派研究生项目,九校联盟(C9)、中国大学校长联谊会、东亚研究型大学协会、环太平洋大学协会的重要成员,是一所世界知名、国内顶尖的全国重点大学。

相关技术
达观数据机构

达观数据成立于2015年,是中国领先的文本智能处理企业,利用先进的文字语义自动分析技术,为企业、政府等各大机构提供文本自动抽取、审核、纠错、搜索、推荐、写作等智能软件系统,让计算机代替人工实现业务流程自动化,大幅度提高运营效率。 达观数据为企业提供完善的文本挖掘、知识图谱、搜索引擎和个性化推荐等大数据服务,是国内唯一一家将自动语义分析技术应用于企业数据化运营的人工智能公司。

http://www.datagrand.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

词性标注技术

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

词法分析技术

词法分析是计算机科学中将字符序列转换为标记序列的过程。进行词法分析的程序或者函数叫作词法分析器,也叫扫描器。词法分析器一般以函数的形式存在,供语法分析器调用

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

多任务学习技术

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

ELMo技术

ELMO 是“Embedding from Language Models”的简称, ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。ELMO 采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的 Word Embedding 作为新特征补充到下游任务中。

推荐文章
暂无评论
暂无评论~