浅谈深度神经网络 — RNN,LSTM

RNN(recurrent neural network,循环神经网络)

全连接神经网络和卷积神经网络模型中,网络结构都是从输入层到隐含层再到输出层,层与层之间是全连接或是部分连接的,但每层的节点之间都是无连接的。考虑这样的一个问题,如果要预测句子的下一个单词是什么,一般用到当前单词以及前面的单词,因为句子前后单词并不是孤立的。这个时候像卷积,全连接神经网络已经不满足我们的需要。我们需要刻画一个序列也就是当前的输出和当前输入以及上一时刻的输出的关系。循环神经网络就是为了解决这样的问题,从网络结构上看,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。也就是说循环神经网络隐藏层之间结点是有连接的,隐藏层的输入不仅包括输入层的输出也包括上一时刻隐藏层的输出。

主要解决的问题: 基于全连接的神经网络的方法存在参数太多,无法利用数据中时间序列信息的问题,主要用途是处理和预测序列数据。下图是RNN基本单元,及展开后的结构。

在这里插入图片描述
假设输入向量的维度为 x x x,隐藏状态为 n n n,那么下图全连接神经网络的输入大小为 n + x n+x n+x,可以浅显理解为将上一时刻的状态与当前时刻的输入拼接成一个大的向量作为循环体中神经网络的输入。因为该全连接层的输出为当前时刻的状态,于是输出层的结点个数也为 n n n,循环体的个数为 ( n + x ) ∗ n + n (n+x)*n+n (n+x)n+n个。
在这里插入图片描述

下图清晰的展示了一个循环神经网络前向传播的具体计算过程,需要注意的是下面采用的是向量拼接的方式将上一时刻状态对应的权重和当前时刻输入对应的权重合并,也有的会将上一时刻状态对应的权重和当前时刻输入对应的权重特意分开,但他们的实质是一样的。
在这里插入图片描述

LSTM(long short-term memory,长短时记忆网络结构)

在有些问题中,模型仅仅需要短期内的信息来执行当前的任务,比如’天空是(蓝色的)’,推断蓝色。模型不需要记忆这个短语之前的上下文信息,在这样的场景中相关的信息和待预测的词的位置之间间隔很小,循环神经网络可以比较容易的利用先前的信息。
但同样也会有复杂的情况需要结合上下文场景去分析,比如‘这里空气污染十分严重,天空的颜色是(灰色的)’,仅仅根据短期依赖无法解决这个问题。为了解决在复杂的场景中有用的信息间隔有大有小,长短不一,普通的循环神经网络收到限制的问题,LSTM就是为了解决这个问题。

LSTM它是一种特殊的循环体结构,与单一的tanh循环结构不同,LSTM是一种拥有三个门的特殊网络结构。LSTM靠门的结构让信息有选择性的影响神经网络中每个时刻的状态,所谓 门 就是一个使用sigmoid神经网络和一个按位做乘法的操作,这两个操作合在一起就是一个门的结构。当门打开即:(sigmoid神经网络输出位1时),全部信息通过;当门关闭(sigmoid神经网络输出为0时)任何信息都无法通过。

在这里插入图片描述

  • 遗忘门作用是为了让循环神经网络忘记之前没有用的信息(调节根据 W f W_f Wf矩阵参数)。 它会根据当前输入的 x t x_t xt和上一时刻输出 h t − 1 h_{t-1} ht1决定那一部分记忆需要被遗忘。假设状态 c c c的维度为 n n n。遗忘门会根据当前的输入 x i x_i xi和上一时刻输出 h t − 1 h_{t-1} ht1计算一个维度为 n n n的向量 f = s i g m o i d ( W 1 x + W 2 h ) f=sigmoid(W_1x+W_2h) f=sigmoid(W1
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值