目录
老饼讲解:一步一步上手深度学习

【模型】RNN循环神经网络-快速上手

作者 : 老饼 发表日期 : 2025-10-26 22:49:47 更新日期 : 2026-05-19 16:11:10
老饼讲解-简单易懂,干货满满,爽过嗦螺!


好了,这节我们开始玩RNN循环神经网络了。

RNN循环神经网络与CNN一样,它有许多经典的、不同的模型,例如LSTM、GRU、BiRNN等等。但我们这里说的RNN循环神经网络指的是最简的、基础的、通用的模型结构,一般学习RNN,都是先以这个作为入门模型。

一、什么是RNN神经网络

1.1. 什么是时序问题

RNN循环神经网络用于解决时间序列预测问题。

什么是时间序列?例如房价就是时间序列:

 房价数据

时序数据预测最大的特点就是,它们当前的y值,受到上一时刻y值的影响。例如,当年房价可能受到当年待售房数 、购房人数、房贷利率的影响,但是,房价具有时间的延续性,当年的房价也取决于上一年房价是多少。

时序数据无处不在,例如文本预测、语音预测等等都是时序预测问题。

1.2.Jordan神经网络

要理解RNN神经网络,必须从Jordan神经网络说起,它是最早的RNN神经网络,现在已经没什么人听过了,但实际它是RNN的起源,借它上手RNN之后理解RNN时才不别扭。

好了,在理解MLP的基础上,要理解Jordan神经网络只要1秒,不,其实要十秒,开始计时。。。

如下,还是用三层MLP来解决时序问题,但时序问题不就是当前时刻的输出也受上一时刻输出的影响吗?那直接把MLP上一时刻的输出,也投到当前时刻作为输入不就行了吗?

 Jordan神经网络

对,Jordan神经网络就是这么简单。就是每时刻都输入X,然后同时接受上一个时刻的输出,作为输入,称为延迟输入(Delay Input),即Jordan神经网络在t时刻的输出为:

好了,就如此朴素无华,怎么样,你超过十秒了吗?输了自罚三杯~

1.3.RNN神经网络

喝完了吗,继续来!下面理解RNN,二十秒!开始!

基础RNN也称为Elman循环神经网络,它就是Elman提出来的,Elman干的事也很简单,它只是简单改下Jordan神经网络,把上一时刻的隐层来作为当前时刻的延迟输入,简单不,如下:

Elman循环神经网络

可知,Elman循环神经网络(即RNN)在t时刻的输出为:

是不是很简单?超过二十秒了吗?

好了,可能你现在很蒙,Jordan把作为延迟输入很容易理解,那Elman为啥要改为?这个嘛,一点就通,因为本来就是搞出来的呀~!看!,那么输出层所包含的信息是不是都来自隐层?但隐层的信息比输出层的信息要原始得多,直接把h扔给下一时刻,让它爱咋用就咋用不好么?

二、RNN的时序图

好了,经过上面的层层解说,应该都理解RNN是怎么一回事了吧。

理解了就好,那下面我们要祭出常用的时序图了哦!如下:

RNN的时序图

一般来说 ,RNN都是以时序图表示,如上图所示,每个时刻都一个三层的MLP,然后它接受本时刻的输入与上一时刻的隐层输入,具体运算就如上面所介绍的公式,对于t时刻,有:

好了,RNN的模型结构与原理就是这样了,也没什么好说的了。

总结

在这一节里,我们简单介绍和认识了RNN神经网络是什么,并了解了RNN是怎么来的。

比较值得注意的是,它与CNN不一样,它的深度只是三层MLP在时序上的展开,因此不管RNN有多深,它的参数数量都是不变的,都只有一组哦。

天啊,RNN真容易学,要是个个模型像RNN这样,一天能学100个。



图标 评论
添加评论