常规神经网络:
常规的神经网络是各算各的,每个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