attention

Task10.Bert

我的梦境 提交于 2020-02-27 06:51:06
Transformer原理 论文地址:Attention Is All You Need:https://arxiv.org/abs/1706.03762 Transformer是一种完全基于Attention机制来加速深度学习训练过程的算法模型。Transformer最大的优势在于其在并行化处理上做出的贡献。 Transformer抛弃了以往深度学习任务里面使用到的 CNN 和 RNN ,目前大热的Bert就是基于Transformer构建的,这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本摘要和语音识别等等方向。 Transformer总体结构 和Attention模型一样,Transformer模型中也采用了 encoer-decoder 架构。但其结构相比于Attention更加复杂,论文中encoder层由6个encoder堆叠在一起,decoder层也一样。 对于encoder,包含两层,一个self-attention层和一个前馈神经网络,self-attention能帮助当前节点不仅仅只关注当前的词,从而能获取到上下文的语义。 decoder也包含encoder提到的两层网络,但是在这两层中间还有一层attention层,帮助当前节点获取到当前需要关注的重点内容。 现在我们知道了模型的主要组件,接下来我们看下模型的内部细节。首先

温故BERT之Transformer

若如初见. 提交于 2020-02-27 06:50:17
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维度计算。由于单词映射在高维空间作为向量形式

BERT

会有一股神秘感。 提交于 2020-02-22 05:35:39
转:https://www.cnblogs.com/rucwxb/p/10277217.html 【NLP】彻底搞懂BERT 自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任务分成两部分,预训练产生词向量,对词向量操作(下游具体NLP任务

TASK04-注意力机制-机器翻译-Transformer

人盡茶涼 提交于 2020-02-18 05:05:08
将注意力机制放到这里,以后会用到。 练习题放在最前面: 关于Transformer描述正确的是: 在训练和预测过程中,解码器部分均只需进行一次前向传播。 Transformer 内部的注意力模块均为自注意力模块。 解码器部分在预测过程中需要使用 Attention Mask。 自注意力模块理论上可以捕捉任意距离的依赖关系。 答案解释 选项1:训练过程1次,预测过程要进行句子长度次 选项2:Decoder 部分的第二个注意力层不是自注意力,key-value来自编码器而query来自解码器 选项3:不需要 选项4:正确,因为自注意力会计算句子内任意两个位置的注意力权重 2. 在Transformer模型中,注意力头数为h,嵌入向量和隐藏状态维度均为d,那么一个多头注意力层所含的参数量是: 4hd24hd^24hd2 (3h+1)d2(3h + 1)d^2(3h+1)d2 4d24d^24d2 3hd23hd^23hd2 答案解释 参考MultiHeadAttention模块的定义。 hhh个注意力头中,每个的参数量为3d23d^23d2,最后的输出层形状为hd×dhd \times dhd×d,所以参数量共为4hd24hd^24hd2。 3. 下列对于层归一化叙述错误的是: 层归一化有利于加快收敛,减少训练时间成本 层归一化对一个中间层的所有神经元进行归一化

自注意力机制在图像中的应用

一世执手 提交于 2020-02-14 14:50:25
笔者的毕设是做人脸图像的补全,开始使用经典的变分自编码器模型,能达到比较好的补全效果.后来看到BIGGAN的论文,里边他们使用了self attention提高图片生成的效果,查阅了相关资料后也在模型中加入了自注意力层,确实对补全后的图像有了显著的提升.当然了BIGGAN生成的图片能达到以假乱真的地步也不光是靠加入了自注意力层,具体可以看http://www.twistedwg.com/2018/10/02/BigGAN.html这篇博客里对BIGGAN的解读.本文主要分析为何加入自注意力层可以提高生成图片的质量以及如何实现自注意力层. BIGGAN将自注意力层加入到模型中主要是参考的Self Attention Gan(SAGAN),它将self attention layer 加入到GAN中,使得编码器和解码器能够更好地对图像不同区域的关系进行建模. 经典的DCGAN(Deep Convolutional GAN)采用多层卷积网络构建编码器和解码器,但是这种网络的表征能力受限于邻域的 kernel size,就算后期感受野越来越大,终究还是局部区域的运算,这样就忽略了全局其他片区(比如很远的像素)对当前区域的贡献。 在图像领域,自注意力机制会学习某一像素点和其他所有位置(包括较远位置)的像素点之间的关系,即捕获long-range的关系.也就是说对于SAGAN

Transformer翻译模型Decoder详解(Masking)

戏子无情 提交于 2020-02-11 19:39:03
写这个博客的原因在于:大部分解释Transformer的文章都只注重讲解Encoder部分,在Encoder中又侧重讲解self-attention原理。为了读者更好地理解整个Transformer的训练过程,我决定结合代码写一篇在理解了Encoder部分怎么理解Decoder模块的博文。 参考文章:https://jalammar.github.io/illustrated-transformer/ 参考代码:https://github.com/Kyubyong/transformer pre: Encoder 根据以上参考文章及代码理解Encoder的self-attention原理非常容易,这里不再赘述。需要说明的是以下维度: 德文输入X.shape:[batch_size, max_len] 英文标注Y.shape:[batch_size, max_len] Encoder输出维度 [batch_size, max_len, hidden_units] 也就是 代码 里的[N, T_q, C] Decoder 在训练过程中,Transformer同所有seq2seq模型一样,会用到source data以及不断生成的target data的部分数据(理解就是RNN的因果关系,训练过程中不像BiRNN一样使用未来数据,因此需要Masking)。 需要说明的是 代码 中的

