Systèmes Intelligents Embarqués

publicité
Nom de la TAF : Systèmes intelligents embarqués
Objectifs et ambitions :
Le renouveau récent de l'intelligence artificielle et des algorithmes neuro-inspirés révolutionne les usages numériques.
L'accès à d'importantes masses de données permet d’entrainer les millions de paramètres des réseaux de neurones
profonds (ou deep learning), les rendant aujourd'hui meilleurs que l'homme dans certaines tâches de reconnaissance et
de décision. Le programme Deep Mind de Google, qui a été le premier à battre un joueur professionnel de go, est un
bon exemple des progrès réalisés dans le domaine. Pour répondre à des besoins immédiats et quotidiens (réduction
active de bruit, voitures autonomes, réalité virtuelle...), la démocratisation de ces systèmes requiert des implantations
embarquées efficaces.
Savoir faire le lien entre les algorithmes et leurs implémentations est un point essentiel pour maximiser l'efficacité des
systèmes de traitement de l'information. Il existe de nombreuses solutions pour mettre en pratique un algorithme, qui
sont plus ou moins adaptées selon les caractéristiques spécifiques de l'algorithme considéré et de l'utilisation qui en
sera faite. Pour tirer le meilleur parti possible d'un algorithme, sa performance théorique et la qualité de
l'implémentation ne suffisent pas. Il faut aussi sélectionner la technologie la plus adaptée. Parmi les exemples les plus
courants, le développement logiciel "classique" sur processeur généraliste est probablement la solution la plus
générique et portable. Elle est cependant moins performante en termes de débit de calcul et de consommation
énergétique. Elle s'applique donc bien à des systèmes évolutifs pour lesquelles les besoins en puissance de calcul sont
limités. Une solution purement logicielle est cependant assez peu adaptée à des cas plus contraints. Utiliser des
processeurs plus spécialisés comme les processeurs graphiques (GPU) peut nettement améliorer le débit de calcul et la
performance énergétique, à condition que l'algorithme soit adapté au calcul parallèle, et que les contraintes
énergétiques le
L'objectif principal de cette TAF est de contribuer à la formation des ingénieurs qui inventeront l'environnement
numérique de demain, en leur donnant une vision globale des solutions possibles pour mettre en œuvre un algorithme
selon des contraintes données. Avoir cette compétence aujourd'hui, pour un ingénieur, c'est pouvoir s'intégrer et être
force de proposition dans un environnement en mutation rapide, en ayant une vision globale de la notion
d'implémentation, et des avantages et inconvénients des différentes approches. Dans un monde où l'utilisation efficace
des ressources devient capitale, tirer le meilleur parti du silicium est primordial. Cet objectif d'implémentation est
développé autour des algorithmes de deep learning, qui connaissent aujourd'hui un succès croissant. Dans le cadre de la
TAF, ces algorithmes seront décrits, étudiés et implémentés de manière approfondie, afin de bien montrer le lien entre
l'algorithme et sa mise en pratique.
Cet objectif ambitieux passe par la présentation de différentes méthodologies et technologies, afin de donner aux
étudiants le recul nécessaire pour sélectionner de manière raisonnée les solutions d'implémentation les plus adaptées à
un problème donné. La TAF s'intéressera donc aux différentes technologies matérielles embarquées actuelles et futures,
ce qui permettra de comprendre les limites physiques des systèmes de traitement numériques. La mise en œuvre de ces
technologies passe par l’utilisation de différentes méthodologies qui font aussi partie du cadre de cette TAF. Ainsi, les
différentes briques de base utilisables (System on Chip, GPU, ASIC, FPGA,...) dans la conception d’un système de
traitement pourront être abordées, puis détaillées dans les différentes UE proposées aux étudiants. Les techniques
d'intégration modernes de ces briques de base seront aussi au cœur de cette TAF, en abordant en particulier les
systèmes hétérogènes et la communication au sein d'un système intégré.
En acquérant ces différentes compétences, un étudiant ayant suivi cette TAF aura une connaissance solide des
possibilités qui s'offrent à lui pour implémenter un algorithme, tant dans les solutions historiques que dans des
méthodes récentes, et les notions de base nécessaires pour initier ou mettre en œuvre les plus courantes de ces
solutions. Pour mettre en pratique les acquis, cette TAF s'appuiera notamment sur les algorithmes neuro-inspirés, pour
lesquels Télécom Bretagne a acquis une certaine renommée, pour présenter ces différentes approches sous un angle
pratique. Les ingénieurs diplômés qui auront suivi cette TAF auront donc un profil double :

