佛山 网站建设 骏域,老版51个人空间找照片,建设网站需要哪些认证,苏州注册网络公司价格同学你好#xff01;本文章于2021年末编写#xff0c;获得广泛的好评#xff01;
故在2022年末对本系列进行填充与更新#xff0c;欢迎大家订阅最新的专栏#xff0c;获取基于Pytorch1.10版本的理论代码(2023版)实现#xff0c;
Pytorch深度学习理论篇(2023版)目录地址…同学你好本文章于2021年末编写获得广泛的好评
故在2022年末对本系列进行填充与更新欢迎大家订阅最新的专栏获取基于Pytorch1.10版本的理论代码(2023版)实现
Pytorch深度学习·理论篇(2023版)目录地址为
CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录本专栏将通过系统的深度学习实例从可解释性的角度对深度学习的原理进行讲解与分析通过将深度学习知识与Pytorch的高效结合帮助各位新入门的读者理解深度学习各个模板之间的关系这些均是在Pytorch上实现的可以有效的结合当前各位研究生的研究方向设计人工智能的各个领域是经过一年时间打磨的精品专栏https://v9999.blog.csdn.net/article/details/127587345欢迎大家订阅(2023版)理论篇 以下为2021版原文~~~~ 1 NLP发展阶段
深度学习在NLP上有两个阶段基础的神经网络阶段
1.1 基础神经网络阶段
1.1.1 卷积神经网络
将语言当作图片数据进行卷积操作。 1.1.2 循环神经网络
按照语言文本的顺序用循环神经网络来学习一段连续文本中的语义。
1.1.3 基于注意力机制的神经网络
是一种类似于卷积思想的网络。它通过矩阵相乘计输入向量与目的输出之间的相似度进而完成语义的理解。
1.2 BERTology阶段
通过运用以上3种基础模型不断地搭建出拟合能力越来越强的模型直到最终出现了BERT模型。
1.2.1 BERT的发展
BERT模型几乎在各种任务上都优于其他模型 最终演变出多种BERT的预训练模型
引入BERT模型中双向上下文信息的广义自回归模型XLNet改进BERT模型训练方式和目标的RoBERTa和SpanBERT模型结合多任务和知识蒸馏强化 BERT 模型的MT-DNN模型
1.2.2 关于BERT模型的疑问
试图探究BERT模型的原理及其在某些任务中表现出众的真正原因。BERT模型在其出现之后的一个时段内 成为NLP任务的主流技术思想。这种思想也称为BERT学。 2 NLP常见的任务
NLP可以细分为自然语言理解(Natural Language Understanding NLU) 与 自然语言生成(Natural Language GenerationNLG) 两种情况。 2.1 基于文章处理的任务
2.1.1 含义
主要是对文章中的全部文本进行处理即文本挖掘。该任务的文章为单位模型会对文章中的全部文本进行处理得到该篇文章的语义。当得到语义之后便可以在模型的输出层按照具体任务输出相应的结果。
2.1.2 基于文章处理任务的细分
序列到类别如文本分类和情感分析。同步序列到序列是指为每个输入位置生成输出如中文分词、命名实体识别和词性标注。异步序列到序列如机器翻译、自动摘要。
2.2 基于句子处理的任务/序列级别任务
主要包括句子分类任务如情感分类)、句子推断任务推断两个句子是否同义及句子生成任务如回答问题、图像描述等。
2.2.1 句子分类任务及相关数据集
句子分类任务常用于评论分类、病句检查等场景常用的数据集如下
SST-2(Stanford Sentiment Treebank)这是一个二分类数据集目的是判断一个句子句子来源于人们对一部电影的评价的情感。CoLA(Corpus of Linguistic Acceptability)这是一个二分类数据集目的是判断一个英文句子的语法是否正确。
2.2.2 句子推断任务及相关数据集
句子推断任务又称基于句子对的分类任务的输入是两个成对的句子其目的是判断两个句子的意思是蕴含、矛盾的还是中立的。常用在智能问答智能客服及多轮对话中。常见数据集如下
MNLI这是GLUEDatasets数据集中的一个数据集是一个大规模的、来源众多的数据集目的是判断两个句子语义之间的关系。QQP(Quora Question Pairs)这是一个二分类数据集目的是判断两个来自Quora的问题句子在语义上是否是等价的。QNLI(Question Natural Language Inference)这也是一个二分类数据集每个样本包含两个句子(一个是问题另一个是答案)。正向样本的答案与问题相对应负向样本则相反。STS-B(Semantic Textual Similarity Benchmark)这是一个类似回归问题的数据集给出一对句子使用15的评分评价两者在语义上的相似程度。MRPC(Microsoft Research Paraphrase Corpus)这是一个二分类数据集句子对来源于对同一条新闻的评论判断这一对句子在语义上是否相同。RTE(Recognizing Textual Entailment)这是一个二分类数据集类似于MNLI数据集但是数据量较少。SWAG(Situations With Adversarial Generations)这是一个问答数据集给一个陈述句子和4个备选句子判断前者与后者中的哪一个最有逻辑的连续性相当于阅读理解问题。
2.2.3 句子生成任务及数据集
句子生成任务属于类别实体对象到序列任务如文本生成、回答问题和图像描述。
典型数据集如下 SQuAD数据集的样本为语句对两个句子)。其中第一个句子是一段来自某百科的文本第二个句子是一个问题问题的答案包含在第一个句子中)。这样的语句对输入模型后要求模型输出一个短句作为问题的答案。 SQuAD2.0它整合了现有的SQuAD数据集中可回答的问题和50000多个由公众编写的难以回答的问题其中那些难以回答的问题与可回答的问题语义相似。它弥补现有数据集中的不足。现有数据集要么只关注可回答的问题要么使用容易识别的自动生成的不可回答的问题作为数据集。 为了在SQuAD2.0数据集中表现得更好模型不仅要在可能的情况下回答问题还要确定什么时候段落的上下文不支持回答。 2.3基于句子中词的处理任务
基于句子中词的处理任务又叫作token级别任务常用于完形填空(Cloze)、预测句子中某个位置的单词或实体词、对句子中的词性进行标注等。
2.3.1 token级别任务与BERT模型
token级别任务也属于BERT模型预训练的任务之一即完形填空根据句子中的上下文token推测出当前位置应当是什么token。
BERT模型预训练时使用了遮蔽语言模型Masked Language ModelMLM)。该模型可以直接用于解决token级别任务即在预训练时将句子中的部分token用[masked]这个特殊的token进行替换将部分单词遮掩住。该模型的输出就是预测[masked]对应位置的单词。这种训练的好处是不需要人工标注的数据只需要通过合适的方法对现有语料库中的句子进行随机的遮掩即可得到可以用来训练的语料训练好的模型就可以直接使用。
2.3.2 token级别任务与序列级别任务
在某种情况下序列级别任务也可以拆分成token级别任务来处理。
SQuAD数据集是一个基于句子处理的生成式数据集。这个数据集的特殊性在于最终的答案包含在样本的内容之中是有范围的而且是连续分布在内容之中的。
2.3.3 实体词识别任务及常用模型
实体词识别(Named Entity RecognitionNER)任务也称为实体识别、实体分块或实体提取任务。它是信息提取的一个子任务旨在定位文本中的命名实体并将命名实体进行分类如人员、组织、位置、时间表达式、数量、货币值、百分比等。
本质对句子中的每个token标注标签然后判断每个token的类别可以用于快速评估简历、优化搜索引擎算法、优化推荐系统算法等。
常见的实体词识别模型包括
SpaCy模型是一个基于Python的命名实体识别统计系统它可以将标签分配给连续的令牌组。SpaCy模型提供了一组默认的实体类别这些类别包括各种命名或数字实体如公司名称、位置、组织、产品名称等。这些默认的实体类别还可以通过训练的方式进行更新。Stanford NER模型是一个命名实体Recognizer用Java实现。它提供了一个默认的实体类别如组织、人员和位置等可支持多种语言。