博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
循环神经(LSTM)网络学习总结
阅读量:4326 次
发布时间:2019-06-06

本文共 1330 字,大约阅读时间需要 4 分钟。

摘要:

  1.算法概述

  2.算法要点与推导

  3.算法特性及优缺点

  4.注意事项

  5.实现和具体例子

  6.适用场合

内容:

  1.算法概述

  长短期记忆网络(Long Short Term Memory networks) 通常叫做 “LSTM”,由Hochreiter & Schmidhuber (1997)提出,一个LSTM Cell图示如下:

  

  现在,我们先来定义一下用到的符号:

 

  在网络结构图中,每条线都传递着一个向量。其中上面一条直线表示LSTM的状态向量的传递;下面一条直线表示由LSTM的上一层输出和这一层输入组成的合并向量的传递;

  粉红色的圆圈表示逐点操作,这里涉及到1.两个输入向量各个元素相加;2.两个输入向量各个元素相乘,即。

  黄色的矩形框表示的是一个神经网络层(就是很多个神经节点);

  合并的线表示把两条线上所携带的向量进行合并;

  分开的线表示将线上传递的向量复制一份,传给两个地方。

   

  一个LSTM Cell是由3个门限结构和1个状态向量传输线组成的,门限分别是遗忘门,传入门,输出门;

  其中状态向量传输线负责长程记忆,因为它只做了一些简单的线性操作;3个门限负责短期记忆的选择,因为门限设置可以对输入向量做删除或者添加操作;

  1.1遗忘门:

  遗忘门是通过一个sigmoid 神经层来实现的。 0 表示“不让任何信息通过”, 1 表示“让所有信息通过”。它的作用是要决定让哪些信息继续通过这个 cell。

  

 

  1.2传入门:

  传入门实现需要两个步骤:首先,一个sigmoid 层决定哪些信息需要更新;一个 tanh 层生成一个备选的用来更新的内容;

  再下一步,我们把这两部分联合(向量点乘)起来,对 cell 的状态进行一个更新。它的作用是决定让多少新的信息加入到 cell 状态中来。

  

  1.3输出门

  输出门实现需要两个步骤:首先通过一个sigmoid层来决定哪部分信息会被输出;

       接着,我们把状态向量通过一个 tanh 层,然后把 tanh 层的输出和 sigmoid 层计算出来的权重相乘,这样就得到了最后输出的结果。

  输出门的作用是决定输出什么值。

 

  

   1.4 LSTM cell状态更新:

   首先我们把旧的状态和遗忘门的输出相乘, 把一些不想保留的信息忘掉;然后加上输入门的输出,这部分信息就是我们要添加的新内容。

  

   

  2.算法要点与推导

    符号说明:这里的“*”代表

    2.1LSTM前向传播公式:

    

    其中设计到参数Wf,Wi,Wc,Wo,bf,bi,bc,bo

    2.2LSTM后向传播公式:

    

    

         

    

    

  3.算法特性及优缺点

    优点:可以拟合序列数据,通过遗忘门和输出门忘记部分信息来解决梯度消失的问题。

    缺点:

  4.注意事项

  5.实现和具体例子

    

    

    

  6.适用场合

  

转载于:https://www.cnblogs.com/arachis/p/RNN.html

你可能感兴趣的文章
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>
程序员最想得到的十大证件,你最想得到哪个?
查看>>
我的第一篇CBBLOGS博客
查看>>
【MyBean调试笔记】接口的使用和清理
查看>>
07 js自定义函数
查看>>
jQueru中数据交换格式XML和JSON对比
查看>>
form表单序列化后的数据转json对象
查看>>