008---递归神经网络-RNN

Posted mjerry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了008---递归神经网络-RNN相关的知识,希望对你有一定的参考价值。

常规神经网络:

常规的神经网络是各算各的,每个x之间都是独立的

技术分享图片

递归神经网络:

递归神经网络要干的一件事就是,在隐藏层中,x1利用了x0的w,x2利用了x1的w,x3利用x2的w。。。。。以此类推

技术分享图片

例如下面这个例子:

x0表示“我出生”

x1表示“在”

x2表示“中国”

xt表示“我说”

xt+1就会预测出“汉语”

技术分享图片

 

 

RNN网络细节:

技术分享图片

U和W都是参数矩阵,V是全连接矩阵。

RNN与CNN网络不通之处在于,CNN每个输入和输出都是独立的,RNN每个输入都要依赖上一个输入的输出。

所以RNN网路下一步需要前一步的有用的参数,RNN做自然语言处理很合适,

因为人类的语言上下文结合很重要。

 

 

RNN网络反向传播:

由于RNN网络的链接特性,每个输入参数的权重值更新都会更新上一个输入的参数,CNN是只会更新自身输入的参数。

技术分享图片

 

RNN网络的局限性

1,网络过于庞大

例如:

I am Chinese,.........I love China

如果省略号中间隔了500个词,那么最初的am这个词对于最后的China起的作用就不是很大了,

但是RNN会把最前面的am也作用于最后的China

技术分享图片

2,有可能发生梯度消失:

如果网络庞大,在参数更新时,链式法则梯度往前传的过程中,如果梯度很小的话,那么前面的梯度累乘后梯度就会越来越小,趋近于0

 

以上是关于008---递归神经网络-RNN的主要内容,如果未能解决你的问题,请参考以下文章

递归神经网络RNN

原创 [人工智能-深度学习-48]:RNN是循环神经网络还是递归神经网络?

TensorFlow:递归神经网络(RNN与LSTM)

深度学习原理与框架-递归神经网络-RNN网络基本框架(代码?) 1.rnn.LSTMCell(生成单层LSTM) 2.rnn.DropoutWrapper(对rnn进行dropout操作) 3.tf.

深度学习原理与框架-递归神经网络-RNN_exmaple(代码) 1.rnn.BasicLSTMCell(构造基本网络) 2.tf.nn.dynamic_rnn(执行rnn网络) 3.tf.expa

基于递归神经网络(RNN)的飞机数据异常检测