深度学习【注意力机制(Attention)原理和实现】

一 Attention的原理和实现

1. Attention的介绍

在普通的RNN结构中,Encoder需要把一个句子转化为一个向量,然后在Decoder中使用,这就要求Encoder把源句子中所有的信息都包含进去,但是当句子长度过长的时候,这个要求就很难达到,或者说会产生瓶颈(比如,输入一篇文章等长内容),当然可以使用更深的RNN和增加单元数来解决这个问题,但是这样的代价也很大。那么有没有什么方法能够优化现有的RNN结构呢?

为此,Bahdanau等人在2015年提出了Attenion机制,Attention翻译成为中文叫做注意力,把这种模型称为Attention based model。就像我们自己看到一副画,能够很快的说出画的主要内容,而忽略画中的背景,因为我们更关注的往往是其中的主要内容。

通过这种方式,在RNN模型中,有通过LSTM或者是GRU得到的所有信息,那么这些信息中只去关注重点,而不需要在Decoder的每个time step使用全部的encoder的信息,这样就可以解决第一段所说的问题了

Attention机制可以帮助解决这个问题

2. Attenion的实现机制

假设现在有一个文本翻译的需求,即机器学习翻译为machine learning。那么这个过程通过前面所学习的Seq2Seq就可以实现

在这里插入图片描述

上图的左边是Encoder,能够得到hidden_state在右边使用

