Forward and Reverse Gradient-Based Hyperparameter Optimization