BILSTM介绍

  • 一、介绍
    • 1.1 什么是LSTM和BILSTM?
    • 1.2 为什么使用LSTM与BILSTM?
  • 二、BILSTM原理简介
    • 2.1 LSTM介绍
      • 2.1.1 总体框架
      • 2.1.2 详细介绍计算过程
    • 2.2 BILSTM介绍

一、介绍

1.1 什么是LSTM和BILSTM?

LSTM的全称是Long Short-Term Memory,它是RNN(Recurrent Neural Network)的一种。LSTM由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。BiLSTM是Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成。两者在自然语言处理任务中都常被用来建模上下文信息。

1.2 为什么使用LSTM与BILSTM?

将词的表示组合成句子的表示,可以采用相加的方法,即将所有词的表示进行加和,或者取平均等方法,但是这些方法没有考虑到词语在句子中前后顺序。如句子“我不觉得他好”。“不”字是对后面“好”的否定,即该句子的情感极性是贬义。使用LSTM模型可以更好的捕捉到较长距离的依赖关系。因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。

但是利用LSTM对句子进行建模还存在一个问题:无法编码从后到前的信息。在更细粒度的分类时,如对于强程度的褒义、弱程度的褒义、中性、弱程度的贬义、强程度的贬义的五分类任务需要注意情感词、程度词、否定词之间的交互。举一个例子,“这个餐厅脏得不行,没有隔壁好”,这里的“不行”是对“脏”的程度的一种修饰,通过BiLSTM可以更好的捕捉双向的语义依赖。

二、BILSTM原理简介

2.1 LSTM介绍

2.1.1 总体框架

LSTM模型是由 t t t时刻的输入词 X t X_{t} Xt​,细胞状态 C t C_{t} Ct​,临时细胞状态 C t ~ \widetilde{^{C_{t}}} Ct​ ,隐层状态 h t h_{t} ht​,遗忘门 f t f_{t} ft​,记忆门 i t i_{t} it​,输出门 o t o_{t} ot​组成。LSTM的计算过程可以概括为,通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态 h t h_{t} ht​,其中遗忘,记忆与输出由通过上个时刻的隐层状态 h t − 1 h_{t-1} ht−1​和当前输入计算出来的遗忘门 f t f_{t} ft​,记忆门 i t i_{t} it​,输出门 o t o_{t} ot​来控制。

总体框架如图1所示。

2.1.2 详细介绍计算过程

计算遗忘门,选择要遗忘的信息。
输入:前一时刻的隐层状态 h t − 1 h_{t-1} ht−1​,当前时刻的输入词 X t X_{t} Xt​
输出:遗忘门的值 f t f_{t} ft​

计算记忆门,选择要记忆的信息。
输入:前一时刻的隐层状态 h t − 1 h_{t-1} ht−1​,当前时刻的输入词 X t X_{t} Xt​
输出:记忆门的值 i t i_{t} it​,临时细胞状态 C t ~ \widetilde{^{C_{t}}} Ct​

计算当前时刻细胞状态
输入:记忆门的值 i t i_{t} it​,遗忘门的值 f t f_{t} ft​,临时细胞状态 C t ~ \widetilde{^{C_{t}}} Ct​ ,上一刻细胞状态 C t − 1 C_{t-1} Ct−1​
输出:当前时刻细胞状态 C t C_{t} Ct​

计算输出门和当前时刻隐层状态
输入:前一时刻的隐层状态 h t − 1 h_{t-1} ht−1​,当前时刻的输入词 X t X_{t} Xt​,当前时刻细胞状态 C t C_{t} Ct​
输出:输出门的值 o t o_{t} ot​,隐层状态 h t h_{t} ht​

最终,我们可以得到与句子长度相同的隐层状态序列{ h 0 h_{0} h0​, h 1 h_{1} h1​ , …, h n − 1 h_{n-1} hn−1​}。

2.2 BILSTM介绍

前向的LSTM与后向的LSTM结合成BiLSTM。比如,我们对“我爱中国”这句话进行编码,模型如图6所示。

前向的 L S T M L LSTM_{L} LSTML​依次输入“我”,“爱”,“中国”得到三个向量{ h L 0 h_{L0} hL0​, h L 1 h_{L1} hL1​, h L 2 h_{L2} hL2​}。后向的 L S T M R LSTM_{R} LSTMR​依次输入“中国”,“爱”,“我”得到三个向量{ h R 0 h_{R0} hR0​, h R 1 h_{R1} hR1​, h R 2 h_{R2} hR2​}。最后将前向和后向的隐向量进行拼接得到{[ h L 0 h_{L0} hL0​, h R 2 h_{R2} hR2​ ], [ h L 1 h_{L1} hL1​, h R 1 h_{R1} hR1​], [ h L 2 h_{L2} hL2​, h R 0 h_{R0} hR0​]},即{ h L 0 h_{L0} hL0​, h L 1 h_{L1} hL1​, h L 2 h_{L2} hL2​}。
对于情感分类任务来说,我们采用的句子的表示往往是[ h L 2 h_{L2} hL2​, h R 2 h_{R2} hR2​]。因为其包含了前向与后向的所有信息,如图7所示