une compétence solide en implémentation, qui est bien plus qu'une simple compétence "technique" de
maîtrise des outils, puisqu'elle implique la sélection du type d'implémentation adapté, et un recul sur l'impact
des choix d'implémentation.

une connaissance approfondie des algorithmes d’apprentissage machine, tant du point de vue théorique
(mathématique) que pratique (implémentations multiples)
Ces deux compétences principales sont très recherchées par les entreprises. Le nombre d'offres d'emploi autour du
machine learning est conséquent, comme on peut le voir sur les sites de recherche d'emploi et d'après les discussions
avec les entreprises. Les compétences liées au système embarqué sont également appréciées des entreprises, ce que
l'on constate déjà au travers de la Filière 1 à Télécom Bretagne. Cette double approche est également au cœur du projet
de recherche de l'équipe IAS du Lab-STICC, à laquelle appartiennent la plupart des enseignants-chercheurs du
département Electronique. Le projet de recherche a été évalué comme "excellent" par le HCERES en 2016.
Afin d'atteindre cet objectif ambitieux, la TAF se compose de trois UE cœurs (décrites plus précisément à la fin de ce
document), qui vise à présenter :

les algorithmes majeurs de l'intelligence artificielle, ainsi que leurs caractéristiques

les solutions principales d'implémentation actuelles : logiciel (séquentiel, distribue), GPU, matériel (ASIC,
FPGA)

