LSTM loss value not change, accuracy stucked at 50%
The dataset contains ~25K class '0' samples and ~10M class '1' sample. This clearly tells us that the LSTM would be learning patterns more popular in class '1' instances. Here are some improvements you can try:


Instead of undersampling the class '1' labels, oversample the number of instances of class '0'.
Accuracy is not a very good metric in cases of unbalanced datasets. Use 'Macro-F score to evaluate the performance of your model.
Use tensorboard to see how the weights and the gradients of each layer are changing.