【译】理解LSTM网络,RNN入门材料

原文

?LSTM中C和h的作用,C:internal core state, h:exposed state
传统的RNN中,每个节点的输出和传入下个节点的状态信息是相同的,所以只有一个state,但是在LSTM中,从C(internal core state)到h(exposed state)还要经过一个output gate过滤,所以有两个state,只不过通常都使用h。

循环神经网络

人类的思考具有延续性,正如你在读这些文字的时候,并不是从零开始的,你在之前对这些文字就有了一些理解。
传统的神经网络,例如ANN, CNN等,并不能在处理当前问题时参考之前的经验,即没有记忆性。举例来说,当你想要对一部电影的每一个事件进行分类时,传统的神经网络无法利用之前的信息来推断当前事件。
循环神经网络(Recurrent neural networks)可以解决这个问题,即让模型具有记忆性,在处理当前问题时可以参考之前的信息,它们的网络结构中具有循环结构,可以保存信息。
图片描述
在上面这幅图中,神经网络A以 xt 为输入,以 ht 为输出,网络中的循环结构使得信息可以在网络中传递。
这些循环结构可能使神经网络很难理解,但实际上它们和普通的神经网络没什么区别,RNN可以认为是一个相同网络的的多次复制,每一个部分都向下一个部分传递信息。把循环展开之后如下图:

RNN的展开
这种链式结构说明RNN与序列和列表密切相关,序列形式的数据非常适合这种结构的神经网络。
在过去的几年中它们应用广泛:语音识别,语言建模,机器翻译和图像描述等,更多的应用可参考Andrej Karpathy的博文
RNN成功的关键在于使用了LSTM,一种特殊的RNN,它的表现要强于传统的RNN,也是这篇博客主要介绍的东西。

长期依赖的问题

RNN最大的优势就在于可以利用之前的信息处理当前问题,比如利用电影之前的画面处理当前画面,那么RNN真的可以做到这些吗?这得看看情况。
有时我们只需要近期的信息就可以处理当前问题,即不需要追溯太久,例如,考虑一个根据之前的单词预测下一个单词的语言模型,如果我们想要预测“the clouds are in the sky”这句话的最后一个单词,我们不需要其他额外的信息——很明显最后一个单词就是sky,在这种情况下,需要预测的东西和预测它所需要的信息之间的间隔很小,RNN可以学会如何利用这些信息。
这里写图片描述
但是,在有些情况下我们需要更多的信息,例如在预测“I grew up in France… I speak fluent French”这句话的最后一个单词时,附近的信息显示这个单词可能是一种语言,但是想要确定是哪种语言则需要France的信息,这个之间的距离就远了一些,而这个距离可能距离非常远。
不幸的是对于传统的RNN来说,随着距离的增大连接这些信息会越来越难。
这里写图片描述
理论上,RNN可以处理“长期依赖”的问题,人们可以精心的选择它的参数来处理这种简单的问题,遗憾的是实际上RNN无法自己学会这些参数的设置,Hochreiter (1991) [German] 和 Bengio, et al. (1994)证明了RNN这些问题的根本原因。
幸运的是LSTM并不存在这样的问题。

LSTM网络

LSTM(Long Short Term Memory networks)是一种特殊的RNN,它可以自己学习到长期依赖的问题,它是由Hochreiter & Schmidhuber (1997)发明的,经过多年的优化和推广,在很多问题上都表现很好,并且被广泛使用。
LSTM就是为了解决长期依赖的问题而设计的,对信息的长期记忆是它们的默认属性,并不需要特别努力的学习。
在所有的RNN中都是一串重复的神经网络,在最传统的RNN中重复的模块非常简单,比如只有一个tanh层的形式。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值