阅读本文后,您将了解:对自然语言处理领域影响最为深远的神经网络结构;制定不同层次的学习任务;密集词汇表征和学习表征方法的重要性。开始吧。概述本文将分为12个部分,安排如下:引言;神经网络架构;特征表示;前馈神经网络;词嵌入;神经网络训练;预测;卷积层;循环神经网络;具体的RNN结构;模型树。1.关于本文本文的标题是“APrimeronNeuralNetworkModelsforNaturalLanguageProcessing”。对应的论文发表在2015年的ArXiv上,与其说是论文,不如说是技术报告或者教程。它面向研究人员和学生,全面介绍了基于深度学习方法的自然语言处理(NLP)。本教程考察了几种用于自然语言处理研究的深度学习模型,希望自然语言研究能够加速神经网络技术的发展。入门教程由YoavGoldberg(https://www.cs.bgu.ac.il/~yoavg/uni/)编写,他是前GoogleResearch科学家和NLP研究员。这是一份技术报告,有大约62页和13页的参考文献。这是一本适合初学者的理想教科书,因为:它对读者的基础水平要求不高,不需要机器学习和语言处理方面的先验知识;它涵盖了广泛的领域,包括许多深度学习方法和自然语言处理问题。在本教程中,我希望为NLP开发人员和新手介绍一些基本的背景知识、术语、实用工具和方法论,从而理解神经网络模型背后的理论并将其应用到自己的工作中......Forthebestare那些有兴趣采用现有的、有价值的技术并发明新方法来解决他们最感兴趣的NLP问题的人。通常,在语言学和自然语言处理中,关键的深度学习方法需要翻转(重命名)以建立有用的沟通桥梁.***,这个2015年的入门教程发表于2017年,标题为“自然语言处理的神经网络方法(http://amzn.to/2tXn2dZ)”。2.神经网络结构本节将介绍不同类型的神经网络结构,作为后面章节的参考。全连接前馈神经网络是非线性学习器,因此可以在很大程度上随意替换线性学习器。这里介绍四种神经网络结构,重点介绍它们的应用案例和参考:全连接前馈神经网络,如多层感知器网络;具有卷积和池化层的网络,例如卷积神经网络;循环神经网络,例如长短期记忆网络;递归神经网络。如果您只对应用程序感兴趣,以上内容将直接引导您获取更多资源。3.特征表示本节重点介绍用于训练深度学习模型的稀疏或密集表示的各种方法。或许,从稀疏输入的线性模型到神经网络模型最大的飞跃就是放弃了将每个特征表示为一个维度(所谓的one-hotrepresentation),而采用密集向量表示的方式。NLP分类系统的一般结构概括如下:提取一组核心语言特征;为每个向量检索关联的向量;结合特征向量;将组合向量提供给非线性分类器。这种结构的关键是使用密集特征向量代替稀疏特征向量,使用核心特征代替特征组合。需要注意的是,在特征提取阶段,神经网络只提取核心特征。这不同于传统的基于线性模型的NLP,后者必须手动设置特征设计以明确指定核心特征及其交互。4.前馈神经网络本节将提供前馈人工神经网络的速成课程。以《APrimeronNeuralNetworkModelsforNaturalLanguageProcessing》中具有两个隐藏层的前馈神经网络为例。这些神经网络使用数学概念和受大脑启发的形式表示。神经网络中的常见研究主题包括:表示能力(例如一般近似);一般非线性特征(例如变换函数);输出转换(例如softmax);词汇嵌入(例如嵌入式学习的密集表示);损失函数(例如折叠叶(ReLU)和对数损失函数)。5.词嵌入词嵌入表示是神经网络自然语言处理方法的一个重要课题。本节将展开这个主题并给出一些关键方法的示例。神经网络在NLP中流行的一个重要原因是使用了嵌入方法,它将每个特征表示为低维空间中的向量。我们将回顾以下关于嵌入的主题:随机初始化(例如从一个统一的随机向量开始);有监督的特定任务预训练(例如迁移学习);无监督预训练(例如word2vec和GloVe等统计方法);训练目标(例如目标对输出向量的影响);上下文的选择(例如,每个词都受周围词的影响)。神经词嵌入方法源自语言建模方法,即训练网络从上述序列预测下一个词。6.神经网络训练部分比较大,重点介绍神经网络的训练方法,适合不熟悉神经网络范式的读者。神经网络的训练是试图通过梯度方法使训练数据集中的损失函数最小化的过程。本节重点介绍训练期间的随机梯度下降(和类似的小批量)和正则化方法。有趣的是,神经网络计算图的思想为一些实现深度学习模型的符号数值库提供了一个很好的起点,例如Theano和TensorFlow。只要建立图,就可以很直观的理解正向计算(计算输出结果)或方向计算(计算梯度)。7.级联和多任务学习本节将在上一节的基础上,总结级联NLP模型和多语言任务的学习模型。级联模型:使用神经网络模型的计算图定义来添加中间表示(编码)以创建更复杂的模型。例如,我们可以构建一个前馈网络来根据它们的邻居和/或它们的组成特征来预测单词。多任务学习:各种相关的语言预测任务之间并不相互反馈,而是在任务之间共享信息。预测命名实体的边界,以及句子的下一个词,依赖于一些潜在的句法语义表示。这些高级概念都是在神经网络的上下文中描述的,以建立对模型之间关联的理解,或者在训练过程(错误反向传播)和预测过程中共享信息。8.结构化输出的预测本节重点介绍几个使用深度学习方法进行结构化预测的NLP任务示例,例如序列、决策树和计算图。典型的例子是用于序列标记(例如词性标记)的序列分割(分组,NER(命名实体识别))和句法分析。本节涵盖基于贪婪算法和以搜索为中心的结构化预测,重点是后者。以搜索为核心是自然语言结构化预测的一种通用方法。9.卷积层本节提供卷积神经网络的速成课程,并讨论卷积网络如何彻底改变自然语言处理研究。CNN已被证明在自然语言处理中的分类任务上表现良好,例如情感分析,例如在文本中寻找特定的子序列或结构进行预测。卷积神经网络通常设计用于识别大型结构中的指示性局部预测因子,并将它们组合起来以生成结构的固定大小向量表示。捕获这些局部方面对于预测任务很有用。10.RecurrentNeuralNetworks与上一节一样,本节还将介绍一个具体的网络及其在NLP中的应用。例如,使用RNN的序列建模。递归神经网络允许将任意大小的结构化输入表示为固定大小的向量,并且只关心输入的结构化性质。由于RNN在NLP中的流行,尤其是LSTM,本节讨论以下循环主题和模型:RNN抽象(例如网络图中的循环连接);RNN训练过程(例如前向传播);多层(堆叠)RNN(例如深度学习的“深度”解释);BI-RNN(例如正向和反向序列作为输入);用于表示的RNN堆栈。我们将重点关注RNN模型结构或结构元素,特别是:acceptor:完整输入序列后输出的损失计算;encoder:***的向量作为输入序列的encoder;Transducer:在输入序列中,每一次观察都会产生一个输出;编码器-解码器:输入序列在解码为输出序列之前被编码为固定长度的向量。11.具体的RNN结构本节将在上一节的基础上讨论具体的RNN算法。例如:简单循环神经网络(SRNN);长短期记忆(LSTM);门控循环单元(GRU)。12.模型建模部分***重点介绍了一个更复杂的网络,即用于学习树建模的递归神经网络。所谓的树包括句法树、语篇树,甚至还有代表情绪的树(用句子的一部分来表达)。我们要预测特定树节点上的值,值预测是基于根节点,或者为整棵树或树的一部分指定一个预测值。正如循环神经网络维护输入序列的状态一样,循环神经网络维护树节点的状态。这是一个递归神经网络的示例,摘自“自然语言处理神经网络模型入门”。总结本文介绍了用于自然语言处理的深度学习方法。具体来说,你学习了:自然语言处理领域最重要的神经网络结构;成功应用深度学习的几种自然语言处理任务;密集词表示和相应学习方法的重要性。原文:https://machinelearningmastery.com/primer-neural-network-models-natural-language-processing/【本文为专栏组织《机器之心》原文翻译,微信公众号《机器之心》(id:almosthuman2014)”]点此阅读作者更多好文
