神经网络:递归神经网络的兴起
在本文中,我们将讨论深度学习中递归神经网络的基础。递归神经网络的兴起是为了克服我们在神经网络和卷积神经网络中看到的局限性。
涉及的主题:
- 神经网络和卷积神经网络的局限性
- RNN的体系结构介绍
- RNN的工作
- RNN的局限性
局限性
人工神经网络(ANN)
- 设计适当的神经网络没有特定的规则,而是采用命中和试验方法。
- 该模型的训练时间更长。
- 在基于矩阵的大数据情况下,内存的内存大小需要更多。因此,由于该原因,数据需要分成许多批,因此任务计算很复杂。
- 图像的输入和输出尺寸是固定的。
- 没有到该操作的先前状态的内存存储链接。
卷积神经网络(CNN)
- 图像的倾斜和旋转对下一个神经元造成的信息较少。
- 与没有噪声的图像相比,存在噪声的图像识别困难。
- CNN中用于输入和输出的图像的固定大小也相同。
- CNN也没有指向先前状态的内存存储链接以标识预测。
因此,递归神经网络克服了图像的长期依赖和固定维数的问题。
长期依赖性意味着由于RNN处理的内存存储功能的这种依赖性,将来的预测与前一级或第一阶段神经元相关联。
循环神经网络捕获输入数据中存在的顺序信息,即在进行预测时两个数据点之间的依存关系。
关于RNN架构的介绍
RNN架构的视图如下所示
上图显示了人工神经网络和递归神经网络之间的区别。RNN中的隐藏层可以再次被提供给输入隐藏层的输出。多个神经元的输入和输出都是输入和输出向量。
X = [x1,x2,---- x(t-1)]
Y = [y1,y2,---- y(t-1)]
RNN的类型
- 一对一:在这种RNN中,有一个输入和一个输出。它也类似于简单的神经网络。这种类型的RNN在二进制分类中的实际应用。
- 一对多:在这种RNN中,有一个输入和多个输出。输入也可以是图像形式,输出是该图像中的多个要素。
- 多对一:在这种RNN中,有很多输入和一个输出。这种类型的示例是股票预测,其中输入是多个时间序列数据,而输出是特定时间的预测输出。
- 多对多:在这种RNN中,有很多输入和很多输出。这种类型的示例是语言转换,其中输入语言具有许多功能,而转换后的输出语言也具有多种功能。
与RNN架构有关的术语
- 输入大小:输入的大小是(Kx1)的向量,对于所有输入,大小将仅为向量形式。输入可以是图像或单词,但可以是矢量形式。
- 输出大小:输出大小也是Kx1的向量。
- 权重(U):它是输入层与隐藏层之间的权重。
- 权重(V):这是隐藏层和输出层之间的权重。
- 权重(W):它是自我之间隐藏层之间的权重。
RNN中的方程式
RNN体系结构中支配着各种方程式,如下所示:
方程H(t)具有水平方向即从左到右的信息流。第二个等式具有信息垂直方向(即从底部到顶部)的流动。
H(t)是h(t-1)和x(t)的函数,其中H(t)是当前隐藏状态,h(t-1)是先前的隐藏状态,x(t)是当前输入状态。
在U,W和V是权重矩阵。
RNN的工作
RNN的基本功能是记住先前的状态,以便预测的输出更加准确。
我们将讨论两个工作条件,如下所示:
- 正向传播
- 向后传播
正向传播
我们上面讨论的两个方程式是向前传播的,因此流量信息将在水平和垂直方向上传播。我们可以看到一个简单的正向传播图,如下所示:
正向传播中还有两个方程,如下所示:
在分类问题的情况下,等式1st是多类熵损失。熵损失用于发现提高分类性能的概率,因此,多类用于多类预测。
y(t) 是实际标签
y^(t) 是预测标签
公式2nd是RNN中的总损耗,它由从i = 0到时间(T)的单个输出预测。
这两个方程式用于量化预测如何接近实际标签。
随时间向后传播或向后传播(BPTT)
这是我们训练网络模型的一部分。该部分的功能用于更新RNN中的可训练参数,参数为U,V和W,即RNN中的权重。
我们使用梯度下降方程来更新权重,如下所示:
等式3是W权重的更新等式。等式4是V权重的更新等式。公式为5,是U权重的更新公式。L是完全损失,而alpha是学习参数。
RNN的局限性
我们讨论了克服NN和CNN模型的模型,但梯度消失问题仍然存在。为了解决此问题,我们使用如下所示的一些方法:
- 截断时间的反向传播:这是一种我们在时间之间标记部分以避免过度反向传播的方法。
- 剪切方法:剪切特定范围内的权重的导数。该方法在TensorFlow中很容易完成,因此梯度下降不会爆炸和消失。
- 使用高级架构,即LSTM和GRU。
结论:
本文对递归神经网络有一个基本的了解。逐渐消失的梯度问题使人们有动机去寻找更高级的架构,例如LSTM和GRU,这些架构将在以后的文章中进行讨论。