A l'origine les premisses de la libml furent développés
dans le cadre d'un projet d'étude de la deuxième
année de classes prépas de l'
EPITA.
Les objectifs de celui-ci etaient de développer un logiciel de
cryptage
pour données personnelles (le mécanisme de
génération de clef publiques
posant trop de problèmes de sécurité) dont une
partie de la clef était
générée par le voix de l'utilisateur. Après
plusieurs mois de
bouquinage sous les conseils de nos professeurs, de tests avec
MatLab et de
version betas nous avions finalement évolué vers les
techniques suivantes :
- Pour l'extraction de l'empreinte vocale : utilisation de la MFCC
(Mel Frequency Cepstral Coeficients).
- Pour l'apprentissage de cette empreinte : utilisation d'un TDNN
(Time Delay Neural Network).
- Pour la cryptographie : implementation de IDEA.
Le développement de celui-ci nous a confronté à de
nombreux problèmes,
en particulier le fait que nous devons discriminer parmi une population
ouverte, cette difficulté nous fermant la porte de nombreuses
méthodes
de classification plus classiques.
C'est au mois de juin 2002 que nous avons par la suite souhaité
que
Marvin puisse acceuillir une communauté de développeurs,
nous l'avons
donc mis en GPL. Mais ce n'est qu'en janvier 2003 (pour cause d'entree
en ing1 et d'un premier trimestre très intense) que nous avons
donné au
projet Marvin la structure nécessaire à un
développement collaboré.
Ce nouvel élan s'est accompagné de la restructuration de
l'architecture de Marvin en deux sous bibliothèques :
- La LibNN (Neural Networks Library) : bibliothèque
permettant de manipuler différentes sortes de réseaux de
neurones.
- La LibSIP
(Signal Processing Library) : bibliothèque de traitement du
signal.
Enfin, en septembre 2003, nous avons étendu les domaines de
compétences de la LibNN en créant la LibML (Machine
Learning Library).