RNN-循环神经网络

【原理】Jordan神经网络与Elman神经网络

作者 : 老饼 发表日期 : 2024-04-06 16:29:06 更新日期 : 2024-04-13 05:39:32
本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com



Jordan神经网络与Elman神经网络都是基于三层BP神经网络提出的较早的、经典的循环神经网络

它们非常简单且目的明确,因此,讲解RNN神经网络之前,先讲解Jordan神经网络与Elman神经网络

了解了Jordan神经网络与Elman神经网络,也就很容易理解RNN循环神经网络了





     01.Jordan神经网络      




本节介绍Jordan神经网络的思想与模型结构




       Jordan神经网络-介绍      


Jordan神经网络于1986年由Jordan提出,它基于三层BP神经网络,引入循环的概念,来解决时间序列数据的相关问题
Jordan神经网络的结构如下:
 
简单来说,就是把三层BP的输出再次投入到下一个样本中作为输入(称为延迟输入)
这样,就适用于序列数据,也就是样本的y依赖于上一个样本的y
 备注:第一个样本是没有上一个样本的,所以它的延迟输入值需要自行初始化,一般初始化为0





     为什么需要Jordan神经网络     


Jordan神经网络主要用于解决时间序列问题,当我们遇到时间序列问题时, 就很容易理解为什么需要Jordan神经网络了
因为每个时刻的输出不仅取决于当前的输入,还取决于上一时刻的输出
 例如我们要预测每一时刻的位置,那下一时刻的位置,不仅取决于输入,还取决于当前的位置
所以需要把当前时刻的位置信息(也就是当前时刻的输出)一起作为输入去预测下一时刻的位置
所以,很自然地,预测的时候需要引入上一时刻的输出,也就有了Jordan神经网络
 当然,还可以引入上上一时刻、上上上一时刻的输出,只引入上一时刻的输出,是一种最简化的形式






     02. Elman神经网络    




本节介绍Elman神经网络的思想与模型结构




      Elman神经网络-介绍     


Elman神经网络于1990年由Elman提出,它是对Jordan网络的改进,
Jordan网络是把网络的输出投入到下个样本中作为输入,
而Elman神经网络则抛弃这一方法,改为将网络隐层的输出投入到下个样本中作为输入(称为延迟输入)
 Elman神经网络的结构如下:
 
 Elman其实与Jordan差不多,只不过把延迟输入的链接修改了
Jordan是将输出链接到隐层,而Elman是将隐层连接到隐层
✍️为什么Elman比Jordan更优秀
 Jordan就是把上个样本的y作为下个样本的输入,而Elman使用隐节点作为延迟输入,
老饼的看法是,隐节点相当于"可以用来组合出y的特征变量",
所以elman相当于把上个样本的y的分解特征作为下个样本的输入,这样对信息的使用更为充分










 End 








联系老饼