LSTM学习记录

一.从RNN谈起
相信接触过深度学习的朋友们应该十分清楚BP神经网络和CNN了。今天主要总结下RNN模型。
1.为什么提出RNN模型?
传统的神经网络模型输入输出有事相互独立的,有些连续性的任务无法解决。比如图像上的猫和狗等内容是分隔开的,但在一些自然语言处理问题上,输入和输出是不独立的。eg:我是中国人,我的母语是_____。在这个任务中,输出不仅依赖于输入,还和之前的一部分信息有关。
传统的神经网络无法解决输出对输入和之前信息的依赖关系,所以提出RNN(循环神经网络)。通过RNN可以解决“记忆”问题。
二.RNN的结构
在这里插入图片描述

  • Xt是t时刻的输入
  • St是t时刻的记忆,St=f(UXt+WS_t-1),f可以是tanh等。St只保存了前一时间点上的信息。但不能保存之前的所有信息。
  • Ot是t时刻的输出
  • RNN的整个神经网络都共享一组参数(U,V,W),极大减小了需要训练和预估的参数量
    三.双向RNN
    有些情况下,当前输入不仅取决于前一时刻,可能与下一时刻也有关。所以有进一步发展了双向RNN
    四.LSTM
    为解决RNN记忆能力的问题,进一步提出LSTM模型。LSTM和RNN大体结构相同,区别是:
  • 记忆细胞经过改造
  • 需要记忆的信息会一直传递,不需要记忆的会被“门”截断
    在这里插入图片描述
    在这里插入图片描述
    五.LSTM的关键问题总结
    1.细胞状态(cell state)
    细胞状态类似于传送带。直接在真个链上运行,只有一些少量的线性交互。信息在上面传输保持不变。
    2.LSTM如何控制细胞状态
    通过“门”让信息选择性通过,来去除或增加信息到细胞状态。包含一个sigmoid神经网络层和一个pointwise乘法操作。sigmoid层输出0-1之间的数值,描述每个部分有多少量可以通过。0表示不允许任何量通过,1表示允许任意量通过。
    在这里插入图片描述
    3.LSTM中的几个关键的“门”操作
  • 忘记门
  • 决定从细胞状态中丢弃什么信息
    比如完形填空中填“他”或者“她”的问题。细胞状态可能包含当前主语的类别,当我们看到新的代词没我们希望忘记旧的代词

在这里插入图片描述

  • 决定放什么新信息到细胞状态中
    sigmoid层决定什么值需要更新
    tanh层创建一个新的候选值向量
    上述2步视为状态更新做准备
    在这里插入图片描述
  • 更新细胞状态

将C_t-1更新为Ct
把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息
加上i_t*Ct。这就是新的候选值,根据我们更新每个状态的程度进行变化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值