 The input gate controls whether the memory cell is updated, and at each time step, the next LSTM can choose to read from it, write to it, or reset the cell using an explicit gating mechanism. Good. The forget gate controls if the memory cell is reset to zero, and the output gate controls whether the information of the current cell state is made visible. LSTMs were designed to mitigate the vanishing and exploding gradient problem. On a wide variety of tasks, LSTMs and GRUs have similar performances.