Evolutionary Cell Aided Design for Neural Network Architectures
This work addresses the problem of reducing human effort in neural network and hardware co-design for researchers and engineers in machine learning and hardware development, though it appears incremental as it applies existing evolutionary methods to this specific domain.
The paper tackles the challenge of designing efficient neural network architectures for reconfigurable hardware by introducing the Evolutionary Cell Aided Design (ECAD) framework, which uses evolutionary algorithms to co-explore neural network and hardware design spaces, demonstrating its end-to-end capabilities on an image classification task with MNIST data on an Intel Arria 10 GX 1150 device.
Mathematical theory shows us that multilayer feedforward Artificial Neural Networks(ANNs) are universal function approximators, capable of approximating any measurable function to any desired degree of accuracy. In practice designing practical and efficient neural network architectures require significant effort and expertise. We present a novel software framework called Evolutionary Cell Aided Design(ECAD) meant to aid in the exploration and design of efficient Neural Network Architectures(NNAs) for reconfigurable hardware. Given a general neural network structure and a set of constraints and fitness functions, the framework will explore both the space of possible NNA and the space of possible hardware designs, using evolutionary algorithms, and attempt to find the fittest co-design solutions according to a predefined set of goals. We test the framework on an image classification task and use the MNIST data set of hand written digits with an Intel Arria 10 GX 1150 device as our target platform. We design and implement a modular and scalable 2D systolic array with enhancements for machine learning that can be used by the framework for the hardware search space. Our results demonstrate the ability to pair neural network design and hardware development together using an evolutionary algorithm and removing traditional human-in-the-loop development tasks. By running various experiments of the fittest solutions for neural network and hardware searches, we demonstrate the full end-to-end capabilities of the ECAD framework.