Compression/décompression des CNN pour l'embarqué

De Ensiwiki
Aller à : navigation, rechercher


Compression/décompression des CNN pour l'embarqué

Labo TIMA
Equipe TIMA/SLS
Encadrants stephane.mancini@univ-grenoble-alpes.fr

Thème général

Les CNN ou Convolutional Neural Network sont la dernière génération des 'réseaux de neurones', et sont particulièrement adaptés pour des tâches d'intelligence artificielle sur les images: détection d'objet, classification, amélioration de la qualité, 3D, flot optique, etc ...

Les CNN sont construits par assemblage de fonctions mathématiques élémentaires très simples (convolution, RELU, etc ...) et leur architecture facilite l'apprentissage puis l'implémentation.

Cependant, ils nécessitent de très nombreux coefficient numériques. Ces coefficients sont le résultat de l'apprentissage et sont utilisés ensuite pour paramétrer les calculs élémentaires. Ceci est une contrainte pour les systèmes embarqués car les CNN les plus récents ont un nombre de coefficients très supérieurs à la taille des image et leur transfert depuis les mémoires vers les opérateurs de calcul devient un goulot d'étranglement. Par exemple certains CNNs nécessitent plusieurs centaines de millions de coefficients.

Sujet

L'objectif de ce travail et d'étudier les techniques de compression/décompression des coefficients des CNN. Ces techniques permettent de compresser les coefficients lors de la phase d'apprentissage,puis, à l'exécution les coefficients sont décompressés à la volée. Ainsi il devient possible soit de stocker les coefficients dans des mémoires internes de petite taille, soit de réduire les débits à la mémoire centrale.

Résultats attendus

Le travail d'IRL sera essentiellement une étude bibliographique, avec une preuve de faisabilité. La preuve de faisabilité sera soit formelle soit par des développements informatiques simples de haut niveau (Python). Si le temps le permet, une réalisation matérielle sera faite afin de valider la démarche