【神经网络篇】--RNN递归神经网络初始与详解

一、前述

传统的神经网络每个输入节点之间没有联系,

【神经网络篇】--RNN递归神经网络初始与详解

RNN (对中间信息保留):

【神经网络篇】--RNN递归神经网络初始与详解

【神经网络篇】--RNN递归神经网络初始与详解

由图可知,比如第二个节点的输入不仅依赖于本身的输入U1,而且依赖上一个节点的输入W0,U0,同样第三个节点依赖于前两个节点的输入,

假设每一个节点分别代表着“我出生在中国,我说——”的一个预测,则“说”后面则是依赖于前面的说的每个单词的所有组合。

【神经网络篇】--RNN递归神经网络初始与详解

xt表示第t,t=1,2,3...步(step)的输入

st为隐藏层的第t步的状态,它是网络的记忆单元

st=f(Uxt+Wst−1),其中f一般是非线性的激活函数。

ot是第t步的输出,如下个单词的向量表示softmax(Vst)(多分类)。
二、具体

1、递归神经网络的反向传播

损失函数有多个,以E3为例

E3由t0-t3时刻x,W共同确定 Δ W的确定要考虑E3在各个时刻对w导数。

t3:

【神经网络篇】--RNN递归神经网络初始与详解

t2:

【神经网络篇】--RNN递归神经网络初始与详解

t1:

【神经网络篇】--RNN递归神经网络初始与详解

【神经网络篇】--RNN递归神经网络初始与详解

不仅更新当前节点的输入梯度,还更新当前节点的所有记忆单元,一直传播下去。

2、RNN局限性问题

【神经网络篇】--RNN递归神经网络初始与详解

I am Chines, I Love China
递归神经网络参数太多,信息量冗余(因为最后的预测可能只 依赖它最近的词,但我们输入的时候是所有的词,所以信息量冗余)、梯度消失或者爆炸。

【神经网络篇】--RNN递归神经网络初始与详解

3、LSTM(长短记忆网络)

为了解决RNN的一些缺点,RNN与LSTM对比

【神经网络篇】--RNN递归神经网络初始与详解

C:控制参数
决定什么样的信息会被保留什么样的会被遗忘

【神经网络篇】--RNN递归神经网络初始与详解

具体操作:

【神经网络篇】--RNN递归神经网络初始与详解

门是一种让信息选择式通过的方法sigmoid 神经网络层和一乘法操作。

Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”!

Sigmoid函数
【神经网络篇】--RNN递归神经网络初始与详解

【神经网络篇】--RNN递归神经网络初始与详解

具体过程:

丢弃的信息:

先把当前节点的输入和之前记忆的输入传递进来,然后通过sigmod函数组合起来后得到的函数值(0,1)之间,然后再跟Ct-1组合,决定丢弃什么信息。Ct是永远更新维护的值。

【神经网络篇】--RNN递归神经网络初始与详解

【神经网络篇】--RNN递归神经网络初始与详解

保留的信息:

【神经网络篇】--RNN递归神经网络初始与详解

【神经网络篇】--RNN递归神经网络初始与详解

最后总的信息:

【神经网络篇】--RNN递归神经网络初始与详解

分两部分,遗忘的信息Cti-1和保留Ct的信息。先走遗忘的信息,再走保留的信息。Ct从开始到最后一直更新。

【神经网络篇】--RNN递归神经网络初始与详解

 输出:

【神经网络篇】--RNN递归神经网络初始与详解

 LSTM整体架构:

【神经网络篇】--RNN递归神经网络初始与详解

与RNN对比会有一部分信息保留,一部分信息丢弃。LSTM比RNN更实用。

上一篇:Centos7安装zabbix-agent


下一篇:如何把jar包放到本地maven仓库中