Deocder中蓝色方框中的内容,是为了提高模型的训练速度而使用teacher forcing手段,否则的话会把前一次的输出作为下一次的输入(但是在Attention模型中不再是这样了

那么整个过程中如果使用Attention应该怎么做呢?

在之前把encoder的最后一个输出,作为decoder的初始的隐藏状态,现在不再这样做

2.1 Attention的实现过程

  1. 初始化一个Decoder的隐藏状态 z 0 z_0 z0

  2. 这个 z o z_o zo会和encoder第一个time step的output进行match操作(或者是socre操作),得到 α 0 1 \alpha_0^1 α01 ,这里的match可以使很多种操作,比如:

    • z和h的余弦值

    • 是一个神经网络,输入为z和h

    • 或者 α = h T W z \alpha = h^T W z α=hTWz

    在这里插入图片描述

  3. encoder中的每个output都和 z 0 z_0 z0进行计算之后,得到的结果进行softmax,让他们的和为1(可以理解为权重)

  4. 之后把所有的softmax之后的结果和原来encoder的输出 h i h_i hi进行相加求和得到 c 0 c^0 c0
    即: c 0 = ∑ α ^ 0 i h i 即: c^0 = \sum\hat{\alpha}_0^ih^i 即:c0=α^0ihi
    在这里插入图片描述

  5. 得到 c 0 c^0 c0之后,把它作为decoder的input,同和传入初始化的 z 0 z^0 z0,得到第一个time step的输出和hidden_state( Z 1 Z^1 Z1

在这里插入图片描述

  1. Z 1 Z_1 Z1再和所有的encoder的output进行match操作,得到的结果进行softmax之后作为权重和encoder的每个timestep的结果相乘求和得到 c 1 c^1 c1

  2. 再把 c 1 c^1 c1作为decoder的input,和 Z 1 Z^1 Z1作为输入得到下一个输出,如此循环,直到最终decoder的output为终止符

    在这里插入图片描述

  3. 上述参考:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLSD15_2.html

  4. 整个过程写成数学公式如下:
    α i j

最低0.47元/天 解锁文章
手把手带你 YOLOv5/v7 添加注意力机制(并附上30多种顶会Attention原理图)2024/2/5更新
YOLOv8项目贡献者
04-27 18万+
YOLOv5/v7 添加注意力机制教程 2023/6/15更新🍀🍀🍀
一文搞懂深度学习注意力机制 | 软和硬到底如何抉择?
YOLOv8项目贡献者
04-28 5324
大白话解析注意力机制
浅谈Attention注意力机制及其实现
空字符
06-03 4739
1. 什么是注意力机制 1.1 注意力机制的思想 关于什么是注意力机制,粗略的描述就是“你正在做什么,你就将注意力集中在那一点上”。这种机制就和人脑在思考问题时一样。例如我们在思考将句子“我是一个学生”翻译成英文的时候,脑子中首先想到的就是“我”⟷\longleftrightarrow⟷ "I"的这样一种映射(而不是先想到其它部分),这就是注意力机制在人脑中的表现。即,我们在按词组依次翻译这句话的...
Attention原理实现
weixin_42529756的博客
02-21 2869
Attention原理实现 目标 知道Attention的作用 知道Attention实现机制 能够使用代码完成Attention代码的编写 1. Attention的介绍 在普通的RNN结构中,Encoder需要把一个句子转化为一个向量,然后在Decoder中使用,这就要求Encoder把源句子中所有的信息都包含进去,但是当句子长度过长的时候,这个要求就很难达到,或者说会产生瓶颈(比如,输入一篇文章等场长内容),当然我们可以使用更深的RNN和大多的单元来解决这个问题,但是这样的代价也很大。那么有
深度学习注意力机制Attention)、自注意力机制(self-attention)、多头注意力机制(MultiHeadAttention)
最新发布
Dog_King_的博客
09-09 1209
本篇文章讲解一下注意力机制相关的内容,这几年大火的Transformer都离不开注意力机制这个内容。那么什么是注意力机制,理解起来很容易,比如有很多个物品,我们最选择性的关心重要的特征来发现我们需要的东西。我们之前使用的CNN之类的卷积,并没有这种抓重点特征的功能。
注意力机制以及实现
1900的博客
10-18 5140
注意力机制、通道注意力、空间注意力
注意力机制实现-senet
QinFabo的博客
05-06 994
注意力机制可以作为一个小技巧在我们的网络中实现,具体的实现方式如下(以pytorch)为例 1.se-net senet是典型的通道注意力机制,具体原理如下 import torch import torch.nn as nn class se_block(nn.Module): def __init__(self, channel=512, ratio=16): super(se_block, self).__init__() self.avg_pool
注意力机制(代码实现案例)
m0_60657960的博客
03-04 2733
我们观察事物时,之所以能够快速判断一种事物(当然允许判断是错误的), 是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断,而并非是从头到尾的观察一遍事物后,才能有判断结果. 正是基于这样的理论,就产生了注意力机制.注意力机制是注意力计算规则能够应用的深度学习网络的载体, 同时包括一些必要的全连接层以及相关张量处理, 使其与应用网络融为一体. 使用自注意力计算规则的注意力机制称为自注意力机制.
30种常见注意力机制论文、解读、使用方法、实现代码整理(Attention
03-27
自然语言处理(NLP)领域,...总结,注意力机制极大地推动了深度学习在NLP和其他领域的进展,提供了更高效和精准的模型处理方式。通过这个资源集合,你可以深入了解各种注意力机制,提升自己的模型设计和开发能力。
使用Python实现深度学习模型:注意力机制Attention
Echo_Wish的博客
05-23 1155
注意力机制最初是为了解决机器翻译中的长距离依赖问题而提出的。其核心思想是:在处理输入序列时,模型可以动态地为每个输入元素分配不同的重要性权重,使得模型能够更加关注与当前任务相关的信息。在本文中,我们介绍了注意力机制的基本原理,并使用 Python 和 TensorFlow/Keras 实现了一个简单的注意力机制模型应用于文本分类任务。希望这篇教程能帮助你理解注意力机制的基本概念和实现方法!
自然语言处理中的Attention Model:是什么及为什么
zdy0_2004的专栏
01-21 994
转自 张俊林        http://blog.csdn.net/malefactor/article/details/50550211 要是关注深度学习自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词。AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效。听起来AM很高大上,其实它的基本思
Pytorch 实现注意力机制
01-06
import math import torch import torch.nn as nn import os def file_name_walk(file_dir): for root, dirs, files in os.walk(file_dir): # print(root, root) # 当前目录路径 print(dirs, dirs) # 当前路径下所有子目录 print(files, files) # 当前路径下所有非目录子文件 file_name_walk(/home/kesci/input
李宏毅老师Self-Attention注意力机制实现过程学习笔记
qq_53724305的博客
03-30 1588
问题引入: 考虑问题:输入一堆词向量,要求输出他们每个单词的词性。例如“ I saw a saw. ”我们可以很明显地看出第二个”saw“为名词,但是若是普通的seq2seq的网络,每个向量单独经过FC层,网络很难判断第一个”saw“和第二个”saw“之间的差异,那么如何才能使网络考虑上下文信息呢? 第一个解决办法是,将词向量连接到每个邻近的FC层,来获取更多的相关信息。 这种方法相当于给每个FC层一个window的资讯,让其考虑相邻向量之间的信息。但是,这种方法明...
简单理解注意力机制实现
2301_81888214的博客
02-29 1149
注意力机制Attention Mechanism)是近年来在深度学习领域取得显著成果的重要技术之一。
Attention原理
zoe的博客
07-15 983
1 Attention 基本原理 神经网络中可以存储的信息量称为网络容量(Network Capacity)。一般来 讲,利用一组神经元来存储信息时,其存储容量和神经元的数量以及网络的复杂 度成正比。如果要存储越多的信息,神经元数量就要越多或者网络要越复杂,进 而导致神经网络的参数成倍地增加。 我们人脑的生物神经网络同样存在网络容量问题,人脑中的工作记忆大概 只有几...
什么是注意力机制注意力机制实现步骤
zy1992As的博客
11-15 967
它需要三个指定的输入Q(query),K(key),V(value),然后通过计算公式得到注意力的结果,这个结果代表query在key和value作用下的注意力表示.当输入的Q=K=V时,称作自注意力计算规则。
注意力机制
zjx_be_active的博客
09-22 741
作者:张俊林 链接:https://www.zhihu.com/question/68482809/answer/264632289 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。     注意力模型最近几年在深度学习各个领域被广泛使用,无论是图像处理、语音识别还是自然语言处理的各种不同类型的任务中,都很容易遇到注意力模型的身影。所以...
注意力机制(Attention)原理详解
热门推荐
weixin_52668444的博客
03-29 3万+
文章结构1. 为什么需要Attention2. Attention的基本原理3. Attention存在的问题总结 1. 为什么需要Attention 在了解Attention之前,首先应该了解为什么我们需要注意力机制。我们以传统的机器翻译为例子来说明为什么我们需要Attention。 传统的机器翻译,也称机器翻译(Neural machine translation),它是由encoder和decoder两个板块组成。其中Encoder和Decoder都是一个RNN,也可以是LSTM。不熟悉RNN是如何工
注意力机制详解及代码实现
AI天才研究院
08-24 566
作者:禅与计算机程序设计艺术 1.简介 随着深度学习、卷积神经网络(CNN)等技术的普及和应用,越来越多的研究人员把注意力机制Attention Mechanism)引入到各种深度学习模型中。如今,大量论文都试图用注意力机制来增强模型的并行化能力、提升模型的鲁棒性和泛化性能。理解和掌握注意力机制对于深
302
原创
162
点赞
1292
收藏
152
粉丝
关注
私信
写文章

