école de technologie supérieure université du québec rapport

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE
UNIVERSITÉ DU QBEC
RAPPORT TECHNIQUE
PRÉSENTÉ À L’ÉCOLE DE TECHNOLOGIE SURIEURE
DANS LE CADRE DU PROJET DE FIN D’ÉTUDES
CONCEPTION ET RÉALISATION
D’UN RÉSEAU DE NEURONES À IMPULSION SUR FPGA
PAR
SIMARD, Frédéric
PRÉSENTÉ À
CHAKIB TADJ
MONTRÉAL, LE <DATE>
II
REMERCIEMENTS
Je tiens à remercier Chakib Tadj qui a démontré beaucoup d’enthousiasme en regard à ce
projet et qui a su fournir une bonne oreille et des commentaires ts pertinents au cours de
son élaboration. Je veux aussi souligner mon ami Patrick Saloie qui m’a grandement aidé à
développer mes connaissances sur les réseaux de neurones au cours des dernières années.
Sans lui, je n’aurais jamais eu les connaissances nécessaire pour l’élaboration de ce projet.
CONCEPTION ET RÉALISATION
D’UN RÉSEAU DE NEURONES À IMPULSION SUR FPGA
SIMARD, Frédéric
RÉSUMÉ
Lesseaux de neurones font partie d’un champ de recherche qui s’attaque à comprendre et
réaliser des systèmes capables de mimer le comportement du cerveau. Ceci est fait dans le
but de mieux comprendre le cerveau lui-même, mais aussi d’utiliser ce savoir dans le
domaine de l’ingénierie pour résoudre des problématiques dans les domaines du contrôle de
procédé ou de la vision artificielle pour ne nommer que ceux-là.
Le modèle de réseau de neurones qui a été développé pour le projet se base en grande partie
sur des observations biologiques. Lorganisation biologique des neurones doit être étudiée
sur plusieurs ordres de grandeur pour en saisir le fonctionnement. Il y a d’abord le
fonctionnement du neurone lui-même, l’interaction avec ses voisins immédiats puis
l’interaction entre les groupements de neurones.
Même si la biologie fournit beaucoup d’indices sur le fonctionnement du cerveau, sa
complexi impose de faire des concessions quand vient le moment de créer un modèle
formel. Le défi est donc de choisir les points les plus importants à garder dans le modèle,
dans lespérance que ceux-ci soit suffisant pour arriver à un système fonctionnellement
équivalent au cerveau.
Le modèle dépend aussi du matériel servant à sa simulation. Ceux qui travaillent avec des
simulations logicielles ont souvent beaucoup de liberté. Puisque, dans le cadre du projet, le
modèle est implanté dans un FPGA, il faut prendre le temps de conntre l’architecture
interne d’un FPGA pour être capable d’utiliser les ressources le plus efficacement possible et
ainsi avoir accès à un plus grand bassin de neurone.
Le projet comprend plusieurs parties, un logiciel de création/édition de réseau de neurones
qui est couplé à un générateur de code VHDL. Un logiciel de simulation qui communique
avec le FPGA via un microcontrôleur. Ce dernier faisant le lien entre le port USB de
l’ordinateur et une interface parallèle qui a été développé pour communiquer avec le FPGA.
Et bien entendu la simulation qui s’exécute dans le FPGA.
Des résultats on été obtenus. Leur analyse nous conduit à l’étude d’extensibilité qui consiste
à déterminer de quelles façons il serait possible d’augmenter le nombre de neurones
disponibles. Il s’agit aussi d’une ouverture sur la suite du projet.
TABLE DES MATRES
Page
Chapitre 1 - PRÉSENTATION DU MODÈLE
1.1 Approche biologique......................................................................................................2
1.1.1 Le neurone........................................................................................................2
1.1.1.1 Anatomie ............................................................................................2
1.1.1.2 Fonctionnement..................................................................................3
1.1.2 Les neurones au sein du cerveau......................................................................3
1.1.3 Le cortex ..........................................................................................................4
1.1.4 Les aires du cortex ...........................................................................................5
1.1.5 Apprentissage et adaptation .............................................................................6
1.1.6 Aggloration en colonne ...............................................................................7
1.2 Approche numérique......................................................................................................9
1.2.1 Le neurone........................................................................................................9
1.2.2 Apprentissage.................................................................................................10
1.2.3 Connexions locales ........................................................................................10
1.2.4 Projection externe ..........................................................................................11
1.2.5 Structure haut-niveau .....................................................................................12
1.2.6 Dynamique neuronale ....................................................................................13
1.2.7 Entrainement ..................................................................................................15
Chapitre 2 - PRÉSENTATION DU PROJET
2.1 Survol du projet............................................................................................................16
2.2 Logiciel de création/édition de réseaux de neurones ...................................................16
2.2.1 Interface graphique ........................................................................................16
2.2.2 Générateur de code VHDL ............................................................................17
2.2.3 Xilinx ISE ......................................................................................................18
2.3 Logiciel de simulation..................................................................................................18
2.3.1 Déroulement d’une simulation.......................................................................18
2.3.2 Interface USB.................................................................................................19
2.3.2.1 Mode de communication par interruption........................................19
2.3.2.2 Implémentation logicielle ................................................................21
2.3.3 Rôle du microcontleur ................................................................................21
2.4 FPGA ...........................................................................................................................23
2.4.1 Le neurone......................................................................................................23
2.4.2 Utilisation de la mémoire RAM.....................................................................26
2.4.2.1 Bloc de type 1 ..................................................................................26
2.4.2.2 Bloc de type 2 ..................................................................................27
2.4.2.3 Bloc de type 3 ..................................................................................28
2.4.2.4 Table d’activation ............................................................................29
2.4.3 Exécution de la simulation .............................................................................30
2.4.3.1 Mise à feu.........................................................................................31
1 / 61 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!