attention

Attention机制粗读

会有一股神秘感。 提交于 2019-11-30 03:18:26
参考链接: 浅谈Attention机制的理解 模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理、分类及应用 Attention机制详解(一)——Seq2Seq中的Attention Intuition 类似于人的注意力机制。 在观察某幅图像时,人不会将注意力平均的分散到图像的每一处,而是 根据需求重点关注特定的某一部分 。当我们发现图像的 某一部分经常出现我们需要注意的东西的时候 ,我们就会在将来出现类似场景时 把注意力放在图像的这部分上 。 从数学角度来理解,相当于从序列中学习到每一个 元素的重要程度 ,然后为其赋予一系列 注意力分配系数 ,按照权重参数将元素合并。 Application 在机器翻译、语音识别应用中,为句子中的每个词赋予不同的权重,使神经网络模型的学习变得更加灵活。 做为一种对齐关系,解释翻译输入/输出句子之间的对齐关系,解释模型到底学到了什么知识,为我们打开深度学习的黑箱,提供了一个窗口。 Model 图一:传统的Seq2Seq模型 参数解释: [ x 1 . . . x T x_1...x_T x 1 ​ . . . x T ​ ]表示输入序列,每个元素代表输入序列中的一个单词向量; c是固定长度隐向量(称之为背景向量或者上下文向量); [ y 1 . . . y T ′ y_1...y_{T'} y 1 ​ . . . y

温故Transformer

爱⌒轻易说出口 提交于 2019-11-29 17:33:04
Transformer —— attention is all you need Transformer模型是2018年5月提出的,可以替代传统RNN和CNN的一种新的架构,用来实现机器翻译,论文名称是attention is all you need。无论是RNN还是CNN,在处理NLP任务时都有缺陷。CNN是其先天的卷积操作不很适合序列化的文本,RNN是其没有并行化,很容易超出内存限制(比如50tokens长度的句子就会占据很大的内存)。 下面左图是transformer模型一个结构,分成左边Nx框框的encoder和右边Nx框框的decoder,相较于RNN+attention常见的encoder-decoder之间的attention(上边的一个橙色框),还多出encoder和decoder内部的self-attention(下边的两个橙色框)。每个attention都有multi-head特征。最后,通过position encoding加入没考虑过的位置信息。 下面从multi-head attention,self-attention, position encoding几个角度介绍。 multi-head attention:   将一个词的vector切分成h个维度,求attention相似度时每个h维度计算。由于单词映射在高维空间作为向量形式

Transformer —— attention is all you need

核能气质少年 提交于 2019-11-29 05:49:22
https://www.cnblogs.com/rucwxb/p/10277217.html Transformer —— attention is all you need Transformer模型是2018年5月提出的,可以替代传统RNN和CNN的一种新的架构,用来实现机器翻译,论文名称是attention is all you need。无论是RNN还是CNN,在处理NLP任务时都有缺陷。CNN是其先天的卷积操作不很适合序列化的文本,RNN是其没有并行化,很容易超出内存限制(比如50tokens长度的句子就会占据很大的内存)。 下面左图是transformer模型一个结构,分成左边Nx框框的encoder和右边Nx框框的decoder,相较于RNN+attention常见的encoder-decoder之间的attention(上边的一个橙色框),还多出encoder和decoder内部的self-attention(下边的两个橙色框)。每个attention都有multi-head特征。最后,通过position encoding加入没考虑过的位置信息。 下面从multi-head attention,self-attention, position encoding几个角度介绍。 multi-head attention:    将一个词的vector切分成h个维度

Attention is all you need

和自甴很熟 提交于 2019-11-28 18:11:07
论文地址: http://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf 只简要翻译一些重点内容。 摘要 很多序列转换模型都具有复杂的循环或卷积结构和编码/解码器。目前最好的模型也是基于编码/解码器和attention机制的。我们提出了一种简单的网络结构:transformer。只与attention有关,完全抛弃的循环和卷积结构。在两个机器翻译数据集上的实验证明了本文提出的模型更好,同时也可以并行计算,降低计算时间。 1 Introduction 在序列建模和机器翻译等自然语言处理问题上,RNN, LSTM, Gated RNN都获得了非常好的效果。但是RNN类模型必须按时序处理数据,所以会大幅提高计算开销。近期的研究成果中,有一些算法使用了一些技巧降低计算复杂度,但是由于序列化问题的天然属性,这种计算性能瓶颈仍然存在。注意力机制已经成为序列建模和转换模型的组成部分,允许在不考虑依赖项在输入或输出序列中的距离的情况下对依赖项进行建模。 在论文中,我们提出了transformer,完全依赖attention来搜索输入和输出之间的全局依赖性。transformer可以高度并行化计算,提高机器翻译质量。 2 Background ByteNet和ConvS2S等网络都使用卷积结构作为基本计算单元。在这些模型中

论文浅尝 | 采用多层注意力机制的事件检测

孤街醉人 提交于 2019-11-28 11:56:45
笔记整理:杨帆,浙江大学计算机学院硕士,研究方向知识图谱。 动机 事件编码(event encoding)之前的工作集中在提取实体,检测触发单词以及匹配预定义的模板,这些方法存在以下缺点: 首先它们依赖于细粒度的标记数据进行训练,但是这些数据很难获得; 其次它们使用句子级别的嵌入来去除导致错误的上下文信息,但是一个事件的信息并不只是包含在一个单一的句子中。 作者提出的模型引入多层的注意力机制来生成句子和文档的表示,旨在更好地捕获全局信息来进行事件分类及编码。 模型 本文提出的模型包含以下三个模块: 1. Sequence Encoder 该模块使用双向GRU生成每个单词的表示。 2. Word-Level Attention 该模块包含以下三部分: 2.1 Bilinear Attention 第一部分将 Sequence Encoder 生成的单词表示通过一层的MLP得到其对应的隐藏层表示 ,然后利用 和 计算得到attention , 代表句子的全局信息。 2.2 Factorized Bilinear Multi-Aspect Attention (FBMA) 第二部分通过矩阵分解将之前单层的attention转换为多层的attention,用来抽取更丰富的全局信息。 2.3 Sentence Representation

深度学习中的attention机制

南楼画角 提交于 2019-11-28 00:25:16
最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。本文以机器翻译为例,深入浅出地介绍了深度学习中注意力机制的原理及关键计算机制,同时也抽象出其本质思想,并介绍了注意力模型在图像及语音等领域的典型应用场景。 注意力模型最近几年在深度学习各个领域被广泛使用,无论是图像处理、语音识别还是自然语言处理的各种不同类型的任务中,都很容易遇到注意力模型的身影。所以,了解注意力机制的工作原理对于关注深度学习技术发展的技术人员来说有很大的必要。 人类的视觉注意力 从注意力模型的命名方式看,很明显其借鉴了人类的注意力机制,因此,我们首先简单介绍人类视觉的选择性注意力机制。 图1 人类的视觉注意力 视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无用信息。这是人类利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段,是人类在长期进化中形成的一种生存机制,人类视觉注意力机制极大地提高了视觉信息处理的效率与准确性。 图1形象化展示了人类在看到一副图像时是如何高效分配有限的注意力资源的

【NLP】彻底搞懂BERT

不打扰是莪最后的温柔 提交于 2019-11-27 23:33:37
# 好久没更新博客了,有时候随手在本上写写,或者Evernote上记记,零零散散的笔记带来零零散散的记忆o(╥﹏╥)o。。还是整理到博客上比较有整体性,也方便查阅~ 自google在2018年10月底公布BERT在11项nlp任务中的卓越表现后,BERT(Bidirectional Encoder Representation from Transformers)就成为NLP领域大火、整个ML界略有耳闻的模型,网上相关介绍也很多,但很多技术内容太少,或是写的不全面半懂不懂,重复内容占绝大多数 (这里弱弱吐槽百度的搜索结果多样化。。) 一句话概括,BERT的出现,彻底改变了 预训练产生词向量 和 下游具体NLP任务 的关系,提出龙骨级的训练词向量概念。 目录:   词向量模型:word2vec, ELMo, BERT比较   BERT细则:Masked LM, Transformer, sentence-level   迁移策略:下游NLP任务调用接口   运行结果:破11项NLP任务最优纪录 一、词向量模型 这里主要横向比较一下word2vec,ELMo,BERT这三个模型,着眼在模型亮点与差别处。 传统意义上来讲,词向量模型是一个工具,可以把真实世界抽象存在的文字转换成可以进行数学公式操作的向量,而对这些向量的操作,才是NLP真正要做的任务。因而某种意义上,NLP任务分成两部分,

CCNet:Criss-Cross Attention for semantic Segmentation

雨燕双飞 提交于 2019-11-27 16:10:16
原文链接: https://arxiv.org/abs/1811.11721 Github: https://github.com/speedinghzl/CCNet 本文也是Self-Attention机制的文章,该论文在捕获long-range上下文信息的同时提高了计算性能并减少了GPU内存,在Cityscapes、ADE20K和MSCOCO数据集上取得了先进性能。 文中1*1卷积的理解: https://blog.csdn.net/renhaofan/article/details/82721868 Abstract Long-range依赖能够捕获有用的上写完信息从而解决视觉理解问题。本文提出一种十字交叉的网络CCNet更有效地获得重要的信息。具体来说,CCNet能够通过一个新的交叉注意模块获取其周围像素在十字交叉路径上的上下文信息。通过这样反复的操作,每个像素最终能够从所有的像素中捕获long-range依赖。总体上CCNet有以下贡献:(1)节省GPU内存。与非局部模块non-local相比,循环十字交叉注意模块能够节省11倍的GPU内存占用;(2)更高的计算性能。循环交叉注意力模块在计算Long-range依赖时能够减少85% non-local FLOPs;(3)在语义分割数据集Cityscapes和ADE20K和实例分割数据集COCO上取得了先进性能。

Attention机制在深度学习推荐算法中的应用(转载)

一个人想着一个人 提交于 2019-11-27 09:43:57
AFM:Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks 模型入上图所示,其中sparse iput,embedding layer,pair-wise interaction layer都和FM一样,后面加入了一个attention net生成一个关于特征交叉项的权重,将FM原来的二次项累加变成加权累加。这里的attention net其实很简单,就是简单的线性变换求出权重之后再和原来的输入进行加权求和。 然后加权计算得到AFM的输出: 缺点:AFM只是在FM的基础上添加了attention的机制,但实际上只利用了加权的二次项,并没有加入更深的网络去学习更高阶的非线性交叉特征,所以它的上限和FFM很接近,没有完全发挥出dnn的优势。 2. 阿里DIN:Deep Interest Network for Click-Through Rate Prediction 用户的历史行为数据是有多个的,在计算新的候选商品的ctr时,可以将用户多个历史行为的embedding加个average pooling平均一下,但是这样没有办法建模出不同历史行为对目标预测的影响程度

【待写】深度学习中的Attention机制之计算机领域中的attention机制

我怕爱的太早我们不能终老 提交于 2019-11-27 05:16:22
受到《Attention Is All You Need》的启发,探索作为独立研究点的注意力机制 本稿件于2018年12月30号完成第三版编写,共计22102字。现在把它搬到博客里面来,一来交流,二来重温 绪论 注意力是一个经常用在人身上的词汇,指的是人对不同事物会分配不同的关注度。在进化过程中,人类要处理的信息越来越多,但是脑容量要想无限增大是不可能,那么到底是什么使得人类得以适应当今的发展呢?大自然给人类做出的选择是:虽然脑容量没有过多地增大,但是却发展出来能够迅速分析信息,并高效率地选择信息并投注计算能力的机制,这就是注意力,它使得人类可以将所有计算能力放在重要的任务上。更深入的认识神经科学方面的研究将单独整理,这里只做简单的引入。 从上文的大体描述来看。目前的深度学习环境非常适合模拟人脑的注意力:各种神经网络的数据输入量都特别大,并且也不是所有数据都是携带了有用的信息,这时候选择合适的信息来合理地分配计算机的计算能力是非常必要的。 我们能够想到的、最直观的注意力机制是视觉注意力。计算机科学中的Attention机制最早就是在视觉图像领域提出来的(应该是在九几年),真正火起来应该算是2014年google mind团队的这篇论文《Recurrent Models of Visual Attention》,他们用attention机制来进行图像分类。