BahdanauAttention与LuongAttention注意力机制简介

在使用tensorflow时发现其提供了两种Attention Mechanisms(注意力机制),如下

The two basic attention mechanisms are:

  • tf.contrib.seq2seq.BahdanauAttention (additive attention, ref.)
  • tf.contrib.seq2seq.LuongAttention (multiplicative attention, ref.)

那么这两种注意力机制有何异同呢?下面我们通过两个方面介绍,首先简单回顾下注意力机制,然后再对这两种经典的注意力机制进行比较。

一、注意力机制回顾

简单来说,注意力本质上就是一个经过softmax层输出的向量。

在早期机器翻译应用中,神经网络结构一般如下图,是一个RNN的Encoder-Decoder模型。左边是Encoder,代表输入的sentence。右边代表Decoder,是根据输入sentence对应的翻译。Encoder会通过RNN将最后一个step的隐藏状态向量c作为输出,Deocder利用向量c进行翻译。这样做有一个缺点,翻译时过分依赖于这个将整个sentence压缩成固定输入的向量。输入的sentence有可能包含上百个单词,这么做不可避免会造成信息的丢失,翻译结果也无法准确了。

注意力机制的引入就是为了解决此问题,注意力机制使得机器翻译中利用原始的sentence信息,减少信息损失。在解码层,生成每个时刻的y,都会利用到x1,x2,x3....,而不再仅仅利用最后时刻的隐藏状态向量。同时注意力机制还能使翻译器zoom in or out(使用局部或全局信息)。

注意力机制听起来很高大上、很神秘,其实它的整个实现只需要一些参数和简单的数学运算。那么注意力机制到底是如何实现的呢?

在基本的Encoder-Decoder模型中,注意力机制在Encoder和Decoder加入了上下文向量context vector,如上图所示,左边蓝色的代表Encoder,红色的代表Decoder。对于Decoder中每个要生成的y,都会生成一个上下文向量。这个上下文向量是由每个输入的words的信息加权求和得到的,其中权重向量就是注意力向量,它代表在此刻生成y时输入的单词的重要程度。最后将上下文向量和此刻的y的信息进行融合作为输出。

构建上下文向量过程也很简单,首先对于一个固定的target word,我们把这个target state跟所有的Encoder的state进行比较,这样对每个state得到了一个score;然后使用softmax对这些score进行归一化,这样就得到了基于target state的条件概率分布。最后,对source的state进行加权求和,得到上下文向量,将上下文向量与target state融合作为最终的输出。

具体流程的数学表达如下:

为了理解这个看起来有些复杂的数学公式,我们需要记住三点:

  1. 在解码时,对于每个输出的word都需要计算上下文向量。所以,我们会得到一个n\ast m的2D矩阵, n代表source word数量,m代表target word数量
  2. 我们可以通过context vector,target word,attention function f计算attention vevtor
  3. attention mechanism是可以训练的。

二、BahdanauAttention与LuongAttention

2.1 BahdanauAttention

BahdanauAttention是Bahdanau在论文NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE中提出的,整体Attention结构如下图:

1)第i个target word上下文向量c_i{}会根据每个source word的隐向量h_j{}加权求和得到:

2)对于每个 h_j{}a_{ij}计算如下

其中

e_{ij}是对齐模型,代表位置j的输入和位置i的输出匹配程度的分数,这个分数基于RNN的 i-1 位置的隐含状态s_{i-1}和 j 位置的h_{j}计算得到。

2.2 LuongAttention

LuongAttention是Luong在论文Effective Approaches to Attention-based Neural Machine Translation中提出的。整体结构如下

 与BahdanauAttention整体结构类似,LuongAttention对原结构进行了一些调整,其中Attention向量计算方法如下

 其中与BahdanauAttention机制有以下几点改进:

  1. BahdanauAttention对Encoder和Decoder的双向的RNN的state拼接起来作为输出,LuongAttention仅使用最上层的RNN输出
  2. BahdanauAttention的计算流程为 ht−1 → at → ct → ht,它使用前一个位置t-1的state计算t时刻的ht。LuongAttention计算流程为  ht → at → ct → h˜t 使用t位置的state当前位置的ht
  3. BahdanauAttention只在concat对齐函数上进行了实验,LuongAttention在多种对齐函数进行了实验,下图为LuongAttention设计的三种对齐函数

