本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
Jordan神经网络与Elman神经网络都是基于三层BP神经网络提出的较早的、经典的循环神经网络
它们非常简单且目的明确,因此,讲解RNN神经网络之前,先讲解Jordan神经网络与Elman神经网络
了解了Jordan神经网络与Elman神经网络,也就很容易理解RNN循环神经网络了
本节介绍Jordan神经网络的思想与模型结构
Jordan神经网络-介绍
Jordan神经网络于1986年由Jordan提出
它基于三层MLP神经网络,引入循环的概念,用来解决时间序列数据的相关问题
Jordan神经网络的结构如下:
![]()
简单来说,就是把三层MLP的输出再次投入到下一个样本中作为输入(称为延迟输入)
这样,就适用于序列数据,也就是样本的y依赖于上一个样本的y
备注:第一个样本是没有上一个样本的,所以它的延迟输入值需要自行初始化,一般初始化为0
为什么需要Jordan神经网络
Jordan神经网络主要用于解决时间序列问题,
当我们遇到时间序列问题时, 就很容易理解为什么需要Jordan神经网络了
因为时间序列问题中,每个时刻的输出不仅取决于当前的输入,还取决于上一时刻的输出
例如要预测每一时刻的位置,那下一时刻的位置,不仅取决于输入,还取决于当前的位置
所以需要把当前时刻的位置信息(即当前时刻的输出)一起作为输入去预测下一时刻的输出
所以,很自然地,预测的时候需要引入上一时刻的输出,也就有了Jordan神经网络
当然,还可以引入上上一时刻、上上上一时刻的输出,只引入上一时刻的输出,是一种最简化的形式
本节介绍Elman神经网络的思想与模型结构
Elman神经网络-介绍
Elman神经网络于1990年由Elman提出,它是对Jordan网络的改进,
Jordan网络是把MLP神经网络的输出投入到下个样本中作为输入
而Elman则抛弃这一方法,改为将网络隐层输出投入到下个样本中作为输入(称为延迟输入)
Elman神经网络的结构如下:
Elman其实与Jordan差不多,只不过把延迟输入的链接修改了
Jordan是将输出链接到隐层,而Elman是将隐层连接到隐层
✍️为什么Elman比Jordan更优秀
Jordan就是把上个样本的y作为下个样本的输入,而Elman使用隐节点作为延迟输入,
老饼的看法是,隐节点相当于"可以用来组合出y的特征变量",
所以elman相当于把上个样本的y的分解特征作为下个样本的输入,这样对信息的使用更为充分
好了,以上就是Jordan神经网络与Elman神经网络了~
End