一跃成为大模型核心框架的Transformer,到底解决什么问题?
一、人工智能的兴起
二、NLP发展
三、Transformer
包含两个 Multi-Head Attention 层。 第一个 Multi-Head Attention 层采用了 Masked 操作。通过 Masked 操作可以防止第 i 个单词知道 i+1 个单词之后的信息。
第二个 Multi-Head Attention 层的K, V矩阵使用 Encoder 的编码信息矩阵C进行计算,而Q使用上一个 Decoder block 的输出计算。这样做的好处是在 Decoder 的时候,每一位单词都可以利用到 Encoder 所有单词的信息 (这些信息无需 Mask)。 最后有一个 Softmax 层计算下一个翻译单词的概率。
Transformer 与 RNN 不同,可以比较好地并行训练。 Transformer 本身是不能利用单词的顺序信息的,因此需要在输入中添加位置 Embedding,否则 Transformer 就是一个词袋模型了。 Transformer 的重点是 Self-Attention 结构,其中用到的 Q, K, V矩阵通过输出进行线性变换得到。 Transformer 中 Multi-Head Attention 中有多个 Self-Attention,可以捕获单词之间多种维度上的相关系数 attention score。
参考资料
https://github.com/datawhalechina/learn-nlp-with-transformers
https://tech.dewu.com/article?id=109
https://zhuanlan.zhihu.com/p/338817680
https://arxiv.org/pdf/1706.03762