  Teaching plays a very important role in our society, by spreading human
knowledge and educating our next generations. A good teacher will select
appropriate teaching materials, impact suitable methodologies, and set up
targeted examinations, according to the learning behaviors of the students. In
the field of artificial intelligence, however, one has not fully explored the
role of teaching, and pays most attention to machine \emph{learning}. In this
paper, we argue that equal attention, if not more, should be paid to teaching,
and furthermore, an optimization framework (instead of heuristics) should be
used to obtain good teaching strategies. We call this approach `learning to
teach'. In the approach, two intelligent agents interact with each other: a
student model (which corresponds to the learner in traditional machine learning
algorithms), and a teacher model (which determines the appropriate data, loss
function, and hypothesis space to facilitate the training of the student
model). The teacher model leverages the feedback from the student model to
optimize its own teaching strategies by means of reinforcement learning, so as
to achieve teacher-student co-evolution. To demonstrate the practical value of
our proposed approach, we take the training of deep neural networks (DNN) as an
example, and show that by using the learning to teach techniques, we are able
to use much less training data and fewer iterations to achieve almost the same
accuracy for different kinds of DNN models (e.g., multi-layer perceptron,
convolutional neural networks and recurrent neural networks) under various
machine learning tasks (e.g., image classification and text understanding).
