机器学习:深入理解 LSTM 网络 (一)
Recurrent Neural Network
Long Short Term Memory Networks (LSTMs) 最近获得越来越多的关注,与传统的前向神经网络 (feedforward network)不同,LSTM 可以对之前的输入有选择的记忆,从而有助于判断当前的输入, LSTM的这一特点在处理时序相关的输入时,有着很大的优势。
LSTM 由 Recurrent Neural Networks (RNN) 演化而来,所以在介绍LSTM之前,我们先来简单了解一下RNN. 人类的思考不是每时每刻都会从头开始,特别是在阅读的时候,你对当前词语的理解,于你之前阅读的积累有关,换句话说,人类的思考有持续性。
在解决时序相关的输入信号时,传统的神经网络无能为力,因为其直进直出的结构特性使其只能对当前的输入做出处理,而无法利用之前的信息。RNN的提出很好地解决了这个难题,RNN 与传统的神经网络不同,RNN 是一个循环网络,可以很好的存储信息。
上图给出了一个 RNN 的网络结构,A 表示神经网络的一块,Xt 表示当前的输入,ht 表示当前的输出,这个自循环的箭头表示信息可以从当前时刻传递到下一个时刻。
为了更加直观的表示 RNN, 我们可以将上面的图展开来,可以得到如下所示的图:
上图表示RNN可以看成是同一个神经网络的多重复制,每一次都把当前的信息传递到下一个。这种链式结构说明了RNN与时序信号是紧密相连的,RNN 看起来似乎对处理时序信号非常有效。确实如此,近些年,RNN 结构已经成功地应用于语音处理,文本翻译,图像标注,语言模型等,这样归功于RNN中一种特别的网络结构,就是我们要重点介绍的LSTM。
The Problem of Long-Term Dependencies
RNN 结构的一个吸引人之处在于其可以利用之前的输入信息。但是一个关键的需要解决的问题是当前的信息与之前的信息的关联度有长有短。有的时候,对于当前输入输入的信息,我们只要利用最近的一段输入信息就可以做出判断,但是有的时候,对于当前输入的信息,我们可能要之前输入的更长的一段信息才能做出判断。下面两个图显示了对于不同长度的信息关联度,RNN会有不同的结构:
这个结构意味着,当前信息与之前信息的关联度更短,只要最近的信息就可以。
这个结构意味着,当前信息与之前信息的关联度要更长,需要更久远的信息才能做出判断。
随着,信息关联度越来越长,RNN 将变得无法去学习这些信息之间的联系,从而完全失去作用,为了解决这个问题,所以提出了 LSTM 的结构。
我们要在下一篇里详细介绍LSTM 的结构。
参考来源:
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
机器学习:深入理解 LSTM 网络 (一)的更多相关文章
- (译)理解 LSTM 网络 (Understanding LSTM Networks by colah)
@翻译:huangyongye 原文链接: Understanding LSTM Networks 前言:其实之前就已经用过 LSTM 了,是在深度学习框架 keras 上直接用的,但是到现在对LST ...
- [转] 理解 LSTM 网络
[译] 理解 LSTM 网络 http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他 ...
- 【翻译】理解 LSTM 网络
目录 理解 LSTM 网络 递归神经网络 长期依赖性问题 LSTM 网络 LSTM 的核心想法 逐步解析 LSTM 的流程 长短期记忆的变种 结论 鸣谢 本文翻译自 Christopher Olah ...
- 机器学习:深入理解LSTM网络 (二)
之前我们介绍了RNN 网络结构以及其所遇到的问题,RNN 结构对于关联度太长的时序问题可能无法处理, 简单来说,RNN对于太久远的信息不能有效地储存,为了解决这个问题,有人提出了LSTM的网络结构,L ...
- [译] 理解 LSTM 网络
原文链接:http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 吴恩达版:http://www.ai-start.com/dl2017/h ...
- 『cs231n』RNN之理解LSTM网络
概述 LSTM是RNN的增强版,1.RNN能完成的工作LSTM也都能胜任且有更好的效果:2.LSTM解决了RNN梯度消失或爆炸的问题,进而可以具有比RNN更为长时的记忆能力.LSTM网络比较复杂,而恰 ...
- 理解 LSTM 网络
递归神经网络 人类并不是每时每刻都从头开始思考.正如你阅读这篇文章的时候,你是在理解前面词语的基础上来理解每个词.你不会丢弃所有已知的信息而从头开始思考.你的思想具有持续性. 传统的神经网络不能做到这 ...
- Deep Learning基础--理解LSTM网络
循环神经网络(RNN) 人们的每次思考并不都是从零开始的.比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始.你的记忆是有 ...
- 理解LSTM网络--Understanding LSTM Networks(翻译一篇colah's blog)
colah的一篇讲解LSTM比较好的文章,翻译过来一起学习,原文地址:http://colah.github.io/posts/2015-08-Understanding-LSTMs/ ,Posted ...
随机推荐
- SpringMvc(4-1)Spring MVC 中的 forward 和 redirect(转)
Spring MVC 中,我们在返回逻辑视图时,框架会通过 viewResolver 来解析得到具体的 View,然后向浏览器渲染.通过配置,我们配置某个 ViewResolver 如下: <b ...
- HDU4911-Inversion
题意:依据题目要求交换相邻的两个元素k次,使得最后剩下的逆序对数最少 思路:假设逆序数大于0,存在0 <= i < n使得交换Ai,Ai+1后逆序数降低1,所求答案就为max(invers ...
- 《编程导论(Java)·4.1数据抽象的含义》
You have no choice about the necessity to integrateyour observations, your experiences, your knowled ...
- Windows Phone 8.1 FilePicker API
在 Windows Phone 8.1 中,增加了 FilePicker 的方式与文件打交道,最大的亮点在于这种方式不仅可以浏览手机上的文件,还可以浏览符合协议的应用里的文件! 比如点击 OneDri ...
- 【t035】收入计划
Time Limit: 1 second Memory Limit: 32 MB [问题描述] 高考结束后,同学们大都找到了一份临时工作,渴望挣得一些零用钱.从今天起,Matrix67将连续工作N天( ...
- windows下python安装uwsgi
1.使用pip安装 pip install uwsgi 报错:os没有uname() 解决: 定位到uwsgiconfig.py文件中,首先import platform后,将os.unam()都改为 ...
- mui监听多个下拉刷新当前处于哪个选项卡
1.滑动触发 <div id="slider" class="mui-slider mui-fullscreen"> <div id=&quo ...
- 版本控制— SVN & git
版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 ( ...
- 数组[0]和[firstobject]的区别
数组[0]和[firstobject]的区别 [0]:数组为空时回报错 [firstobject]:数组为空时回返回nil
- 【codeforces 777D】Cloud of Hashtags
[题目链接]:http://codeforces.com/contest/777/problem/D [题意] 让你通过删除字符串的末尾字符的方式; 使得所给的字符串以字典序升序排序; 不能交换字符串 ...