📅  最后修改于: 2021-01-11 10:46:03             🧑  作者: Mango
递归神经网络在图像分类和视频识别,机器翻译和音乐创作中具有广泛的应用。
考虑一个图像分类用例,其中我们训练了神经网络对某些动物的图像进行分类。
因此,让我们提供猫或狗的图像;网络为猫或狗的图片提供带有相应标签的输出。
参见下图:
在这里,第一个输出为猫不会影响之前的输出,即狗。这意味着在时间“ t”处的输出在时间“ t-1? 。
考虑以下情况,我们将需要使用最后获得的输出:
这个概念是一样的读一本书。随着我们前进的每一页,在大多数情况下,我们需要了解前几页才能完全理解这些信息。
借助于前馈网络,在时间“ t + 1”处的新输出?与时间t, t-1,t-2的输出都不相关。
因此,在预测句子中的单词时不能使用前馈网络,因为它与上一组单词没有绝对关系。
但是,借助递归神经网络,可以克服这一挑战。
请参见下图:
在上图中,我们将特定输入设为-1?馈入网络。这些输入也将在时间“ t-1”处导致并行输出。
在下一个时间戳中,来自先前输入“ t-1”的信息。与输入一起提供吗?以最终提供“ t”的输出。
此过程会重复进行,以确保了解最新的输入并可以使用从前一个时间戳获取的信息。
递归网络是一种人工神经网络,旨在识别数据序列中的模式。像是文字,基因组,笔迹,口语,来自传感器,股票市场和政府机构的数值序列数据。
为了更好地理解,请考虑以下比较:
我们会定期去健身房,而教练已经为我们提供了锻炼的时间表:
请注意,每周都要以适当的顺序重复所有练习。让我们使用前馈网络尝试和预测练习的类型。
输入是日,月和健康状况。已经使用这些输入训练了神经网络以提供锻炼的预测。
但是,考虑到输入,这将不是很准确。为了解决这个问题,我们利用递归神经网络的概念,如下所示:
在这种情况下,找到前一天要进行锻炼的输入。
因此,如果我们昨天进行了肩部锻炼,那么今天我们可以进行二头肌锻炼,这个过程将持续一周的剩余时间。
但是,如果我们碰巧错过了在健身房锻炼的一天,则可以考虑以下先前参加的时间戳记中的数据。
如果根据从上次练习中获得的数据来体验模型,则该模型的输出将是准确的。
总而言之,让我们将数据转换为向量。
向量是输入模型的数字,以表示我们是否进行了练习。
因此,如果我们进行肩部锻炼,则相应的节点将为“ 1”,其余的锻炼节点将被映射为“ 0”。
我们必须检查神经网络工作背后的数学原理。
检查“ w”为权重矩阵,并检查“ b”为偏差:
在时间t = 0时,输入为'x0,任务是弄清楚什么是'h0'。将t = 0代入方程式,并获得函数h(t)值。当应用于新公式时,将使用先前计算的值找出下一个'y0'值。
对模型中的所有时间戳重复相同的过程以训练模型。
递归神经网络使用反向传播算法进行训练,但是它适用于每个时间戳。通常称为按时间反向传播(BTT)。
反向传播的一些问题,例如:
在Vanishing Gradient使用反向传播的过程中,目标是计算误差,方法是通过找出实际值与实际输出值之间的差值,并找出实际输出值与模型输出值之间的差值并将其提高到2的幂来找出误差。 。
利用计算出的误差,可以估算出与重量差异有关的误差变化。但是对于每个学习率,这可以与相同的模型相乘。
因此,学习率随变化的乘积传递给该值,这是权重的确定变化。
的重量变化被添加到旧的组权重为每个训练迭代的,如图中下图。此处的赋值是乘以重量变化,然后该值小于。
塌陷梯度的工作原理类似,但是此处的权重变化很大,而不是可以忽略不计的变化。注意这里的小:
我们必须克服这两个方面,首先是一些挑战。
Exploding gradients | Vanishing gradients |
---|---|
|
|
|
|
|
|
很多时候,在模型中只需要最新数据即可执行操作。但是可能需要过去获得的一些信息。