  With the fast improvement of machine learning, reinforcement learning (RL)
has been used to automate human tasks in different areas. However, training
such agents is difficult and restricted to expert users. Moreover, it is mostly
limited to simulation environments due to the high cost and safety concerns of
interactions in the real world. Demonstration Learning is a paradigm in which
an agent learns to perform a task by imitating the behavior of an expert shown
in demonstrations. It is a relatively recent area in machine learning, but it
is gaining significant traction due to having tremendous potential for learning
complex behaviors from demonstrations. Learning from demonstration accelerates
the learning process by improving sample efficiency, while also reducing the
effort of the programmer. Due to learning without interacting with the
environment, demonstration learning would allow the automation of a wide range
of real world applications such as robotics and healthcare. This paper provides
a survey of demonstration learning, where we formally introduce the
demonstration problem along with its main challenges and provide a
comprehensive overview of the process of learning from demonstrations from the
creation of the demonstration data set, to learning methods from
demonstrations, and optimization by combining demonstration learning with
different machine learning methods. We also review the existing benchmarks and
identify their strengths and limitations. Additionally, we discuss the
advantages and disadvantages of the paradigm as well as its main applications.
Lastly, we discuss our perspective on open problems and research directions for
this rapidly growing field.
