本文首发于公众号【DeepDriving】,欢迎关注。
0. 前言
2017
年,谷歌研究人员在《Attention Is All You Need
》这篇论文中提出了Transformer
模型,该模型最初是被用于机器翻译任务中。由于其良好的可并行性和强大的特征提取能力,Transformer
模型在随后的几年中被用到自然语言处理、语音识别、计算机视觉等各个领域中,并表现出优异的性能。
本文基于论文的内容解读Transformer
模型的各个组成部分,然后用Python
实现一个完整的Transformer
模型。
1. Transformer模型结构解析
1.1 模型总体架构
Transformer
的总体架构如下图所示,模型包含一个编码器和解码器(分别对应下图中的左侧和右侧部分),编码器和解码器都是由一系列堆叠的注意力结构和全连接层组成。