Attention,Transformer,BERT,XLNet,Transformer-XL

1 传统的词向量的缺点

       传统Word Embedding的预训练表示是上下文无关的,例如word2vec,glove,fasttext,在训练好词向量之后不能表示多义单词,例如:bank deposit(银行) VS river band(岸边)

2 什么是BERT

       BERT: Bidirectional Encoder Representations from Transformers。它是一种预训练语言的表示,上下文相关。

3 Attention机制

       为了预测或推断一个元素,例如图像中的像素或者句子中的单词,使用注意力权重来估计其他元素与其相关的强度,并将由注意力权重加权的值的总和作为计算最终目标的特征。
       Step 1:计算其他元素与待预测元素的相关性权重。
       Step 2:通关softmax将相关性权重归一化。
       Step 3:根据相关性权重对其他元素进行。
权重计算方式:
{ Q T K d o t Q T W K g e n e r a l W [ Q ; K ]     c o n c a t V T t a n h ( W 1 Q + W 2 K ) p e r c e p t r o n ( a d d i t i v e ) \begin{cases} Q^TK \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad dot\\ Q^TWK \quad \quad \quad \quad \quad \quad \quad \quad general\\ W[Q;K] \quad \quad \quad \quad \quad \quad \quad \ \ \ concat\\ V^Ttanh(W_1Q+W_2K) \quad perceptron(additive) \end{cases} QTKdotQTWKgeneralW[Q;K]   concatVTtanh(W1Q+W2K)perceptron(additive)
分类:

  1. self-attention:Q和K一样
  2. hard-attention:依据概率也就是权重采样,每次仅选取一个其他元素
  3. soft-attention:通过加权和的形式选取所有其他元素中的信息
  4. global-attention:获取所有其他元素的信息
  5. local-attention:获取一部分其他元素的信息

4 Transformer

4.1 整体结构

在这里插入图片描述

4.1.1 Encoder

       Encoder是由6个相同的层构成,每个层又含有两个子层。第一个子层由多重自注意力机制构成,第二层是由全连接层构成。其中每个子层都通过残差连接,并且通过层归一化(layer normalization).。每个子层的输出如下:
L a y e r N o r m ( x + S u b l a y e r ( x ) ) LayerNorm(x+Sublayer(x)) LayerNorm(x+Sublayer(x))
注:为了实现残差连接,模型中的所有子层和词向量都是一样的维度,即:512。

4.1.2 Decoder

       Decoder也是由6个相同的层构成,每个层除了拥有Encoder中的子层还包括一个多重注意力机制层(不是自注意力)。每个子层同样是残差连接,输出通过层归一化。其中的多重自注意力机制与Encoder中的不同,因为在输出阶段,预测第 i i i个位置的输出时,只能依赖于位置 i i i以及之前的信息,不能获取 i i i位置后的信息。因此在做自注意力机制时需要将 i i i位置后的计算得到的权重置为0。

4.2 Attention

4.2.1 Scaled Dot-Product Attention

在这里插入图片描述
       与 d o t dot dot形式相似,区别在于要除以一个 d k \sqrt{d_k} dk ,公式如下:
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d_k}})V Attention(Q,K,V)=softmax(dk

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值