Architectures dédiées

Si notre approche propose de nouveaux modes de traitement de l'information, elle suggère également de nouvelles architectures de calcul pour les implanter. Trois supports sont étudiés. D'une part, d'un point de vue global, l'étude de comportements autonomes nous fait explorer la voie robotique, comme validation naturelle de tels comportements. L'architecture computationelle est donc classique. Seule importe là la notion d'autonomie et d'embarquement des programmes. D'autre part, nous tentons d'exploiter le parallélisme intrinsèque du calcul neuronal par deux études de parallélisation sur des supports à grain fin et à grain grossier.

En ce qui concerne les méthodes de parallélisation à grain fin, le support privilégié est le matériel programmable (FPGA), permettant de bénéficier simultanément de la simplicité d'une approche de type logiciel, et d'un grain de parallélisme bien adapté à la simplicité des calculs neuronaux élémentaires. De plus, le choix d'un tel support est intéressant pour une part importante des utilisations pratiques des réseaux de neurones, puisqu'il permet d'obtenir des implantations à la fois rapides, embarquables, flexibles et peu coûteuses ( cf. § 7.2). Ces caractéristiques représentent un avantage évident pour l'utilisation de méthodes neuronales au sein de systèmes autonomes (robotique, microsystèmes, etc.).

Pour la parallélisation à gros grain, nous nous intéressons, dans le cadre du centre Charles Hermite, à l'implantation de nos modèles sur des machines parallèles classiques de type MIMD ( cf. § 7.1). Nous travaillons ici sur l'hypothèse vraisemblable que ces machines parallèles d'architecture généraliste vont se démocratiser et qu'il est donc pertinent de pouvoir faciliter l'implantation de modèles neuronaux sur ces machines. Cette implantation n'est pas immédiate car les types de parallélisme des réseaux de neurones (grain fin, communication par messages) et de ces machines (processeurs puissants plutôt orientés vers la communication par mémoire partagée) sont très différents. Le but de notre travail est donc de proposer une interface entre ces deux grains de parallélisme, permettant d'accélérer les exécutions des algorithmes neuronaux tout en diminuant les temps d'implantation.