LSTM的本质理解-正向传播

本文详细介绍了长短期记忆网络(LSTM)的工作原理,包括其细胞状态、门控机制以及如何处理长期依赖问题。LSTM在网络中通过遗忘、选择记忆和输出阶段来控制信息流,其cell权重共享减少了参数数量。在文本分类任务中,LSTM接收预处理后的词向量,通过多个时间步骤进行处理,最后输出一个固定维度的向量。LSTM的长时记忆c(t)和短时记忆h(t)分别代表不同的记忆特性。
摘要由CSDN通过智能技术生成

Long Short Term 网络(LSTM,由Hochreiter & Schmidhuber (1997)提出)是 RNN的一种特殊的类型,可以记住长期信息,学习长期依赖信息。

网络结构

在这里插入图片描述

符号解释

  • [,]: 向量拼接
  • *: 对应元素相乘
  • +: 对应元素相加
  • 上面框: 一个框就是一个细胞(cell)

数学公式

在这里插入图片描述

公式含义

每个细胞内部有三个阶段:
1. 忘记阶段(1)

  • 对上一个节点传进来的输入c(t-1) 进行选择性忘记。“忘记不重要的,记住重要的”。

2. 选择记忆阶段(2)和(3)

  • 对当前输入x(t) 进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。
  • 当前的输入内容由 (3) 计算其代表的信息。
  • (2) 为门控信号,控制信息保留百分之多少。

(4) :将上面两步得到的结果相加,即可得到传输给下一个状态的c(t)。

3. 输出阶段(5)和(6)

  • 这个阶段将决定哪些将会被当成当前状态输出。
  • (5) 控制输出百分比。
  • c(t) 进行了放缩(tanh激活函数实现)。

输出Y(t)是通过h(t)变化得到的。

操作实例

假如做文本分类,经过句子分割、分词、去停用词、给每个句子填补成相同的长度(可以用0填补),获取每个词语的词向量

- 设每个句子填补后都是28个词
- 词向量维数设为28
- 则每个句子都是一个28*28的矩阵,每一行代表一个词向量,一共28行(28个时间步骤,在网络上对应28个cell,即上面网络结构中需要画出28个框框),对应于网络结构中的x(1),x(2),…,x(28)的取值。

设每一个框的输出h是一个128维的向量,则对于每个样本(每个句子28*28):

在这里插入图片描述

一些细节

  • cell权重共享
    cell 的权重是共享的,这是什么意思呢?这是指网络结构有三个绿色的大框,代表三个 cell 对吧,但是实际上,它只是代表了一个 cell 在不同时序时候的状态,所有的数据只会通过一个 cell,然后不断更新它的权重。
  • 一层的 LSTM 的参数个数
    上面例子中参数个数一共:128X156X4(为啥不是128X156X4+128X1X4?)
    以上参数不包括y(t)部分的参数。
  • 长时记忆和短时记忆
    cell 最上面的一条线的状态即 c(t) 代表了长时记忆,而下面的 h(t)则代表了工作记忆或短时记忆
  • 源码
    num_units:num_units这个参数的大小就是LSTM输出结果的维度。例如例子中num_units=128, 那么LSTM网络最后输出就是一个128维的向量。

参考资料
LSTM网络结构图来源
数学公式图来源
数学公式含义来源
操作示例资料来源
LSTM 的 cell 里面的 num_units 解释
LSTM cell结构的理解和计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值