Exploring opportunities and challenges in enabling neuro-evolutionary algorithms in hardware
MetadataShow full item record
Recent advancements in the machine learning algorithms, especially the development of Deep Neural Networks (DNNs) have transformed the landscape of Artificial Intelligence (AI). With every passing day, deep learning based methods are applied to solve new problems with exceptional results. However true impact of AI could only be fully realized if it interacts with the real world and solves everyday problems. The everyday problem however, is new everyday and subject to increasingly changing requirements. The Deep Learning (DL) landscape today is incapable of solving these dynamic problems as the performance of DL today is heavily tied to the topology which is often task specific and hand-tuned by experts. Not only is rigidity of the solution the problem but also the high memory and compute requirements of DNNs to perform training on terabytes of data acts a huge barrier in bringing true intelligence to the edge which is the true portal to the 'real world'. NeuroEvolution (NE) are a class of algorithms that can circumvent this problem by 'learning on the fly'. These algorithms continuously interact with the environment and update their models based on how fruitful their last interaction proved. This way the solution is not tied to a topology and these algorithms do not need to perform memory and compute intensive backpropagation operations (BP) making them ideal for solving dynamic problems in a robust manner on the edge. However, the barrier to deployment of NE today is the lack of its widespread adoption and understanding of its compute behavior. This thesis attempts to lift that barrier by characterizing the compute and communication behavior a NE algorithm NEAT (NeuroEvolution of Augmenting Topologies) and is an attempt to propel further research in this direction. This Thesis also attempts to bring intelligence to the edge using a distributed system solution. This thesis demonstrates CLAN, Collaborative Learning using Asynchronous Neuro-evolution. It proposes techniques for enabling adaptive intelligence on the edge using NE algorithms collaboratively on Raspberry Pis and demonstrate that CLAN can match performance of higher end computing devices with better energy efficiency at scale. Further, this thesis also propose algorithmic modifications to improve the scalability. The study performed in this work aims to drive key insights to both computer architects and distributed system engineers to enable effort in deploying NE on the modern day compute platform.