论文阅读:NaturalLanguageProcessingAdvancementsByD。。。

论⽂阅读:NaturalLanguageProcessingAdvancementsByD。。。
⽂章⽬录
转载⾃:
论⽂链接:
⼀、介绍
⾃然语⾔处理(NLP)是计算机科学的⼀个分⽀,它可以帮助机器理解、处理和分析⼈类语⾔。NLP⽅法的开发越来越依赖于数据驱动的⽅法,这些⽅法有助于构建更强⼤、更健壮的模型。计算能⼒的最新发展以及⼤数据更⼤的可⽤性使深度学习成为NLP领域中最吸引⼈的⽅法之⼀。
作为利⽤深度学习⽅法在相邻学科中取得显著进步的重要提⽰,深度神经⽹络已应⽤于各种NLP任务,包括词性标注,命名实体识别和语义⾓⾊标注。与NLP应⽤相关的深度学习中的⼤多数研究⼯作都涉及有监督的学习或⽆监督的学习。
该综述涵盖了深度学习在NLP领域中所扮演的新⾓⾊以及各种应⽤。我们提出的研究主要集中在架构上,很少讨论具体的应⽤程序。另⼀⽅⾯,本⽂介绍了将深度学习应⽤于NLP问题的挑战、机遇和评估。
⼆、背景
邮购目录1.⼈⼯智能和深度学习
温州医学院王静门
AI的⽬标是将信息技术(IT)的功能从以下功能扩展到⽣成、通信和存储数据;以及将数据处理为决策者和其他⼈所需的知识。原因之⼀是可⽤数据量迅速增加,以⾄于⼈们现在⽆法处理所有可⽤数据。这留下了两个选择:必须忽略甚⾄⼤部分现有数据,或者必须开发AI以将⼤量可⽤数据处理为决策者和其他⼈可以理解的基本信息。深度学习是海量数据与AI之间的桥梁。
深度学习是指将深度神经⽹络应⽤于⼤量数据,通过学习来处理任务的过程。任务的范围从简单分类到复杂推理。在不同的研究领域,例如在采⽤循环神经⽹络(RNN),卷积神经⽹络(CNN)以及最近的循环神经⽹络的NLP应⽤中,已经开发了许多深度学习架构。简述如下:
(1)多层感知机
多层感知器(MLP)⾄少具有三层(输⼊层、隐藏层和输出层)。⼀层只是神经元的集合,这些神经元⽤于将信息从上⼀层转换到下⼀层。在MLP体系结构中,⼀层中的神经元彼此不通信。 MLP采⽤⾮线性激活函数。⼀层中的每个节点都连接到下⼀层中的所有节点,从⽽创建了⼀个完全连接的⽹络。 MLPs最简单的前馈神经⽹络(FNNs)类型。 FNNs代表神经⽹络的⼀般类别,其中节点之间的连接不创建任何循环,即在FNN中没有信息流的循环。
(2)卷积神经⽹络
卷积神经⽹络(CNNs)的结构受⼈类视觉⽪层启发,是前馈神经⽹络的⼦类。 CNNs以基本数学运算卷积命名。卷积神经⽹络通常需要⽤2D或3D数据图表⽰数据的情况。在数据映射表⽰中,数据点的接近度通常对应于它们的信息相关性。
在输⼊是图像的卷积神经⽹络中,数据图表明图像像素与它们的相邻像素⾼度相关。因此,卷积层具有3个维度:宽度、⾼度和深度。CNN 将图像表⽰为数值数组。执⾏特定的数学运算后,它将在新的输出空间中表⽰图像。此操作也称为特征提取,有助于捕获和表⽰关键图像内容。提取的特征可⽤于
进⼀步分析,以完成不同的任务。例如图像分类。
在将CNN⽤于NLP的情况下,输⼊是表⽰为矩阵的句⼦或⽂档。矩阵的每⼀⾏都与语⾔元素(例如单词或字符)相关联。⼤多数CNN架构在其训练阶段都学习单词或句⼦的表⽰形式。各种分类任务中使⽤了各种CNN架构,例如情感分析和主题分类。 CNN也⽤于关系提取和关系分类。
(3)循环神经⽹络
如果我们排列⼀系列前馈神经⽹络(FNN),并将每个FNN的输出作为输⼊提供给下⼀个,则将构建循环神经⽹络(RNN)。像FNNs⼀样,RNN中的图层可以分为输⼊、隐藏和输出图层。在离散的时间范围内,输⼊向量的序列作为输⼊被馈送,⼀次输⼊⼀个向量。例如,在输⼊每批向量,进⾏⼀些操作并更新⽹络权重之后,下⼀批输⼊将被馈送到⽹络。因此,我们在每个时间步进⾏预测,并使⽤当前隐藏层的参数作为下⼀个时间步的输⼊。
循环神经⽹络中的隐藏层可以承载过去的信息,换句话说,就是记忆。此特性使它们特别适⽤于处理⼀系列输⼊的应⽤程序,例如语⾔建模,即以机器可以理解的⽅式表⽰语⾔。RNNs可以承载过去的丰富信息。捕获这种依赖性是RNNs的优势之⼀,其中RNNs中的隐藏层充当存储单元。长期短期记忆⽹络(LSTM)是RNN最⼴泛使⽤的类别之⼀。 LSTMs试图捕获来⾃不同时间步长的输⼊之间的长时间依赖关系。现代机器翻译和语⾳识别通常依赖于LSTMs。
联合早报电子版
(4)⾃编码器
⾃编码器在深度学习中实现了⽆监督⽅法。它们被⼴泛⽤于降维或NLP应⽤中,这些应⽤包括序列到序列的建模。由于⾃编码器是⽆监督的,因此没有与每个输⼊相对应的标签。他们旨在学习每个输⼊的代码表⽰形式。编码器就像前馈神经⽹络,其中输⼊被编码为向量(代码)。解码器的操作类似于编码器,但是相反,即基于编码的输⼊构造输出。在数据压缩应⽤程序中,我们希望创建的输出尽可能接近原始输⼊。⾃编码器是有损耗的,这意味着输出是输⼊的近似重建。
(5)⽣成对抗⽹络
⽣成对抗⽹络(GAN)是两个神经⽹络(判别器和⽣成器)的组合。整个⽹络以迭代过程进⾏训练。⾸先,⽣成器⽹络⽣成假样本。然后,判别器⽹络试图确定该样本(例如,输⼊图像)是真实的还是假的,即,它是否来⾃真实的训练数据(⽤于建⽴模型的数据)。⽣成器的⽬标是以使判别器认为由⽣成器合成的⼈⼯(即⽣成的)样本是真实的⽅式来欺骗判别器。
这个迭代过程⼀直持续到⽣成器⽣成由判别器⽆法区分的样本为⽌。⽣成模型的⽬标是在判别器试图识别伪造数据的同时捕获真实数据的分布。 GAN的有趣特征之⼀(关于⽣成)是:⼀旦训练阶段完成,就不需要判别⽹络,因此我们只能与⽣成⽹络⼀起⼯作。换句话说,访问经过训练的⽣成模型就⾜够了。
已经引⼊了不同形式的GAN,例如Sim GAN,Wasserstein GAN,info GAN和DC GAN 。在最优雅的GAN实施⽅式之⼀中,⽣成了完全⼈⼯的但⼏乎完美的名⼈⾯孔。这些图⽚不是真实的,⽽是⽹络制作的假照⽚。在NLP域中,GAN通常⽤于⽣成⽂本。
2.NLP中深度学习的动机
深度学习应⽤基于特征表⽰和深度学习算法以及架构的选择。这些分别与数据表⽰和学习结构相关联。
令⼈惊讶的是,对于数据表⽰,通常认为哪些信息对⼿头的任务很重要与哪种表⽰实际产⽣良好的结果之间存在脱节。例如,在情感分析中,某些语⾔学家认为词典语义、句法结构和上下⽂具有最重要的意义。尽管如此,以前基于词袋模型的研究显⽰了可接受的性能。词袋模型,通常被视为向量空间模型,涉及仅表⽰单词及其出现频率的表⽰形式。 BoW忽略单词的顺序和交互,并将每个单词视为唯⼀特征。 BoW忽略了语法结构,但为某些⼈认为依赖语法的应⽤程序提供了不错的结果。该观察结果表明,简单的表⽰形式与⼤量数据结合使⽤可能⽐更复杂的表⽰形式效果更好或更好。这些发现证实了⽀持深度学习算法和架构重要性的观点。
NLP的进步通常与有效的语⾔建模息息相关。统计语⾔建模的⽬标是语⾔中单词序列的概率表⽰,由于维数灾难,这是⼀项复杂的任务。通过学习单词的分布式表⽰和提供序列的概率函数来克服维数灾难。
与其他领域(例如,计算机视觉)相⽐,NLP研究的主要挑战似乎是使⽤统计模型实现语⾔的深⼊表⽰的复杂性。 NLP应⽤程序的主要任务是提供⽂本表⽰,例如⽂档。这涉及特征学习,即,提取有意义的信息以使得能够进⼀步处理和分析原始数据。
传统⽅法⾸先是通过对特定应⽤程序进⾏仔细的⼈⼯分析来进⾏费时的⼿⼯制作功能,然后是开发算法以提取和利⽤这些功能的实例。另⼀⽅⾯,深度监督的特征学习⽅法是⾼度数据驱动的,可⽤于旨在提供可靠数据表⽰的更⼀般性的⼯作中。
由于⼤量未标记的数据,⽆监督的特征学习被认为是NLP中的关键任务。本质上,⽆监督特征学习是从未标记的数据中学习特征,以提供⾼维数据空间的低维表⽰。为此,已提出并成功实施了⼏种⽅法,例如K均值聚类和主成分分析。随着深度学习和⼤量未标记数据的到来,⽆监督特征学习已成为表⽰学习(NLP应⽤的先驱)的关键任务。当前,⼤多数NLP任务都依赖于带注释的数据,⽽⼤量的⽆注释数据进⼀步推动了利⽤深度数据驱动的⽆监督⽅法的研究。
鉴于深度学习⽅法在NLP应⽤程序中的潜在优势,对各种深度学习⽅法和体系结构进⾏全⾯分析,尤其是对NLP应⽤程序的关注似乎⾄关重要。
三、NLP领域的核⼼概念
1.特征表⽰
分布式表⽰形式是⼀系列紧凑的、低维的数据表⽰形式,每个表⽰形式都具有⼀些独特的信息属性。对于NLP系统,学习单词表⽰是很重要的。编码的输⼊特征可以是字符、单词、句⼦或其他语⾔元素。通常,与稀疏单词相⽐,更希望提供单词的紧凑表⽰。
如何选择⽂本表⽰的结构和级别曾经是⼀个尚未解决的问题。在提出了word2vec⽅法之后,提出了doc2vec作为⼀种⽆监督算法,被称为Paragraph Vector(PV)。 PV的⽬标是从可变长度的⽂本部分
(例如句⼦和⽂档)中学习定长表⽰形式。 doc2vec的主要⽬标之⼀是克服诸如BoW之类的模型的缺点,并为诸如⽂本分类和情感分析之类的应⽤程序提供有希望的结果。⼀种更新的⽅法是跳跃思维模型,该模型在句⼦级别应⽤word2vec 。通过利⽤编码器-解码器体系结构,该模型使⽤给定的句⼦⽣成周围的句⼦(下图)。
接下来,让我们研究各种特征表⽰。
(1)one-hot 编码
全能教教主在one-hot编码中,需要表⽰的每个唯⼀元素都有其对应的维度,这导致了⾮常⾼的维度,⾮常稀疏的表⽰。假设⽤one-hot编码⽅法表⽰单词,特征空间中不同单词之间没有有意义的联系。例如,与诸如“海洋”和“⽕”等不那么相关的词对相⽐,“海洋”和“⽔”等⾼度相关的词不会彼此靠近(在表⽰空间中)。然⽽,⼀些研究⼯作使⽤one-hot编码提出了有意义的结果。
(2)连续词袋(CBOW)
连续词袋模型(CBOW)在NLP应⽤程序中经常使⽤。 CBOW在给定其上下⽂(通常为⼏个附近的单词)的情况下尝试预测⼀个单词。CBOW既不依赖于单词的顺序也不依赖于概率特征。因此,它通常不⽤于语⾔建模。通常对该模型进⾏训练,以⽤作更复杂任务的预训练模型。 CBOW的替代⽅法是加权CBOW(WCBOW),其中不同的向量获得不同的权重,反映了上下⽂中的相对重要性。最简单的⽰例可以是⽂档分类,其中特征是单词,权重是相关单词的TF-IDF分数。
(3)词级嵌⼊
铝合金牺牲阳极词嵌⼊是上下⽂元素的⼀种学习表⽰,理想情况下,具有相关语义的单词在表⽰空间中⾼度相关。词嵌⼊表⽰背后的主要诱因之⼀是⾼泛化能⼒,⽽不是稀疏的⾼维表⽰。与传统的词袋模型不同,在传统的词袋模型中,不同的词具有完全不同的表⽰⽅式,⽽不论它们的使⽤或搭配如何,学习分布式表⽰都利⽤上下⽂中的词的⽤法,为语义相关的词提供相似的表⽰。创建词嵌⼊的⽅法有很多,⼀些研究⼯作通过对随机数进⾏均匀采样来使⽤随机初始化,⽬的是在⼤型数据集上训练模型的有效表⽰。这种设置在直观上是可接受的,可⽤于初始化诸如词性标签之类的常见功能。但是,这可能不是表⽰频率较低的特征(例如单个单词)的最佳⽅法。对于后者,通常利⽤以有监督或⽆监督的⽅式进⾏训练的预训练模型来提⾼性能。
(4)字符级嵌⼊
前⾯提到的⽅法⼤多处于较⾼的表⽰⽔平。低级表⽰(例如字符级表⽰)也需要特别注意,因为它们的表⽰简单并且具有纠正异常字符组合(例如拼写错误)的潜⼒。已经成功利⽤了CNN来⽣成字符级别嵌⼊。
字符级嵌⼊已在不同的NLP应⽤程序中使⽤。主要优点之⼀是能够使⽤较⼩的模型⼤⼩并使⽤较低级别的语⾔元素来表⽰单词。这⾥的词嵌⼊是在字符上利⽤CNN的模型。采⽤字符级嵌⼊的另⼀个动机是词汇外词(OOV)问题,通常在给定单词的词嵌⼊中没有等效向量时会遇到这种问题。字符级⽅法可以⼤⼤缓解此问题。但是,这种⽅法在字符与语⾔的语义和句法部分之间的相关性较弱。因此,考虑到上述利⽤字符级嵌⼊的利弊,⼀些研究⼯作试图提出并实现更⾼级别的⽅法,例如使⽤⼦词为OOV实例创建词嵌⼊以及在相关词之间创建语义桥。
2.Seq2Seq框架
NLP应⽤程序中的⼤多数基础框架都依赖于序列到序列(seq2seq)模型,在该模型中,不仅输⼊⽽且将输出表⽰为序列。这些模型在各种应⽤中都很常见,包括机器翻译、⽂本摘要、语⾳到⽂本和⽂本到语⾳应⽤。
最常见的seq2seq框架由编码器和解码器组成。编码器提取输⼊数据的序列,并⽣成⼀个中级输出,随后由解码器消耗,以产⽣⼀系列最终输出。编码器和解码器通常通过⼀系列递归神经⽹络或 LSTM
单元实现。
编码器采⽤长度为T的序列,X = {x1,x2,···,xT},其中xt∈V = {1,···,| V |}是来⾃词汇表的单个输⼊的表⽰V,然后⽣成输出状态ht。随后,解码器从编码器获取最后⼀个状态,即ht,并根据其当前状态st和真实输出yt,开始⽣成⼤⼩为L的输出,Y’=
{y’1,y’ 2,…,y’ L}。在不同的应⽤中,解码器可以利⽤更多信息(例如上下⽂向量或⾃注意⼒向量)来⽣成更好的输出。
seq2seq模型最⼴泛的训练⽅法之⼀是Teacher Forcing 。让我们将y = {y1,y2,···,yL}定义为与给定输⼊序列X对应的真实输出序列。模型训练基于最⼤似然函数准则,采⽤向下交叉熵(CE)损失最⼩化:
其中θ是训练期间优化的模型参数。
使⽤交叉熵损失对模型进⾏优化后,即可⽣成如下完整序列。令 y^t表⽰模型在时间t处⽣成的输出。然后,通过下式⽣成下⼀个输出:
在NLP应⽤中,可以通过使⽤集束搜索来到合理的良好输出序列来提⾼输出。在集束搜索过程中,我们没有在每个步骤中选择前K个输出,也不是使⽤argmax来选择最佳输出,⽽是为输出序列⽣成了K条不同的路径,最后选择了性能更好的输出作为最终输出。最近有⼀些研究通过在模型训练过程中加⼊类似的机制来改善集束搜索,这些研究超出了本⽂的范围。
给定⼀系列真实输出Y和⽣成的模型输出ˆY,使⽤任务特定的度量(例如ROUGE,BLEU 和METEOR)评估模型性能。例如,ROUGEL是NLP任务中的评估指标,它使⽤真实输出 Y和模型输出Y^之间的最⼤公共⼦串来评估⽣成的输出。
3.NLP中的强化学习
尽管上节解释的seq2seq模型取得了巨⼤的成功,但如何训练这些模型存在⼀些问题。⼀般来说,seq2seq模型(如在NLP应⽤中使⽤的模型)⾯临两个问题:(1)曝光偏差和(2)训练时间与测试时间测量之间的不⼀致。
⼤多数流⾏的seq2seq模型都通过Teacher Forcing将交叉熵损失最⼩化作为其优化⽬标。在Teacher Forcing中,在模型训练期间,解码器利⽤两个输⼊,即前⼀个解码器的输出状态st-1和真实输⼊yt,
来确定其当前的输出状态st。此外,它使⽤它们来创建下⼀个token,即y^t。但是,在测试时,解码器完全依赖于模型分布中先前创建的token。由于没有真实数据,因此需要采取这⼀步骤来预测下⼀个动作。此后,在训练中,解码器输⼊来⾃ground-truth,⽽在测试阶段,它依赖于先前的预测。
曝光误差在测试阶段通过输出创建引起误差增长。解决此问题的⼀种⽅法是通过仅依靠模型分布来最⼤程度地减少交叉熵损失,从⽽消除训练中对ground-truth的依赖性。计划采样是处理这种问题的⼀种流⾏⽅法。在安排采样期间,我们⾸先查看使⽤交叉熵损失对模型进⾏预训练,然后⽤模型⽣成的样本缓慢替换ground-truth。
seq2seq模型的第⼆个障碍是,当使⽤交叉熵损失完成训练时,通常使⽤诸如ROUGE或METEOR之类的不可微分的度量进⾏评估。这将在训练⽬标和测试评估指标之间形成不⼀致。最近,已经证明可以通过利⽤强化学习的技术来解决这两个问题。
在⼤多数强化学习的著名模型中,策略梯度技术(例如REINFORCE算法)和基于演员-评论家(actor-critic)的模型(例如value-based iteration和Q-learning),是NLP深度学习中最常⽤的技术之⼀。
Daume等⼈最初提出在训练时使⽤模型预测(相对于ground-truth)进⾏序列建模和⽣成。根据他们的⽅法,SEARN,可以将结构化预测表征为以下强化学习案例之⼀:该模型利⽤其预测来⽣成动作序
中学语文教学参考
列(单词序列)。然后,在每个时间步长,使⽤贪婪搜索算法来学习最佳操作,并且将训练该策略以预测该特定操作。

本文发布于:2024-09-20 22:37:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/602006.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学习   模型   数据   输出
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议