une première approche mixte, en s'appuyant sur les systèmes embarqués
Les UE électives permettront ensuite d'approfondir certaines thématiques, soit d'un point de vue applicatif (application
à la robotique ou au médical, ou via d’autres TAF), soit du point de vue de l'implémentation (conception de processeurs
spécialisées, conception d'ASIC, systèmes embarqués complexes). Chacune des UE, qu'elle soit au cœur de la TAF ou
élective, abordera à la fois le côté pratique, et le lien avec la théorie, même si l’équilibre ne sera pas le même.
Liens avec le profil PGO :
La TAF contribue à la formation d'ingénieurs capables de s'adapter à un monde numérique en évolution constante. Elle
permet en effet de donner aux futurs ingénieurs les outils nécessaires pour appréhender et résoudre les défis qui se
posent lors de la réalisation concrète de systèmes innovants. En associant la compréhension d'algorithmes complexes
avec leur mise en pratique concrète, la TAF donne aux étudiants le recul qui leur permettra de faire des choix techniques
et stratégiques éclairés.
L'importance des choix de conception est devenue primordiale pour permettre une évolution de la performance des
systèmes. En effet, la loi de Moore, qui garantissait un doublement régulier des performances des circuits
électroniques, critiquée depuis des années, a été abandonnée en 2016 avec l'abandon de l'ITRS (International
Technology Roadmap for Semiconductor), qui guidait les développements des technologies (en particulier des
transistors depuis des années. L'ITRS est remplacée par l'IRDS (International Roadmap for Devices and Systems), qui
devrait donner le cadre pour le développement des circuits et des systèmes embarqués. Cette évolution est une preuve
supplémentaire de la nécessité d'adapter au mieux les choix technologiques (article de Nature :
http://www.nature.com/news/the-chips-are-down-for-moore-s-law-1.19338 ). Il n'est donc plus possible de compter
sur une simple amélioration "mécanique" des performances des circuits électroniques pour supporter l'augmentation
de la complexité des algorithmes. Pour accompagner la transition numérique, savoir tirer le meilleur parti des
ressources utilisées dans les circuits est donc indispensable, ce qui justifie l'intérêt de cette TAF. De même, la bonne
utilisation des ressources est fortement liée à la consommation énergétique des circuits électroniques. Cette TAF
permet donc de répondre aux enjeux de la transition numérique, environnementale et énergétique.
En suivant cette TAF, un étudiant devrait acquérir les compétences générales suivantes :

comparer un ensemble d'implémentations possibles pour un algorithme, en discutant les avantages et les
inconvénients

choisir et adapter un couple algorithme-implémentation permettant de répondre à un problème
multicritères, tout en respectant des contraintes

développer une solution à un problème d'apprentissage machine en s'appuyant sur les grandes catégories
d'algorithmes du domaine

réaliser une implémentation matérielle adaptée aux contraintes d'utilisation données à partir de la description
d'un algorithme,

intégrer au sein d'un même système des éléments logiciels et matériels.
Débouchés :
Les compétences acquises dans cette TAF permettent d'envisager différentes catégories de métiers. La thématique
"machine learning" utilisée permet de trouver un emploi dans ce domaine, en tant que data scientist, par exemple, ou
dans la fouille de données. L'approche pratique de la formation est clairement un plus pour ce type de métiers, qui ne se
limitent généralement pas à une approche purement théorique des problèmes. Le développement de circuits et les
systèmes embarqués, qui sont la deuxième facette de cette TAF, permettent de déboucher sur des métiers d'intégrateur
système, d'ingénieur en systèmes embarqués ou en conception matérielle, profils actuellement très recherchés. La
coloration "machine learning" apportée par les algorithmes utilisés dans la formation permet d'aborder différentes
classes d'algorithmes très utilisés de nos jours.
Ce type de profil est recherché par différents types d'entreprise. Les grands groupes de l'Internet (Facebook, Google,
Amazon, Microsoft, ...) sont très actifs dans le domaine de l'apprentissage machine, et contribuent également au
domaine de l'embarqué. Les fondeurs et ou les concepteurs de circuits sont également à la recherche de ce type de
compétences. C'est par exemple le cas d'ARM, de NVidia, ou d'Intel. Finalement, les entreprises avec lesquelles nous
avons déjà des contacts sont également une cible potentielle, comme par exemple Orange, Thalès, Siemens, ...
Finalement, il existe des domaines qui recherchent spécifiquement ce double profil algorithme/implémentation, en
particulier les entreprises dans le domaine de la robotique.
Département ou équipe pédagogique porteur de la TAF, nom du référent :
Département porteur de la TAF : Département Electronique
Référent : Pierre-Henri Horrein ([email protected])
Equipe pédagogique :
Matthieu Arzel (ELEC)
Jean-Christophe Bach (INFO)
Amer Baghdadi (ELEC)
Nicolas Farrugia (ELEC)
Vincent Gripon (ELEC)
Michel Jezequel (ELEC)
Sylvie Kerouedan (ELEC)
Cyril Lahuec (ELEC)
Charlotte Langlais (ELEC)
Christophe Lohr (INFO)
Mai Nguyen (INFO)
Fabrice Seguin (ELEC)
André Thépaut (INFO)
Disciplines du cœur de la thématique :
Electronique numérique, électronique analogique, informatique, apprentissage machine (mathématiques)
Mots-clés :
Systèmes embarqués, conception de circuits, intelligence artificielle, robotique, apprentissage machine, adéquation
algorithme/architecture, architectures bio-inspirées, technologie, silicium, processeurs, systèmes hétérogènes
Organisation de la TAF :
La TAF est prévue pour durer 1 an, avec une répartition en 3 UE cœurs, 3 UE électives, et 2 UE libres. Des liens peuvent
être envisagés avec d'autres TAF au niveau des UE électives. En particulier, un lien avec la TAF "Data science" peut avoir
du sens étant donnée la thématique abordée. De même, une UE commune avec les TAF "Télédétection", "Objets
communicants", "Mer et TIC", et "Digital Communication engineering" permettrait d'élargir le spectre des algorithmes
étudiées et de travailler également sur l'approche sociétale de la TAF. Il y a aussi une possibilité de créer des
« parcours » logiques avec ces TAF.
L'approche sociétale de l'intelligence artificielle est d'ailleurs une préoccupation dans le cadre de la TAF Intelligence
embarquée. Il semble en effet pertinent d'envisager, en même temps que l'approche scientifique du problème, une
approche liée à l'éthique et à la confidentialité dans le cadre de l'utilisation massive de données. C'est également une
bonne occasion de sensibiliser les étudiants à l'utilisation qui peut être faite des données, et également aux obligations
réglementaires liées à l'utilisation et la protection de ces données. Un deuxième point qu'il pourrait être intéressant de
traiter dans le cadre de cette TAF est la gestion de l'innovation au sein d'une entreprise. Les entreprises visées par cette
TAF sont toutes soumises à un marché très impacté par l'innovation, et qui évolue rapidement. Cette contrainte impacte
les choix et la conception. Finalement, un dernier point à prendre en compte dans le cadre de cette TAF est l'importance
de la sécurité lors de la conception. Même si le but n'est pas de former des experts en cybersécurité (une TAF est déjà
proposée par ailleurs pour cela), sensibiliser les étudiants aux vulnérabilités potentielles et à l'impact de certains choix
de conception sur la sécurité nous semble être primordial.
Ces différents points pourront être abordés soit dans une UE élective spécifique, traitant tous ces aspects, soit intégrés
directement au sein des UE. Les approches réglementaires et éthiques pourront être traitées sous la forme de
controverse et de débats. Les aspects sécurité pourront être distillés dans l'ensemble des enseignements, et vus de
manière plus spécifique à travers une étude de cas montrant bien que la prise en compte au plus tôt des contraintes de
sécurité est nécessaire (articles scientifiques, actualités, ...).
Liste des UE cœur
Le but des UE cœurs est de donner un panel des algorithmes et des implémentations possibles, soit "simples" soit "mixtes"
(hétérogènes). On note UEC les UE Cœurs, et UEE les UE Électives.



