Answers.Body: <p>An LSTM is a specific type of RNN. So let's just focus on the CNN part in CNN-LSTM.</p>
  <p>What's the difference between a plain RNN and a CNN-RNN, (more generally called convolutional RNN or ConvRNN)?</p>
  <p>The equations which define a vanilla RNN are (I'm omitting a bias term for clarity):</p>
  <p><span class="math-container">$h_t = \sigma_h(W_{hx}x_t + W_{hh}h_{t-1})$</span></p>
  <p><span class="math-container">$y_t = \sigma_y(W_{yh}h_t)$</span></p>
  <p>where</p>
  <ul>
  <li><span class="math-container">$h_t \in \mathbb{R}^m$</span> is the hidden state</li>
  <li><span class="math-container">$x_t \in \mathbb{R}^n$</span> the input sequence (e.g.  a string of characters)</li>
  <li><span class="math-container">$y_t \in \mathbb{R}^l$</span> is the output vector</li>
  <li><span class="math-container">$W_{hh} \in \mathbb{R}^{m\times m}$</span>, <span class="math-container">$W_{hx} \in \mathbb{R}^{m\times n}$</span> and <span class="math-container">$W_{yh} \in \mathbb{R}^{l\times m}$</span> are matrices of parameters</li>
  <li><span class="math-container">$\sigma_h$</span>, and <span class="math-container">$\sigma_y$</span> are activation functions (such as the <a href="https://en.wikipedia.org/wiki/Rectifier_(neural_networks)" rel="nofollow noreferrer">ReLu</a>)</li>
  </ul>
  <p>Now, in an CNN-RNN, the parameter matrices <span class="math-container">$W_{hh}$</span> and <span class="math-container">$W_{hx}$</span> are <a href="https://en.wikipedia.org/wiki/Kernel_(image_processing)" rel="nofollow noreferrer">convolution matrices</a>. We use them for input sequences which are typically better handled by convolutional neural networks, such as a sequence of images.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-04-15T15:51:25.430Z
Answers.LastActivityDate: 2022-04-15T15:56:49.113Z
Answers.LastEditDate: 2022-04-15T15:56:49.113Z
Answers.UserDisplayName: Raphael Lopez Kaufman
Body: <p>I'm starting to study <strong>RNN</strong> for a project of video prediction, but I encounter these <strong>CNN-LSTM</strong> models. Initially, I thought that is another name for RNN, but I think I get it wrong. Since I'm a beginner can someone explain me the difference between them?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-04-15T12:30:12.290Z
Comments.Text: Why would "CNN-LSTM" be another name for RNN, when it doesn't even have RNN in it? Can you clarify this? What is your knowledge of RNNs and CNNs? Do you know what an LSTM is?
Comments.UserDisplayName: nbro
Tags: <neural-networks><convolutional-neural-networks><comparison><recurrent-neural-networks><long-short-term-memory>
Title: What is the difference between CNN-LSTM and RNN?
UserDisplayName: mario corradetti
ThreadText: # What is the difference between CNN-LSTM and RNN?
  
  (Asked by: username_0 on 2022-04-15)
  
  I'm starting to study **RNN** for a project of video prediction, but I encounter these **CNN-LSTM** models. Initially, I thought that is another name for RNN, but I think I get it wrong. Since I'm a beginner can someone explain me the difference between them?
  
  **Tags:** neural-networks, convolutional-neural-networks, comparison, recurrent-neural-networks, long-short-term-memory
  
  > **Comments:**
  > **username_1**: Why would "CNN-LSTM" be another name for RNN, when it doesn't even have RNN in it? Can you clarify this? What is your knowledge of RNNs and CNNs? Do you know what an LSTM is?  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2022-04-15. Score: 2 | Accepted answer
  
  An LSTM is a specific type of RNN. So let's just focus on the CNN part in CNN-LSTM.
  
  What's the difference between a plain RNN and a CNN-RNN, (more generally called convolutional RNN or ConvRNN)?
  
  The equations which define a vanilla RNN are (I'm omitting a bias term for clarity):
  
  $h\_t = \sigma\_h(W\_{hx}x\_t + W\_{hh}h\_{t-1})$
  
  $y\_t = \sigma\_y(W\_{yh}h\_t)$
  
  where
  
  * $h\_t \in \mathbb{R}^m$ is the hidden state
  * $x\_t \in \mathbb{R}^n$ the input sequence (e.g. a string of characters)
  * $y\_t \in \mathbb{R}^l$ is the output vector
  * $W\_{hh} \in \mathbb{R}^{m\times m}$, $W\_{hx} \in \mathbb{R}^{m\times n}$ and $W\_{yh} \in \mathbb{R}^{l\times m}$ are matrices of parameters
  * $\sigma\_h$, and $\sigma\_y$ are activation functions (such as the [ReLu](https://en.wikipedia.org/wiki/Rectifier_(neural_networks)))
  
  Now, in an CNN-RNN, the parameter matrices $W\_{hh}$ and $W\_{hx}$ are [convolution matrices](https://en.wikipedia.org/wiki/Kernel_(image_processing)). We use them for input sequences which are typically better handled by convolutional neural networks, such as a sequence of images.
  
  
  ---
  
  