1-Transformer算法解读

发布于:2025-02-10 ⋅ 阅读:(45) ⋅ 点赞:(0)

目录

一.RNN与Transfrmer

二.word2vec

三.自注意力机制

四.辅助向量Q/K/V

五.计算过程

六.整体架构​

七.Bert


一.RNN与Transfrmer

b443bc3a69ce46648f6bd6fd672b250e.png

RNN(循环神经网络)和Transformer都是深度学习中用于处理序列数据的模型,但它们在结构和性能上有显著的区别。以下是它们的一些主要对比:

1.结构和原理

RNN:
基本结构:RNN通过循环结构来处理序列数据,每个时间步的输出不仅取决于当前输入,还依赖于前一个时间步的输出(或隐藏状态)。这种结构使得RNN能够捕捉序列中的时间依赖关系.
 变体:常见的RNN变体包括LSTM(长短期记忆网络)和GRU(门控循环单元),它们通过引入门控机制来解决传统RNN的梯度消失和梯度爆炸问题.
计算方式:RNN的计算是按时间步顺序进行的,每个时间步的计算依赖于前一个时间步的结果,因此RNN的计算是串行的.

Transformer:
基本结构:Transformer完全摒弃了循环结构,采用自注意力机制(Self-Attention)来捕捉序列中不同位置之间的关系。它由多个编码器和解码器层组成,每个层都包含自注意力模块和前馈神经网络.
自注意力机制:自注意力机制允许模型在计算当前位置的表示时,同时考虑序列中所有位置的信息,从而实现并行计算.
计算方式:由于自注意力机制的存在,Transformer可以并行处理序列中的所有位置,这使得其在处理长序列时具有更高的效率.

2.性能和应用

处理长序列的能力:
RNN:由于其串行计算方式和梯度传播问题,RNN在处理长序列时容易出现梯度消失或梯度爆炸,导致模型难以捕捉长距离的依赖关系.
 Transformer:自注意力机制使得Transformer能够有效地捕捉长距离依赖关系,即使在长序列中也能保持较好的性能.

并行化能力:
RNN:由于其串行计算特性,RNN在训练时难以实现高效的并行化,这限制了其在大规模数据集上的训练速度.
Transformer:并行计算能力是Transformer的一大优势,它可以在训练过程中同时处理序列中的多个位置,显著提高了模型的训练效率.

模型复杂度和参数量:
RNN:相对而言,RNN的模型结构较为简单,参数量较少,适用于一些轻量级的应用场景.
Transformer:Transformer的结构较为复杂,参数量较大,通常需要更多的计算资源和数据来训练.

应用领域:
RNN:早期常用于自然语言处理任务,如语言建模、机器翻译等,但由于其在长序列处理上的局限性,逐渐被Transformer等模型取代.
Transformer:凭借其强大的性能和并行化能力,Transformer在自然语言处理、计算机视觉、语音识别等多个领域取得了显著的成果,成为当前深度学习领域的主流模型之一.

总的来说,Transformer在处理长序列和大规模数据集方面具有明显优势,而RNN则在一些轻量级和对实时性要求较高的应用场景中仍有一定的应用价值.
 

2017年,RNN退出历史舞台!Attention is all you need论文提出Transformer~

29d5172dbff5439192802e57d676be89.png

Transformer帮


网站公告

今日签到

点亮在社区的每一天
去签到