《自然语言处理:基于预训练模型的方法》全套教学课件_第1页
《自然语言处理:基于预训练模型的方法》全套教学课件_第2页
《自然语言处理:基于预训练模型的方法》全套教学课件_第3页
《自然语言处理:基于预训练模型的方法》全套教学课件_第4页
《自然语言处理:基于预训练模型的方法》全套教学课件_第5页
已阅读5页,还剩247页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论01-绪论02-自然语言处理基础03-基础工具集与常用数据集04-神经网络基础05-静态词向量预训练模型06-动态词向量预训练模型07-预训练语言模型08-预训练语言模型进阶09-多模态融合的预训练模型全套可编辑PPT课件

2什么是自然语言处理?语言是思维的载体,是人类交流思想、表达情感最自然、最方便的工具人类历史上大部分知识是以语言文字形式记载和流传的自然语言指的是人类语言,特指文本符号,而非语音信号自然语言处理(NaturalLanguageProcessing,NLP)用计算机来理解和生成自然语言的各种理论和方法3自然语言处理的代表性应用机器翻译智能助手文本校对舆情分析智能教育知识图谱4自然语言处理属于认知智能任务认知智能是人类和动物的主要区别之一需要更强的抽象和推理能力5自然语言处理的难点与特点语言歧义性抽象性组合性进化性非规范性主观性知识性难迁移性领导:“你这是什么意思?”阿呆:“没什么意思,意思意思。”领导:“你这就不够意思了。”阿呆:“小意思,小意思。”领导:“你这人真有意思。”阿呆:“其实也没有别的意思。”领导:“那我就不好意思了。”阿呆:“是我不好意思。”6“人工智能皇冠上的明珠”自然语言处理成为制约人工智能取得更大突破和更广泛应用的瓶颈MichaelI.Jordan美国双院院士、世界知名机器学习专家“如果给我10亿美金,我会用这10亿美金建造一个NASA级别的自然语言处理研究项目”沈向洋美国工程院院士、微软前全球执行副总裁“下一个十年,懂语言者得天下”“深度学习的下一个大的进展应该是让神经网络真正理解文档的内容”Geoffrey

Hinton图灵奖得主、深度学习之父YannLeCun图灵奖得主、Facebook

AI

负责人“深度学习的下一个前沿课题是自然语言理解”图灵测试7自然语言处理任务层级应用系统(NLP+)教育,医疗,司法,金融,机器人等应用任务信息抽取,情感分析,机器翻译,对话系统等基础任务分词,词性标注,句法分析,语义分析等资源建设语言学知识库建设,语料库资源建设等8归结为四个基本问题结构预测问题文本匹配问题文本分类问题序列到序列问题9自然语言处理研究对象与层次境知名实形式语义推理语用(1)(3)(4)(2)形式:名语义:名+实推理:名+实+知语用:名+实+知+境名:语言符号实:客观事实、主观意见知:知识境:语言所处环境10“层次

x任务”二维表分类解析匹配生成形式文本分类词性标注句法分析搜索机械式文摘语义情感分析命名实体识别语义角色标注问答机器翻译推理隐式情感分析文本蕴含写故事结尾语境反语聊天11语言模型

12中文分词词(Word)最小的能独立使用的音义结合体以汉语为代表的汉藏语系,以阿拉伯语为代表的闪-含语系中不包含明显的词之间的分隔符中文分词是将中文字序列切分成一个个单独的词分词的歧义如:严守一把手机关了严守一/把/手机/关/了严守/一把手/机关/了严守/一把/手机/关/了严守一/

把手/

机关/了……13子词切分(Subword)以英语为代表的印欧语系语言,是否需要进行分词?这些语言词形变化复杂如:computer、computers、computing等仅用空格切分的问题数据稀疏词表过大,降低处理速度子词切分将一个单词切分为若干连续的片段(子词)方法众多,基本原理相似使用尽量长且频次高的子词对单词进行切分14句法分析分析句子的句法成分,如主谓宾定状补等将词序列表示的句子转换成树状结构http://ltp.ai/demo.html

15语义分析词义消歧(WordSenseDisambiguation,WSD)语义角色标注(SemanticRoleLabeling,SRL)也称谓词论元结构(Predicate-ArgumentStructure)语义依存图(SemanticDependencyGraph)16316信息抽取信息抽取(InformationExtraction,IE)从非结构化的文本中自动提取结构化信息输入10月28日,AMD宣布斥资350亿美元收购FPGA芯片巨头赛灵思。这两家传了多年绯闻的芯片公司终于走到了一起。17情感分析情感分析(Sentiment

Analysis)个体对外界事物的态度、观点或倾向性,如正面、负面等人自身的情绪(Emotion),如喜怒哀惧等输入这款手机的屏幕很不错,性能也还可以。18问答系统问答系统(QuestionAnswering,QA)用户以自然语言形式描述问题,从异构数据中获得答案根据数据来源的不同,问答系统可以分为4种主要的类型检索式问答系统答案来源于固定的文本语料库或互联网,系统通过查找相关文档并抽取答案完成问答知识库问答系统回答问题所需的知识以数据库等结构化形式存储,问答系统首先将问题解析为结构化的查询语句,通过查询相关知识点,并结合知识推理获取答案常问问题集问答系统通过对历史积累的常问问题集合进行检索,回答用户提出的类似问题阅读理解式问答系统通过抽取给定文档中的文本片段或生成一段答案来回答用户提出的问题19更多任务机器翻译(MachineTranslation,MT)对话系统(DialogueSystem)任务型Task聊天Chat知识问答Knowledge推荐Recommen-dation目的完成任务或动作闲聊知识获取信息推荐领域特定域(垂类)开放域开放域特定域以话轮数评价越少越好话轮越多越好越少越好越少越好应用虚拟个人助理娱乐、情感陪护客服、教育个性化推荐典型系统Siri、Cortana、Google

