<p>I suggest taking a look at (the first part of) <a href="https://arxiv.org/pdf/1512.05287.pdf" rel="noreferrer">this paper</a>. Regular dropout is applied on the inputs and/or the outputs, meaning the vertical arrows from <code>x_t</code> and to <code>h_t</code>. In your case, if you add it as an argument to your layer, it will mask the inputs; you can add a Dropout layer after your recurrent layer to mask the outputs as well. Recurrent dropout masks (or "drops") the connections between the recurrent units; that would be the horizontal arrows in your picture.</p>

<p>This picture is taken from the paper above. On the left, regular dropout on inputs and outputs. On the right, regular dropout PLUS recurrent dropout:</p>

<p><a href="https://i.stack.imgur.com/fWDtw.png" rel="noreferrer"><img src="https://i.stack.imgur.com/fWDtw.png" alt="This picture is taken from the paper above. On the left, regular dropout on inputs and outputs. On the right, regular dropout PLUS recurrent dropout."></a></p>

<p>(Ignore the colour of the arrows in this case; in the paper they are making a further point of keeping the same dropout masks at each timestep)</p>
Keras: the difference between LSTM dropout and LSTM recurrent dropout
<p>From the Keras documentation:</p>

<p>dropout: Float between 0 and 1. Fraction of the units to drop for the
 linear transformation of the inputs.</p>

<p>recurrent_dropout: Float between 0 and 1. Fraction of the units to
 drop for the linear transformation of the recurrent state.</p>

<p>Can anyone point to where on the image below each dropout happens?</p>

<p><a href="https://i.stack.imgur.com/DS97N.png" rel="noreferrer"><img src="https://i.stack.imgur.com/DS97N.png" alt="enter image description here"></a></p>