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

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

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

深度学习和自然语言处理都是一个巨大的领域。每个领域需要关注的突出方面是什么,深度学习对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

相关文章

  • keras_11_keras中示例数据集

    1. CIFAR10 小图像分类数据集 50,000 张 32×32 彩色训练图像数据,以及 10,000 张测试图像数据,总共分为 10 个类别。 from keras.datasets import cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data() # x_train, …

    Keras 2023年4月5日
    00
  • keras 从txt加载预测数据

    ImageDataGenerator.flow_from_directory()的用法已经非常多了,优点是简单方便,但数据量很大时,需要组织目录结构和copy数据,很浪费资源和时间 1. 训练时从txt加载数据(参考:https://blog.csdn.net/u013491950/article/details/88817310) 2. 预测时从txt加载…

    Keras 2023年4月6日
    00
  • 《C语言深度解剖》学习笔记之预处理

    第3章 预处理 1.下面两行代码都是错的。因为注释先于预处理指令被处理,当这两行被展开成“//……”和“/*……*/”时,注释已处理完毕,所以出现错误 #define BSC // #define BMC /* #define EMC */ BSC my single – line comment BMC my multi – line comment EM…

    深度学习 2023年4月11日
    00
  • 入门tensorflow教程之TensorBoard可视化模型训练

    以下是关于“入门 TensorFlow 教程之 TensorBoard 可视化模型训练”的完整攻略,其中包含两个示例说明。 示例1:使用 TensorBoard 可视化模型训练过程 步骤1:导入必要库 在使用 TensorBoard 可视化模型训练之前,我们需要导入一些必要的库,包括tensorflow和keras。 import tensorflow as…

    Keras 2023年5月16日
    00
  • Deep Learning 32: 自己写的keras的一个callbacks函数,解决keras中不能在每个epoch实时显示学习速率learning rate的问题

    一.问题: keras中不能在每个epoch实时显示学习速率learning rate,从而方便调试,实际上也是为了调试解决这个问题:Deep Learning 31: 不同版本的keras,对同样的代码,得到不同结果的原因总结 二.解决方法 1.把下面代码加入keras文件callbacks.py中: 1 class DisplayLearningRate…

    Keras 2023年4月6日
    00
  • 深度学习识别CIFAR10:pytorch训练LeNet、AlexNet、VGG19实现及比较(三)

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处。联系方式:460356155@qq.com VGGNet在2014年ImageNet图像分类任务竞赛中有出色的表现。网络结构如下图所示: 同样的,对32*32的CIFAR10图片,网络结构做了微调:删除了最后一层最大池化,具体参见网络定义代码,这里采用VGG19,并加入了BN: 1 ”’ 2 创建VGG…

    深度学习 2023年4月13日
    00
  • 解决keras模型保存h5文件提示无此目录问题

    下面是关于“解决keras模型保存h5文件提示无此目录问题”的完整攻略。 解决keras模型保存h5文件提示无此目录问题 在使用Keras保存模型时,我们通常使用h5格式来保存模型。然而,在保存模型时,有时会出现“无此目录”的问题。以下是两种解决方法: 方法1:手动创建目录 我们可以手动创建保存模型的目录,以确保目录存在。以下是手动创建目录的示例代码: im…

    Keras 2023年5月15日
    00
  • Deep Learning 5_深度学习UFLDL教程:PCA and Whitening_Exercise(斯坦福大学深度学习教程)

         本文是基于Exercise:PCA and Whitening的练习。      理论知识见:UFLDL教程。      实验内容:从10张512*512自然图像中随机选取10000个12*12的图像块(patch),然后对这些patch进行99%的方差保留的PCA计算,最后对这些patch做PCA Whitening和ZCA Whitening,…

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