文章目录

  • 1. 序言
  • 2. RNN的基本概念与网络结构
    • 2.1 概念
    • 2.2 结构
    • 2.3 要素
  • 3. LSTM的基本概念与网络结构
    • 3.1 概念
    • 3.2 结构
    • 3.3 要素
  • 4. LSTM网络结构的说明
  • 5. 补充

1. 序言

  • 临渊羡鱼不如归而结网

  • 学习的目的是为了应用

2. RNN的基本概念与网络结构

LSTM是在RNN的基础上演进而来的,因此有必要简单了解RNN

2.1 概念

RNN = Recurrent Neural Network,循环神经网络

RNN是专门处理序列数据的网络,是对序列数据最自然的神经网络架构,在语音识别、语言翻译和图片描述等方面获得应用。

2.2 结构

  • 链式结构 + 重复单元


神经网络A处理输入x_t,输出h_t


左侧是折叠,右侧是展开

2.3 要素

xt -> t时刻输入层的值,一个向量或矩阵
st -> 表示隐藏层的值,一个向量或矩阵
ot -> 表示输出层的值
U -> 输入层到隐藏层的权重矩阵
V -> 隐藏层到输出层的权重矩阵
W -> 参数权重矩阵

t时刻的隐藏层st不仅取决于当前时刻的输入xt,还取决于上一时刻隐藏层的值st-1

标准RNN的特点
(1) 权值共享。W是相同的,U和V也一样
(2) 每一个输入只会和它本身的那条路线建立权连接,不会和别的神经元连接

RNN的训练方法:BPTT(Back Propagation Through Time),BPTT的本质是BP算法,BP算法的本质是梯度下降法,而算法的核心是求各个参数的梯度

RNN存在的问题:梯度消失和梯度爆炸。由于梯度消失只有短时记忆,无法解决长期依赖问题。可以通过选取更好的激活函数或改变网络结构(比如LSTM)来改善梯度消失的问题。

LSTM通过精妙的门控制将加法运算带入网络中,一定程度上解决了梯度消失的问题。

3. LSTM的基本概念与网络结构

3.1 概念

LSTM = Long Short Term Memory network,长短期记忆神经网络

记住长期信息是LSTM的默认行为,很好解决了长期依赖问题

3.2 结构

  • RNN的网络结构:重复单元只有一个简单的tanh层(双曲正切)
  • LSTM的网络结构:重复单元包含了4个交互的层

3.3 要素

(1)细胞状态:重复单元顶端传送的向量。细胞状态只需要进行一些初级的线性变换,因此保持不变很容易。

(2)门:门是一个可以让信息选择性通过的结构,LSTM通过精心设计的各种门来去除或新增信息到细胞状态。

LSTM有三个门来保护和控制细胞状态:遗忘门 + 输入门 + 输出门

  • 遗忘门

确定从细胞状态中丢弃什么信息。

由sigmoid函数组成的层来完成,sigmoid函数描述每个部分有多少量可以通过。

  • 输入门

确定什么样的新信息要输入细胞状态中。

第一部分是sigmoid层,确定要更新哪个值;

第二部分是tanh层,产生新的待用值。


旧细胞状态通过遗忘门,待用值通过输入门,两者结合的结果更新细胞状态。

  • 输出门

确定输出什么值。

sigmoid函数决定要输出的部分,与tanh将细胞状态变换后相乘,输出需要的信息

这三个门都使用sigmoid函数作为选择工具tanh函数作为变换工具,这两个函数结合起来实现三个门的功能。

一开始的LSTM只有输入和输出门,现在LSTM增加了遗忘门。

4. LSTM网络结构的说明

  • LSTM为什么能保留历史信息

    历史和当前状态简单相加,自然保留。
    
  • 为什么h_t输出两次

    LSTM不仅有横向链接,还有纵向链接。纵向预测:根据变量历史预测变量。
    横向链接:根据一些变量特征预测变量。
    
  • 为什么采用sigmoid函数和tanh函数作为激活函数

    两个激活函数都是饱和的,饱和的意思就是输入达到一定值后输出就不会发生明显变化;sigmoid输出0~1,符合门控的物理定义。在输入较大或较小时,输出接近0或1,从而保证门开或关。tanh函数双曲正切函数,输出在-1~1之间,这与大多数场景下特征分布是0中心吻合。tanh函数在输入为0附近相比sigmoid有更大的梯度,通常使模型收敛更快。
    

    sigmoid/tanh/relu函数图像

  • LSTM是通过数据去学习内在规律,如果有用信息不蕴含在数据中,LSTM无论如何都是学不到的。

5. 补充

  • LSTM的变体

    peephole connection/coupled忘记和输入门/GRU = gated recurrent unit

    其中GRU可能是最成功的一种,正在变得越来越流行

  • LSTM的应用

    自动图片标题生成
    文本自动翻译
    自动手写体生成
    音乐的生成
    字母的生成
    天气/股票/趋势预测

