Attention Model详解
在Encoder-Decoder框架中,在预测每一个yi时对应的语义编码c都是一样的,也就意味着无论句子X中的每个单词对输出Y中的每一个单词的影响都是相同的。这样就会产生两个弊端:一是语义向量无法完全表示整个序列的信息,再者就是先输入的内容携带的信息会被后输入的信息稀释掉,或者说,被覆盖了。输入序列越长,这个现象就越严重。这就使得在解码的时候一开始就没有获得输入序列足够的信息, 那么解码的准确度自然也就要打个折扣了。
为了解决上面的弊端,就需要用到我们的Attention Model(注意力模型)来解决该问题。在机器翻译的时候,让生成词不是只能关注全局的语义编码向量c,而是增加了一个“注意力范围”,表示接下来输出词时候要重点关注输入序列中的哪些部分,然后根据关注的区域来产生下一个输出。模型结构如下:
此时生成目标句子单词的过程就成了下面的形式:
比如输入的是英文句子:Tom chase Jerry,Encoder-Decoder框架逐步生成中文单词:“汤姆”,“追逐”,“杰瑞”。在没加入Attention Model之前,生成的语义编码C是一致的,而加入之后,对应的语义编码可能如下:
其中,f2函数代表Encoder对输入英文单词的某种变换函数,比如如果Encoder是用的RNN模型的话,这个f2函数的结果往往是某个时刻输入xi后隐层节点的状态值;g代表Encoder根据单词的中间表示合成整个句子中间语义表示的变换函数,一般的做法中,g函数就是对构成元素加权求和,也就是常常在论文里看到的下列公式:
假设Ci中那个i就是上面的“汤姆”,那么Tx就是3,代表输入句子的长度,h1=f(“Tom”),h2=f(“Chase”),h3=f(“Jerry”),对应的注意力模型权值分别是0.6, 0.2, 0.2,所以g函数就是个加权求和函数。如果形象表示的话,翻译中文单词“汤姆”的时候,数学公式对应的中间语义表示Ci的形成过程类似下图:
我们来看看现在的Encoder-Decoder模型结构:
用下图可以较为便捷地说明注意力分配概率分布值的通用计算过程:
Attention Model详解相关推荐
- Attention原理详解
Attention原理详解 Attention模型 对齐 模型介绍 Attention整体流程 Step1 计算Encoder的隐藏状态和Decoder的隐藏状态 Step2 获取每个编码器隐藏状态对 ...
- [转载] 【全面总结】Tensorflow 2.0+与Keras的联系与应用(含model详解)
参考链接: Tensorflow 2.0的新功能 Tensorflow 2.0+与Keras的联系与应用(含model详解) 事实上我个人入坑tensorflow比较晚,于是导致我其实并没有经历Ten ...
- 一文读懂——全局注意力机制(global attention)详解与代码实现
废话不多说,直接先上全局注意力机制的模型结构图. 如何通过Global Attention获得每个单词的上下文向量,从而获得子句向量呢?如下几步: 代码如下所示: x = Embedding(inpu ...
- Attention机制详解
一.Attention 原理 在Encoder-Decoder结构中,Encoder把所有的输入序列都编码成一个统一的语义特征c再解码,因此, c中必须包含原始序列中的所有信息,它的长度就成了限制模型 ...
- Transformer 初识:模型结构+attention原理详解
Transformer 初识:模型结构+原理详解 参考资源 前言 1.整体结构 1.1 输入: 1.2 Encoder 和 Decoder的结构 1.3 Layer normalization Bat ...
- 自然语言处理之Attention大详解(Attention is all you need)
1. 写在前面 今天分享的论文是2017年谷歌团队发表的一篇论文,这是一篇非常经典的自然语言处理领域的文章,基于这篇文章,才有了最近非常火的bert, Albert等模型,接触这篇文章是在一次直播中看 ...
- 00x: Django models.Model详解
Models model是对于信息的一种模型封装与定义.它包含了你要存储的必要字段和操作数据的方法.一句话概括就是,每个模型映射了一张数据表. 基本概念: 每个model都是继承于django.db. ...
- 基于Castle ActiveRecord开发Domain Model详解(一)对象关系到数据表的映射
Castle Project非常庞大,ActiveRecord是其中一个非常适合用于Domain Model开发的O/R Mapping框架.它使用.NET的反射特性无需配置文件,集成NHiberna ...
- 自注意力(Self-Attention)与Multi-Head Attention机制详解
自注意力机制属于注意力机制之一.与传统的注意力机制作用相同,自注意力机制可以更多地关注到输入中的关键信息.self-attention可以看成是multi-head attention的输入数据相同时 ...
- Seq2Seq Attention模型详解
目录 一.从传统Seq2Seq说起 二.在Seq2Seq中引入Attention 三.引入Attention后,与传统的Seq2Seq的不同之处 四.Seq2Seq的损失计算和解码过程 Seq2seq ...
最新文章
- 如何把Windows安装的所有打印机列出来
- Ratatosk - Hybrid error correction of long reads enables accurate variant calling and assembly
- [转载]TFS测试管理
- Pycharm ipynb
- 云计算与分布式的一些关键词
- 一次性供应商不能用特别总账标准程序修改
- Spring Boot @ConfigurationProperties注解的使用
- 常用音频软件:Wavesufer
- webBroser获取cookie
- CCIE-LAB-SDN-第三篇-SD-WAN
- 2020年11月“省时查报告”十大热门报告盘点(文末附热门报告列表)
- Java8 本地DateTime API
- cloudfoundry servicce-broker部署错误分析
- yolov5学习率设置
- 基于php工程项目管理系统
- QT下以ADO连接ORACLE数据库
- 密度计算机公式,相对密度计算公式
- windbg调试kvm windows虚机
- 车轮轨迹原理_方向盘与车轮轨迹图解,方向盘和车轮的动态图
- C# Task不执行的一种情况