2.3 总结 

BahdanauAttention与LuongAttention两种注意力机制大体结构类似,都是基于第一节中的attention框架设计,主要的不同点就是在对齐函数上,在计算第 i个位置的score,前者是需要使用 s_{i-1}h_{j} 来进行计算,后者使用s_{i}h_{j}计算,这么来看还是后者直观上更合理些,逻辑上也更顺滑。两种机制在不同任务上的性能貌似差距也不是很大,具体的细节还待进一步做实验比较。

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

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

相关文章

注意力机制详解系列(一):注意力机制概述

👨‍💻作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享。公众号: GoAI的学习小屋,免费分享书籍、简历、导图等资料,更有交流群分享AI和大数据,加群方式公众号回复“加群”或➡️点击链接。 🎉专栏推荐: 目…

深入理解图注意力机制(Graph Attention Network)

©PaperWeekly 原创 作者|纪厚业 学校|北京邮电大学博士生 研究方向|异质图神经网络及其应用 介绍 图神经网络已经成为深度学习领域最炽手可热的方向之一。作为一种代表性的图卷积网络,Graph Attention Network (GAT) 引入了…

注意力机制详述

学习本部分默认大家对RNN神经网络已经深入理解了,这是基础,同时理解什么是时间序列,尤其RNN的常用展开形式进行画图,这个必须理解了。 这篇文章整理有关注意力机制(Attention Mechanism )的知识&#xff0c…

注意力机制Attention详解

注意力机制Attention详解 一、前言 2018年谷歌提出的NLP语言模型Bert一提出,便在NLP领域引起热议,之所以Bert模型能够火出圈,是由于Bert模型在NLP的多项任务中取得了之前所有模型都不能达到的出色效果。那么Bert模型它是如何提出的呢&#x…

注意力机制(Attention Mechanism)-ECANet

引言 神经网络中的注意力机制(Attention Mechanism)是在计算能力有限的情况下,将计算资源分配给更重要的任务,同时解决信息超载问题的一种资源分配方案。在神经网络学习中,一般而言模型的参数越多则模型的表达能力越强…

注意力机制介绍(attention)

注意力机制是指我们将视觉注意力集中在图像的不同区域,或者将注意力集中在一句话中的某个词语,以下图为例: 人眼的视觉注意力允许我们以“高分辨率”关注某个特定区域(例如黄色框内的耳朵)同时以“低分辨率”处理周围的…

基于图像的场景三维建模

三月已过半旬,已是春暖花开的季节,也是我们科研爱好者最繁忙的一段时间。春天的到来,意味着新一届的学子即将离开学校,走向自己人生的第二段道路,也意味着您年伊始,所有的工作、项目、计划等都要开始步入正…

让运营人员相见恨晚的抖音自动化数据分析方案

让运营人员相见恨晚的抖音自动化数据分析方案 数据统计发现,目前抖音的用户数已超过5亿。流量时代,很多企业开始涌进这个庞大的流量池,基于抖音可以通过直播电商和广告投放等方式来挖掘商机。然而新机遇面前也是新的挑战,抖音类营…

LLaMA模型指令微调 字节跳动多模态视频大模型 Valley 论文详解

Valley: Video Assistant with Large Language model Enhanced abilitY 大家好,我是卷了又没卷,薛定谔的卷的AI算法工程师「陈城南」~ 担任某大厂的算法工程师,带来最新的前沿AI知识和工具,包括AI相关技术、ChatGPT、AI绘图等&…

【毕业设计】基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,…

