A Generalizable Approach to Learning Optimizers