自然语言处理神经网络模型入门概述

yizhihongxing

深度学习对自然语言处理领域产生了巨大影响。

但是,作为初学者,您从哪里开始?

深度学习和自然语言处理都是一个巨大的领域。每个领域需要关注的突出方面是什么,深度学习对NLP的哪些领域影响最大?

在这篇文章中,您将发现有关自然语言处理深度学习相关的入门知识。

阅读这篇文章后,您将知道:

  • 对自然语言处理领域影响最大的神经网络架构。
  • 可以通过深度学习成功解决的自然语言处理任务的广泛视图。
  • 密集单词表示的重要性以及可用于学习它们的方法。

概述

这篇文章分为 11 个部分,它们是:

  1. 神经网络架构
  2. 特征表示
  3. 前馈神经网络
  4. 词嵌入
  5. 神经网络训练
  6. 级联和多任务学习
  7. 结构化输出预测
  8. 卷积层
  9. 递归神经网络
  10. 具体的循环神经网络架构
  11. 建模树

神经网络架构

本节主要介绍不同类型的神经网络架构,并在后面的章节中交叉引用。

全连接前馈神经网络是非线性学习器,在大多数情况下,可以在使用线性学习器的地方用作直接替代品。

总共涵盖了 4 种类型的神经网络架构,重点介绍了每种类型的应用示例和参考:

  • 完全连接的前馈神经网络,例如多层感知器网络。
  • 具有卷积层和池化层的网络,例如卷积神经网络。
  • 递归神经网络,例如长短期记忆网络。
  • 递归神经网络。

如果您只对特定网络类型的应用程序感兴趣并希望直接转到源论文,本节提供了一个很好的来源。

特征表示

本节重点介绍如何使用从稀疏表示过渡到密集表示,这些表示又可以与深度学习模型一起训练。

从稀疏输入线性模型转向基于神经网络的模型时,最大的跳跃可能是停止将每个特征表示为唯一维度(所谓的独热表示),而是将它们表示为密集向量。

介绍了NLP分类系统的总体结构,总结为:

  1. 提取一组核心语言特征。
  2. 检索每个向量的相应向量。
  3. 组合特征向量。
  4. 将组合向量馈送到非线性分类器中。

该公式的关键是密集而不是稀疏的特征向量以及使用核心特征而不是特征组合。

请注意,神经网络设置中的特征提取阶段仅处理核心特征的提取。这与传统的基于线性模型的NLP系统形成鲜明对比,在传统的基于线性模型的NLP系统中,特征设计者不仅必须手动指定感兴趣的核心特征,还必须手动指定它们之间的交互。

前馈神经网络

本节提供前馈人工神经网络的速成教程。

自然语言处理神经网络模型入门概述

网络既使用受大脑启发的隐喻,也使用数学符号来呈现。涵盖了常见的神经网络主题,例如:

  • 表示能力(例如通用近似)。
  • 常见非线性(例如传递函数)。
  • 输出转换(例如软最大值)。
  • 词嵌入(例如内置的学习密集表示)。
  • 损失函数(例如铰链和对数损失)。

词嵌入

词嵌入表示的主题是自然语言处理中神经网络方法的关键。本节扩展该主题并枚举关键方法。

神经网络方法的一个主要组成部分是嵌入的使用——将每个特征表示为低维空间中的向量。

回顾了以下词嵌入主题:

  • 随机初始化(例如,从均匀的随机向量开始)。
  • 监督特定任务的预训练(例如迁移学习)。
  • 无监督预训练(例如 word2vec 和 GloVe 等统计方法)。
  • 训练目标(例如,目标对结果向量的影响)。
  • 上下文的选择(例如,单词对每个单词的影响)。

神经词嵌入起源于语言建模的世界,其中网络被训练为根据前面的单词序列预测下一个单词

神经网络训练

这个较长的部分重点介绍如何训练神经网络,是为那些刚接触神经网络范式的人编写的。

神经网络训练是通过尝试使用基于梯度的方法最小化训练集上的损失函数来完成的。

