美文网首页
LSTM网络拆解举例分析

LSTM网络拆解举例分析

作者: CrazyCat_007 | 来源:发表于2019-01-28 21:45 被阅读0次

RNN神经网络可以对图像生成描述,对文本进行分类,实现机器翻译,视频解说等,而在该过程中,普通RNN的信息不能长久传播,因此引入了选择性机制,我们可以将信息进行选择性遗忘、选择性输入和选择性输出,也就是后来的门——遗忘门、传入门和输出门,因此有了LSTM长短期记忆网络(Long Short Term Memory)。在使用门的过程中,使用了sigmod函数([0,1]区间,0代表完全忘记,1代表完全记住)进行对信息的选择性过滤。下面我会按照我的理解来举例分析LSTM网络,如有不足之处还请大家提出宝贵意见。

LSTM网络结构

LSTM网络

在LSTM网络中可以看到,有三个绿色的细胞,左边的细胞的输出作为中间细胞的输入,中间细胞的输出作为右边细胞的输出。将中间细胞透明化,我们可以看到内部的构造,即LSTM的核心构造。图中各元素图标含义如下:

元素图标说明

状态Ct

状态Ct

在LSTM网络中有一个状态字段C_{t} ,用来维护一个状态作为下一步的额外输出。当前状态C_{t} 的更新过程为C_{t-1} 与经过遗忘门的输入作点积,然后与经过传入门的输入作加法后得到的新状态值。(简书的公式编辑器很不错,有点类似latex~)

这里开始我的小例子。令C_{t-1} 中的词语及对应状态值(可以理解为权重)分别为(老师 0.5,教 0.1,我 0.2,python 0.2,人工智能 0.1,学习 0.2)。

下面就是LSTM网络的“三道难关”。这里提醒下,经过三道门的总输入是相同的,但是经过sigmod函数后的值是不一定相同的。

遗忘门

遗忘门

首先要经过遗忘门,上一次的输出h_{t-1} 和本次的输入x_{t} 作为整个LSTM的输入,其中h_{t-1} 的内容为(老师,教,我,人工智能),x_{t} 的内容为(我,喜欢,学习,人工智能),整个输入经过sigmod遗忘门后得到整合的内容f_{t} 为(老师 0.1,教 0.1,我 0.3,人工智能 0.5,学习 0.1,喜欢 0.2),那么C_{t-1} \times f_{t}的值为(老师 0.05,教 0.01,我 0.06,python 0,人工智能 0.05,学习 0.02,喜欢 0),其中python值为0,代表被完全遗忘了,而后面的喜欢也为0,是因为C_{t} 中还不存在该状态。

传入门

传入门

接下来,h_{t-1} x_{t} 输入要经过传入门的考验了。i_{t} 代表过滤出输入内容中需要更新的值,而\tilde{{C_t}} 代表输入经过tanh过滤后的备选内容。i_{t} 的内容为(老师 0.5教 0.4,我 0.2,人工智能 0.2,学习 0.3,喜欢 0.1),假如这里规定大于等于0.4对应的词语需要更新,则“老师”,“教”需要更新,更新的新值为\tilde{{C_t}} (老师 -0.3,教 -0.3,我 0.5, 人工智能 0.2,学习 0.1,喜欢 0.5)中大于等于0.5的“我”和“喜欢”,可以理解为要更新句子的主语和谓语。i_{t}\times \tilde{{C_t}}  的值则为(老师 -0.15,教 -0.12,我 0.1,人工智能 0.04,学习 0.03,喜欢 0.05)。

到此,可以得到C_{t} 的更新状态,因为C_{t} =C_{t-1}\times f_{t}+i_{t}\times \tilde{C_{t}} ,因此可得(老师 -0.1,教 -0.11,我 0.16,人工智能 0.09,学习 0.05,喜欢 0.05),规定大于0的值被留下,也就是说,在C_{t-1} C_{t} 的更新过程中,遗忘了“老师”,“教”和“python”,增加了“喜欢”。

输出门

输出门

还没完呐,最后一关输出门。在这里,所有的输入经过输出门与经过tanh函数过滤的状态值作点积操作后得到最终的输出值。其中,o_{t} 的内容为(老师 0.2,教 0.1,我 0.4,人工智能 0.2,学习 0.2,喜欢 0.3),tanh(C_{t})的内容(约等于)为(老师 -0.10,教 -0.11,我 0.16,人工智能 0.09,学习 0.05,喜欢 0.05),那么h_{t} = o_{t}\times tanh(C_{t})为(老师 -0.02教 -0.011,我 0.064,人工智能 0.018,学习 0.01,喜欢 0.015),规定大于0的值输出,则最终的输出为(我,人工智能,学习,喜欢)。

结束语

也许我的举例存在些许不足,但应该能够帮助大家对LSTM的过程有所理解。总之,我热爱人工智能,热衷钻研,希望大家能够帮助我弥补不足之处,让我在人工智能之路走得更远,谢谢大家。

相关文章

  • LSTM网络拆解举例分析

    RNN神经网络可以对图像生成描述,对文本进行分类,实现机器翻译,视频解说等,而在该过程中,普通RNN的信息不能长久...

  • keras lstm 杂记

    1、例子 情感分析 情感分析(苏剑林) lstm多曲线预测 lstm多曲线预测(原文) 2、lstm参数 lstm...

  • 详解 LSTM

    今天的内容有: LSTM 思路 LSTM 的前向计算 LSTM 的反向传播 关于调参 LSTM 长短时记忆网络(L...

  • 9种常用的数据分析方法(实用干货,强烈建议收藏)

    一、公式拆解 所谓公式拆解法就是针对某个指标,用公式层层分解该指标的影响因素。举例:分析某产品的销售额较低的原因,...

  • 9种常用的数据分析方法

    一、公式拆解 所谓公式拆解法就是针对某个指标,用公式层层分解该指标的影响因素。 举例:分析某产品的销售额较低的原因...

  • 使用 TensorFlow 做文本情感分析

    使用 TensorFlow 做文本情感分析 本文将通过使用TensorFlow中的LSTM神经网络方法探索高效的深...

  • keras lstm return sequence参数理解

    使用keras构建多层lstm网络时,除了最后一层lstm,中间过程的lstm中的return sequence参...

  • 基于Bi-LSTM的文本情感分类

    参考:一维卷积网络IMDB情感分析双向LSTM情感分类模型利用DNN对EMAIL分类基于Keras构建RNN模型 ...

  • Tensorflow神经网络之LSTM

    LSTM 简介 公式 LSTM LSTM作为门控循环神经网络因此我们从门控单元切入理解。主要包括: 输入门:It ...

  • LSTM网络

    之前和大家介绍了循环神经网络(RNN),RNN的魅力在于它能够很好地利用历史信息。例如,使用前一时刻的视频帧可以推...

网友评论

      本文标题:LSTM网络拆解举例分析

      本文链接:https://www.haomeiwen.com/subject/jmrjoftx.html