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

In ANN the equation during Forward Propagation is Y = W.X + b.

What is the equation during Forward Propagation for RNN, as it involves States and Timesteps.

What is the difference between ANN and RNN in terms of Back Propagation.

Also, what is the difference in functionality between Dropout in ANN vs Recurrent_Dropout in RNN.

Are there any other key differences between ANN and RNN.

评论
淡淡的思绪
淡淡的思绪

The equation for Forward Propagation of RNN, considering Two Timesteps, in a simple form, is shown below:

Output of the First Time Step: Y0 = (Wx * X0) + b)

Output of the Second Time Step: Y1 = (Wx * X1) + Y0 * Wy + b where Y0 = (Wx * X0) + b)

To elaborate it, consider RNN has 5 Neurons/Units, more detailed equation is mentioned in the screenshot below:

Equation of Forward Propagation of RNN

RNN中的反向传播:

  • The Back Propagation in RNN is done through each and every Timestep. Hence it is called Backpropagation through Time (BPTT).
  • The output sequence is evaluated using a cost function C(y(t(min)), y(t(min+1)), ... y(t(max))) (where tmin and tmax are the first and last output time steps, not counting the ignored outputs), and the gradients of that cost function are propagated backward through the unrolled network
  • Finally the model parameters are updated using the gradients, computed during BPTT
  • Note that the gradients flow backward through all the outputs used by the cost function, not just through the final output

In the screenshot below, Dashed Lines represents Forward Propagation and Solid Lines represents Back Propagation.

Flow of Forward Propagation and Back Propagation in RNN

Dropout: If we set the value of Dropout as 0.1 in a Recurrent Layer (LSTM), it means that it will pass only 90% of Inputs to the Recurrent Layer

Recurrent Droput If we set the value of Recurrent Dropout as 0.2 in a Recurrent Layer (LSTM), it means that it will consider only 80% of the Time Steps for that Recurrent Layer

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

点赞
评论