Assistant、度秘小冰、笨笨Watson、WolframAlpha阿里小蜜20自然语言处理技术发展历史语义在计算机内部是如何表示的?根据表示方法的不同,自然语言处理技术经历了四次范式变迁小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今21基于符号(字符串)表示的专家知识“土豆非常好吃。”的情感倾向性?如果:出现褒义词“好”“喜欢”等那么:结果为褒义如果:出现“不”那么:结果倾向性取反优点符合人类的直觉可解释、可干预性好缺点知识完备性不足需要专家构建和维护不便于计算小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今22基于向量表示的统计模型使用高维、离散、稀疏的向量表示词维度为词表大小,其中只有一位为1,其余为0土豆:[0,0,0,0,0,0,0,0,1,0,0,0,0,…]马铃薯:[0,0,0,0,0,0,0,1,0,0,0,0,0,…]缺点无法处理“多词一义”的现象小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今…非常土豆马铃薯吃好……11011…?土豆非常好吃。语料库特征提取0.10.2-0.10.90.2词嵌入表示的赋值方法通过优化在下游任务上的表现自动学习23基于嵌入表示的深度学习模型词嵌入(Word

Embedding)直接使用一个低维、连续、稠密的向量表示词(Bengio等2003)马铃薯计算机电脑土豆

土豆

非常

。深度学习模型贬义小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今24预训练模型获得更好的表示小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今未标注文本语料库模型训练数据标注模型预训练模型精调Fine-tune预训练Pre-train预训练+精调=自然语言处理新范式谢谢!自然语言处理基础文本的表示1自然语言处理任务2自然语言处理的基本问题3自然语言处理的评价指标4文本的表示1自然语言处理任务2自然语言处理的基本问题3自然语言处理的评价指标429自然语言处理技术发展历史语义在计算机内部是如何表示的?根据表示方法的不同,自然语言处理技术经历了四次范式变迁小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今30基于符号(字符串)表示的专家知识“土豆非常好吃。”的情感倾向性?如果:出现褒义词“好”“喜欢”等那么:结果为褒义如果:出现“不”那么:结果倾向性取反优点符合人类的直觉可解释、可干预性好缺点知识完备性不足需要专家构建和维护不便于计算小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今31基于向量表示的统计模型使用高维、离散、稀疏的向量表示词维度为词表大小,其中只有一位为1,其余为0土豆:[0,0,0,0,0,0,0,0,1,0,0,0,0,…]马铃薯:[0,0,0,0,0,0,0,1,0,0,0,0,0,…]缺点严重的数据稀疏问题无法处理“多词一义”的现象小规模专家知识1950~1990语料库统计模型1990~2010深度学习模型2010~2017大规模预训练模型2018~至今…非常土豆马铃薯吃好……11011…?土豆非常好吃。语料库特征提取0.10.2-0.10.90.232传统解决方案增加额外的特征词性特征:名词、动词、形容词前后缀特征:re-、-tion、-er语义词典WordNet、HowNet等如词的上位信息表示语义类别需要解决一词多义问题收录的词不全且更新慢词聚类特征如Brown

Clustering

(Brown

et

al.,

CL

1992)33词的分布语义假设分布语义假设(Distributionalsemantic

hypothesis)词的含义可由其上下文词的分布进行表示Youshallknowawordbythecompanyitkeeps

--FirthJ.R.195734词的分布(Distributional)表示分布词向量语义相似度通过计算向量相似度获得仍然存在高维、稀疏、离散的问题shinningbrighttreesdarklookmoon384522712cucumbermoonstar35分布表示的加权降低高频词的权重点互信息(PointwiseMutualInformation,PMI)我喜欢自然语言处理。我爱深度学习。我喜欢机器学习。36分布表示的降维避免稀疏性,反映高阶共现关系奇异值分解(SingularValueDecomposition,SVD)37分布式(Distributed)词表示分布表示的缺点训练速度慢,增加新语料库困难不易扩展到短语、句子表示分布式表示直接使用低维、稠密、连续的向量表示词通过“自监督”的方法直接学习词向量也称词嵌入(Word

Embedding)发展历程(第5章将详细介绍)LSA(Deerwester

etal.,

1990)LDA(Blei

etal.,

2003)NNLM(Bengio

etal.,

2003)HLBL(Minh

and

Hinton,

2009)SENNA(Collobert

etal.,

2011)RNNLM(Mikolov

etal.,

2010)Word2vec(Mikolov

etal.,

2013)GloVe(Pennington

etal.,

2014)文本的表示1自然语言处理任务2自然语言处理的基本问题3自然语言处理的评价指标439语言模型

40中文分词词(Word)最小的能独立使用的音义结合体以汉语为代表的汉藏语系,以阿拉伯语为代表的闪-含语系中不包含明显的词之间的分隔符中文分词是将中文字序列切分成一个个单独的词分词的歧义如:严守一把手机关了严守一/把/手机/关/了严守/一把手/机关/了严守/一把/手机/关/了严守一/

把手/

机关/了……41子词切分(Subword)以英语为代表的印欧语系语言,是否需要进行分词?这些语言词形变化复杂如:computer、computers、computing等仅用空格切分的问题数据稀疏词表过大,降低处理速度子词切分将一个单词切分为若干连续的片段(子词)方法众多,基本原理相似使用尽量长且频次高的子词对单词进行切分42字节对编码字节对编码(BytePairEncoding,BPE)子词词表构造示例43字节对编码BPE子词切分算法将子词词表按照子词的长度由大到小进行排序从前向后遍历子词词表,依次判断一个子词是否为单词的子串如果是则将该单词进行切分,然后继续向后遍历子词词表如果子词词表全部遍历结束,单词中仍然有子串没有被切分,那么这些子串一定为低频串,则使用统一的标记,如'<UNK>'进行替换更多子词切分算法WordPieceUnigramLanguageModel(ULM)SentencePiece/google/sentencepiece

44句法分析分析句子的句法成分,如主谓宾定状补等将词序列表示的句子转换成树状结构http://ltp.ai/demo.html

45语义分析词义消歧(WordSenseDisambiguation,WSD)语义角色标注(SemanticRoleLabeling,SRL)也称谓词论元结构(Predicate-ArgumentStructure)语义依存图(SemanticDependencyGraph)46信息抽取信息抽取(InformationExtraction,IE)从非结构化的文本中自动提取结构化信息输入10月28日,AMD宣布斥资350亿美元收购FPGA芯片巨头赛灵思。这两家传了多年绯闻的芯片公司终于走到了一起。47情感分析情感分析(Sentiment

Analysis)个体对外界事物的态度、观点或倾向性,如正面、负面等人自身的情绪(Emotion),如喜怒哀惧等输入这款手机的屏幕很不错,性能也还可以。48问答系统问答系统(QuestionAnswering,QA)用户以自然语言形式描述问题,从异构数据中获得答案根据数据来源的不同,问答系统可以分为4种主要的类型检索式问答系统答案来源于固定的文本语料库或互联网,系统通过查找相关文档并抽取答案完成问答知识库问答系统回答问题所需的知识以数据库等结构化形式存储,问答系统首先将问题解析为结构化的查询语句,通过查询相关知识点,并结合知识推理获取答案常问问题集问答系统通过对历史积累的常问问题集合进行检索,回答用户提出的类似问题阅读理解式问答系统通过抽取给定文档中的文本片段或生成一段答案来回答用户提出的问题49更多任务机器翻译(MachineTranslation,MT)对话系统(DialogueSystem)任务型Task聊天Chat知识问答Knowledge推荐Recommen-dation目的完成任务或动作闲聊知识获取信息推荐领域特定域(垂类)开放域开放域特定域以话轮数评价越少越好话轮越多越好越少越好越少越好应用虚拟个人助理娱乐、情感陪护客服、教育个性化推荐典型系统Siri、Cortana、Google

Assistant、度秘小冰、笨笨Watson、WolframAlpha阿里小蜜文本的表示1自然语言处理任务2自然语言处理的基本问题3自然语言处理的评价指标451归结为四个基本问题结构预测问题文本匹配问题文本分类问题序列到序列问题52文本分类问题将输入文本映射为所属类别(预定义的封闭集合)最简单最基本的自然语言处理问题应用场景垃圾邮件过滤、情感分类等很多问题可以转化为文本分类问题

喜欢

篮球词表示文本表示计算(编码器)文本表示分类器输出概率53文本匹配问题判断两段文本之间的匹配关系如复述关系、蕴含关系等解决方案双塔结构两段文本分别通过两个模型映射为向量,然后判断两个向量之间的匹配关系单塔结构将两段文本直接拼接,然后进行匹配关系分类

喜欢

篮球词表示文本表示计算(编码器)文本表示分类器输出概率

喜欢

运动文本表示计算(编码器)双塔结构示意图54结构预测问题输出类别之间具有较强的相互关联性自然语言处理的本质问题三种典型的结构预测问题序列标注为输入文本序列中的每个词标注相应的标签如词性标注:他/PN喜欢/VV下/VV象棋/NN序列分割在文本序列中切分出子序列可以转化为序列标注问题图结构生成输入自然语言,输出以图表示的结构JuliaHirschbergandChristopherD.Manning.

AdvancesinNaturalLanguageProcessing.

Science201555结构预测问题:序列标注经典的序列标注模型条件随机场(ConditionalRandomField,CRF)维特比(Viterbi)解码算法

ytyt+1yt-1xtxt+1xt-1CRFSTARTVNPDTimeVNPDfliesVNPDlikeVNPDanVNPDarrow10.70.20.30.11.71.21.31.10.80.20.20.51.91.31.22.515.910.312.211.256结构预测问题:图结构生成基于图的算法计算图中任意两个节点之间连边的分数(类别)根据解码算法生成图(树)结构基于转移的算法将图结构的构建过程转化为状态转移序列如标准弧转移算法转移状态由一个栈和一个队列构成三种转移动作移进(SH)、左弧(RL)和右弧(RR)对旧状态执行一个移动作转换为新状态转移动作的选择本质上也是分类问题…分类面向依存句法分析的标准弧转移算法示例57序列到序列问题将输入序列转换为输出序列输入和输出的序列不要求等长,也不要求词表一致泛化为“编码器—解码器”模型(Encoder-Decoder)本质上也是分类问题典型任务任务输入输出机器翻译源语言目标语言文本摘要原文摘要回复生成用户语句机器回复图片描述生成图片文本描述语音识别语音转写文本“编码器—解码器”模型示例文本的表示1自然语言处理任务2自然语言处理的基本问题3自然语言处理的评价指标459自然语言处理的评价

60自然语言处理的评价依存分析的评价UAS(UnlabeledAttachmentScore)词的父节点被正确识别的准确率LAS(LabeledAttachmentScore)词的父节点以及与父节点的句法关系都被正确识别的准确率机器翻译的评价BLEU(BiLingualEvaluationUnderstudy)值统计机器译文与参考译文(可以不只一个)中N-gram匹配的数目占机器译文中所有N-gram总数的比率对话系统的评价由于回复的开放性,没有标准答案,很难自动评价由于对话的交互性,不能简单地通过一轮人机对话就对系统进行评价目前往往采用人工评价(流畅度、相关度、准确性等等)谢谢!基础工具集与常用数据集63基础工具集与常用数据 基础工具集NLTKLTPPyTorch常用数据集WikipediaCommonCrawl64NLTKNaturalLanguageToolkit/多种语料库和词典资源生文本、PennTreebank样例WordNet基本的自然语言处理工具集分句标记解析词性标注句法分析更多英文自然语言处理工具集CoreNLP、spaCy等https://data-flair.training/blogs/nltk-python-tutorial/

65LTP语言技术平台(Language

Technology

Platform,LTP)http://ltp.ai

高效、高精度中文自然语言处理基础平台中文词法、句法、语义分析等6项自然语言处理核心技术2020年7月发布4.0版本基于预训练模型多任务学习机制安装$

pip

install

ltp66LTP调用示例67PyTorchFacebook开发的开源深度学习库/基于张量(Tensor)的数学运算工具包GPU加速的张量计算自动进行微分计算PyTorch的优势框架简洁入门简单,容易上手支持动态神经网络构建与Python语言无缝结合Debug方便/neural-network-zoo/

