【LLM_04】自然语言处理基础_2

  • 一、神经网络
    • 1、循环神经网络(RNN)
    • 2、门控循环单元(GRU)
    • 3、长短期记忆网络(LSTM)
    • 4、双向RNN
    • 5、卷积神经网络(CNN)
  • 二、注意力机制
    • 1、注意力机制原理介绍
    • 2、注意力机制的各种变式
    • 3、注意力机制的特点

一、神经网络

1、循环神经网络(RNN)

  • RNN的一个关键点在于它在处理序列数据的期间会进行一个顺序记忆。
  • 序列数据:一段话或者一个音频都可以理解为序列数据。
  • 顺序记忆是一种会使大脑更容易识别这个序列模式的数据的一个机制。而RNN可以很好的利用这个机制,来递归地进行更新我们这个生命记忆,以此来对我们这些序列数据进行一个很好的建模。

在这里插入图片描述
在这里插入图片描述

  • RNN是顺序记忆的原因:因为其每一个时间步下的隐藏状态变量计算都包含了我们过去的一个时间,是一个一个计算,按照顺序来的。

在这里插入图片描述

  • 最终会经过softmax,然后输出词表上每个词的概率,我们选择概率最大的词来做我们的最终预测词。
  • 整个RNN的结构就是每一个RNN单元的不断复制,因此每个RNN单元的功能都是一样的。所以 W i , W h W_i,W_h Wi,Wh都是相同的,代表输入的矩阵。这里面的权重
  • RNN的优点:(1)可以处理变量的数据(2)模型的大小不会随着输入的增加而增大,因为这里的权重基本是共享的,有很好的参数共享。
  • RNN的缺点:(1)由于我们是顺序的计算,因此我们需要计算前一个单元的学习结果,才能得到后面的这个结果,因此时间上较慢。(2)实际应用当中,随着时间步不停地往后进行推移,后面信息单元的计算就较难获取到之前信息单元的计算。
  • 下面介绍两种RNN的变体:GRU和LSTM

2、门控循环单元(GRU)

在这里插入图片描述

  • 门控机制:对当前的信息进行筛选,像阀门一样。GRU有两个门控:(1)更新门:update gate。(2)重置门:reset gate。它们的作用在于权衡我们过去的信息和当前的输入信息之间的比重问题。

3、长短期记忆网络(LSTM)

在这里插入图片描述

  • 黄色方块:神经网络层。
  • 粉色圈圈:元素之间的操作。
  • 箭头:向量的传递。向量的合并与复制。

在这里插入图片描述

  • LSTM关键在于加了一个新的值,cell state。用它来学习长期的依赖关系。

在这里插入图片描述

  • 第一个门称之为:遗忘门。它的作用主要来决定我们当前上一个状态,有哪些信息可以从cell状态中进行移除。
  • 如果 f t = 0 f_t=0 ft=0,即遗忘门的最终计算结果为0,则表示过去的某些信息我们可以直接进行丢弃。

在这里插入图片描述

  • 输入门是决定有哪些信息可以存入cell状态里面去的,其计算方法与遗忘门叫类似。

在这里插入图片描述

在这里插入图片描述

  • 最后是输出门,决定了哪些信息可以输出。
  • 综上,LSTM很强大,因为我们每个隐藏层都是已经有一个内部的神经单元网络已经计算好了,所以在我们做堆叠或者我们做的很深的时候,LSTM会表现的性能很好。并且,由于我们引入了门控机制,它会对神经网络的输入和输出进行一个动态的控制,会增强我们对信息的利用能力。最后,LSTM可以有效的缓解梯度的问题。

4、双向RNN

  • 前面提到的RNN都有一个特点,就是每一个时间步下的状态里面的隐藏状态变量都是从我们过去序列,以及当前输入来捕获信息的。或者允许过去的值来影响我们当前的状态。
  • 但是在有些时候,我们计算当前的时候,不仅是依赖过去,还会依赖未来的输入,相当于我们会依赖整个输入序列。
    在这里插入图片描述
  • 例如:我们对手写体进行识别的时候,不仅会取决于过去,还会取决于未来的几个字,还有语音识别。
    在这里插入图片描述

5、卷积神经网络(CNN)

在这里插入图片描述

  • CNN刚出现的时候,是运用在计算机视觉领域。但是由于其结构的特殊性,也可以运用在NLP领域。例如:情感分类、心态分类当中都有较好的运用。【这是归功于CNN比较擅长提取局部和位置不变的模式。】

在这里插入图片描述

  • CNN提取局部模式的步骤主要是用来计算一个句子当中所有可能的N元组短语的一个表示。
  • N元组:表示我们选取几个相邻的词作为短语。
  • CNN的运用领域:目标检测、语音识别、文本分类、视频分类等。

在这里插入图片描述

在这里插入图片描述

  • CNN比较擅长提取局部的特征。RNN可以很好的处理变长的文本。来对变长的文本依赖进行很好的建模。
  • 模型机制不同导致RNN参数更多一些。
  • CNN主要是使用卷积核,卷积核在计算的时候是没有相互依赖的,因此可以很好的并行计算。RNN则依赖于过去的数据。

二、注意力机制

1、注意力机制原理介绍

  • Encoder将可变长度的输入序列编码成一个固定长度的向量;
  • Decoder将固定长度的向量解码成一个可变长度的输出序列;
  • Encoder-Decoder阶段的编码与解码的方式可以是CNN、RNN、LSTM、GRU等;

首先,以RNN模型为例,这个模型当中存在一个信息瓶颈的问题。

decoder端需要输出一个完整的句子,这要求encoder端得到的最后一个向量表示需要包含它输入句子的所有信息。但是这样的向量无法表达所有句子的多种多样的信息。
研究人员也发现这样的向量容量会限制模型encoder端的表示。因为在encoder端的每一个位置的隐向量都包含有丰富的信息,而其实最后的向量是整个encoder和decoder模型之间的一个信息瓶颈。
在这里插入图片描述
注:上图当中写的Seq2Seq其实是一个抽象的理论,只要满足输入序列生成输出序列的模式,都可以归类为Seq2Seq的模型。

而注意力机制就是为了解决信息瓶颈的问题提出的。

在这里插入图片描述

  • encoder端得到的每一个隐藏向量用h1到h7来表示,在decoder端得到的第一个隐向量用s1来表示。
  • 与之前RNN模型不同的是,我们不用s1直接来计算这一步生成单词的概率,而是利用s1来选择关注输入句子中的哪些部分,并计算得到一个新的隐向量,来得到生成单词的一个概率。

那么这样一个decoder端如何根据s1来对encoder端的向量进行选择呢?

  • 首先需要计算注意力分数,将s1与h1进行点积得到标量,称其为 e 1 1 e_{1}^{1} e11 ,之后将s1与h1进行点积得到 e 2 1 e_{2}^{1} e21 ,将这个过程一直重复直到这个句子的末尾。

在这里插入图片描述
最后我们就可以得到一个长度为7的向量,其中每个元素都是s1和对应位置的隐向量点积得到的。
我们将这样一个长度为7的向量,称为encoder端隐向量的一个注意力分数。

而这分数其实就表示s1与每一个encoder端隐向量hi的一个相似程度。值越高,表示s1与对应的隐向量相似程度越高。

在这里插入图片描述
之后,使用softmax函数将其变成概率分布。概率越接近于1,则decoder端就会越关注这些位置的向量。

  • 如上图所示,前两个位置的概率分布值较高,说明会更加关注前两个位置的隐向量。

在第三步,我们利用之前得到的注意力分布,对encoder端的隐向量进行加权求和,然后可以得到一个与隐向量维度相同的输出向量o1。

在这里插入图片描述

o1向量也就包含了decoder端当前所需要的encoder端的所有信息。

在这里插入图片描述
最后,将o1与RNN得到的隐向量s1进行拼接,可以得到一个新的表示,来表示decoder端这一步的一个状态。用这样一个向量来预测下一步需要生成的单词。

  • 在这个例子当中,我们输出的是many这个词,对应的就是汉语当中的多个,这也可以从注意力分布的高低看出对应关系。

在这里插入图片描述

  • s1输出的是many,而many就作为下一轮的输入。

接下来就是不断重复,之后我们对于decoder端的每一步,都可以自主的关注到encoder不同位置的隐向量。并且预测出一个新的单词。最后得到整个的输出句子。

在这里插入图片描述

2、注意力机制的各种变式

变体一:加上权重矩阵

如果两个向量的维度不一样,我们就需要在中间加上一个权重矩阵,来实现两者的相乘,最后得到一个标量。
在这里插入图片描述

变体二:additive attention

additive attention使用了一层的前馈神经网络,来将两个向量变成一个标量,从而得到注意力分数。

在这里插入图片描述

在这里插入图片描述

3、注意力机制的特点

  • 注意力机制的出发点是解决信息瓶颈的问题存在的。
  • 注意力机制可以缓解RNN当中梯度消失的问题。通过在encoder和decoder之间提供了一种直接连接的方式,防止梯度在RNN当中会传播过长,进而导致梯度消失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/218653.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统虚拟机安装(图文详解)

