sheng的学习笔记-AI-注意力模型(Attention Model)

 Ai目录:sheng的学习笔记-AI目录-CSDN博客

先看下这两个文章:

序列模型:sheng的学习笔记-AI-序列模型(Sequence Models),RNN,GRU,LSTM_音乐识别是一对多吗-CSDN博客

机器翻译 

sheng的学习笔记-AI-自然语言处理(NLP),机器翻译,情感分类,词嵌入-CSDN博客

RNN的痛点

在机器翻译等RNN模型中,如果输入的时间步路径很长,会对更远的数据遗忘,举例子

像这样给定一个很长的法语句子,在你的神经网络中,这个绿色的编码器要做的就是读整个句子,然后记忆整个句子,再在感知机中传递。而对于这个紫色的神经网络,即解码网络(the decoder network)将生成英文翻译。

它对于短句子效果非常好,于是它会有一个相对高的Bleu分(Bleu score),但是对于长句子而言,比如说大于30或者40词的句子,它的表现就会变差。即便是GRU或者LSTM,也无法处理这么长的句子

注意力模型

用注意力模型,可以优化对长句子的理解,虽然这个模型源于机器翻译,但它也推广到了其他应用领域

大概流程

要将(法语)Jane visite l'Afrique en Septembre翻译成英语,

  1. 对于输出y1(jane),需要关注x输入的x1,x2,x3。。x5,用α<1,1>表示x1(jane)对y1的影响,α<1,2>表示x2(visite)对y1的影响,以此类推,所以在生成y1的时候,有α<1,1>,α<1,2>。。。α<1,5>来表示5个输入对y1的影响
  2. 生成y2(visits)的时候,也会考虑5个输入值,用α<2,1>表示x1(jane)对y2的影响,有α<2,1>,α<2,2>。。。α<2,5>表示5个输入对于y2的影响
  3. x<1>...x<5>作为输入,计算出α的过程,都是lstm或者GRU架构,然后输出a的部分都是编码器,以α为输入和s部分一起计算,得出y的部分,是解码器,这是一个编码/解码器模式的变种
  4. 对于生成y1,需要根据x知道a的矩阵作为输入,以及s<0>作为上一个节点的输入,在s<1>中做计算,生成y1

因为在生成每个y的时候,会考虑所有的输入,所以在长输入的时候也会表现的很好,并且对于每个输入x1,x2...xn会有α来表示这些输入对y的影响

总体框架 

  1. 根据每个x计算出a的值,a<t>代表时间步骤t的a的值,比如x<1>的a就是a<1>,通过rnn架构(lstm或者gru,走双向循环神经网络,这部分内容在sheng的学习笔记-AI-序列模型(Sequence Models),RNN,GRU,LSTM_音乐识别是一对多吗-CSDN博客) 计算出a的矩阵
  2. 计算出α(注意,这是阿尔法,不是字母a),α<1,1>代表x1对于y1的影响
  3. 上下文c = ∑α * a 所有时间步的和,这里的意思是c<1>=∑α<1,t'> * a<t'> 其中t'的步骤和,并且注意力权重α将会满足非负的条件,所以这就是个0或正数,它们加起来等于1,意思是α<1,t'>的和为1
  4. 通过c1和s0计算y1,通过y1(t-1时间步的输出)和c2计算y2,这也是个标准的rnn模型

​另找一个架构图,辅助理解 

计算注意力权重

对 于如何计算注意力权重α,看下面的图

  1. 根据x算出a<t'>
  2. 根据整个模型的上一个状态s<t-1>,和a<t'>做一个小型的神经网络,计算出e<t,t'>,代表要生成t,需要花多少关注在时间t'上,比如要生成y1,需要花多少时间在x2上,那就是e<1,2>
  3. 将e在t'的值,除以所有时间步的e的和,就是a<t,t'> 在生成t需要花多少关注在时间t'上,注意公式中有exp(代表e的指数)

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

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

相关文章

el-table组件树形数据修改展开箭头

<style lang"scss" scoped> ::v-deep .el-table__expand-icon .el-icon-arrow-right:before {content: ">"; // 箭头样式font-size: 16px; }::v-deep .el-table__expand-icon{ // 没有展开的状态background-color: rgba(241, 242, 245, 1);color:…

已解决:elasticsearch创建索引失败

报错信息 具体报错&#xff1a; org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [typeillegal_argument_exception, reasonunknown setting [index.mappings.properties.category.analyzer] please check that any required plugins are installed…

JAVA学习笔记——第十一章 枚举和注解

一、引出枚举类 1.先看一个需求demo package com.hspedu.enum_;public class Enumration01 {public static void main(String[] args) {Season Spring new Season("春天", "温暖");Season Summer new Season("夏天", "炎热");Seas…

GeeCache-单体并发缓存

实现LRU中value接口的缓存类 使用互斥锁封装LRU缓存类&#xff0c;实现并发访问 实现Group组&#xff0c;用名称对缓存分类 Getter为缓存击穿时调用的回调函数 若缓存击穿则调用回调函数&#xff0c;并把读取到的值加载到缓存中

吸烟抽烟行为识别数据集-超高识别率,支持YOLO,COCO,VOC格式的标注,10162张各种姿势场景下的吸烟图片

吸烟抽烟行为识别数据集-超高识别率&#xff0c;支持YOLO&#xff0c;COCO,VOC格式的标注&#xff0c;10162张各种姿势场景下的吸烟图片 数据集分割 训练组91&#xff05; 9279图片 有效集5&#xff05; 507图片 测试集4% 376图片 预处理 自动定…

云原生基础设施指南:精通 Kubernetes 核心与高级用法

1. 云原生的诞生 随着互联网规模的不断增长&#xff0c;以及企业对敏捷开发、快速交付和高可用性的需求日益增强&#xff0c;传统的单体架构逐渐暴露出局限性&#xff0c;难以满足现代业务对动态扩展和高效迭代的要求。为此&#xff0c;云原生应运而生。 云原生是为云计算时代…

使用Windbg排查C++软件安装包安装时被安全软件拦截导致安装堵塞(线程卡住)的问题

目录 1、问题描述 2、初步分析 3、将Windbg附加到安装包进程上进行分析 4、在Windbg中查看相关变量的值&#xff0c;并设置断点进行动态调试 4.1、在Windbg中查看相关变量的值 4.2、在Windbg中使用bp命令设置断点进行动态调试 5、腾讯电脑管家已经退出&#xff0c;但其…

【OJ题解】面试题三步问题

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 &#x1f4d8; 基础数据结构【C语言】 &#x1f4bb; C语言编程技巧【C】 &#x1f680; 进阶C【OJ题解】 &#x1f4dd; 题解精讲 目录 **题目链接****解题思路****1. 问题分析****2. 递归思路****3. 优化方案&a…

MacOS 上以源码形式安装 MySQL 5.7

以下是在 macOS 上从源码安装 MySQL 5.7 的步骤&#xff1a; 前置条件 安装 Homebrew&#xff1a;如果你还没有安装 Homebrew&#xff0c;可以在终端中运行以下命令进行安装&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…

源码编译安装MySQL

MySQL相应版本的tar包下载 在5.7的版本的MySQL编译安装的时候&#xff0c;需要依赖C语言的库文件【boost】&#xff0c; 如上图所示&#xff0c;如果你使用第一个MySQL的tar包&#xff0c;还需要去网上去下载boost即C语言的库文件&#xff0c;但是第二个tar包就既包含MySQL的源…

Hive3.X——异常处理Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000

Hive3.X——异常处理Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000 01 前言 大数据系列&#xff0c;学到了Hive&#xff0c;搭建环境的时候&#xff0c;因为使用的是本机WSL2&#xff08;别问为啥不用VMware&#xff0c;问就是条件有限&#xff0c;而且WS…

定时/延时任务-Netty时间轮源码分析

文章目录 1. 概要2. 参数3. 构造器4. 回收5. 启动时间轮 - start6. 停止时间轮 - stop7. 添加任务8. 工作线程 - Worker8.1 线程参数8.2 核心逻辑-run8.3 指针跳动到下一个tick8.4 处理要取消的任务8.5 把新增的任务加入时间轮8.6 执行过期任务 9. HashedWheelTimeout9.1 属性9…

MSF(Metasploit Framework)常用命令

MSF&#xff08;Metasploit Framework&#xff09;是一款强大的渗透测试工具&#xff0c;常用于漏洞利用、后门植入和信息收集等任务。以下是MSF常用命令分类和说明&#xff1a; 1. 基本操作命令 启动MSF控制台&#xff1a; msfconsole查看帮助&#xff1a; help清屏&#xff…

知乎数据分析面试题及参考答案

请阐述大数定理和中心极限定理的内容及其在数据分析中的应用。 大数定理是指在随机试验中,每次出现的结果不同,但是大量重复试验出现的结果的平均值却几乎总是接近于某个确定的值。简单来说,当样本量足够大的时候,样本均值会趋近于总体均值。例如,抛硬币试验,当抛硬币的次…

【数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;实现快速排序算法。 测试说明 平台会对你编写的代码进行测试&#xff1a; 测试输入示例&#xff1a; 10 6 8 7 9 0 1 3 2 4 5 (说明&#xff1a;第一行是元素个数&a…

若依实现图片上传时自动添加水印

文章目录 总体思路1. 修改通用上传方法2. 去除文件路径前两级目录3. 添加水印方法运行效果总结 为了解决图盗用&#xff0c;并有效保护图片版权&#xff0c;若依项目需要实现一个功能&#xff1a;上传图片时&#xff0c;自动在图片上添加水印。这不仅可以有效防止盗用&#xff…

vue web-highlighter 划词高亮功能实现及遇到的问题(线上图书)

gitcode web-highlighter 快速通道 gitHub web-highlighter 快速通道 1、下载插件 npm i web-highlighter 2、引入插件 import Highlighter from "web-highlighter"; 3、初始化插件 mounted(){this.highlighter new Highlighter({$root: document.getElementBy…

Mave下载、安装以及idea(2024)进行配置

目录 Maven简介 Maven下载 配置环境变量 配置本地仓库 在idea环境配置Maven 使用Maven创建工程 创建一个普通的java工程 创建一个Web项目 Maven简介 Maven是一个跨平台的项目管理工具&#xff0c;也是Apache组织中的一个成功的开源项目。它主要服务于基于Java的项目构…

ios 开发配置蓝牙

如果使用了蓝牙功能, 又没有配置, 会出现以下错误: This app has crashed because it attempted to access privacy-sensitive data without a usage description. The apps Info.plist must contain an NSBluetoothAlwaysUsageDescription key with a string value explaini…

Linux 简单命令总结

1. 简单命令 1.1. ls 列出该目录下的所有子目录与文件&#xff0c;后面还可以跟上一些选项 常用选项&#xff1a; ・-a 列出目录下的所有文件&#xff0c;包括以。开头的隐含文件。 ・-d 将目录象文件一样显示&#xff0c;而不是显示其下的文件。如&#xff1a;ls -d 指定目…