68PyTorch的三要素张量(Tensor)数据存储支持GPU表达式(Expression)数据运算自动微分计算模块(Module)神经网络层支持自定义69张量(Tensor)又称为多维数组与Python列表的区别可表示现实世界中的各种数据表格、时间序列(彩色)图像batch=torch.zeros(100,3,256,256,dtype=torch.uint8)70PyTorch作为张量库支持各种张量操作(类似NumPy)创建张量索引、切片支持GPU快!NumpyPyTorch

71表达式(Expession)通过计算图描述表达式如:e

=

(a

+

b)*(b

-

2)计算图中每个节点执行一个运算前向运算(Forward):根据输入获得输出>>>a=torch.tensor([2.])>>>b=torch.tensor([3.])>>>c=a+b>>>d=b-2>>>e=c*d>>>print(c,d,e)tensor([5.],grad_fn=<AddBackward0>)tensor([1.],grad_fn=<SubBackward0>)tensor([5.],grad_fn=<MulBackward0>)aa

=

2bb

=

3c=a+bc

=

5d=b-2d

=

1e=c*de

=

572表达式(Expession)

aa

=

2bb

=

3c=a+bc

=

5d=b-2d

=

1e=c*de

=

573静态图与动态图74模块(Module)包名功能描述torchTesnor

/

Expression类似NumPy的张量库,支持GPU以及自动微分torch.nnModule灵活的神经网络库,提供多种神经网络层torch.optimModule多种优化算法torch.utilsModule数据集、数据加载等辅助工具75大规模预训练数据集维基百科(Wikipedia)快照(2020年10月23日)/

处理流程纯文本抽取

中文繁简转换

数据清洗CommonCrawl数据(/)大规模网络爬虫数据集使用Facebook的CC-Net工具下载和处理/facebookresearch/cc_net

谢谢!神经网络基础78感知器模型

x4x1x2x379Logistic回归模型

Sigmoid函数示意图80Softmax回归

81多层感知器多层感知器(Multi-layerPerceptron,MLP)堆叠多层感知器(线性回归+非线性激活函数)可解决线性不可分问题使用MLP解决异或(XOR)问题82多层感知器PyTorch实现引入PyTorch模块>>>fromtorchimportnn线性层激活函数>>>fromtorch.nnimportfunctionalasF83多层感知器PyTorch实现自定义神经网络实现/drive/1EMJJffsmlSlqO3KwuG5WlP-IxyNVXTrK?usp=sharing

84卷积神经网络全连接的多层感知器无法处理输入的偏移情况图像分类情感分类我喜欢自然语言处理。

vs.

我非常喜欢自然语言处理。解决方案使用小的全连接层抽取局部特征(又称卷积核或滤波器)如遍历文本中的N-gram等使用多个卷积核提取不同种类的特征使用池化层将特征进行聚合(最大、平均、求和等)/drive/1HaPOfEj8wrLkqeUDuirtS-cNKGxeRdY5?usp=sharing

85循环神经网络卷积神经网络无法处理长距离的依赖循环神经网络的解决方案每个时刻的隐状态依赖于当前时刻的输入以及上一时刻的隐状态每个时刻的参数共享(“循环”的由来)每个时刻也可以有相应的输出(序列标注)86长短时记忆网络(LSTM)

long

termshort

term87循环神经网络的应用双向循环神经网络堆叠循环神经网络序列到序列模型也称“编码器—解码器”模型机器翻译等多种应用RayMooneyYoucan’tcramthemeaningofawhole%&!$ingsentenceintoasingle$&!*ingvector!88注意力机制(AttentionMechanism)当前状态除和前一个状态及输入相关外,还应关注原序列的状态打分公式89自注意力模型

90Transformer

91融入位置信息位置嵌入(PositionEmbeddings)类似词嵌入,每个绝对位置赋予一个连续、低维、稠密的向量表示向量参数参与模型学习位置编码(PositionEncodings)直接将一个整数(位置索引值)映射为一个向量输入向量=词向量+位置嵌入/编码92赋予输入向量角色信息

KeyQueryValue93多层自注意力原始自注意力模型仅考虑了任意两个向量之间的关系如何建模高阶关系?直接建模高阶关系导致模型复杂度过高堆叠多层自注意力模型(消息传播机制)增强模型的表示能力——增加非线性增加非线性的多层感知器模型(MLP)使模型更容易学习层归一化(LayerNormalization)残差连接(ResidualConnections)由于Softmax函数的性质,无法使得多个自注意力分数趋近于1使用多组自注意力模型产生多组不同的注意力结果设置多组输入映射矩阵类似使用多个卷积核提取不同的特征94多头自注意力thecatwalksonthestreetx

=

v

=

y

=

1195Transformer的优缺点优点直接建模更长距离的依赖关系更快的训练速度(与RNN相比)缺点参数量过大导致模型不容易训练需要基于大规模数据预训练96神经网络模型的训练寻找一组优化的模型参数又叫做模型训练或学习损失函数(LossFunction)评估参数好坏的准则为什么不直接使用准确率等指标进行评估?两种常用的损失函数均方误差(MeanSquaredError,MSE)交叉熵(Cross-Entropy,CE)负对数似然损失NegativeLogLikelihood,NLL97梯度下降梯度(Gradient)以向量的形式写出的对多元函数各个参数求得的偏导数是函数值增加最快的方向沿着梯度相反的方向,更加容易找到函数的极小值梯度下降算法(GradientDescent,GD)小批次梯度下降法(Mini-batchGradientDescent)每次随机采样小规模的训练数据来估计梯度提高算法的运行速度98PyTorch代码示例/drive/1v-4G7WgiEhV_wOuOC_2IoSIVNzRHQlnP?usp=sharing

