论文:《Attention Is All You Need》
代码:http://nlp.seas.harvard.edu/annotated-transformer/
地址:https://arxiv.org/abs/1706.03762v5
翻译:Transformer论文翻译
特点:
- 提出一种不使用 RNN、CNN,仅使用注意力机制的新模型 Transformer;
- 只关注句内各 token 之间的关系;
- 使用矩阵计算长程token之间的关联,提升注意力的计算效率;
- 使用位置嵌入,为不同位置的token赋予不同的含义。
核心贡献:
- Self-Attention
Transformer 的基本结构
Self-Attention
Self-Attention ( K , Q , V ) = softmax ( Q K T d ) V \text{Self-Attention}(K,Q,V)=\text{softmax}(\frac{QK^T}{\sqrt{d}})V Self-Attention(K,Q,V)=softmax(dQKT)V
Self-Attention 的一个缺点及修补方式
缺点:点积运算无法对序列中 token 出现的位置进行建模,这样会导致模型无法充分地利用数据上下文中所蕴含的丰富的语义信息。
解决方式:引入位置嵌入(Position Embedding、Position Encoding)
PE_{pos,2i}=sin(pos/10000^{2i/d_{model}})
PE_{pos,2i+1}=cos(pos/10000^{2i/d_{model}})
Self-Attention 的复杂度: