循环神经网络-神经网络与深度学习.PDF
文本预览下载声明
第六章 循环神经网络
前馈神经网络假设每次输入都是独立的,也就是说每次网络的输出只依赖
于当前的输入。但是在很多现实任务中,不同时刻的输入可以相互影响,比如
视频、语音、文本等序列结构数据。某个时刻的输出可能和前面时刻的输入相
关。此外,这些序列结构数据的长度一般是不固定的。而前馈神经网络要求输
入和输出的维数都是固定的,不能任意改变。当处理序列数据时,前馈神经网
络就无能力为了。
也经常被翻译为递 在前馈神经网络模型中,连接存在层与层之间,每层的节点之间是无连接
归神经网络。这里为了区 的。循环神经网络 ( , )通过使用带自反馈的
别与另外一种递归神经 神经元,能够处理任意长度的序列。循环神经网络比前馈神经网络更加符合生
网络(
物神经网络的结构。循环神经网络已经被广泛应用在语音识别、语言模型以及
),我们称为
循环神经网络。 自然语言生成等任务上。
给定一个输入序列x = (x , x , . . . , x , . . . , x ),循环神经网络通过下面
1:T 1 2 t T
公式更新带反馈边的隐藏层的活性值h :
t
0 t = 0
ht =
f (h , x )
t1 t
从数学上讲,公式可以看成一个动态系统。动态系统是指系统的状态按
照一定的规律随时间变化的系统。因此,活性值h 在很多文献上也称为状态或
t
隐状态。但这里的状态是数学上的概念,区别与我们在前馈网络中定义的神经
元的状态。理论上循环神经网络可以近似任意的动态系统。图给出了循环神
经网络的示例。
循环神经网络的参数训练可以通过时序反向传播(
, )算法 来学习。时序反向传播即按照时间的逆序将
简单循环网络
输出层 h
h
隐藏层 延迟器
x
输入层 h
图 循环神经网络
错误信息一步步地往前传递。这样,当输入序列比较长时,会存在梯度爆炸和
消失问题
,也称为长期依赖问题。为了解决这个问题,人们对循环神经网络
进行了很多的改进,其中最有效的一个改进版本是长短期记忆神经网络。
在本章中,我们先介绍循环神经网络的基本定义以及梯度计算,然后介绍
两种扩展模
显示全部