注意力机制

折月煮酒 提交于 2020-02-07 02:31:41
注意力的种类有如下四种: 加法注意力, Bahdanau Attention 点乘注意力, Luong Attention 自注意力, Self-Attention 多头点乘注意力, Multi-Head Dot Product Attention(请转至Transformer模型) 1. Bahdanau Attention Neural Machine Translation by Jointly Learning to Align and Translate, Bahdanau et al, ICLR 2015 总览 2015年发布的论文,首次提出注意力机制,也就是加法注意力,并将其应用在机器翻译领域。 当前工作的不足 目前NMT主流的方法是seq2seq方法,具体采用的是encoder-decoder模型。但是在编解码模型中 编码得到的是固定长度的context vector,这是当前seq2seq的瓶颈 。 本文提出联合学习 对齐 和 翻译 的方法: 对齐:在预测每一个target word的时候都去search源句子中一个部分 翻译:根据对齐的部分动态生成c,然后基于c和上一个target word生成当前的target word 模型 下图展示了在预测target word o t o_t o t ​ 时从源句子隐藏状态动态生成上下文向量的过程。 首先根据对齐模型 a

Attention in CNN

浪尽此生 提交于 2020-02-07 01:45:16
一、简介 注意力(attention)是一个十分常见的现象,这在视觉领域尤为明显。比如在上课的时候,学生的注意力几乎都集中在老师身上,而对老师身边的讲台和身后的黑板不会关注(如果没有老师指挥的情况下关注了的话只能证明你在开小差...),此时可以认为除了老师以外,都被学生自动认为是背景(background)了。而计算机视觉中的注意力机制的基本思想就是让系统学会注意力——能够忽略无关信息而更多的关注我们希望它关注的重点信息。 这里主要讨论的是CV领域——CNN的注意力机制,关于自然语言处理(NLP)或视觉问答系统(VQA)中也有,有兴趣可以去自己查阅相关论文和博客。 二、参考文献与资料 参考论文: 1、CBAM: Convolutional Block Attention Module . Sanghyun Woo, Jongchan Park, Joon-Young Lee, In So Kweon.(ECCV, 2018) 2、Squeeze-and-Excitation Networks. Jie Hu, Li Shen, Samuel Albanie, Gang Sun, Enhua Wu.(CVPR, 2017) 3、Wang, Fei, et al. "Residual attentionnetwork for image classification." arXiv

Seq2Seq Attention

依然范特西╮ 提交于 2020-02-03 03:12:07
文章目录 什么是Attention 举个例子: 为什么需要Attention? Attention 的3大优点 Seq2Seq Attention计算过程 Attention Scores计算方式 乘法Attention: 加法Attention: 一种更通用的Attention的计算方式(QKV) Attention又一种计算方式 Seq2Seq Attention形状 形状一 形状二 形状三 Attention的计算区域 Soft Attention Hard Attention Local Attention Attention层次结构 模型方面 CNN+Attention LSTM+Attention 纯Attention 相似度计算方式 引用 什么是Attention Attention(注意力机制)是一种机制,可以应用到许多不同的模型中,像CNN、RNN、seq2seq等。Attention通过权重给模型赋予了区分辨别的能力,从而抽取出更加关键及重要的信息,使模型做出更加准确的判断,同时不会对模型的计算和存储带来更大的开销。 Attention模型的基本表述可以这样理解成:当我们人在看一样东西的时候,我们当前时刻关注的一定是我们当前正在看的这样东西的某一地方,换句话说,当我们目光移到别处时,注意力随着目光的移动野在转移,这意味着,当人们注意到某个目标或某个场景时

预训练语言模型

对着背影说爱祢 提交于 2020-01-31 20:23:55
本文为本人在学习预训练语言模型时收集的相关资料 (一) 从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 (张俊林dalao总结,强烈推荐) (二)从Seq2Seq,Attention,Transformer到ELMo,BERT,GPT-2 1、 从Seq2Seq,Attention,Transformer到ELMo,BERT,GPT-2(一) 2、 从Seq2Seq,Attention,Transformer到ELMo,BERT,GPT-2(二) (三) NLP课程:Encoder-Decoder框架、Attention、Transformer、ELMO、GPT、Bert学习总结 概括了ELMo、GPT、BERT等的优缺点 (四) 从Transformer、BERT到GPT2和XLNet:高端玩家如何用论文互怼 以故事形式介绍了预训练语言模型 来源: CSDN 作者: 疯人张 链接: https://blog.csdn.net/MIC10086/article/details/104125732