热门文章

  • 【用户画像】用户画像简介、用户画像的架构、搭建用户画像管理平台 13343
  • 蓝桥杯试题 历届真题 杨辉三角形【第十二届】【java省赛】 7528
  • 笔记本连接外部键盘后,如何把笔记本自身的键盘禁用 6885
  • 蓝桥杯试题 历届真题 日期问题【第八届】【java省赛】 6408
  • 蓝桥杯试题 历届真题 砝码称重【第十二届】【java省赛】 5125

分类专栏

  • 数据结构与算法 2篇
  • 实时数仓 22篇
  • Flink 17篇
  • 用户画像 17篇
  • Git 2篇
  • 电商数仓 24篇
  • base 3篇
  • Spark 23篇
  • 深度学习 24篇
  • 机器学习 15篇
  • Scala基础 14篇
  • 论文翻译解读 9篇
  • HBase基础 3篇
  • 数仓采集项目 8篇
  • 大数据开发 33篇
  • kafka基础 4篇
  • Flume 5篇
  • Java基础 43篇
  • Hive 11篇
  • 知识图谱 2篇
  • 蓝桥杯 23篇
  • MySQL基础 5篇
  • JavaEE核心 8篇

最新评论

  • 论文翻译解读:Anytime Bottom-Up Rule Learning for Knowledge Graph Completion【AnyBURL】

    媛苏苏: 这个源码链接是不是附错了呀

  • 深度学习【使用PyTorch实现seq2seq模型】

    帅到被针对_: 博主,代码里面有个注释错了,EOS是句子的结束,SOS是句子的开始表情包

  • 笔记本连接外部键盘后,如何把笔记本自身的键盘禁用

    ‍气旋球: Win10 拒绝访问什么情况

  • 【实时数仓】Sugar拉取数据展示、品牌销售排行接口、品类销售占比接口和热门商品SPU排名接口的实现

    Nidalee_: 我用这个项目做的毕设,最后可视化那里没出来,用的飞猪内网穿透,怎么搞怎么没用,看到你这个文章,我试试用花生壳,终于出来了!!!!!终于出来了!!!!!终于出来了!!!!!终于出来了!!!!!终于出来了!!!!!你是我滴恩人

  • 数仓采集项目【01数仓概念、需求分析、技术框架】

    小韩up: 请问大佬有资料吗

最新文章

  • 【数据结构与算法】顺序队列与环形队列
  • 【数据结构与算法】数据结构介绍与稀疏数组相关操作
  • 【实时数仓】热度关键词接口、项目整体部署流程
2022年267篇
2021年35篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneTenTwo76

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家大型玻璃钢花盆厂家杭州商场美陈公司福建玻璃钢雕塑普洱玻璃钢雕塑设计厂家蚌埠卡通玻璃钢雕塑公司随州玻璃钢雕塑摆件厂家大型不锈钢雕塑玻璃钢汕头玻璃钢卡通雕塑加工厂家北京秋季商场美陈厂家直销椭圆形玻璃钢花盆南昌玻璃钢酒店人物雕塑简单的玻璃钢雕塑造型宿州景区玻璃钢雕塑生产厂家景观校园玻璃钢雕塑制造河南太湖石玻璃钢人物雕塑定做保定节日商场美陈玻璃钢动物雕塑制造商镇江商场商业美陈定制价格仙桃玻璃钢小品雕塑报价云南抽象玻璃钢雕塑生产厂家全国商场美陈阜平玻璃钢花盆花器玻璃钢大型园林不锈钢雕塑小品电镀玻璃钢雕塑玉树玻璃钢雕塑喷漆湘潭玻璃钢雕塑制作厂家玻璃钢雕塑制作方法视频玻璃钢圆柱雕塑玻璃钢龙雕塑设计费用侯马玻璃钢长颈雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化