详解LSTM 您所在的位置:网站首页 lstm门的作用 详解LSTM

详解LSTM

2024-05-24 01:11| 来源: 网络整理| 查看: 265

Recurrent Neural Networks (RNN)

在使用深度学习处理时序问题时,RNN是最常使用的模型之一。RNN之所以在时序数据上有着优异的表现是因为RNN在 t 时间片时会将 t-1 时间片的隐节点作为当前时间片的输入,也就是RNN具有图1的结构。这样有效的原因是之前时间片的信息也用于计算当前时间片的内容,而传统模型的隐节点的输出只取决于当前时间片的输入特征。

图1:RNN的链式结构

RNN的数学表达式可以表示为

h_t = \sigma(x_t\times w_{xt} + h_{t-1} \times w_{ht} + b)\tag{1}

而传统的DNN的隐节点表示为

h_t = \sigma(x_t \times w_{xt} + b)\tag{2}

对比RNN和DNN的隐节点的计算方式,我们发现唯一不同之处在于RNN将上个时间片的隐节点状态 h_{t-1} 也作为了神经网络单元的输入,这也是RNN擅长处理时序数据最重要的原因。

所以,RNN的隐节点 h_{t-1} 有两个作用

计算在该时刻的预测值 \hat{y}_t: \hat{y}_t = \sigma(h_t * w + b) 计算下个时间片的隐节点状态 h_t

RNN的该特性也使RNN在很多学术和工业前景,例如OCR,语音识别,股票预测等领域上有了十足的进展。

长期依赖(Long Term Dependencies)

在深度学习领域中(尤其是RNN),“长期依赖“问题是普遍存在的。长期依赖产生的原因是当神经网络的节点经过许多阶段的计算后,之前比较长的时间片的特征已经被覆盖,例如下面例子

eg1: The cat, which already ate a bunch of food, was full. | | | | | | | | | | | t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 eg2: The cats, which already ate a bunch of food, were full. | | | | | | | | | | | t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

我们想预测'full'之前系动词的单复数情况,显然full是取决于第二个单词’cat‘的单复数情况,而非其前面的单词food。根据图1展示的RNN的结构,随着数据时间片的增加,RNN丧失了学习连接如此远的信息的能力(图2)。

图2:RNN的长期依赖问题梯度消失/爆炸

梯度消失和梯度爆炸是困扰RNN模型训练的关键原因之一,产生梯度消失和梯度爆炸是由于RNN的权值矩阵循环相乘导致的,相同函数的多次组合会导致极端的非线性行为。梯度消失和梯度爆炸主要存在RNN中,因为RNN中每个时间片使用相同的权值矩阵。对



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有