Abstract:
In the recent years, the architecture of the convolutional neural networks has become much deeper and more complex to improve their performance. Consequently, they require large datasets and a considerable amount of computational resources. However, in some applications such as medical imaging analysis, datasets are scarce and difficult to collect. In these cases, deep networks cannot be trained enough, which makes them susceptible to overfitting. Moreover, not all institutions have access to abundant computational resources. Designing a small network that performs as well as a deep network requires expertise and a great effort. Neuroevolution is therefore proposed to automatically discover an optimal convolutional neural network architecture for a given dataset. Neuroevolution is a method inspired by natural selection and previously applied in artificial neural networks to optimize their architecture. With meticulous implementation, neuroevolution can find small convolutional neural network architectures that are on par with deep architectures. The experiments conducted confirm that different proposed neuroevolution implementation can achieve accuracies comparable to those of deep architectures as observed in the accuracies of the generic neuroevolution, steady-state neuroevolution, and ResNet-34 (91.59%, 91.00% and 89.25% respectively). In addition, the neuroevolution performed in a specific object detection application with a limited dataset (i.e., dangerous objects X-ray) has demonstrated that it can find architectures that have modest depths but have performances similar to the deep network. In an experiment, the YOLOv3 with neuroevolution backbone has 47 blocks and 63.8% accuracy, whereas the original YOLOv3 has 106 blocks and 52.9% accuracy. Conclusively, the proposed neuroevolution methods can achieve all the objectives of this dissertation as they effectively aid in creating alternative to deep networks but without performance loss.