small variations in input signals and concentrate on bigger input values.
To this aim we propose to preprocess the optimizer’s inputs. One solution would be to give the
optimizer (log(jrj);sgn(r))as an input, whereris the gradient in the current timestep. This has a
problem that log(jrj)diverges forr! 0. Therefore, we use the following preprocessing formula
rk!(
log(jrj)
p;sgn(r)
ifjrjep
(1;epr) otherwise
wherep>0is a parameter controlling how small gradients are disregarded (we use p= 10 in all our
experiments).
We noticed that just rescaling all inputs by an appropriate constant instead also works ﬁne, but the
proposed preprocessing seems to be more robust and gives slightly better results on some problems.
B Visualizations
Visualizing optimizers is inherently difﬁcult because their proposed updates are functions of the full
optimization trajectory. In this section we try to peek into the decisions made by the LSTM optimizer,
trained on the neural art task.
Histories of updates We select a single optimizee parameter (one color channel of one pixel in the
The move from hand-designed features to learned features in machine learning
has been wildly successful. In spite of this, optimization algorithms are still
designed by hand. In this paper we show how the design of an optimization
algorithm can be cast as a learning problem, allowing the algorithm to learn to
exploit structure in the problems of interest in an automatic way. Our learned
algorithms, implemented by LSTMs, outperform generic, hand-designed competitors
on the tasks for which they are trained, and also generalize well to new tasks
with similar structure. We demonstrate this on a number of tasks, including
simple convex problems, training neural networks, and styling images with
neural art.
Marcin Andrychowicz Misha Denil Sergio Gomez Matthew W. Hoffman David Pfau Tom Schaul Brendan Shillingford Nando de Freitas