Adaptive Subgradient Methods for Online Learning and Stochastic Optimization