Learning by Cheating
  Vision-based urban driving is hard. The autonomous system needs to learn to
perceive the world and act in it. We show that this challenging learning
problem can be simplified by decomposing it into two stages. We first train an
agent that has access to privileged information. This privileged agent cheats
by observing the ground-truth layout of the environment and the positions of
all traffic participants. In the second stage, the privileged agent acts as a
teacher that trains a purely vision-based sensorimotor agent. The resulting
sensorimotor agent does not have access to any privileged information and does
not cheat. This two-stage training procedure is counter-intuitive at first, but
has a number of important advantages that we analyze and empirically
demonstrate. We use the presented approach to train a vision-based autonomous
driving system that substantially outperforms the state of the art on the CARLA
benchmark and the recent NoCrash benchmark. Our approach achieves, for the
first time, 100% success rate on all tasks in the original CARLA benchmark,
sets a new record on the NoCrash benchmark, and reduces the frequency of
infractions by an order of magnitude compared to the prior state of the art.
For the video that summarizes this work, see https://youtu.be/u9ZCxxD-UUw