跨国邮件诈骗团伙案例

如果某天你收到了这样一封邮件,啊,大体意思就是这人身患绝症且有一笔遗产,你是个幸运儿要你继承。 重点来了啊,他会伪造证件然后让你相信并按照对方的思路来,给他你的身份信息,例如身份证照片,你…

文献AI神器!司马阅(SmartRead)一键整理PDF论文摘要,轻松回答重点问题!

阅读本文大概需要 2.35 分钟。 在司马阅(SmartRead)、 Midjourney 等AI 内容生成工具大热,加上前几天OpenAI 开放API 功能后,许多工具串接AI 功能来实现不只是问答,而是更多图文影音内容的自动创造。我自己比较专注在文字内容、想法规划的部份…

如何持续架构治理?我们和 ChatGPT 聊了一会?

在上周的 QCon 北京 2022 大会上,我和我的同事黄雨青一起分享了《组织级架构治理的正确方式》,以帮助开发人员对组织级架构治理体系全貌一瞥,并厘清治理工具的设计思路和核心功能内容。 结合我们在 ArchGuard 的探索经验,我们&…

【AI提示】通过提供哪些具体要素,可以更好地引导chatGPT提供针对性、准确和完美的回答,以满足我的需求...

以下是几个AI副驾驶(ChatGPT、讯飞星火、阿里通义、Claude、Bing Chat)提供的回答: 一、ChatGPT 分析一下从你那得到完美回答所需提示的要素 从我那得到完美回答所需的要素可以归纳为以下几点: 1.清晰的问题陈述:一个…

blinker+esp8266-01s继电器模块+小爱同学,远程控制开关灯,有按键反馈

读者按照一下图片自行配置app #define BLINKER_WIFI #define BLINKER_MIOT_LIGHT #include <Blinker.h>#define LED 0 //定义继电器输入引脚为GPIO0//填入自己的信息 char auth[] " "; char ssid[] " "; char pswd[] " ";bool…

解决小米鼠标小爱同学无法登录问题

问题描述&#xff1a;点击左下角未登录&#xff0c;一直显示加载中&#xff0c;没有后续反应 解决办法&#xff1a;下载新的驱动 1、点击“关于” 2、点击“帮助中心”——>“常见问题”——>“使用语音、翻译等功能&#xff0c;需要下载驱动软件吗”&#xff1b; 访问…

raspberry Pi 连接蓝牙(小爱同学)

参数valueraspberry pi MOdel4B&#xff0c;4Gbbluetooth MOdel小爱同学writeTime2023年 2月11日 下午13&#xff1a;14分raspberry System ModelLinux raspberrypi 5.15.61-v8 #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux 连接蓝牙 请在小爱同学app上…

小爱同学控制ESP8266点灯

小爱同学吃灰很久了&#xff0c;一直想接入小爱来控制些智能硬件&#xff0c;无奈小米的IOT开放平台只对企业用户开放。最近研究了点灯科技的物联网平台&#xff0c;软件硬件支持非常丰富&#xff0c;关键对于爱好者有免费的版本可以使用&#xff0c;爱了爱了有木有&#xff1f…

“小爱同学”商标遭抢注,小米上诉被驳回

本文转载自IT之家 IT之家 6 月 2 日消息 小米科技有限责任公司与知识产权局商标行政管理&#xff08;商标&#xff09;的案件于近日公布&#xff0c;“小爱同学”商标 37 类 建筑修理类曾于 2017 年被陈某注册成功&#xff0c;小米于 2018 年注册该商标被驳回后起诉知识产权局…

小爱同学控制灯 局域网

继电器--------i02 #include <ESP8266WiFi.h> #define LED 0 // 以上烧写程序配网方式可以换成微信扫码配网&#xff0c;等等&#xff0c;具体操作可查看博客相关例子 WiFiServer server(80); // 服务器端口号 void smartConfig() { WiFi.mode(WIFI_STA); Serial.printl…