Architectures intégrées 3D de réseaux de neurones CNN pour la vision embarquée

par Lucas Fernandez Brillet

Projet de thèse en Informatique

Sous la direction de Stéphane Mancini.

Thèses en préparation à Grenoble Alpes , dans le cadre de École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble) , en partenariat avec Techniques de l'Informatique et de la Microélectronique pour l'Architecture des systèmes intégrés (laboratoire) depuis le 23-03-2017 .


  • Résumé

    Direction de thèse CIFRE : STMicroelectronics : Sébastien Cleyet-Merle ; Laboratoire TIMA : Stéphane Mancini; McF HDR Par leur récent renouveau [1,2], les réseaux de neurones à convolution (CNN - Convolutional Neural Network) sont devenus incontournables pour des applications de détection et classification en traitement d'image [6]. Ils sont aux coeurs de nouvelles applications telles que la recherche d'images sur le web, l'identification d'objets et personnes sur les photos, ou encore des applications de sécurité ou d'analyse pour des systèmes embarqués. La miniaturisation de ces systèmes passe par l'intégration des CNNs dans des circuits plus ou moins spécialisés [3,4,5,7,8,9]. A plus ou moins longue échéance, les technologies d'intégration 3D permettront d'assembler des circuits d'acquisition, de traitement et de mémorisation pour former des dispositifs dit "3D". Dans une structure où le circuit d'acquisition (matrice de l'imageur) est placé au dessus du circuit de traitement, il devient envisageable d'accéder en parallèle aux pixels de l'image par l'interconnect 3D, soit individuellement par pixels, soit par zones de pixels. Un tel dispositif permet d'envisager de nouvelles structures de parallélisme car il devient possible de paralléliser les calculs immédiatement, sans attendre de stocker l'image. L'intégration 3D des réseaux de neurones nécessite de lever plusieurs verrous: • Le choix de l'architecture du CNN lui-même • Les compromis entre la fonctionnalité du CNN et les approximations nécessaires à leur intégration efficace • Le choix de l'architecture matérielle et logicielle de traitement pouvant les exécuter • Les méthodes de conception d'architecture intégrée de CNN • L'efficacité du système conçu, en termes de performance de traitement versus la consommation d'énergie. Ce dernier point est déterminant car l'objectif est de réaliser des traitements temps-réel avec des CNN constitués de plusieurs couches, pour des images Haute Définition (HD-1K), et ceci pour un budget de consommation d'énergie de quelques dizaines de milli-Watt. En terme d'architecture intégrée, sous ces contraintes de performance et consommation d'énergie, l'enjeu est d'organiser des traitements parallèles afin d'obtenir des puissances de calcul de l'ordre de plusieurs centaine de Giga Operations par seconde [4], avec des transferts de masses de données du même ordre de grandeur. C'est pourquoi, de façon à aider le concepteur et réduire le temps de conception (time to market), il apparaît nécessaire d'établir des méthodes et outils de conception adaptés à la classe d'applications des CNN. Une piste serait de partir de modèles génériques de représentation des CNN, du type CAFFE, pour ensuite les déployer sur des unités de traitement adaptées, vraisemblablement du type des architectures multi-coeurs hétérogènes. Les méthodes à définir s'apparentent aux techniques de compilation et de transformation de code, pour transformer une représentation algorithmique du CNN en une architecture massivement parallèle efficace. Avec une telle méthodologie et outils associés, il deviendrait possible de générer soit des architectures spécialisées, soit des architectures paramétrées optimisées ou encore déployer automatiquement les CNN sur des architectures multi-coeurs spécifiques, disposant d'unités de calcul spécialisées. Comparativement, les accélérateurs de CNN génériques [4] doivent incorporer un réseau intégré sur la puce (NoC) paramétrable, de façon à pouvoir s'adapter à tout type de CNNs, ce qui induit un coût en surface et en énergie. Les solutions de type VLIW [7] permettent une compilation efficace sur une architecture générique mais ne règlent pas le problème de l'accès aux données. ShiDianNao [5] tente de rapprocher le CNN des caméras mais l'architecture proposée doit incorporer des mécanismes génériques pour supporter différents CNNs. Une nouvelle stratégie intéressante semble d'exploiter massivement le parallélisme d'accès aux pixels dans un dispositif 3D, tout en spécialisant et optimisant l'architecture produite pour une gamme d'applications spécifique, ce qui réduira la consommation d'énergie et la surface du circuit.

  • Titre traduit

    3D integrated circuit implementation of convolutional neural networks for embedded vision


  • Résumé

    The goal of this thesis is the efficient 3D integration of a convolutional neural network for specific real time applications with a limited power budget while maintaining the accuracy of these solutions as high as possible.