UE Cœur 1 : Réseaux de neurones pour l'apprentissage
Cette UE présente des solutions aux 5 problèmes classiques du machine learning et des solutions s'appuyant sur
des réseaux de neurones. Pour chaque problème, on présentera également des solutions alternatives. Parmi les
points abordés, on trouvera :
1. Indexing (indexation 1-to-1) de données (méthodes classiques de hachage, mémoires associatives)
2. Search (recherche 1-to-n) (méthodes classiques de réduction de la taille des données (e.g. LSH) et de la quantité
des données (arbres) pour k-NN, mémoires associatives)
3. Clustering (classification n-to-n) (méthodes classiques de signal (K-Means et spectral clustering, DBScan, cartes
de Kohonen)
4. Classification (discrimination 1-to-k) (SVM, perceptrons, MLP et CNN)
5. Feature extraction (représentation n-to-k) (dictionary learning, autoencodeurs)
À la fin de cette UE, l'étudiant aura tous les outils nécessaires pour attaquer n'importe quel problème classique du
machine learning, avec des méthodes classiques mathématiquement contrôlées ou avec des méthodes
s'appuyant sur des réseaux de neurones. Chaque algorithme sera abordé d'un point de vue théorique, puis mis en
pratique en logiciel, afin de bien en distinguer les caractéristiques d'exécution. Cette mise en pratique sera aussi
l'occasion d'utiliser les bibliothèques classiques du machine learning, compétence appréciée des recruteurs.
L'accent sera mis sur le parallélisme des méthodes de réseaux de neurones.
UE Cœur 2 : De l'algorithme à l'implémentation optimale
Cette UE vise à présenter différents modèles d'implémentation, en s'appuyant sur l'exemple du machine learning.
Pour chaque modèle, les avantages et inconvénients ainsi que les catégories d'algorithmes les plus appropries
seront présentés. L'accent sera particulièrement mis sur l'implémentation matérielle, très utilisée dans les
systèmes embarqués avec de fortes contraintes de performance et de consommation énergétique. Cette UE sera
donc l'occasion pour les étudiants d'apprendre les problématiques propres à la conception de circuits intégrés
numériques, ainsi que le langage VHDL.
Pour cette UE, une pédagogie par la pratique est envisagée. En l'état actuel des réflexions, tous les étudiants
devront suivre, dans un premier temps, un mini projet d'implémentation matérielle, puis développer par groupe
de 2 ou 3 une autre approche (GPU, logicielle pure avec différentes contraintes, DSP, processeur dédié, circuit
intégré analogique à façon...), avec un travail de recherche personnel autour de leur technologie. Le choix de
l'algorithme et de l'implémentation devra être justifié. Un travail de restitution sous la forme de la mise en place
d'un tutorial/TP est ensuite envisagé, en présence des autres étudiants.
UE Cœur 3 : Systèmes embarqués : une collaboration entre le matériel et le logiciel
Après avoir présenté les algorithmes courants et différentes manières de les implémenter, on présente dans cette
troisième UE cœur les méthodes permettant de réaliser et d'utiliser des systèmes complexes, basés sur du logiciel
et du matériel. Cette UEC utilisera l'exemple des systèmes embarqués. Elle abordera les problématiques
matérielles d'intégration, comme les bus, la hiérarchie mémoire, les réseaux sur puce, ... et présentera des
exemples de systèmes embarqués récents. En parallèle de cette présentation des plateformes, une présentation
des briques logicielles permettant d'utilisant ces plateformes permettra de donner aux étudiants une vision claire
de la conception d'un système complet. Les systèmes d'exploitation seront présentés et mis en œuvre.
Liste UE Electives envisagées
Nous donnons ici une liste indicative des UE Electives envisagées dans le cadre de cette TAF. Elles sont au nombre de 6,
mais pourront bien sûr évoluer en fonction des réflexions et des évolutions scientifiques d'ici la mise en place des TAF.

Conception avancée : l'intelligence, du processeur à la puce
Cette UE propose d'étudier des techniques avancées en conception de circuit intégré, depuis la réflexion
algorithmique/applicative jusqu'à la technologie cible (génération des masques pour la fonderie). Différentes
solutions technologiques seront analysées, d'un point de vue théorique et (autant que possible) pratique. Une
approche récemment proposée pour l'implémentation d'algorithmes complexes est la conception de processeurs





à jeu d'instructions dédié à l'application (ASIP). Cette approche permet au concepteur de réaliser les compromis
souhaités entre la flexibilité des processeurs à jeu d’instructions et la performance des circuits dédiés ASIC. La
méthodologie étudiée et les outils disponibles permettront aux étudiants de réaliser un processeur adapté à
l'apprentissage machine. Cette approche peut être complétée par la conception de circuit full-custom exploitant
au mieux la technologie. Elle reposera sur la conception de circuits mixtes où analogique et numérique se marient
pour les meilleures performances. Ainsi, les étudiants pousseront la conception de circuits jusqu'aux livrables
demandés par les fondeurs. Cette compétence de réalisation de puces est de plus en plus rare, mais reste
recherchée par de nombreuses entreprises spécialisées.
Systèmes embarqués complexes
Après la présentation des notions de base en conception de systèmes embarqués dans l'UEC 3, cette UE élective
propose d'approfondir en présentant les approches récentes pour la collaboration en le logiciel et le matériel.
Ainsi, on abordera l'importance des caches et de la hiérarchie mémoire, les méthodes avancés de communication
sur puce (bus récents, Network on Chip), l'impact du many-core sur la conception des systèmes, ou encore les
problématiques liées à la mise en commun d'unités de calcul hétérogènes (représentation des données, modèle
de programmation). On présentera également des solutions permettant de tirer le meilleur parti des
architectures mises en œuvre (OpenMP, OpenCL, HSA, ...). Finalement, on abordera les problématiques liées au
temps-réel, et l'impact sur le système. Afin de bien appréhender les notions présentées, les étudiants pourront
mettre en pratique les connaissances acquises pour l'implémentation de réseaux de neurones.
Systèmes distribués
Une approche intéressante pour l'implémentation est l'utilisation de systèmes distribués, qui permettent de
répartir les calculs sur plusieurs calculateurs autonomes, qui collaborent pour arriver à un résultat. Le but de cette
UE est d'initier les étudiants à ce type d'approche. C'est une UE qui nous semble intéressante, mais qui dépendra
de la disponibilité d'intervenants.
Traitement temps-réel embarqué de signaux biologiques pour le NeuroBioFeedback
Cette UE est une application des concepts vus dans les UEC au domaine du signal biologique. L'accent sera
principalement mis sur le NeuroBioFeedback, qui permet d'améliorer la qualité de vie des patients grâce à un
retour permanent sur leur état de santé. Afin de permettre cela, il est nécessaire d'acquérir et de traiter en temps
réel des données biologiques. L'UE présentera les spécificités liés à certains signaux, comme
l'électroencéphalogramme (EEG), l'électromyogramme (EMG), l'électrocardiogramme (ECG), ou encore le BloodOxygen Level Dependent mesuré par Imagerie Résonnance Magnétique (BOLD-IRM). Les contraintes de
traitement de ces signaux sont telles que généralement, un système embarqué au plus proche du capteur est la
solution la plus adaptée. Cette UE s'articulera autour de projets ayant pour objectif l'application d'une
méthodologie d'adéquation algorithme-architecture permettant de respecter les contraintes temps réel et
embarquées. Les projets proposés seront en lien avec les activités de recherche du site de Brest sur les interfaces
cerveau-machine utilisant l'EEG (F. Andriulli) ou l'IRM fonctionnelle (F. Rousseau, N. Farrugia). La thématique du
NeuroBioFeedback est en lien avec les TAF Santé et Objets Communicants, qui pourront également proposer des
projets communs.
Robotique bio-inspirée
Les algorithmes vus dans l'UEC 1 ont un lien fort avec les sciences cognitives (neurosciences, psychologie,
éthologie). Cette UE élective vise à expliciter et exploiter ce lien. En particulier, nous verrons comment :
o les réseaux de neurones artificiels s'appuient sur les découvertes de neuroscience,
o les modèles mathématiques de l'apprentissage par renforcement ont été inspirés de la psychologie et
renforcés par les neurosciences,
o la conception de l'interaction homme-machine s'appuie sur les études de psychologie
comportementale,
o la biologie constitue une source d'inspiration pour la conception et le contrôle de robots,
l'architecture logicielle robotique se base sur les neurosciences computationnelles.
L'accent sera principalement mis sur les algorithmes d'apprentissage par renforcement et par imitation. Ces
algorithmes seront mis en pratiques sur des robots réels. Cette UE s'appuiera sur une collaboration avec l'ENIB
pour partager les ressources matérielles et humaines de leur salle de TP et de leurs cours de robotique.
Données et Informatique : quel cadre juridique, éthique et technique faut-il respecter ? (SHS)
Cette UE propose une approche sociétale du traitement informatisé des données, en donnant les bases éthiques
et règlementaires qui s'appliquent lors du traitement de données privées provenant d'utilisateurs. Elle traitera
également de la nécessité de sécuriser ces données, à la fois pour le propriétaire en limitant leur diffusion, mais
également pour les systèmes de traitement, qui doivent prendre en compte les vulnérabilités éventuelles.
Téléchargement