【问题标题】:What is the difference between Feedforward Neural Networks (ANN) and Recurrent Neural Networks (RNN)前馈神经网络 (ANN) 和递归神经网络 (RNN) 有什么区别
【发布时间】:2020-05-09 07:08:33
【问题描述】:

在人工神经网络中,前向传播过程中的方程是Y = W.X + b

RNN前向传播过程中的方程式是什么,因为它涉及StatesTimesteps

ANNRNN 在反向传播方面有什么区别。

另外,ANN 中的 Dropout 与 RNN 中的 Recurrent_Dropout 在功能上有何区别。

ANNRNN 之间是否还有其他主要区别。

【问题讨论】:

  • 这个问题似乎与编程无关。我认为通过在正确的平台上提问,您会更成功地获得适当的答案,例如在ai.stackexchange.com

标签: neural-network recurrent-neural-network


【解决方案1】:

考虑到Two Timesteps,RNN 的前向传播方程以简单的形式如下所示:

第一次步骤的输出Y0 = (Wx * X0) + b)

第二时间步的输出Y1 = (Wx * X1) + Y0 * Wy + b where Y0 = (Wx * X0) + b)

更详细地说,考虑RNN 有5 个Neurons/Units,下面的屏幕截图中提到了更详细的等式:

Equation of Forward Propagation of RNN

RNN 中的反向传播

  • RNN 中的反向传播是通过每个时间步完成的。因此,它被称为时间反向传播(BPTT)。
  • 使用cost 函数C(y(t(min)), y(t(min+1)), ... y(t(max))) 评估输出序列(其中tmintmax 是第一个和最后一个输出时间步,不包括忽略的输出),该成本函数的梯度是通过展开的网络向后传播
  • 最后使用梯度更新模型参数,在 BPTT 期间计算
  • 请注意,梯度会在成本函数使用的所有输出中反向流动,而不仅仅是通过最终输出

在下面的截图中,虚线代表Forward Propagation,实线代表Back Propagation

Flow of Forward Propagation and Back Propagation in RNN

Dropout:如果我们在Recurrent Layer (LSTM) 中将Dropout 的值设置为0.1,这意味着它只会将90% 的输入传递给循环层

Recurrent Droput 如果我们在Recurrent Layer (LSTM) 中将Recurrent Dropout 的值设置为0.2,这意味着它将只考虑该Recurrent 的80% 的时间步长层

希望这能解答您的所有疑问!

【讨论】:

    猜你喜欢
    • 2015-04-08
    • 1970-01-01
    • 2012-02-06
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2015-12-23
    • 1970-01-01
    相关资源
    最近更新 更多