目录 前言 Linux系统介绍 虚拟机安装 1.安装步骤 2.破解激活步骤 3.创建Linux系统虚拟机 虚拟机的相关设置 1.基础设置 2.语言设置为中文 前言 今天我们开始学习Linux操作系统的安装虚拟机以及相关的Linux的环境配置,后面我还会继续发布Linux系统的相关基…

杰发科技AC7801——keil工程移植到IAR

0、简介 发现AC7801的代码只有keil工程的,IAR和Eclipse的代码只有一个例程,于是在从Keil移植到IAR时候遇到的问题记录下。 正常情况下,直接把keil的usr用户代码移植到iar的文件夹下面,删除原本的文件再添加新加进来的文件即可。…

深入浅出 Linux 中的 ARM IOMMU SMMU II

SMMU 驱动中的系统 I/O 设备探测 要使系统 I/O 设备的 DMA 内存访问能通过 IOMMU,需要将系统 I/O 设备和 IOMMU 设备绑定起来,也就是执行 SMMU 驱动中的系统 I/O 设备探测。总线发现系统 I/O 设备并和对应的驱动程序绑定,与 IOMMU 设备驱动程…

cephadm部署ceph quincy版本

环境说明 IP主机名角色 存储设备 192.168.2.100 master100 mon,mgr,osd,mds,rgw 大于5G的空设备192.168.2.101node101mon,mgr,osd,mds,rgw大于5G的空设备192.168.2.102node102mon,mgr,osd,mds,rgw大于5G的空设备 关闭防火墙 关闭并且禁用selinux 配置主机名/etc/hosts …

中伟视界:AI智能分析盒子实现全方位人车监测,保障管道安全

在油气管道长又无人的场景下,人和车的监测问题一直是一个难题。传统的监测手段往往存在盲区和误报问题,给管道运行安全带来了一定的隐患。然而,随着人工智能技术的不断发展,利用AI盒子的智能分析算法可以有效解决这一问题。 首先&…

Everything进行内网穿透搜索

文章目录 1\. 部署内网穿透1.1. 注册账号1.2. 登录1.3. 创建隧道 2\. 从外网访问Everything 借助cpolar可以让我们在公网上访问到本地的电脑 1. 部署内网穿透 1.1. 注册账号 在使用之前需要先进行注册cpolar cpolar secure introspectable tunnels to localhost 1.2. 登录 C…

cesium轨迹线(发光轨迹线)

cesium轨迹线(发光轨迹线) 下面有源码 实现思路 使用ellipse方法加载圆型,修改polyline中‘material’方法重写glsl来实现当前效果(cesium版本1.109) 示例代码 index.html <!DOCTYPE html> <html lang="en"><head

【LeetCode】挑战100天 Day16(热题+面试经典150题)

【LeetCode】挑战100天 Day16&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-182.1 题目2.2 题解 三、面试经典 150 题-183.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&…

【LeetCode】挑战100天 Day15(热题+面试经典150题)

【LeetCode】挑战100天 Day15&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-172.1 题目2.2 题解 三、面试经典 150 题-173.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&…

【Docker】从零开始:12.容器数据卷

【Docker】从零开始&#xff1a;12.容器数据卷 1.什么是容器数据库卷2.数据的覆盖问题3.为什么要用数据卷4.Docker提供了两种卷&#xff1a;5.两种卷的区别6.bind mount7.Docker managed volumevolume 语法volume 操作参数 1.什么是容器数据库卷 卷 就是目录或文件&#xff0c…

巧妙之中见真章:深入解析常用的创建型设计模式

设计模式之创建型设计模式详解 一、设计模式是什么&#xff1f;二、模板方法2.1、代码结构2.2、符合的设计原则2.3、如何扩展代码2.4、小结 三、观察者模式3.1、代码结构3.2、符合的设计原则3.3、如何扩展代码3.4、小结 四、策略模式4.1、代码结构4.2、符合的设计原则4.3、如何…

迎接“全全闪”时代 XSKY星辰天合发布星海架构和星飞产品

11 月 17 日消息&#xff0c;北京市星辰天合科技股份有限公司&#xff08;简称&#xff1a;XSKY星辰天合&#xff09;在北京首钢园举办了主题为“星星之火”的 XSKY 星海全闪架构暨星飞存储发布会。 &#xff08;图注&#xff1a;XSKY星辰天合 CEO 胥昕&#xff09; XSKY星辰天…