前馈神经网络(ANN)和递归神经网络(RNN)有什么区别

时间:2020-05-09 07:08:33

标签: neural-network recurrent-neural-network

在ANN中,正向传播期间的方程为Y = W.X + b

RNN正向传播期间的方程是什么,因为它涉及StatesTimesteps

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

此外,ANN中的Dropout和RNN中的Recurrent_Dropout在功能上有什么区别。

ANNRNN之间是否还有其他关键区别。

1 个答案:

答案 0 :(得分:2)

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

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

第二步的输出Y1 = (Wx * X1) + Y0 * Wy + b其中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(LSTM)中将0.1的值设置为Recurrent Layer,则意味着它将仅传递90%的值。输入到递归层

循环丢弃如果在Recurrent Dropout(LSTM)中将0.2的值设置为Recurrent Layer,则意味着它将仅考虑80%的值。循环层的时间步长

希望这能回答您的所有查询!

相关问题