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的主要内容,如果未能解决你的问题,请参考以下文章
原创 [人工智能-深度学习-48]:RNN是循环神经网络还是递归神经网络?
深度学习原理与框架-递归神经网络-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