比较简单的Transformer与RNN的比较
就简单写一写
(1)并行性。RNN可并行性差,tf可并行性好。目前很多对于RNN的改进都是要考虑并行性的
(2)计算复杂度。RNN的计算复杂度低,tf的计算复杂度高,所以tf要做大其实面临着麻烦
(3)输入序列长度。RNN理论上是可以无限序列长度的,这也是tf无法实现的,tf每层再大也终归事有限的
(4)顺序关系处理。RNN善于处理顺序关系,而tf往往需要额外的位置编码(tf丢失了序列)
(5)长期依赖。RNN面临着严峻的长期依赖问题,即使是LSTM也存在问题,而tf处理长期依赖很擅长
(6)适用范围不同。RNN很难处理视觉的一些问题但是tf可以,RNN适合语音等tf也不一定适合
(7)梯度问题。RNN会面临梯度消失、梯度爆炸等问题,但是tf处理这些问题更简单,往往模型能做很深很大
(8)鲁棒性、泛化性。据说tf更好
RNN在处理顺序性强、较短的序列任务上表现较好,而Transformer在处理长序列和大规模数据时更具优势