Seq2Seq

文章介绍了Seq2Seq模型,即输入一个序列输出另一个序列的概念,并详细阐述了Encoder-Decoder模型在解决可变长度序列问题中的作用,如翻译任务。RNN、LSTM和GRU作为常见的Encoder和Decoder,通过隐藏状态h来处理和转换序列数据,特别适合于自然语言处理和语音识别等场景。

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

 

目录

1.1 从Seq2Seq序列到Encoder-Decoder模型

1.1.1 什么是Seq2Seq:输入一个序列 输出一个序列

1.1.2 什么是Encoder-Decoder模型:RNN/LSTM与GRU


1.1 从Seq2Seq序列到Encoder-Decoder模型

1.1.1 什么是Seq2Seq:输入一个序列 输出一个序列

Seq2Seq(Sequence-to-sequence)正如字面意思:输入一个序列,输出另一个序列,当然,其中输入序列和输出序列的长度是可变的。

比如我们翻译英国经验派哲学家弗兰西斯・培根的一句名言“知识就是力量”,如下图:

 只要满足「输入序列、输出序列」的目的,都可以统称为 Seq2Seq序列。

1.1.2 什么是Encoder-Decoder模型:RNN/LSTM与GRU


针对Seq2Seq序列问题,比如翻译一句话,可以通过Encoder-Decoder模型来解决。

从上文我们已经接触到编码的概念,有编码则自然有解码,而这种编码、解码的框架可以称之为Encoder-Decoder,中间一个向量C传递信息,且C的长度是固定的。
根据不同的任务可以选择不同的编码器和解码器,具体化可以是一个RNN、LSTM、GRU

​​​​​​​都可以看作是一个Encoder-Decoder模型

 

为了建模序列问题,RNN引入了隐状态h(hidden state)的概念,隐状态h可以对序列形的数据提取特征,接着再转换为输出

在学习RNN之前,首先要了解一下最基本的单层网络,它的结构如下图所示:

 

输入是x,经过变换Wx+b和激活函数f,得到输出y。相信大家对这个已经非常熟悉了。

在实际应用中,我们还会遇到很多序列形的数据:

 

 

如:

  1. 自然语言处理问题。x1可以看做是第一个单词,x2可以看做是第二个单词,依次类推
  2. 语音处理。此时,x1、x2、x3……是每帧的声音信号
  3. 时间序列问题。例如每天的股票价格等等

而其中,序列形的数据就不太好用原始的神经网络处理了。

为了建模序列问题,RNN引入了隐状态h(hidden state)的概念,隐状态h可以对序列形的数据提取特征,接着再转换为输出

先从h_{1}计算开始看:

 RNN可以被看做是上述同一神经网络的多次复制,每个神经网络模块会把消息传递给下一个:

 

 

更多通常是其变种LSTM或者GRU

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值