全面理解RNN(包括GRU、LSTM)以及对应pytorch实现

之前在学习RNN的时候,总是零零散散的搜一些东西。这次想要将关于RNN的知识总结起来,包括各种RNN网络的结构、输入输出以及pytorch代码实现。

单向RNN网络简介

我们首先介绍单向RNN网络的结构,如下图所示。时间步 i i i 的输入为: x i x_i xi s i − 1 s_{i-1} si1,输出是 y i y_i yi s i s_i si。这里我们统一使用 s s s 代表隐藏层状态表示, y y y 则表示模型输出值。那么,单个神经元的运算为: ( y t , s t ) = f t ( x t , s t − 1 ) (y_t, s_t) = f_t(x_t, s_{t-1}) (yt,st)=ft(xt,st1)。其中, f t f_t ft 表示的该层的第 t t t 个神经元中的运算。
在这里插入图片描述
在上面介绍的基础上,接下来,会介绍三种RNN网络,分别是Vanilla RNN(即简单RNN),GRU,LSTM。对于这三种网络,我会从单个神经元、单层以及多层的方面展开介绍。因为Vanilla RNN和GRU的结构上是一样的,只是内部计算不同,所以这里将这两个放在一起介绍

Vanilla RNN / GRU 的结构

首先给出简单RNN/ GRU的单层和多层的网络结构,这里从单个神经元进行分析。网络结构图如下:
在这里插入图片描述
简介中我们用

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值