接下来通过具体实例熟悉LSTM的应用,请移步到:To Do


参考文章:
RNN和LSTM原理
LSTM入门
LSTM网络结构
LSTM总结

created by shuaixio, 2021.12.06

【机器学习】LSTM模型原理相关推荐

  1. 机器学习模型_如何口述机器学习模型原理

    点击上方"机器学习与统计学",选择"置顶"公众号 重磅干货,第一时间送达 作者:Ricky翘  zhuanlan.zhihu.com/p/34128571 有时 ...

  2. 【ML】基于机器学习的房价预测研究(系列7:双向LSTM模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 本次实战的项目是:基于机器学习的房价预测研究(附完整代 ...

  3. 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探...

    1. 偏差与方差 - 机器学习算法泛化性能分析 在一个项目中,我们通过设计和训练得到了一个model,该model的泛化可能很好,也可能不尽如人意,其背后的决定因素是什么呢?或者说我们可以从哪些方面去 ...

  4. 最后一期:如何更新LSTM模型?(附代码)| 博士带你学LSTM

    最后一期:如何更新LSTM模型?(附代码)| 博士带你学LSTM LSTM是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件.在自然语言处理.语言识别等一系列的应用上都取得 ...

  5. 【数据竞赛】基于LSTM模型实现共享自行车需求预测

    公众号:尤而小屋 作者:Peter 编辑:Peter 今天给大家带来一篇新的kaggle数据分析实战案例:基于长短期记忆网络(LSTM)模型的伦敦自行车需求预测分析.本文的两个亮点: 高级可视化:本文 ...

  6. 深度学习算法 | LSTM算法原理简介及Tutorial

    北京 | 深度学习与人工智能研修 12月23-24日 再设经典课程  重温深度学习 阅读全文 > 正文共4880个字 17张图,预计阅读时间:13分钟. 1.背景 LSTM(Long Short ...

  7. 基于LSTM模型的共享自行车需求预测

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 今天给大家带来一篇新的kaggle数据分析实战案例:基于长短期记忆网络(LSTM)模型的伦敦自行车需求预测分析.本文的两 ...

  8. 《机器学习:算法原理与编程实践》的读书笔记:SMO部分最难,大部分代码基于Scikit-Learn,决策树其实用处不大

    机器学习:算法原理与编程实践 目录 [隐藏] 1 机器学习的基础 2 中文文本分类 3 决策树的发展 4 推荐系统原理 5 梯度寻优 6 神经网络初步 7 预测的技术与哲学 8 万能分类器:SVM 9 ...

  9. lstm时间序列预测模型_时间序列-LSTM模型

    lstm时间序列预测模型 时间序列-LSTM模型 (Time Series - LSTM Model) Now, we are familiar with statistical modelling ...

  10. LSTM模型与前向反向传播算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前  言 在循环神经网络(RNN)模型与前向反向传播算法中,我们总 ...

最新文章

  1. 在图片中如何生成带有文字边缘空心字体?
  2. JAVA中LinkedLockingQueue的简单使用
  3. faster rcnn论文_faster-rcnn论文思路及代码编译
  4. you think you know javascript
  5. 设计模式---建造者模式(DesignPattern_Builder)
  6. leetcode 326. 3的幂(Power of Three)
  7. 这5个要点让你看清“Salesforce+AWS”
  8. 第四届中国外贸电子商务大会:PayPal瞄准B2B2C模式
  9. 进程间通信程序设计1
  10. 上新啦 | 火山翻译新增38个语种!
  11. wireshark的拆包与合并
  12. WIN10 安装Eplan 2.7 没有可激活合适的加密狗 的异常解决办法
  13. photoshop实现图片更换背景
  14. 毕业设计 STM32单片机的空气质量检测系统
  15. 主成分分析法(三):计算步骤
  16. 光凭求职技巧如何可以突围?
  17. Iterative closest point (ICP) 算法
  18. VRF-Virtual Routing Forwarding
  19. 读javascript高级程序设计09-BOM
  20. Java软件架构设计

热门文章

  1. 【递归算法】递归算法的快速入门
  2. 做高级PPT的一点经验
  3. 小朋友Stem课程制作3D打印无人机
  4. 大一c语言试题及答案解析,大一c语言期末题及参考答案.doc
  5. spring security 源码解析
  6. SD敢达服务器源码,《sd高达wars》金手指代码 SD高达G世纪WARS金手指
  7. JVM初识-JVM内存结构
  8. linux下这输入法切换大小写,Life With Arch:让Capslock成为输入法切换快捷键
  9. 经验模态分解python_EMD经验模态分解
  10. android渗透测试工具drozer,利用drozer进行Android渗透测试