IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 一幅图真正理解LSTM、BiLSTM -> 正文阅读

[人工智能]一幅图真正理解LSTM、BiLSTM

目录

1 前言

1.1 RNN回忆与概览

1.2 LSTM回忆与概览

2 图解 LSTM 内部结构和数据流

2.1 简洁的结构图

2.2 LSTM的原理剖析图

?3 图解BiLSTM及其应用

3.1 看2层的 LSTM 是如何运转的

3.2 看1层的 BiLSTM 是如何运转的

3.3 看2层的 BiLSTM 是如何运转的

?


1 前言

本文对RNN、LSTM、BiLSTM的内部结构和输入输出做了透彻的剖析,目标是能够解答LSTM和BiLSTM的任何疑问。

  • RNN:循环神经网络
  • LSTM:长短期记忆网络
  • BiLSTM:双向长短期记忆网络

重要的先验知识

  • 本质上单个RNN cell是在多个时间步上展开的形式,也可以理解为RNN是神经网络在时序上的权重共享(CNN相当于空间上的权重共享)LSTM也都是一样

An unrolled recurrent neural network.

1.1 RNN回忆与概览

RNN的不足:它的记忆是短期的。

  • 原因:在反向传播过程中,RNN中存在梯度消失问题。梯度是用于更新神经网络权重的值,梯度消失问题是指随着时间推移,梯度在传播时会下降,如果梯度值变得非常小,则不会继续学习。因此,在RNN中,梯度小幅更新的网络层会停止学习,这些通常是较早的层。由于这些层不学习,RNN无法记住它在较长序列中学习到的内容,因此它的记忆是短期的

1.2 LSTM回忆与概览

LSTM内部结构相对RNN做了改进,BiLSTM中Bi指的是Bi-directional(双向的)的缩写,是由前向LSTM与后向LSTM组合而成,LSTM和BiLSTM如下图所示:

LSTM优点:

  • LSTM是克服短期记忆问题提出的解决方案,它引入称作“门”的内部机制,可以调节信息流。
  • 这些门结构可以学习序列中哪些数据是要保留的重要信息,哪些是要删除的。通过这样做,它可以沿着长链序列传递相关信息来执行预测。

2 图解 LSTM 内部结构和数据流

2.1 简洁的结构图

2.2 LSTM的原理剖析图

3 图解BiLSTM及其应用

3.1 看2层的 LSTM 是如何运转的

3.2 看1层的 BiLSTM 是如何运转的

用一个文本情感分析的例子来说明:

  • 如下图,单层的BiLSTM其实就是2个LSTM,一个正向去处理序列,一个反向去处理序列,处理完后,两个LSTM的输出会拼接起来
  • 特别注意:所有时间步计算完后,才算是LSTM的结果,如下图,正向LSTM经过6个时间步得到一个结果向量,反向LSTM同样经过6个时间步后,得到另一个结果,然后这两个结果向量拼接起来,作为BiLSTM的最终输出。

3.3 看2层的 BiLSTM 是如何运转的

用OCR识别算法CRNN来说明,以下是CRNN算法的数据处理流程图:

?

?更详细的说,在CRNN算法中,输入BiLSTM的特征序列,它的维度是(26, 512),长下图这样:

?因为CRNN算法中,图像输入是固定为32(高) x 100(宽)的长条图,经过特征提取器后,高会下采样32倍,宽度方向下采样4倍(由于补边操作,导致w最终=(100/4+1)=26),所以,相当于32 x 100的图像信息,被裁剪成26份,每一份的信息用512个值表示,如下:

?重要解释归纳如下:

  1. 关于时间步:26个切片,也即26个序列,也就是26个时间步,即双层的BiLSTM(也就是4个LSTM,每层一个前向LSTM和一个反向LSTM)会自循环计算26次,从物理意义上说,相当于LSTM按顺序(从左往右同时从右往左)遍历计算了上图26个切片信息。
  2. 关于输入列向量Xt:每个序列由512个元素的向量组成,每个时间步,BiLSTM就是去取这512个元素的向量值丢到LSTM单元中去计算。形象的说,就是3.1节中,input_size也即Xt,变为512维向量。
  3. 关于全连接层:CRNN算法中,在上下两层BiLSTM中间,穿插了一个全连接层,来过度上下两层BiLSTM的输入输出关系。至于为什么要加全连接层,我目前也不是特别清楚,理论上,不加全连接层,两层BiLSTM也完全是可以轻松的衔接起来的。

CRNN算法中,双层BiLSTM代码实现如下:

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-02 11:21:53  更:2021-09-02 11:24:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 16:27:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码