本节重点介绍随机梯度下降(以及像小批量这样的朋友)以及训练期间的重要主题,如正则化。

有趣的是,介绍了神经网络的计算图视角,为Theano和TensorFlow等符号数字库提供了入门,它们是实现深度学习模型的流行基础。

构建图形后,可以直接运行前向计算(计算计算结果)或反向计算(计算梯度)

级联和多任务学习

本节在上一节的基础上,总结了级联 NLP 模型和跨多种语言任务学习模型的工作。

模型级联:利用神经网络模型的计算图定义来利用中间表示(编码)来开发更复杂的模型。

例如,我们可能有一个前馈网络,用于根据相邻的单词和/或组成单词的字符来预测单词的词性。

多任务学习:存在相关的自然语言预测任务,这些任务不会相互馈送,但可以在任务之间共享信息。

用于预测块边界、命名实体边界和句子中下一个单词的信息都依赖于一些共享的基础句法语义表示

这两个高级概念都是在神经网络的上下文中描述的,这些神经网络允许在训练(错误的反向传播)和进行预测期间模型或信息之间的连接。

结构化输出预测

本节涉及自然语言任务的示例,其中深度学习方法用于进行结构化预测,例如序列、树和图形。

规范的例子是序列标记(例如.part语音标记)、序列分割(分块、NER)和句法解析。

本节介绍贪婪和基于搜索的结构化预测,重点是后者。

预测自然语言结构的常用方法是基于搜索。

卷积层

本节提供卷积神经网络 (CNN) 及其对自然语言影响的速成课程。

值得注意的是,CNN已被证明对于情感分析等分类NLP任务非常有效,例如学习在文本中寻找特定的子序列或结构以进行预测。

卷积神经网络旨在识别大型结构中的指示性局部预测因子,并将它们组合以生成结构的固定大小的向量表示,从而捕获这些对于手头的预测任务最有用的局部方面。

递归神经网络

与上一节一样,本节重点介绍特定类型网络的使用及其在 NLP 中的作用和应用。在这种情况下,循环神经网络(RNN)用于对序列进行建模。

递归神经网络 (RNN) 允许在固定大小的向量中表示任意大小的结构化输入,同时注意输入的结构化属性。

鉴于RNN的流行,特别是NLP中的长短期记忆(LSTM),这个更大的部分通过各种反复出现的主题和模型,包括:

  • RNN 抽象(例如网络图中的循环连接)。
  • RNN 训练(例如随时间反向传播)。
  • 多层(堆叠)RNN(例如深度学习的“深度”部分)。
  • BI-RNN(例如,提供向前和向后的序列作为输入)。
  • 用于表示堆栈的 RNN

时间花在 RNN 模型架构或架构元素上,具体来说:

  • 受体:完成输入序列后在输出上计算的损耗。
  • 编码器:最终向量用作输入序列的编码。
  • 传感器:为输入序列中的每个观测值创建一个输出。
  • 编码器-解码器:输入序列在解码为输出序列之前被编码为固定长度的矢量。

具体的循环神经网络架构

本节通过介绍特定的 RNN 算法在上一节的基础上进行构建。

具体涵盖的是:

  • Simple RNN (SRNN)。
  • 长短期记忆(LSTM)。
  • 门控循环单元 (GRU)。

树建模

最后一部分重点介绍一种更复杂的网络类型,称为递归神经网络,用于学习模型树。

树可以是句法树、话语树,甚至是代表句子各个部分所表达的情感的树。我们可能希望根据特定的树节点预测值,根据根节点预测值,或者为整个树或树的一部分分配质量分数。

当递归神经网络保持有关输入序列的状态时,递归神经网络维护有关树中节点的状态。

自然语言处理神经网络模型入门概述

总结

在这篇文章中,你发现了一本关于自然语言处理深度学习的入门书。

具体而言,您了解到:

对自然语言处理领域影响最大的神经网络架构。
自然语言处理任务的广泛视图,可以通过深度学习成功解决。
密集单词表示的重要性以及可用于学习它们的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:自然语言处理神经网络模型入门概述 - Python技术站

