循环神经网络

1.rnn结构

在这里插入图片描述
其中x为输入层节点,s为隐藏层节点,o为输出层节点,u是输入层到隐藏层的权重,v为s到o的权重。w是上一层隐藏层的输出到下一个影藏层的权重。
那么我们可以看看这个图的展开图在这里插入图片描述
从这个图可以看出
在这里插入图片描述

梯度爆炸原因
因为神经网络用到的sigmoid的特点,它会将+∞~-∞之间的输入压缩到0~1之间。当input的值更新时,output会有很小的更新。

又因为上一层的输出将作为后一层的输入,而输出经过sigmoid后更新速率会逐步衰减,直到输出层只会有微乎其微的更新。

从数学的角度出发。知sigmoid导数在0的位置取最大值1/4。当我们使用均值为0,方差为1的高斯分布初始化参数w,有|w|<1.

随网络层数加深,w的变化幅度会呈1/4的指数衰减,使得最后学不到东西,造成梯度弥散。

同样,当|w|>1,w变化幅度会指数递增,最后造成梯度爆炸。

2.双向rnn

在RNN中只考虑了预测词前面的词,即只考虑了上下文中“上文”,并没有考虑该词后面的内容。这可能会错过了一些重要的信息,使得预测的内容不够准确。正如电视剧的例子,当在该集新出现了一个人物,若要预测该人物的名字,单从前几集的内容,并不能有效的进行预测。但如果我们看了后几集的内容,可能就能更加有效的进行预测。双向RNN也是基于这种思想,不仅从前往后(如下图黄色实箭头)保留该词前面的词的重要信息,而且从后往前(如下图黄色虚箭头)去保留该词后面的词的重要信息,然后基于这些重要信息进行预测该词。双向RNN模型如下:
在这里插入图片描述
在这里插入图片描述

3.LSTM

在这里插入图片描述
遗忘门
在LSTM中即以一定的概率控制是否遗忘上一层的隐藏细胞状态。举个栗子,比如一段文章中先介绍了某地原来是绿水蓝天,但是后来被污染了。于是在看到被污染了之后,循环神经网络就会“忘记”了之前绿水蓝天的状态。这就是“遗忘门”工作内容。
输入门
LSTM会有跟rnn一样的输入才会有新的信息产生
输出门
隐藏状态h(t)的更新由两部分组成,第一部分是o(t), 它由上一序列的隐藏状态h(t−1)和本序列数据x(t),以及激活函数sigmoid得到,第二部分由隐藏状态C(t)和tanh激活函数组成.

4.GRU


可以看出,GRU 与 LSTM 有一定的相似性,而区别主要在于:

1.LSTM 有三个 Gate,而 GRU 仅两个;

2.GRU 没有 LSTM 中的 Cell,而是直接计算输出;

3.GRU 中的 Update Gate 类似于 LSTM 中 Input Gate 和 Forget Gate 的融合;而观察它们结构中与上一时刻相连的 Gate,就能看出 LSTM 中的 Forget Gate 其实分裂成了 GRU 中的 Update Gate 和 Reset Gate。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值