Recurrent Neural Network (RNN)
如今,不同的机器学习技术用于处理不同类型的数据。最难处理和预测的数据类型之一是顺序数据。顺序数据与其他类型的数据不同,因为虽然可以假设典型数据集的所有特征都是与顺序无关的,但不能假设顺序数据集是无关的。为了处理这种类型的数据,提出了递归神经网络的概念。它在结构上与其他人工神经网络不同。当其他网络在前馈过程或反向传播过程中沿线性方向“行进”时,循环网络遵循递归关系而不是前馈传递,并使用随时间的反向传播进行学习。
递归神经网络由多个固定激活函数单元组成,每个时间步长一个。每个单元都有一个内部状态,称为单元的隐藏状态。此隐藏状态表示网络当前在给定时间步中持有的过去知识。此隐藏状态在每个时间步更新,以表示网络对过去的了解的变化。使用以下递归关系更新隐藏状态:
注意:通常,要理解递归神经网络的概念,它通常以展开的形式进行说明,本文将遵循此规范。在每个时间步,使用上面给出的递归关系计算新的隐藏状态。这个新生成的 hidden state 确实用于生成一个新的 hidden state,依此类推。递归神经网络的基本工作流程如下:
请注意,这是h0网络的初始隐藏状态。通常,它是一个零向量,但它也可以有其他值。一种方法是将有关数据的假设编码到网络的初始隐藏状态中。例如,对于确定知名人士发表的演讲语气的问题,该人过去演讲的语气可能会被编码到初始隐藏状态。另一种技术是将初始隐藏状态设为可训练参数。尽管这些技术对网络增加了一点细微差别,但将隐藏状态向量初