  Modern deep learning systems rely on (a) a hand-tuned neural network
topology, (b) massive amounts of labeled training data, and (c) extensive
training over large-scale compute resources to build a system that can perform
efficient image classification or speech recognition. Unfortunately, we are
still far away from implementing adaptive general purpose intelligent systems
which would need to learn autonomously in unknown environments and may not have
access to some or any of these three components. Reinforcement learning and
evolutionary algorithm (EA) based methods circumvent this problem by
continuously interacting with the environment and updating the models based on
obtained rewards. However, deploying these algorithms on ubiquitous autonomous
agents at the edge (robots/drones) demands extremely high energy-efficiency due
to (i) tight power and energy budgets, (ii) continuous/lifelong interaction
with the environment, (iii) intermittent or no connectivity to the cloud to run
heavy-weight processing. To address this need, we present GENESYS, an HW-SW
prototype of an EA-based learning system, that comprises a closed loop learning
engine called EvE and an inference engine called ADAM. EvE can evolve the
topology and weights of neural networks completely in hardware for the task at
hand, without requiring hand-optimization or backpropagation training. ADAM
continuously interacts with the environment and is optimized for efficiently
running the irregular neural networks generated by EvE. GENESYS identifies and
leverages multiple unique avenues of parallelism unique to EAs that we term
'gene'- level parallelism, and 'population'-level parallelism. We ran GENESYS
with a suite of environments from OpenAI gym and observed 2-5 orders of
magnitude higher energy-efficiency over state-of-the-art embedded and desktop
CPU and GPU systems.