谢谢!静态词向量预训练模型神经网络语言模型1Word2vec词向量2GloVe词向量3静态词向量的评价与应用4神经网络语言模型1Word2vec词向量2GloVe词向量3静态词向量的评价与应用4103分布式(Distributed)词表示分布表示的缺点训练速度慢,增加新语料库困难不易扩展到短语、句子表示分布式表示直接使用低维、稠密、连续的向量表示词通过“自监督”的方法直接学习词向量也称词嵌入(Word

Embedding)发展历程LSA(Deerwester

etal.,

1990)LDA(Blei

etal.,

2003)NNLM(Bengio

etal.,

2003)HLBL(Minh

and

Hinton,

2009)SENNA(Collobert

etal.,

2011)RNNLM(Mikolov

etal.,

2010)Word2vec(Mikolov

etal.,

2013)GloVe(Pennington

etal.,

2014)104前馈神经网络语言模型(FF-NNLM)NeuralNetworkLanguageModels(Bengioetal.,JMLR

2003)根据前n-1个词(历史)预测当前词,即马尔可夫假设模型结构为前馈神经网络通过查找表(Look-up

Table),获得词的向量表示词向量(或词嵌入,Word

Embedding)支撑图灵奖的重要工作通过梯度下降优化词向量表示缺点“历史”长度不可变“他喜欢吃

苹果”“他感冒了,于是下班后去了医院”105循环神经网络语言模型(RNNLM)Recurrent

NeuralNetworkLanguageModels(Mikolovetal.,Interspeech,2010)根据完整的“历史”对当前词进行预测对不定长依赖的建模能力梯度弥散/爆炸问题反向传播过程中按长度进行截断长短时记忆网络(LSTM)缺点“语言模型”约束:只利用了“历史”信息106SENNASemantic/syntacticExtractionusingaNeuralNetworkArchitectureNaturalLanguageProcessing(Almost)fromScratch(Collobertetal.,JMLR

2011)“换词”的思想一个词和它的上下文构成正例随机替换掉该词构成负例优化目标score(catsitsonamat)>score(catsitsHarbina

mat)score的计算方式训练速度慢,在当年的硬件条件下需要训练1个月catsitsonamatcatsitsHarbinamatcatsitsonamat神经网络语言模型1Word2vec词向量2GloVe词向量3静态词向量的评价与应用4108Word2vec/archive/p/word2vec/

Mikolovetal.,ICLR

2013CBOW(ContinuousBag-of-Word)根据周围词(上下文)预测中间词如何计算上下文表示:词向量取平均Skip-Gram根据中间词独立地预测周围词(上下文)训练速度快可利用大规模数据弥补了模型能力的不足CBOW模型示意图Skip-gram模型示意图109参数估计优化目标对目标词进行预测(Softmax),优化分类损失CBOWSkip-Gram缺点:当词表较大且计算资源有限时,概率(归一化)计算效率较低负采样(Negative

Sampling)对(词,上下文)进行二元分类,1表示在给定上下文内共现,0表示不共现与SENNA思想近似,通过“换词”构造(词,上下文)负例(负采样分布)注意:词与上下文分别使用不同的向量矩阵神经网络语言模型1Word2vec词向量2GloVe词向量3静态词向量的评价与应用4GloVeGloVe:GlobalVectorsforWordRepresentation

(Pennington

et

al.,

EMNLP

2014)利用“词-上下文”共现信息Word2vec:局部共现,只考虑当前样本中是否共现GloVe:利用全局统计信息,即共现频次利用词向量对“词-上下文”共现矩阵进行预测(或回归)构建共现矩阵:共现“强度”按照距离进行衰减回归目标:参数估计样本权重神经网络语言模型1Word2vec词向量2GloVe词向量3静态词向量的评价与应用4113词向量的评价与应用词义相似度计算词类比关系计算知识图谱补全推荐系统114词向量的评价与应用作为词的特征用于下游任务(如文本分类、NER)的输入作为词表示在下游任务训练过程中进行学习(精调)实验设置数据来源:NLTK

sentence_polarity数据大小:正负各1000个样本115一词多义现象静态词向量假设一个词由唯一的词向量表示无法处理一词多义现象“上下文”信息混乱我喜欢吃土豆我刚刚在土豆看视频马铃薯爱奇艺优酷红薯土豆我喜欢吃土豆#2我刚刚在土豆#1看视频马铃薯爱奇艺优酷红薯土豆#2土豆#1如何获得词义信息?谢谢!动态词向量预训练模型词向量——从静态到动态1基于语言模型的动态词向量预训练2词向量——从静态到动态1基于语言模型的动态词向量预训练2120词向量——从静态到动态静态词向量的问题很多词包含多种语义信息,静态词向量无法解决“一词多义”的表示问题Appletheappleofmyeye…0.10.20.80.30.10.20.80.30.10.20.80.3相同!121词向量——从静态到动态静态词向量的问题词向量应根据其所处的上下文的不同而发生改变Appletheappleofmyeye…0.10.20.80.30.10.20.80.50.90.20.80.3122词向量——从静态到动态

CoVe

(Contextualized

Word

Vectors)首次提出使用上下文相关的文本表示,即每个token的向量表示不唯一主要思想:将神经机器翻译(NMT)的表示迁移到通用NLP任务上123词向量——从静态到动态

124词向量——从静态到动态

词向量——从静态到动态1基于语言模型的动态词向量预训练2126

