循环神经网络RNN和递归神经网络RNN(LSTM)

  • RNN

解决的问题:一般的神经网络的输入维度都是确定的,但有时我们要处理变长的输入,解决方法是采用循环或递归的方法输入(recurrent/recursive neural network)。如输入本应是一段话,我们可以将这段话分成长度相同的词一个一个地依次输入。

RNN可以映射一对一、一对多和多对多

循环神经网络RNN和递归神经网络RNN(LSTM)_第1张图片

用于:预测。网络具有记忆功能。

  • 循环神经网络和递归神经网络区别

RNN,一般都叫做递归神经网络,前者是时间递归(常用),后者是结构递归。

结构都为:

循环神经网络RNN和递归神经网络RNN(LSTM)_第2张图片

循环神经网络(recurrent neural network)

具有短期记忆能力。信息往一个方向传。它做决定时,会考虑当前的输入和之前输入所学到的知识。如将单词“hello”作为输入训练,一般的神经网络在输入"h"之后再输入“e”时已经忘记之前输入的h了,但RNN是将e与输入h时学到的知识y一起作为下一次输入。对比:

循环神经网络RNN和递归神经网络RNN(LSTM)_第3张图片

通过BPTT误差反向传播训练:

 循环神经网络RNN和递归神经网络RNN(LSTM)_第4张图片      这里写图片描述

式子:

存在的问题:

(1):梯度爆炸(权重在算法中十分重要时)

(2):梯度消失(权重太小时且训练停止)

递归神经网络(recursive neural network)

结构递归。前面提到将一句话分成一个个次输入,但有时会产生歧义,如【两个外国语学院的学生】可以是两个外国语学院/的学

生或两个/外国语学院的学生。为了让模型能过区分这两种语义,我们得按照树的结构处理,而不是序列。

 

 


参考:https://zybuluo.com/hanbingtao/note/626300

https://blog.csdn.net/xiaoniu0991/article/details/75098260

https://blog.csdn.net/zhaojc1995/article/details/80572098#commentBox

你可能感兴趣的:(机器学习,深度学习)