Université de Montréal
Réseaux de neurones à faible précision et
réalisation sur ordinateur à logique programmable
par
Steven Pigeon
Département d’informatique et de recherche opérationelle
faculté des Arts et Sciences
Mémoire présenté à la Faculté des études supérieures
en vue de l’obtention du grade de
Maître ès science (M.Sc)
en informatique
mars 1996
© Steven Pigeon, 1996
Université de Montréal
Falculté des études supérieures
ce mémoire intitulé
Réseaux de neurones à faible précision et
réalisation sur ordinateur à logique programmable
présenté par
Steven Pigeon
a été évalué par un jury composé des personnes suivantes:
El Mostapha Aboulhamid
Yoshua Bengio
Jocelyn Cloutier
Mémoire accepté le:..........................................................................
ii
Résumé
Dans ce mémoire, nous explorons les aspects logiciels et matériels des réseaux de
neurones artificiels. Nous examinons les propriétés de stabilité numérique, tels que le
nombre de bits nécessaires pour représenter un poids, une activation et le gradient dans
un réseaux de neurones artificiels, et comment on peut remplacer les opérations
arithmétiques traditionnellement associées aux réseaux de neurones artificiels par des
opérations matériellement moins coûteuses. Nous considérerons dans un second temps
les aspect matériels des réseaux de neurones artificiels (l’ordinateur à logique
programmable V.I.P. et la possibilité de l’apprentissage en matériel). Nous montrons
qu’avec l’avènement des circuits à logique programmable (les field programmable
gate arrays, ou FPGA) la distinction entre logiciel et matériel devient avanta-
geusement floue rendant ainsi possible la réalisation de systèmes dédiés efficaces à
l’aide d’ordinateurs à logique programmable à une fraction des coûts
habituellement rencontrés.
iii
Sommaire
Ces dernières années, en parallèle avec l’accroissement rapide de la puissance des ordinateurs, de
nombreuses techniques d’intelligence artificielle ont bourgeonné. Les méthodes statistiques et les réseaux
de neurones artificiels (et très souvent un mélange des deux) ont gagné l’intérêt des chercheurs pour une
seule et bonne raison: les réseaux de neurones, loin dêtre une solution illusoire, ont démontré des
capacités inégalées dans certains domaines, comme en particulier la reconnaissance de caractères
manuscrits, de la voix, et des séries temporelles en général. Le seul problème des réseaux de neurones,
c’est qu’ils sont très voraces! Ils demandent beaucoup de puissance de calcul et les stations de travail
actuellement disponibles sont loin d’offrir des performances intéressantes pour des applications concrètes.
La nature essentiellement parallèle des réseaux de neurones peut faire paraître les ordinateurs massivement
parallèles comme étant une solution miracle.
Cependant, la plupart des gens ne disposent toujours que de machines séquentielles ou faiblement
parallèles comme outil de travail principal et les ordinateurs massivement parallèles demeurent encore hors
de portée. Que ce soit par leur prix, la difficulté de la programmation ou par leurs réseaux de
communication encore trop peu efficace par rapport à la puissance des processeurs, les ordinateurs
massivement parallèles ne sont pas aussi accessibles que les stations de travail (qu’il s’agisse de Sun, SGI
ou même de PC) qui forment l’habituel outil du chercheur en informatique. Il s’impose donc d’explorer
deux avenues qui ne sont pas obligatoirement disjointes. Premièrement, l’aspect logiciel des réseaux de
neurones. Il convient de se poser des questions fondamentales sur les propriétés de stabilité numérique, tels
que le nombre de bits nécessaire pour représenter un « poids » et une « activation », et comment on peut
iv
remplacer les opérations arithmétiques traditionnellement associées aux réseaux de neurones par des
opérations matériellement moins coûteuses. Deuxièmement, à la lumière de la première voie, il faut se
demander quelles seraient les propriétés idéales d’un matériel supportant les calculs d’un réseau de
neurones. Quelle est la granularité des calculs que l’on réalise dans les réseaux de neurones? Est-ce que les
algorithmes classiques peuvent nous venir en aide? Quelles sont les erreurs que l’on peut introduire dans le
calcul sans que la performance des réseaux de neurones artificiels ne s’en ressente? Quels seront les
modèles de parallélisme utilisables et sous quelles hypothèses? Quelles sont les performances que l’on doit
attendre du parallélisme? Quels sont les coûts que l’on doit se préparer à rencontrer? Quel est le seuil de
rentabilité des technologies alternatives?
C'est essentiellement ces questions qui motivent le présent mémoire. Dans un premier temps, nous
allons explorer les aspects algorithmiques et logiciels (l’apprentissage avec des nombres à point fixe de
faible précision, convolutions rapides, etc.) et dans un second les aspect matériels (lordinateur à logique
programmable V.I.P. et l’apprentissage en matériel). Nous allons démontrer qu’avec l’avènement des
circuits à logique programmable (les field programmable gate arrays, ou FPGA) la distinction
entre logiciel et matériel devient avantageusement floue rendant ainsi possible la réalisation de
systèmes dédiés efficaces à l’aide d’ordinateurs à logique programmable à des coûts
raisonnables.
v
1 / 89 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !