【自然语言处理-二-attention注意力 是什么】

自然语言处理二-attention 注意力机制

  • 自然语言处理二-attention 注意力
    • 记忆能力
    • 回顾下RNN(也包括LSTM GRU)解决memory问题
    • 改进后基于attention注意力的model
      • match操作
      • softmax操作
      • softmax值与hidder layer的值做weight sum 计算和
      • 将计算出来的和作为memory,成为decoder输入的一部分
      • 依次计算decoder其他输入

自然语言处理二-attention 注意力

自然语言处理离不开attention的概念,当然attention的机制不仅仅用在自然语言处理。
那么attention到底是什么呢?Attention可以理解成一种记忆能力,而人工智能需要具备推理、人工智慧等能力,那记忆能力就必不可少。

记忆能力

记忆能力分为三种sensory memory、working memory、Long-term memory
Sensory memory记忆的时间很短,一般通过外界输入,比如眼睛和耳朵可以看到的东西
Working memory 真正感知世界的信息,选择人应该attention的东西,比如眼睛一瞬间可以看到很多东西,但我们会根据当下的需要,attention其中的一部分。
Long-term memory 真正要 处理 感知到的这些信息,还需要长期记忆,从长期记忆中提取到本次处理需要的信息,然后处理了后再encode到长期记忆中。比如说我们看到本次讲课的内容,需要回忆很久之前课程讲解的内容,消化后我们会再更新到长期记忆中。
整个过程就如下:
在这里插入图片描述

生物学上的注意力,也是遵从这个过程的。
在这里插入图片描述

Attention based的model如果对应于上述memory的处理过程,其实可以分为两部分:
1.第一部分是sensory memory和working memory之间,这部分用于处理模型的输入,用于关注模型中的部分输入。
2.第二部分是working memory和long-term之间,这部分也不陌生在老的模型,RNN和LSTM等模型中就具备这种记忆能力,但是这些模型有些缺点,越大的memory就意味着更多的参数,比如RNN中需要memory是K*K大小(K是memory size),参数过多很容易overfit(过拟合)。但是attention based的model就解决了这种问题,参加memory的size不会增加参数数量,这部分会在后面解释。

回顾下RNN(也包括LSTM GRU)解决memory问题

在这里插入图片描述

下面用RNN代表RNN LSTM GRU等,我们以前用RNN实现机器翻译是用的seq2seq的model,模型的实现架构如上图,这个里面是如何实现记忆能力的呢?
RNN中最后一个hidden layer的输出,作为解码器每一个单元的输入的一部分,也就是图中红框的部分,这就实现了解码的时候可以具有记忆功能了。但是最后一层的输出真的能代表整个输入的信息么?答案肯定是不能,所以我们有了新的模型,attention based的model

改进后基于attention注意力的model

这个model改进了上面RNN model的缺陷,增加了attention的处理。
要实现attention需要经过下面这些步骤

match操作

在这里插入图片描述

图中字符标识意义:
z0:vector(向量),相当于RNN中init的memory。
match:function(操作)
a 01 : 输入h1与z0经过match操作后的结果

这个match操作有很多不同的做法,不同的论文中不同:
1.cosine z 和h
2.一个小的nn的网络,input是z和h,输出是一个标量
3.hTWz,h的转置乘上一个矩阵W,乘上矩阵h

第2 3中是有参数的,该怎么学习获得呢?这部分下面会讲到。
用match操作对Encoder的hidden layer都计算一下,得到如下:
在这里插入图片描述

softmax操作

对上面得到的每一个a做softmax,目的是希望这些值的和是1。
在这里插入图片描述

值得注意的是,这些操作跟seq的长度是没有关系的。

softmax值与hidder layer的值做weight sum 计算和

也就是下图中c0
h1* a01+ h2*a02+ ...

上图以softmax计算出来为0.5 0.5 0.0 0.0为例,出来的结果就是右图的c0
这个结果就表示说,我们这次的输入更关注前面两个的输入。

将计算出来的和作为memory,成为decoder输入的一部分

在这里插入图片描述

获取到c0 与z0之后经过 attintion的model生成了Z1

这时候可以解答上面如果需要learn的参数问题了,因为我们知道输出应该是machine,通过反向传播调整这个值,可以依次调整c0 ,最终调整到match操作中的参数。

依次计算decoder其他输入

在这里插入图片描述

获得Z1后,继续与z0做相同的操作,与hidden layer做match,softmax等生成c1
在这里插入图片描述

然后依次计算,一直遇到结束符。

模型就这样具备了记忆能力,当然也有其缺陷,所以后来也产生了自注意,这部分在后面的文章中会继续介绍。

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

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

相关文章

即时设计和Axure对比,哪一个好用?

无论是国外页面设计工具,页面设计工具的发展从来没有停滞过, Axure,无论是国产设计工具即时设计,其功能都在不断更新迭代,为设计带来更高效的设计体验。今天对比两个设计工具,帮你找到最适合自己的&#xf…

二百二十四、Kettle——曲线实现从Hive插入更新到ClickHouse(分区字段是month或year)

一、目的 对于以month、year为分区字段的数据,不是像day字段分区那样每天增量插入更新即可,而是要以部分字段查询、部分字段更新,但是ClickHouse数据库并不适合更新操作,直接使用Kettle的插入更新控件会导致问题,必须…

osg qt5.15 osg3.6.3 osgEarth3.1 编译爬山

Demo演示:Qt5.15.2OSG3.6.3OsgEarth3.1的QtCreator下的msvc2019x64版本 osgQt编译 步骤一:下载解压 步骤二:CMake配置 步骤三:CMake配置添加osg环境 步骤四:CMake配置添加Qt环境 步骤五:CMake修改CMakeLis…

《TCP/IP详解 卷一》第4章 地址解析协议ARP

目录 4.1 引言 4.2 一个例子 4.3 ARP缓存 4.4 ARP帧格式 4.5 ARP例子 4.6 ARP缓存超时 4.7 代理ARP 4.8 免费ARP和地址冲突检测 4.9 ARP命令 4.10 使用ARP设置嵌入式设备IPv4地址 4.11 与ARP相关攻击 4.12 总结 4.1 引言 地址解析: IPv4:AR…

《TCP/IP详解 卷一》第6章 DHCP

目录 6.1 引言 6.2 DHCP 6.2.1 地址池和租用 6.2.2 DHCP和BOOTP消息格式 6.2.3 DHCP和BOOTP选项 6.2.4 DHCP协议操作 6.2.5 DHCPv6 6.2.6 DCHP中继 6.2.7 DHCP认证 6.2.8 重新配置扩展 6.2.9 快速确认 6.2.10 位置信息(LCI和LoST) 6.2.11 移…

外包干了3个月,技术退步明显

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

git使用记录

1.使用 "git reset --hard 版本号"的方式回退版本号会覆盖从当前版本到回退版本之间的版本号,为避免这种情况,可以用"git revert -n 版本号"指令,具体看:https://blog.csdn.net/L1147484597/article/details/…

MYSQL-入门

一.安装和连接 1.1 安装 mysql安装教程: 2021MySql-8.0.26安装详细教程(保姆级)_2021mysql-8.0.26安装详细教程(保姆级)_mysql8.0.26_ylb呀的博客-cs-CSDN博客 workbench安装: MySQL Workbench 安装及使用-CSDN博客 1.2 配…

古天乐演唱会内涵梅西,郑中基助阵,网友狂赞。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 梅西的香港之行虽已落幕,但他对中国球迷造成的伤害…

MybatisPlus--03--IService、ServiceImpl

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. IService接口1.1 IService、ServiceImpl 接口的使用第一步:实现basemapper接口第二步:编写service类第三步:编写serviceImpl第…

5个精美的wordpress中文企业主题模板

元宇宙WordPress主题模板 简洁大气的元宇宙 Metaverse WordPress主题模板,适合元宇宙行业的企业官网使用。 https://www.jianzhanpress.com/?p3292 职业技术培训WordPress主题模板 简洁大气的职业技术培训WordPress主题,适合用于搭建教育培训公司官方…

【动态规划】【前缀和】【推荐】2463. 最小移动总距离

作者推荐 【广度优先搜索】【网格】【割点】【 推荐】1263. 推箱子 本文涉及知识点 动态规划汇总 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 2463. 最小移动总距离 X 轴上有一些机器人和工厂。给你一个整数数组 robot &#xff0c…

Vue学习之计算属性

模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。比如说,我们有这样一个包含嵌套数组的对象: const author reactive({name: John Doe,books: [Vue 2 - Advan…

mysql-MVCC

一、基础概念 1. MVCC的含义 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它是通过读取某个时间点的快照数据, 来降低并发事务冲突而引起的锁等待, 从而提高并发性能的一种机制. MVCC 的实现,是通过保存数据…

危险!Wyze 摄像头安全漏洞致1.3万用户隐私遭窥探

最近,一则关于 Wyze 摄像头再次出现安全漏洞的新闻引起了人们的广泛关注。据报道,该安全漏洞导致约1.3万用户的摄像头受到了未经授权的访问,使得这些用户的隐私信息遭到了窥视。这一事件再次引发了人们对网络安全的关注和讨论。 网络安全不仅…

2024最强秋招八股文(精简、纯手打)

7/28日已更新,错误已修改~~~有错误的地方,欢迎大家留言! 目录 一、Java基础篇 1.接口和抽象类的区别 2.重载和重写的区别 3.和equals的区别 4.异常处理机制 5.HashMap原理 6.想要线程安全的HashMap怎么办? 7.ConcurrentHa…

基于Java+SpringBoot+Vue前后端分离棋牌室管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容:SpringBoot、Vue、SSM、HLM…

【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器

在现代软件开发和部署中,容器化技术已经成为一种常见的方式,它能够提供一种轻量级、可移植和可扩展的应用程序打包和部署解决方案。Docker 是目前最流行的容器化平台之一,它提供了一整套工具和技术,使得容器的创建、运行和管理变得…

每日一题(寻找奇数,寻找峰值)

寻找奇数_牛客题霸_牛客网 (nowcoder.com) #include <stdio.h> #include<stdlib.h> int main() {int n0;int num0;scanf("%d",&n);int* arr(int*)malloc(sizeof(int)*n);int i0;for(i0;i<n;i){scanf("%d",&arr[i]);//在循环内&…

2024生物发酵魅力展示会-光德流体

参展企业介绍 河北光德流体控制有限公司始建于1996年&#xff0c;是一家从事以不锈钢为母材的洁净应用材料研发与专业制造的实体企业。产品主要包括卫生级球阀&#xff0c;隔膜阀&#xff0c;蝶阀等&#xff0c;并广泛应用于生物发酵&#xff0c;医疗制药&#xff0c;食品饮料…