Effective Regularization Techniques for Recurrent Neural Networks