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

原文地址:https://www.cnblogs.com/Mjerry/p/9815559.html