(0)
上一篇 2023年2月12日 下午8:42
下一篇 2023年2月12日 下午9:16

相关文章

  • 利用Theano理解深度学习——Multilayer Perceptron

    1、MLP概述 对于含有单个隐含层的多层感知机(single-hidden-layer Multi-Layer Perceptron, MLP),可以将其看成是一个特殊的Logistic回归分类器,这个特殊的Logistic回归分类器首先通过一个非线性变换Φ(non-linear transformation)对样本的输入进行非线性变换,然后将变换后的值作为…

    深度学习 2023年4月12日
    00
  • 终于搞懂了Keras中multiloss的对应关系介绍

    下面是关于“终于搞懂了Keras中multiloss的对应关系介绍”的完整攻略。 Keras中multiloss的对应关系介绍 在Keras中,我们可以使用多个损失函数来训练模型。这种多损失函数的训练方式被称为multiloss。在这个示例中,我们将介绍Keras中multiloss的对应关系。 示例1:二分类问题 在二分类问题中,我们可以使用binary_…

    Keras 2023年5月15日
    00
  • 【TensorFlow2.0】以后我们再也离不开Keras了?

    TensorFlow2.0 Alpha版已经发布,在2.0中最重要的API或者说到处都出现的API是谁,那无疑是Keras。因此用过2.0的人都会吐槽全世界都是Keras。今天我们就来说说Keras这个高级API。  作者 | 汤兴旺  编辑 | 汤兴旺 store 1 Keras概述 在TensorFlow2.0中,Keras是一个用于构建和训练深度学习模…

    2023年4月8日
    00
  • 时尚与深度学习系列:Fashion forward: Forecasting visual style in fashion

           https://arxiv.org/pdf/1705.06394.pdf         将深度学习与时尚预测联系在一起,是一个很有趣但是估计结果会没什么成效的话题。因为,时尚预测这一领域,与股票金融房价之类的预测不一样,不是一个结合街区环境,经济环境,天气等客观情况就能预测综合走向的,而是依据某些fashion icon的主观性,时尚编辑的意…

    2023年4月9日
    00
  • 【将门创投】这12张图生动地告诉你,深度学习中的卷积网络是怎么一回事?

    现如今,卷积神经网络在人工智能领域应用的广泛性及重要性可谓是不言而喻。为了让大家对卷积的类型有一个清晰明了的认识,我快速概述了几种不同类型的二维卷积及其好处。     卷积(Convolutions)   首先,我们需要就定义卷积层的几个参数。   图1 二维卷积、内核大小为3、步幅为1   内核大小:内核大小定义了卷积的视野。二维的常见选择是3——即3×3…

    2023年4月10日
    00
  • 吴恩达深度学习笔记(八) —— ResNets残差网络

    (很好的博客:残差网络ResNet笔记)   主要内容: 一.深层神经网络的优点和缺陷 二.残差网络的引入 三.残差网络的可行性 四.identity block 和 convolutional block     一.深层神经网络的优点和缺陷 1.深度神经网络很大的一个优点就是能够表示一个复杂的功能。网络的层数越多,意味着能够提取到不同level的特征越丰…

    深度学习 2023年4月13日
    00
  • 深度学习中的Data Augmentation方法(转)基于keras

    在深度学习中,当数据量不够大时候,常常采用下面4中方法: 1. 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批”新”的数据.也就是Data Augmentation 2. Regularization. 数据量比较小会导致模型过拟合, 使得训练误差很小而测试误差特别大. 通过在Loss Function 后面加上正则项可以抑制…

    2023年4月6日
    00
  • python,keras,tensorflow安装问题 module ‘tensorflow’ has no attribute ‘get_default_graph’

    module ‘tensorflow’ has no attribute ‘get_default_graph’当我使用keras和tensorflow做深度学习的时候,python3.7报了这个错误,这个问题源自于keras和TensorFlow的版本过高导致模块不存在或者已经更改不再兼容   解决办法,降级。改为python3.6.5,TensorFlo…

    Keras 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部