CoVe存在的问题训练依赖于双语平行语料训练神经机器翻译模型需要双语平行语料,获取难度较高相比单语语料,覆盖的领域也相对优先,通用性一般单独使用效果一般,性价比不高实验结果表明单独使用CoVe的效果一般需要搭配传统静态词向量才能获得较为显著的性能提升基于语言模型的动态词向量预训练127基于语言模型的动态词向量预训练双向语言模型BiLM双向语言模型从前向(从左到右)和后向(从右到左)两个方向同时建立语言模型128基于语言模型的动态词向量预训练双向语言模型BiLM输入表示层前向语言模型后向语言模型129基于语言模型的动态词向量预训练ELMo词向量130基于语言模型的动态词向量预训练ELMo词向量ELMo采取对不同层次的向量表示进行加权平均的机制,为不同的下游任务提供更多的组合自由度ELMo特点动态(上下文相关):词的ELMo向量表示由其当前上下文决定;鲁棒(Robust):ELMo向量表示使用字符级输入,对于未登录词具有强鲁棒性;层次:ELMo词向量由深度预训练模型中各个层次的向量表示进行组合,为下游任务提供了较大的使用自由度。131基于语言模型的动态词向量预训练模型实现数据准备使用清洗后并经过分词等预处理的语料需要同时构建词级别与字符级别的训练语料,并建立相应的词表双向语言模型ELMo模型的核心是双向语言模型编码器部分主要包括基于字符的输入表示层以及前向、后向LSTM层训练在数据、模型组件构建完成后,使用实际数据对模型进行训练训练过程将输出每一次迭代后的前向语言模型的困惑度值训练完成后,便可以利用双向语言模型的编码器编码输入文本并获取动态词向量132基于语言模型的动态词向量预训练模型实现使用AllenNLP调用ELMo133基于语言模型的动态词向量预训练应用与评价作为下游任务特征即插即用,可以与静态词向量进行拼接也可以与隐层输出进行拼接右侧给出了利用ELMo实现文本分类的示例代码134基于语言模型的动态词向量预训练应用与评价上下文相关的词义相似性检索ELMo相比GloVe(静态词向量)在词义消歧和近邻分析任务上都有比较好的表现谢谢!预训练语言模型概述1自回归预训练模型代表:GPT2自编码预训练模型代表:BERT3预训练语言模型的应用4深入理解BERT5概述1自回归预训练模型代表:GPT2自编码预训练模型代表:BERT3预训练语言模型的应用4深入理解BERT5139HARBININSTITUTEOFTECHNOLOGY动态词向量模型的问题数据训练数据相对比较局限,例如CoVe要求使用双语平行句对模型表示模型的参数量相对较小(相比预训练语言模型),模型深度不够用法通常使用这类模型时,表示模型本身是不参与训练的(权重无更新)表示模型本身不参与训练,一定程度上限制了表示模型在下游任务上的泛化能力140HARBININSTITUTEOFTECHNOLOGY预训练模型三要素141HARBININSTITUTEOFTECHNOLOGY常见计算设备张量运算单元(TPU)图形运算单元(GPU)概述1自回归预训练模型代表:GPT2自编码预训练模型代表:BERT3预训练语言模型的应用4深入理解BERT5143HARBININSTITUTEOFTECHNOLOGYGPTGPT:GenerativePre-TrainingOpenAI提出了“生成式预训练+判别式精调”框架正式开启了自然语言处理领域“预训练+精调”的新时代生成式预训练在大规模文本数据上训练一个高容量的语言模型,从而学习更加丰富的上下文信息判别式任务精调将预训练好的模型适配到下游任务中,并使用有标注数据学习判别式任务144HARBININSTITUTEOFTECHNOLOGYGPT:模型结构145HARBININSTITUTEOFTECHNOLOGYGPT:无监督预训练从左至右对输入文本进行建模给定文本序列计算最大似然估计GPT使用了多层Transformer作为模型的基本结构146HARBININSTITUTEOFTECHNOLOGYGPT:有监督任务精调利用下游任务的有标注数据,对GPT模型进行精调利用GPT最后一层的表示来完成相关预测任务某些情况下,添加额外的预训练损失可以进一步提升性能147HARBININSTITUTEOFTECHNOLOGYGPT:适配不同的下游任务根据任务特点,设置不同的输入输出形式概述1自回归预训练模型代表:GPT2自编码预训练模型代表:BERT3预训练语言模型的应用4深入理解BERT5149HARBININSTITUTEOFTECHNOLOGYBERTBERT:BidirectionalEncoderRepresentationsfromTransformers(NAACL2019BestPaper)提出了一种双向预训练语言模型方法利用大规模自由文本训练两个无监督预训练任务BERT在众多NLP任务中获得了显著性能提升进一步强调了使用通用预训练取代繁杂的任务特定的模型设计150HARBININSTITUTEOFTECHNOLOGYBERTGPT/BERT/ELMo之间的对比GPT:单向从左至右的Transformer语言模型ELMo:将独立的前向和后向的LSTM语言模型拼接所得BERT:双向

Transformer语言模型151HARBININSTITUTEOFTECHNOLOGYBERT:模型结构整体结构由深层Transformer模型构成base:12层,参数量110Mlarge:24层,参数量330M预训练任务掩码语言模型(MaskedLanguageModel,MLM)下一个句子预测(Next

SentencePrediction,NSP)152HARBININSTITUTEOFTECHNOLOGYBERT:输入表示BERT的输入表示由三部分组成词向量:通过词向量矩阵将输入文本转换为实值向量表示块向量:编码当前词属于哪一个块位置向量:编码当前词的绝对位置153HARBININSTITUTEOFTECHNOLOGYBERT:基本预训练任务预训练任务1:MaskedLanguageModel(MLM)将输入序列中的部分token进行掩码,并且要求模型将它们进行还原在BERT中,会将15%的输入文本进行mask以80%的概率替换为[MASK]标记;以10%的概率替换为词表中的任意一个随机词;以10%的概率保持原词不变,即不替换。154HARBININSTITUTEOFTECHNOLOGYBERT:基本预训练任务预训练任务1:MaskedLanguageModel(MLM)输入层BERT编码层输出层155HARBININSTITUTEOFTECHNOLOGYBERT:基本预训练任务预训练任务2:NextSentencePrediction(NSP)学习两段文本之间的关系(上下文信息)预测SentenceB是否是SentenceA的下一个句子正样本:文本中相邻的两个句子“句子A”和“句子B”,构成“下一个句子”关系负样本:将“句子B”替换为语料库中任意一个句子,构成“非下一个句子”关系156HARBININSTITUTEOFTECHNOLOGYBERT:基本预训练任务预训练任务2:NextSentencePrediction(NSP)输入层BERT编码层输出层157HARBININSTITUTEOFTECHNOLOGYBERT:更多预训练任务整词掩码(Whole

Word

Masking)MLM:随机选取一定比例的WordPiece子词WWM:随机选取一定比例的整词,属于同一个整词的WordPiece子词均被掩码总掩码数量不变,变动的是掩码位置的选取158HARBININSTITUTEOFTECHNOLOGYBERT:更多预训练任务N-gram掩码(N-gram

Masking)对一个连续的N-gram单元进行掩码,进一步增加MLM任务的难度难度:N-gramMasking>WholeWordMasking>MLM159HARBININSTITUTEOFTECHNOLOGYBERT:更多预训练任务三种掩码策略的联系与区别概述1自回归预训练模型代表:GPT2自编码预训练模型代表:BERT3预训练语言模型的应用4深入理解BERT5161HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用特征提取和模型精调特征提取仅利用BERT提取输入文本特征,生成对应的上下文语义表示BERT本身不参与目标任务的训练,即BERT部分只进行解码(无梯度回传)模型精调利用BERT作为下游任务模型基底,生成文本对应的上下文语义表示参与下游任务的训练,即在下游任务学习过程中,BERT对自身参数进行更新通常使用“模型精调”的方法,因其效果更佳162HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用单句文本分类(Single

Sentence

Classification)最常见的自然语言处理任务,需要将输入文本分成不同类别例如:将影评文本输入到分类模型中,将其分成“褒义”和“贬义”类别163HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用单句文本分类(Single

Sentence

Classification)输入层BERT编码层分类输出层164HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用句对文本分类(Sentence

Pair

Classification)与单句文本分类任务类似,需要将一对文本分成不同类别例如:文本蕴含任务中,将句对分成“蕴含”或者“冲突”类别

165HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用句对文本分类(Sentence

Pair

Classification)输入层BERT编码层分类输出层166HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用阅读理解(Reading

Comprehension)以抽取式阅读理解为例进行说明,要求机器在阅读篇章和问题后给出相应的答案,而答案要求是从篇章中抽取出的一个文本片段(Span)167HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用阅读理解(Reading

Comprehension)输入层BERT编码层答案输出层168HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用序列标注(Sequence

Tagging)以命名实体识别任务(NER)为例,对给定输入文本的每个词输出一个标签,以此指定某个命名实体的边界信息169HARBININSTITUTEOFTECHNOLOGY预训练语言模型应用序列标注(Sequence

Tagging)输入层BERT编码层序列标注层概述1自回归预训练模型代表:GPT2自编码预训练模型代表:BERT3预训练语言模型的应用4深入理解BERT5171HARBININSTITUTEOFTECHNOLOGY深入理解BERT可解释性自解释:在模型构建之初针对性地设计其结构,使其具备可解释性事后解释:对于BERT等大规模预训练模型的解释性研究,集中在此类两个角度自注意力机制表示学习两种方法可视化(Visualization)探针实验(Probing)172HARBININSTITUTEOFTECHNOLOGY深入理解BERT自注意力可视化分析自注意力的分析将有助于理解BERT模型对于关系(relational)特征的学习能力173HARBININSTITUTEOFTECHNOLOGY深入理解BERT自注意力可视化分析计算各层注意力分布的信息熵浅层阶段熵值较大,中间阶段熵值减小,深层阶段熵值再次增大一定程度上可以反映BERT模型中信息聚合(或语义组合)的过程174HARBININSTITUTEOFTECHNOLOGY深入理解BERT探针实验设计特定的探针,对于待分析对象(如自注意力或隐含层表示)进行特定行为分析探针通常是一个非参或者非常轻量的参数模型(如线性分类器),它接受待分析对象作为输入,并对特定行为预测预测的准确度可以作为待分析对象是否具有该行为的衡量指标175HARBININSTITUTEOFTECHNOLOGY深入理解BERT探针实验为了检验某个自注意力头对直接宾语(Direct

object,dobj)关系的表达能力,可以设计一个探针对该自注意力头在dobj句法关系预测上的表现进行分析在BERT第8层第10个自注意力头(记为8-10号)的注意力分布中,其中红色高亮部分即为dobj关系结果表明在BERT模型中,确实存在一部分自注意力头较好地捕捉到特定的句法关系176HARBININSTITUTEOFTECHNOLOGY深入理解BERT探针实验自注意力反映了预训练模型内部信息的聚合过程,而模型的各层隐含层表示是聚合的结果对预训练编码器的隐含层表示直接进行探针实验,更好地理解其特性探针可以是一个简单的线性分类器,该分类器利用模型的隐含层表示作为特征在目标任务(如词性标注)上训练,从而根据该任务的表现对预训练模型隐含层表示中蕴含的语言学特征评估谢谢!预训练语言模型进阶模型优化1长文本处理2模型蒸馏与压缩3生成模型4模型优化1长文本处理2模型蒸馏与压缩3生成模型4181模型优化XLNet:Transformer-XLNet提出了一种可以捕获双向上下文的基于自回归的语言建模方法解决了BERT中存在的“预训练-精调”不一致的问题排列语言模型(PermutationLanguageModel)从所有可能的排列当中均匀采样一种排列顺序(factorizationorder)最大化对数似然函数182模型优化XLNet:Transformer-XLNet改变建模顺序:3→2→4→1句子建模183模型优化XLNet:Transformer-XLNet双流自注意力机制184模型优化RoBERTa探究BERT的各个设计环节,包括掩码策略、NSP的有效性、训练步数等提出CC-News数据集,证明使用更多数据可以进一步提升预训练模型效果静态掩码vs.动态掩码

目的:增加掩码语言模型中的随机性,提高文本的利用度静态掩码:模型训练之前(数据预处理)阶段决定哪些词被mask,即BERT使用的方法动态掩码:模型训练的过程中决定哪些词被mask185模型优化RoBERTaNSP预训练任务是否是必要的?实验结果表明,舍弃NSP任务可以获得微弱性能提升186模型优化RoBERTa使用更大的批次大小以及更多数据适当增加预训练步数,可以进一步提升预训练效果目前广泛被认可的实证结论:训练预训练模型的关键之一是选用大的批次大小187模型优化RoBERTa最终RoBERTa采用了以上所有优点预训练任务动态掩码技术(DynamicMasking)使用整句输入,舍弃NSP损失(Full-SentenceswithoutNSPloss)预训练实验设置使用更大的批次大小:256→8192更大的byte-levelBPE词表(sentencepiece):30k→50K188模型优化ALBERT提出一种更加小巧(从参数量的角度)的预训练两种主要技术:词向量因式分解、跨层参数共享词向量因式分解(FactorizedEmbeddingParameterization)在BERT中,embedding_size==hidden_size在ALBERT中,embedding_size<hidden_size189模型优化ALBERT利用词向量因式分解后举例:

