讲解Seq2Seq,并教会我如何理解记忆---第八章 Seq2Seq (序列到序列模型) Attention
□Seq2Seq 模型 【掌握工作原理和模型图】:在RNN中,当输入序列与输出序列长度不相等时,需要用到Seq2Seq模型,主要解决机器翻译等问题。
□Seq2Seq 模型组成:编码器 (Encoder)、解码器 (Decoder) 和连接两者的中间状态向量C。
□原理:Encoder 中将一个可变长度的信号序列变为固定长度的向量表达C,Decoder将这个固定长度的向量变成可变长度的目标的信号序列。
□Encoder-Decoder: 编码器-解码器框架
Chart/Diagram Description:
* Type: Flowchart / Block Diagram
* Main Elements:
* Two main rectangular blocks labeled "Encoder" and "Decoder".
* A smaller rectangular block between "Encoder" and "Decoder" labeled "语义向量C" (Semantic Vector C).
* Below the "Encoder" block, there are four circular nodes labeled Y₁, Y₂, Y₃, Y₄ (Note: these labels appear as X₁, X₂, X₃, X₄ in the image). These nodes are connected by lines pointing upwards to the bottom of the "Encoder" block.
* Above the "Decoder" block, there are three circular nodes labeled Y₁, Y₂, Y₃. These nodes are connected by lines pointing downwards to the top of the "Decoder" block.
* A horizontal line connects the right side of the "Encoder" block to the left side of the "语义向量C" block.
* A horizontal line connects the right side of the "语义向量C" block to the left side of the "Decoder" block.
* Labels and Annotations: "Encoder", "Decoder", "语义向量C", X₁, X₂, X₃, X₄, Y₁, Y₂, Y₃.
* Relative Position and Direction: The diagram shows a left-to-right flow, with the Encoder processing input (X₁-X₄), producing a semantic vector C, which is then processed by the Decoder to produce output (Y₁-Y₃).
**Extraction Content:**
**Title:** 第八章 Seq2Seq (非等长结构) Attention
**Heading:** 原始seq2seq的Encoder-Decoder结构存在的问题?
**Bullet Point 1:**
在Encoder-Decoder结构中, Encoder将所有的输入序列都编码成一个统一的语义特征向量C再解码。因此, 向量C中必须包含原始序列中的所有信息, 它的长度就成了限制模型性能的瓶颈。
如: 在机器翻译问题中, 当翻译的句子较长时, 一个向量C可能存不下那么多信息, 就会造成翻译精度的下降。
当输入序列太长时, 向量C会丢失信息, 可以用注意力机制解决
**Heading:** 问题: 信息瓶颈
**Bullet Point 2:**
所有输入的信息都经由最后一个输入对应的隐层向量传递给解码器, 在遇到较长的上下文输入时, 特征的表达能力有限。
注意力 (Attention) 机制【掌握工作原理和模型图】: 通过在解码 (Decoder) 过程中每个节点输入不同的向量C解决这个问题 (提高解码效果) 。 (Highlighted text: 通过在解码 (Decoder) 过程中每个节点输入不同的向量C解决这个问题 (提高解码效果) 。)
第八章 Seq2Seq Attention
* 注意力机制的工作原理:通过计算解码器当前状态与编码器所有隐藏状态之间的相似度,为每个隐藏状态分配一个注意力权重。根据这些权重对编码器的隐藏状态进行加权求和,得到上下文向量。上下文向量作为解码器的额外输入,帮助解码器在生成输出序列时更好地关注输入序列中的关键信息。
* RNN在处理长序列数据时面临梯度消失和梯度爆炸问题,导致模型难以捕捉长距离依赖关系。
* 可以采用LSTM、GRU等改进的RNN结构,或使用注意力机制解决RNN处理长序列时面临的问题。