When Neural Networks Meet Evolutionary Computation

In recent years, neural networks have dominated the world of science and this is not without reason. They have been effectively used to solve many of the problems that were previously a challenge. The proliferation of deep learning methods has changed the way we look at artificial intelligence today.

However, there are still many areas where there is a great potential to improve existing solutions. The use of evolutionary algorithms in optimization processes has often proved its value in history. The idea of network optimization using evolutionary algorithms (a.k.a. Neuroevolution) is nothing new. In recent years, however, we can observe its comeback and attempts of using it in newer models of machine learning.

In many cases, however, the older genetic algorithms that were created many years ago are used. Although the development of deep learning has overshadowed the other fields of science, evolutionary algorithms have evolved greatly, and their effectiveness and efficiency have improved significantly in recent years.


1. General Idea

Each Neural Network is treated as one individual evolutionary algorithm. Based on the output of the network, individual is being evaluated and assessed on the basis of how well it performs in the environment. The evolutionary operators perform update on the population according to the individual's fitness. Next, whole iteration repeats until the break condition is met. This idea can also be translated into Convolutional Neural Networks and other models.
Neuroevolution Scheme

2. Data and test cases

The project will be carried out on the basis of two tasks:

  • Self Learning Agents
  • The Brain Tumor Image Segmentation
    - Based on the BraTS images

3. Research and comparison

As the result of the project, the State of the Art methods of evolutionary computation will be tested and compared in terms of effectiveness and efficiency.