The goal of this project is to apply NEAT rather than usual deep learning models to speaker recognition and anti-spoofing to tackle the inconveniences of a large pre-trained model on embedded systems. We used libraries available in python, NEAT-Python and Pytorch-NEAT, to deal with the following databases:
- Iris
- MNIST
- audio gender classification with the Libri speech (helped with this repository)
- Anti-spoofing with ASVSpoof2019
We tried to understand the ability of NEAT and its variants to deal with classification tasks. Our main objective was to achieve the best performance in ASVSpoof2019.
All the work has been performed by students in Data Science from Eurecom. This was in the context of the Automatic Speaker Verification Spoofing And Countermeasures Challenge started in 2019. The students worked in a team of researcher from Eurecom's Digital Security Department.
-
Arnaud Barral
-
Maxime Bouthors
-
Jose Patino
Neuroevolution, or neuro-evolution, uses evolutionary algorithms to generate artificial neural networks (ANN), parameters, topology and rules. It can be contrasted with conventional deep learning techniques that use gradient descent on a neural network with a fixed topology. The neuroevolution algorithm that is used in this project is NEAT (Neuroevolution of Augmenting Topology), a popular method that aims to give ANN of minimalistic sizes. For further information about NEAT and its algorithm, please consult the user's page associated.
We are two students from EURECOM ( http://www.eurecom.fr/en ) both following the data science track. This repository contains our work from our project on Neuro evolution. The aim for this project is to apply neuro evolution to speaker recognition.
We covered various aspects of NEAT. You can find a README file for every folder in this project explaining the aspect treated, and how to run the code.
Run pip install -r requirement.txt
to install the required packages.
To generate the graphics of the topologies of the genomes, you need to install graphviz. Make sure that the directory containing the dot executable is on your system’s path.
List of aspects covered:
- NEAT in classification tasks (IRIS)
- NEAT in audio gender classification tasks
- GPU vs CPU in NEAT evaluation
- CNN-HyperNEAT applied on MNIST
- NEAT applied on anti-spoofing
- Backprop NEAT
Project finished. Some modifications may still occur though.
Created by Maxime BOUTHORS and Arnaud BARRAL