个性化阅读
专注于IT技术分析

TensorFlow RNN的工作原理详细图解

本文概述

递归神经网络在图像分类和视频识别, 机器翻译和音乐创作中具有广泛的应用。

考虑一个图像分类用例, 其中我们训练了神经网络对一些动物的图像进行分类。

因此, 让我们提供猫或狗的图像;网络为猫或狗的图片提供带有相应标签的输出。

参见下图:

TensorFlow RNN的工作原理详细图解

在这里, 第一个输出为猫不会影响之前的输出, 即狗。这意味着在时间” t”处的输出是在时间” t-1″处的自治。

考虑以下情况, 我们将需要使用最后获得的输出:

TensorFlow RNN的工作原理详细图解

这个概念和看书一样。随着我们前进的每一页, 在大多数情况下, 我们需要了解前几页才能完全理解这些信息。

借助于前馈网络, 在时间” t + 1″处的新输出是多少?与时间t, t-1, t-2的输出都不相关。

因此, 在预测句子中的单词时不能使用前馈网络, 因为它与上一组单词没有绝对关系。

但是, 借助递归神经网络, 可以克服这一挑战。

请参见下图:

TensorFlow RNN的工作原理详细图解

在上图中, 我们将特定输入设为-1?馈入网络。这些输入也将在时间” t-1″处导致并行输出。

在下一个时间戳中, 来自先前输入” t-1″的信息。与输入一起提供吗?以最终提供” t”的输出。

此过程会重复进行, 以确保了解最新的输入并可以使用从前一个时间戳获取的信息。

递归网络是一种人工神经网络, 旨在识别数据序列中的模式。像是文本, 基因组, 手写体, 口语单词, 来自传感器, 股票市场和政府机构的数字时间序列数据。

为了更好地理解, 请考虑以下比较:

我们会定期去健身房, 而教练已经为我们提供了锻炼的时间表:

TensorFlow RNN的工作原理详细图解

请注意, 每周都要以适当的顺序重复所有练习。让我们使用前馈网络尝试和预测练习的类型。

TensorFlow RNN的工作原理详细图解

输入是日期, 月份和健康状况。使用这些输入对神经网络进行了训练, 以提供运动预测。

但是, 考虑到输入, 这将不是很准确。为了解决这个问题, 我们利用递归神经网络的概念, 如下所示:

TensorFlow RNN的工作原理详细图解

在这种情况下, 找到前一天要进行锻炼的输入。

因此, 如果我们昨天进行了肩部锻炼, 那么今天我们可以进行二头肌锻炼, 这个过程将持续一周的剩余时间。

但是, 如果我们碰巧错过了在健身房锻炼的一天, 则可以考虑以下先前参加的时间戳记中的数据。

TensorFlow RNN的工作原理详细图解

如果根据从上次练习中获得的数据来体验模型, 则该模型的输出将是准确的。

总而言之, 让我们将数据转换为向量。

向量是输入模型的数字, 以表示我们是否进行了练习。

TensorFlow RNN的工作原理详细图解

因此, 如果我们进行肩部锻炼, 则相应的节点将为” 1″, 其余的锻炼节点将被映射为” 0″。

我们必须检查神经网络工作背后的数学原理。

TensorFlow RNN的工作原理详细图解

检查” w”为权重矩阵, 并检查” b”为偏差:

在时间t = 0时, 输入为’x0, 任务是弄清楚什么是’h0’。将t = 0代入方程式, 并获得函数h(t)值。当应用于新公式时, 将使用先前计算的值找出下一个’y0’值。

对模型中的所有时间戳重复相同的过程以训练模型。

训练递归神经网络

递归神经网络使用反向传播算法进行训练, 但是它适用于每个时间戳。通常称为按时间反向传播(BTT)。

反向传播的一些问题, 例如:

  • 消失梯度
  • 爆炸梯度

消失梯度

在Vanishing Gradient使用反向传播的过程中, 目标是计算误差, 方法是通过找出实际值与实际输出值之间的差值, 并找出实际输出值与模型输出值之间的差值并将其提高到2的幂来找出误差。 。

TensorFlow RNN的工作原理详细图解

利用计算出的误差, 可以估算出与重量差异有关的误差变化。但是对于每个学习率, 这可以与相同的模型相乘。

因此, 学习率随变化的乘积传递到该值, 这是权重的确定变化。

每次训练迭代时, 权重的变化将添加到旧的权重集中, 如下图所示。这里的赋值是重量变化乘以乘积, 然后该值较小。

爆炸梯度

塌陷梯度的工作原理类似, 但是此处的权重变化很大, 而不是可以忽略不计的变化。注意这里的小:

TensorFlow RNN的工作原理详细图解

我们必须克服这两个方面, 首先是一些挑战。

爆炸梯度 消失的渐变
截断的BTT我们可以选择更小的时间戳, 例如10, 而不是在最后一个时间戳开始反向传播 ReLU激活函数我们可以使用像ReLU这样的激活, 它在计算梯度时会输出一个
在阈值处剪切渐变在超过阈值时剪切渐变 RMSprop在高于阈值时剪切渐变
RMSprop调整学习率 LSTM, GRU可以使用专门设计的不同网络体系结构来解决此问题

什么是长期依赖关系?

很多时候, 模型中只需要最近的数据即可执行操作。但是可能需要过去获得的一些信息。


赞(0) 打赏
未经允许不得转载:srcmini » TensorFlow RNN的工作原理详细图解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