BILSTM原理介绍相关推荐

  1. BILSTM详细介绍及代码实现

    BILSTM原理介绍:https://blog.csdn.net/sinat_24330297/article/details/102487270 BiLSTM介绍及代码实现:https://www. ...

  2. HDR sensor 原理介绍

    HDR sensor 原理介绍 一. HDR sensor 原理介绍 什么是sensor的动态范围(dynamic range): sensor的动态范围就是sensor在一幅图像里能够同时体现高光和 ...

  3. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍

    本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...

  4. 中兴SDH原理介绍及中兴E300网管介绍

    姓名 苟忠兴 培训课程 中兴SDH原理介绍及中兴E300网管介绍 培训心得 1. SDH概念: SDH(Synchronous Digital Hierarchy,同步数字体系)是一种将复接.线路传输 ...

  5. 【机器学习】多项式回归原理介绍

    [机器学习]多项式回归原理介绍 [机器学习]多项式回归python实现 [机器学习]多项式回归sklearn实现 在上一节中我们介绍了线性回归的原理,然后分别用python和sklearn实现了不同变 ...

  6. 计算机原理 英文版,计算机原理介绍英文版.doc

    计算机原理介绍英文版 Importing TrafficOverview This lesson demonstrates the traffic import capabilities of Mod ...

  7. heartbeat原理介绍

    heartbeat原理介绍 HeartBeat运行于备用主机上的Heartbeat可以通过以太网连接检测主服务器的运行状态,一旦其无法检测到主服务器的"心跳"则自动接管主服务器的资 ...

  8. 安检x光机原理计算机实现,安检x光机成像原理介绍

    安检x光机是我们都很熟悉的一种安检设备,但很少有人去了解安检x光机成像原理.本文将为大家介绍安检x光机成像原理. 安检x光机成像原理 安检x光机主要由X光管和X光机电源以及控制电路等组成,而X光管又由 ...

  9. php new对象 调用函数,关于JS中new调用函数的原理介绍

    这篇文章主要介绍了关于JS中new调用函数的原理介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数) ...

最新文章

  1. Gitbook简易教程
  2. linux随机10字母病毒
  3. linux 查看系统版本 32位 or 64位
  4. es6 --- Thunk函数的作用
  5. 修改的梅花雪的日期控件。。只是一些小改动
  6. 【Elasticsearch】 Elasticsearch对外提供分词服务实践
  7. fckeditor异常总结---java.lang.ClassNotFoundException: org.devlib.schmidt.imageinfo.ImageInfo
  8. 利用filebeat推送mysql慢查询日志
  9. AutoMapper学习笔记
  10. L3-013 非常弹的球 (30 分)
  11. android端好用的gif生成器,gif字幕生成器
  12. Android 使用百度云文字识别之实现通用文字识别
  13. AD(Altium Designer)PCB布线中的“格式刷”,助力快速布局布线
  14. 一元多项式 java_java链表实现一元多项式的合并同类项以及加法
  15. 计算机显示器模糊,电脑显示器模糊是什么原因
  16. Iphone5 图片适配
  17. Springboot 瘦身打包
  18. ILI9341的使用之【一】TFT-LCD原理(转载)
  19. 五年之内,博士会像今天的硕士一样井喷吗?
  20. 透明质酸-嵌段共聚物 透明质酸修饰聚乳酸 HA-PLA/PCL/PLGA/PEI/PLL

热门文章

  1. inl和dnl matlab_matlab仿真inl dnl
  2. 360与腾讯招式详解
  3. 二进制整数及其表达方式
  4. 计算机的论文的引言,计算机类论文中引言的写法分析.pdf
  5. 51la和百度都有微信版统计,那个更好用些呢?
  6. QQ宠物吹泡泡游戏小助手 VC++6.0代码分析
  7. java 生成纯色图片_java实现切图并且判断图片是不是纯色/彩色图片
  8. 单细胞免疫组库揭示肿瘤免疫疗法副作用的分子机制
  9. 因为一个小功能,我对微信手机号转账的好感度加了10分
  10. 2021计算机保研经历(清软, 北深, 浙大, 南大, 中科大, 北航, 哈深, 南开, 华科, 武大, 中大)