Attention机制

softmax函数

  • 归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。
  • softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。第二步为了确保各个预测结果的概率之和等于1,需要将转换后的结果进行归一化处理。

定义

  • attention机制就是一种根据某些规则或者某些额外信息(query)从向量表达集合(values)中抽取特定的向量进行加权组合(attention)的方法。简单来讲,只要我们从部分向量里面搞了加权求和,那就算用了attention。
  • 给定一组向量集合values,以及一个向量query,attention机制是一种根据该query计算values的加权求和的机制。attention的重点就是这个集合values中的每个value的“权值”的计算方法。
  • 分类:可以从两个角度来分类Attention种类:Spatial Attention 空间注意力(图片)和Temporal Attention 时间注意力(序列)。更具实际的应用,也可以将Attention分为Soft Attention和Hard Attention。Soft Attention是所有的数据都会注意,都会计算出相应的注意力权值,不会设置筛选条件。Hard Attention会在生成注意力权重后筛选掉一部分不符合条件的注意力,让它的注意力权值为0。

内容

  • 本文的创新点在于抛弃了之前传统的encoder-decoder模型必须结合cnn或者rnn的固有模式,只用attention。文章的主要目的是在减少计算量和提高并行效率的同时不损害最终的实验结果。创新之处在于提出了两个新的Attention机制,分别叫做 Scaled Dot-Product Attention 和 Multi-Head Attention.

Background

  • 目前主流的处理序列问题都是基于encoder和decoder框架。
    Encoder-Decoder:编码器:从单词序列到句子表示。解码器:从句子表示转化为单词序列分布。Encoder顾名思义就是对输入句子X进行编码,将输入句子通过非线性变换转化为中间语义表示C;对于解码器Decoder来说,其任务是根据句子X的中间语义表示C和之前已经生成的历史信息y1,y2….yi-1来生成i时刻要生成的单词yi。用人的思维来看,就是我们先看到源Sequence,将其读一遍,然后在我们大脑当中就记住了这个源Sequence,并且存在大脑的某一个位置上,形成我们自己的记忆(对应Context),然后我们再经过思考,将这个大脑里的东西转变成输出,然后写下来。那么我们大脑读入的过程叫做Encoder,即将输入的东西变成我们自己的记忆,放在大脑当中,而这个记忆可以叫做Context,然后我们再根据这个Context,转化成答案写下来,这个写的过程叫做Decoder。其实就是编码-存储-解码的过程。
  • 传统的Encoder-Decoder一般使用RNN,但RNN难以处理长序列的句子,无法实现并行,并且面临对齐问题。
  • 之后这类模型的发展大多从三个方面着手:input的方向性 - 单向或双向;深度 - 单层或多层;类型– RNN,LSTM或GRU
  • 为了解决上面的问题,一种可行的方案是引入attention机制。Attention模型其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但是在我们深入仔细地观察时,其实眼睛聚焦的就只有很小的一块,这个时候人的大脑主要关注在这一小块图案上,也就是说这个时候人脑对整幅图的关注并不是均衡的,是有一定的权重区分的。这就是AttentionModel的核心思想。即在生成每个词的时候,对不同的输入词给予不同的关注权重。

Attention

  • 根据当前输出单词来调整成加入注意力模型的变化的Ci。
  • 加入Attention机制的模型表现确实更好,但也存在一定问题,例如:attention mechanism通常和RNN结合使用,我们都知道RNN依赖t-1的历史信息来计算t时刻的信息,因此不能并行实现,计算效率比较低,特别是训练样本量非常大的时候。
  • 基于CNN的Seq2Seq模型具有基于RNN的Seq2Seq模型捕捉long distance dependency的能力,此外,最大的优点是可以并行化实现,效率比基于RNN的Seq2Seq模型高。缺点:计算量与观测序列X和输出序列Y的长度成正比。

Transformer

  • 根据 query和 key 计算得到attention weight,对 value() 的每个 token进行加权。其意义为:为了用 value求出 query的结果, 根据 query和 key 来决定注意力应该放在value的哪部分。

Attention Model(注意力模型)

Transform详解(超详细) Attention is all you need论文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值