  Neuroscience has focused on the detailed implementation of computation,
studying neural codes, dynamics and circuits. In machine learning, however,
artificial neural networks tend to eschew precisely designed codes, dynamics or
circuits in favor of brute force optimization of a cost function, often using
simple and relatively uniform initial architectures. Two recent developments
have emerged within machine learning that create an opportunity to connect
these seemingly divergent perspectives. First, structured architectures are
used, including dedicated systems for attention, recursion and various forms of
short- and long-term memory storage. Second, cost functions and training
procedures have become more complex and are varied across layers and over time.
Here we think about the brain in terms of these ideas. We hypothesize that (1)
the brain optimizes cost functions, (2) these cost functions are diverse and
differ across brain locations and over development, and (3) optimization
operates within a pre-structured architecture matched to the computational
problems posed by behavior. Such a heterogeneously optimized system, enabled by
a series of interacting cost functions, serves to make learning data-efficient
and precisely targeted to the needs of the organism. We suggest directions by
which neuroscience could seek to refine and test these hypotheses.