V=30000,

H=2014,

E=128190模型优化ALBERT跨层参数共享Transformer每层的参数是共享的,即只需要存一份参数,与层数无关训练时:虽然参数共享,但每层的梯度是不同的,仍然需要额外空间存储推断时:前向计算过程仍然要一层层展开,并不能节省推断时间191模型优化ALBERT句子顺序预测(SentenceOrderPrediction,SOP)NSP任务实际隐含了“连贯性”和“主题”预测然而,判断两段文本的主题是否一致是比较容易的ALBERT提出句子顺序预测任务正样本:与BERT相同,由两个连续的文本段组成负样本:交换两个连续文本段的顺序192模型优化ELECTRA提出了一种全新基于生成器-判别器框架的预训练语言模型相比传统预训练模型的训练效率更高整体结构生成器-判别器框架,与GAN(Goodfellowetal.,2014)类似Generator:将输入中的缺失信息还原为原单词Discriminator:判断输入的单词是否被替换过193模型优化ELECTRA生成器:一个小的MLM第一步:随机选取输入序列中的一部分进行遮蔽,通常比例选取15%第二步:利用MLM任务,将缺失信息还原为原单词判别器:常规的BERT结构第一步:将缺失信息替换为生成器预测出来的单词第二步:判别器学习判断输入句子中哪些单词被生成器替换过194模型优化MacBERT在可比条件下,评测了主流预训练模型在中文下的表现提出一种新的预训练模型MacBERT,解决“预训练-精调”不一致的问题文中涉及到的所有中文预训练模型已开源至整个研究社区195模型优化MacBERT预训练算法描述使用了整词掩码和N-gram掩码,其中unigram至4-gram的概率分别为40%、30%、20%和10%;为了解决掩码标记[MASK]在下游任务中不会出现的问题,在预训练阶段,MacBERT使用相似词替换[MASK]标记。实际操作时,使用同义词词典获取待掩码单词的相似词。当N-gram掩码时,对N-gram中的每个词均进行相似词替换与原版BERT类似,MacBERT对输入序列总长度15%的标记进行掩码,在80%的情况下会替换为相似词,在10%的情况下会替换为随机词,在10%的情况下则不进行任何替换(负样本)。模型优化1长文本处理2模型蒸馏与压缩3生成模型4197长文本处理Transformer-XLTransformer中处理长文本的传统策略是将文本切分成固定长度的块,并单独编码每个块,块与块之间没有信息交互右图是一个块长度为4的一个示例训练阶段:Transformer分别对第一块中的序列x1、x2、x3、x4与第二块中的序列x5、x6、x7、x8进行建模测试阶段:由于每次处理的最大长度为4,当模型在处理序列x2、x3、x4、x5时,无法构建与历史x1的关系另外,由于需要以滑动窗口的方式处理整个序列,这种方法的效率也非常低198长文本处理Transformer-XLTransformer-XL提出两种改进策略状态复用的块级别循环相对位置编码基于内容的相关度(a)内容相关的位置偏置(b)全局内容偏置(c)全局位置偏置(d)199长文本处理Reformer引入了局部敏感哈希注意力和可逆Transformer技术,有助于减少模型的内存占用,进一步提升了模型对长文本的处理能力问题①:单独计算查询和键的必要性作者通过实验证实,查询和键相同的Transformer与传统的Transformer相比并没有太大的性能差异在Reformer中采用了QK共享的Transformer,减少了注意力机制中的一部分计算问题②:全局注意力计算的必要性通过Softmax函数得到的结果主要取决于数值较大的若干元素,因此并不需要将所有的词都参与到注意力的计算中如果只计算那些与当前查询关联度最高的n个词,就可以极大地降低注意力计算量200长文本处理Reformer通过局部敏感哈希算法(LSH)高效地计算与每个词关联度最高的n个词201长文本处理Reformer局部敏感哈希注意力的计算202长文本处理Longformer模型基于稀疏注意力机制,最大可处理长度扩展至4096三种稀疏注意力模式滑动窗口注意力扩张滑动窗口注意力全局+滑动窗口注意力203长文本处理BigBird模型同样借鉴了稀疏注意力的方法BigBird结合了以下三种不同注意力模式随机注意力:针对每一个词,随机选取r个词参与注意力的计算;滑动窗口注意力:与Longformer相同,即只利用当前词周围的k个词计算注意力;全局注意力:与Longformer基本相同内部Transformer组建模式:从输入序列中选择g个词,使其能够见到所有词,反之亦然。外部Transformer组建模式:在输入序列中插入额外的全局标记,使其能够见到所有词,反之亦然。模型优化1长文本处理2模型蒸馏与压缩3生成模型4205模型蒸馏与压缩预训练模型参数量趋势206模型蒸馏与压缩为什么需要模型压缩与知识蒸馏技术?预训练模型通常需要占用很大的空间,并且训练和推断时间也很慢直接在实际产品或应用中使用预训练模型难以满足时间和空间需求知识蒸馏技术可以在不损失或少量损失性能的情况下,将大模型的知识迁移到小模型,从而提升推断速度知识蒸馏过程:“老师教学生”207模型蒸馏与压缩DistilBERT通用、任务无关的6层BERT相比BERT-base,小40%、快60%、在NLU任务上可达到原模型的97%使用MLM预训练任务进行知识蒸馏(无NSP)训练目标由以下三部分组成由数据集自带的硬标签(hard-labels)计算的有监督MLM损失由教师模型提供的软标签(soft-labels)计算的蒸馏MLM损失教师模型和学生模型隐层输出之间的余弦相似度损失208模型蒸馏与压缩DistilBERT总损失函数有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论