深度学习--RNN架构(N:M)--Seq2Seq+Attention机制

本文详细解析了Seq2Seq模型的结构,包括Encoder和Decoder的两种方式,强调了将所有隐状态变换作为语义向量及在Decoder中参与解码过程的重要性。还介绍了常见的Seq2Seq架构,特别是Encoder-Decoder with attention,并概述了Attention机制的核心思想和算法原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一 Seq2Seq结构解析

1 Seq2Seq是一种Encoder-Decoder结构

2 Encoder(编码阶段:将输入序列压缩成固定长度的语义向量)

方式一:将最后一个隐状态输出进行变换(不变换),作为语义向量(不推荐使用)

方式二:将所有的隐状态输出进行变换,作为语义向量(推荐使用)

3 Decoder(解码阶段:将语义向量生成指定序列)

方式一:将语义向量输入到Decoder中,作为初始隐状态的输入(不推荐使用)

方式二:将语义向量输入到Decoder中,参与Decoder各个解码过程(推荐使用)

二 Seq2Seq原理解析(以Encoder-Decoder with peek为例)

1 Encoder阶段

2 Decoder阶段

3 损失函数(极大似然估计)

三 Seq2Seq常见架构

1 Basic Encoder-Decoder(不推荐使用)

2 Encoder-Decoder with feedback(不推荐使用)

3 Encoder-Decoder with peek(不推荐使用)

4 Encoder-Decoder with attention(推荐使用)

四 Attention机制

1 核心思想

2 算法原理


一 Seq2Seq结构解析

1 Seq2Seq是一种Encoder-Decoder结构

基本思想就是使用两个RNN,一个RNN作为Encoder,另一个RNN作为Decoder

2 Encoder(编码阶段:将输入序列压缩成固定长度的语义向量)

方式一:将最后一个隐状态输出进行变换(不变换),作为语义向量c(不推荐使用)

方式二:将所有的隐状态输出进行变换,作为语义向量c(推荐使用)

 

3 Decoder(解码阶段:将语义向量生成指定序列)

方式一:将语义向量输入到Decoder中,作为初始隐状态的输入(不推荐使用)

方式二:将语义向量输入到Decoder中,参与Decoder各个解码过程(推荐使用)

二 Seq2Seq原理解析(以Encoder-Decoder with peek为例)

1 Encoder阶段

  • Encode依次读入整个序列X_{1}=(x_{1},....,x_{T}),依次得到N个隐状态H=(h^{1},...,h^{T})
  • 语义向量:c=tanh(Vh^{<T>})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值