【深度学习】循环神经网络学习笔记1

本文介绍了循环神经网络(RNN)的基础知识,包括SimpleRNN、LSTM和GRU。LSTM因其能处理长期依赖问题而成为RNN的主流,其工作原理涉及input、output、forget gates,而GRU作为LSTM的简化版,性能接近但参数更少。文章还提及了在实际应用中如何选择合适的RNN变体。

1.概述

1.1定义

循环神经网络(Recurrent Neural Network, RNN) 是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)

1.2分类

对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习(deep learning)算法之一 [2] ,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络 [3] 。

视频中主要介绍了三种比较常用的循环神经网络:
1.LSTM
2.GRU
3.Simple RNN

2.Simple RNN

Simple RNN也成为slot filling,是循环神经网络中最简单的版本。

例子:订票系统,智能客服
Example Application
在这个例子中,如果我们有碰到两种情况,arrive Taipei和leave Taipei,那么就无法判断Taipei在订票系统的语境中是属于destination slot还是time of departure slot了。
Example Application
因此,我们希望他有记忆力,根据上下文产生不同的output。
Memory can be considered as another input.
input之间的关系不是独立的,需要考虑前后的次序。同一个network在三个不同的时间点被使用了三次,并且,the value stored in the memory is different.
simple RNN

几个常用的类型:
1.Elman Network
2.Jordan Network (performance 较高)
3.Bidirectional RNN (可以是双向的)
Elman/Jordan Network
Bidirectional RNN

3.LSTM

目前,当我们提起循环神经网络时,通常指的就是LSTM(Long short-term Memory),可以把它理解成比较长的short-term memory。
LSTM model
他和simple RNN的区别是,他的记忆可以长一些,可以通过forget gate将值存起来。
理解LSTM的重点在于,他有4个input,1个output
4个input分别是,input、input gate、output gate、forget gate。
input通过gate的activation function后的值我们可以简化理解为0或1,即门的开或关。

计算方法:
LSTM计算方法
例子:
example
输入是一个向量,向量中的每个纬度都有相应的权重,绿色的是他的bias,通过计算得到activation的值,对最下面的是输出一个具体的值,对gate是输出0/1,即开/关,具体公式详见上一张图。
LSTM
因此,LSTM有一个缺点,就是四倍的参数量(4 times of parameters)。因为他需要额外三个参数来控制三个gate。
LSTM
LSTM
unknown
总之,LSTM在真实的情境中是一个非常复杂的东西,并且,This is quite standard now。不过好在,Keras can handle it。

4.GRU

GRU(Gated Recurrent Unit) 是LSTM的简化版,比LSTM少了一个gate,但是该循环神经网络的性能和LSTM差不多,所以在一些情况中是一个比较好的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值