0、前言
作为处理时序信号的神器,RNN以强大的工作原理支撑着许多业务场景的落地使用,然而,随着使用频率的不断提高,人们也发现了RNN的致命缺陷:
-
依赖循环,无法并行处理:RNN的结构依赖于循环,每个时间步之间都是严格时序的(一步接一步),这导致其无法进行并行计算,也就无法充分利用分布式高性能并行计算资源,从而使得训练和推理速度较慢
-
长距离依赖问题:RNN在处理长序列数据时,会出现梯度消失问题,从而难以捕捉到距离当前位置较远的依赖关系;随着时间间隔的增加,输入信息对于隐藏层状态的影响被逐渐“稀释”,导致模型难以学习到长期依赖
-
多层堆叠性能回报有限:虽然增加RNN的层数可以提高模型的学习能力,但在实际应用中,多层堆叠的RNN并不总能获得足够的性能回报,这同样也是因为梯度消失问题会随着层数的增加而加剧,导致网络难以学习深层的依赖关系
面对RNN的致命缺陷,亟需有更强大的模型来为人们服务,为此,Transformer横空出世,它点对点的解决了RNN的上述问题
1、Transformer简介
Transformer是一种深度学习模型,由谷歌的Vaswani等人在2017年的论文《Attention Is All You Need》中首次提出,它主要用于处理序列数据,在自然语言处理(NLP)领域取得了巨大的成功
Transformer模型的核心是自