[自然语言处理入门]-NLP中的注意力机制

2023-11-19

本章的主要内容有:

  • 注意力机制概述
  • 传统注意力机制
  • 注意力编码机制

1、注意力机制概述

注意力机制简单来说就是:加权求和机制/模块

加权求和模块 : 神经网络中的一个组件,可以单独使用,但更多地用作为 网络中的一部分。

2、传统注意力机制

2.1 注意力模块结构

1、注意力模块结构如下图所示:

 功能:对于集合 K ,求相对 Q 各个元素的权重,然后按权重相加形成 Q 要的结果

2、注意力模块计算的步骤如下:

步骤1 :计算 f ( Q ,K i )

步骤2: softmax(f ( Q ,K i ) )( 计算对于Q 各个 Ki 的权重

步骤3: 计算输出(各 K i 乘以自己的权重,然后求和 )

3、注意力模块训练

     将模块放到整体模型中,不需要额外的训练数据权重可以由模块中 的参数学到。

4、注意力模块评价 

     放到各个任务中检验,通过任务指标的提升证明模块的效果。

具体的注意力机制可以参考这篇博客:

https://blog.csdn.net/qq_43687860/article/details/122729748?spm=1001.2014.3001.5501

2.2 软注意力与硬注意力 

1、Soft AM:在求注意力分配概率分布的时候,对于输入句子X中任意一个单词都给出个概率,是个概率分布。

2、Hard AM :直接从输入句子里面找到某个特定的单词,然后把目标句子 单词和这个单词对齐,而其它输入句子中的单词硬性地认为对齐概率为0。

2.3 全局注意力机制与局部注意力机制

 1、全局注意力 Global Attention

    Decode端Attention计算时要考虑输Ecoder端序列中所有的词

    Global Attention Model 是Soft Attention Model

2、局部注意力 Local Attention 

    Local Attention Model本质上是Soft AM和 Hard AM的一个混合或折中。
    一般首先预估一个对齐位置Pt,然后在Pt左右大小为D的窗口范围来取, 类似于Soft AM的概率分布。

 2.4 注意力机制的优势

  • 让任务处理系统找到与当前任务相关显著的输入信息,并按重要性进行处理,从而提高输出的质量。
  • 不需要监督信号,可推理多种不同模态数据之间的难以解释、隐蔽性强、复杂映射关系,对于先验认知少的问题,极为有效。
  • 解决长距离依赖问题 ,提升任务性能

    存在问题:对RNN有注意力偏置问题 

    解决方案:Coverage机制可以缓解注意力偏置问题 

3、 注意力编码机制

    注意力机制可以作为一种编码机制,即:通过建立序列各元素之间的关联关 系形成一种序列表示(按元素之间关系对序列进行编码);或通过不同序列 元素之间的关联关系形成不同序列间的融合表示
  注意力机制作为编码机制主要有:
单一向量编码: 将输入序列按规则编码成单一向量表示。如, 句表示/篇章表示 ,某词的上下文表示等。
不同序列间编码: 将2个序列编码成二者的融合的表示序列, 如, 匹配任务和阅读理解任务常用的融合层表示。
同一序列自编码: 利用多头自注意力编码对一个句子编码可以起到 类似句法分析器的作用。如Transformer的编码端。

3.1 单一向量编码

通过建立序列K各元素与Q之间的关联关系形成单一向量表示(按元素之间 关系对序列进行编码)

例1:Q为确定值的句向量编码(句表示)  

 例2: Q为隐变量的句向量编码(句表示)

 例3:对序列中某元素的真正上下文编码(词编码)

3.2 不同序列间编码

    将二个序列编码成二者的融合的表示序列(如,匹配任务和阅读理解任务常 用的融合层表示)
   例 :对K序列和Q序列编码

3.3 同一序列自编码

     利用多头自注意力编码对一个句子编码可以起到类似句法分析器的作用 

     例:对同一序列自注意力编码  

    多头(Multi-Head)自注意机制就是做多次同样的事情(参数不共享),然后把结果拼接  。

多头自注意力编码对一个句子编码可以起到类似句法分析器的作用

参考文献:

国科大-胡玥老师-《自然语言处理》课件-第5章NLP中的注意力机制。

李宏毅课程http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[自然语言处理入门]-NLP中的注意力机制 的相关文章

随机推荐

  • BUUCTF Web [ACTF2020 新生赛]Exec&[强网杯 2019]随便注&[SUCTF 2019]EasySQL&[极客大挑战 2019]Secret File

    目录 ACTF2020 新生赛 Exec 强网杯 2019 随便注 SUCTF 2019 EasySQL 极客大挑战 2019 Secret File ACTF2020 新生赛 Exec 启动靶机 发现是让我们ping测试 输入127 0
  • C++标准库头文件(工具库->cstdarg)

    参考网址 https zh cppreference com w cpp header https www runoob com cplusplus cpp standard library html 工具库 cstdarg 类型 std
  • Vue页面多次渲染echarts封装的组件但只出现一个(原因分析,多方案解决,最后附上源码)

    前言 最近写项目 写到可视化的部分 有一个水球图的部分我已经封装好了 但是需要在页面多次渲染的时候只能渲染一个水球图 这篇记录一下解决的办法 对于在页面多次使用封装好的echarts组件均可适用 原因分析 首先我们要知道echart实例的创
  • 网易某歌曲参数JS逆向分析,多图预警

    之前写过一篇网易云的文章 但是一直不过审 这几天搞QQ音乐的爬虫 JS逆向不是很顺利 有点忘了怎么搞了 所以今天打断点重搞一把网易云音乐 毕竟是之前搞过的 找加密函数 最下面有个url就是歌曲mp3文件的url 也就是目标url 接下来看这
  • shell 常量和变量拼接_PHP常量的定义和用法

    我们通常把不经常变的值定义成常量 常量一般用全部大写来表示 前面不加美元符号 也可减少团队开发的出错 那么define和const有什么区别呢 1 const是一个语言结构 而define是一个函数 可以通过第三个参数来指定是否区分大小写
  • php解决高并发问题

    转载 https www php cn php weizijiaocheng 350323 html 这篇文章说得很好 记录一下 我们通常衡量一个Web系统的吞吐率的指标是QPS Query Per Second 每秒处理请求数 解决每秒数
  • Nginx官方文档(四十五)【ngx_stream_core_module】

    ngx stream core module 示例配置 指令 listen preread buffer size preread timeout proxy protocol timeout resolver resolver timeo
  • java强制类型转换时异常(java.lang.ClassCastException)

    1 如果你的项目中出现如下情况 说明你的java类文件中你运用了强制转换 什么是强制转换也就是 你用一种类型接受了另一种类型 发生了类型转化 但是类型转换一般 都是向上转型的 如 int 转 double 还有 int 转 String 这
  • ipsvd arm交叉编译

    ipsvd arm交叉编译 ipsvd是什么 交叉编译 总结 ipsvd是什么 ipsvd全称是 internet protocol service daemons 即网际协议服务守护程序 常用的是udpsvd和tcpsvd 这两个既存在于
  • 数据结构笔记(十四)-- 串的模式匹配算法

    串的模式匹配算法 一 普通模式匹配算法 1 算法解析 普通模式匹配算法 其实现过程没有任何技巧 就是简单粗暴地拿一个串同另一个串中的字符一一比对 得到最终结果 例如 使用普通模式匹配算法判断串 T abcac 是否为串 S ababcabc
  • 将Eclipse项目导入到IntelliJ IDEA中

    打开IntelliJ IDEA 点击菜单栏的 File gt New gt Project from Existing Sources 在弹出的对话框中 选择Eclipse项目的根目录 并点击 OK 在下一个对话框中 选择 Create p
  • CentOS 8 安装screen

    CentOS 8安装不上screen 以为是yum源的问题 搞了半天才发现 要在CentOS 8上安装screen 先要安装EPEL库才可以 root centoss8 yum repos d yum y install screen La
  • python3-循环与判断

    1 gt 2 False 1 lt 2 lt 3 True 42 42 True Name name False M in Magic True number 12 number is 12 True Python比较运算符 以下假设变量a
  • 【编程基础】如何自学计算机/编程

    愚者困惑 智者提问 一 编程语言 二 编程技术体系 2 1 编程基础 2 1 1 操作系统 2 1 2 数据结构 2 1 3 编译原理 2 1 4 计算机组成原理 2 1 5 算法 2 2 编程语言 2 3 编程素质 2 3 1 编程规范
  • SQL server无法启动服务

    报错 在与SQL Server建立连接时出现与网络相关的或特定于实例的错误 切换到 依赖关系 选项卡 我们可以看见它与 SQL Server MSSQLSERVER 服务存在依赖关系 4 鼠标右键单击 SQL Server MSSQLSER
  • springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud

    今天在做springboot整合成springCloud并注册到consul中时 发现若注册到consule中成功 则不能启动swagger 且不能提供任何API服务 要是能提供API服务则不能注册到consule中 并报错 Spring
  • Python怎么打包exe可执行文件?教你30秒轻松完成

    兄弟们 我来了 实在是太忙了 没得时间更新 太难了 之前看很多人都在问 Python怎么打包exe可执行文件 雀氏有点多 那么我来了 给大家整一个Python打包exe可执行文件的究极教程 当然 顺便再给它换个图标 首先把你的代码准备好 尽
  • qt之QCustomPlot动态更改曲线颜色,点击曲线标题名称

    一 前言 上篇文章介绍了如何调用qt自带的颜色画板 其实目的就是想更改一些颜色 本篇博客介绍更改QCustomPlot的曲线颜色 二 环境 qt5 7 mingw windows8 sqlite3 三 正文 首先在数据库中建好表 一行多列
  • 碳排放混合预测模型(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 二氧化碳排放力争于
  • [自然语言处理入门]-NLP中的注意力机制

    本章的主要内容有 注意力机制概述 传统注意力机制 注意力编码机制 1 注意力机制概述 注意力机制简单来说就是 加权求和机制 模块 加权求和模块 神经网络中的一个组件 可以单独使用 但更多地用作为 网络中的一部分 2 传统注意力机制 2 1