• Aucun résultat trouvé

Circuits analogiques programmables

Devant le coût de réalisation des circuits, et devant les limitations en terme de possibilités algorithmiques dues à l’utilisation de circuits analogiques dédiés, sont

2.2. Circuits analogiques programmables

apparues les rétines et circuits de type analogique programmable. Les réseaux de neurones cellulaires en sont le plus fameux et prolifique représentant [RR00].

2.2.1

Réseaux de neurones cellulaires

Un réseau de neurones cellulaires (CNN pour Cellular Neural Network) est un modèle de calcul massivement parallèle. Les CNN sont une évolution du modèle des automates cellulaires. Dans [CR93], la définition des réseaux de neurones cellulaires proposée par Leon O. Chua et Tamás Roska est la suivante. Un réseau de neurone cellulaire (CNN) est :

– un tableau à 2, 3, ou n dimensions.

– il est constitué de systèmes dynamiques quasi identiques appelés cellules, qui satisfont à deux propriétés principales :

– les interactions sont locales, dans un voisinage de rayon r.

– toutes les variables d’état et paramètres sont des signaux à valeurs continues. Les interactions entre les cellules et leurs voisines sont définies par un modèle de type matriciel définissant l’évolution de l’état des variables d’entrée u et de sortie y et de la variable interne x. Les variables d’état sont continues dans le temps, cepen- dant une cellule est identifiée par ses coordonnées dans le tableau, ce qui revient à discrétiser les variables spatiales. De même le temps peut être continu ou discret. Les interconnexions dans le modèle des réseaux de neurones cellulaires peuvent s’effectuer à partir des variables u, y et x des voisins situés dans un voisinage de rayon r. Les coefficients des matrices représentant ces interconnexions peuvent va- rier dans le temps pour faire apparaître un terme de délai. L’évolution dynamique du système est régie par une loi d’évolution qui peut être de type équation aux dif- férences partielles ou encore équation fonctionnelle. Cette loi permet de déterminer l’évolution de la variable interne x(t) connaissant l’entrée de la cellule u(t) et les conditions initiales.

La caractéristique principale d’un réseau de neurones cellulaires est la localité des interactions entre les cellules. Ce mode de fonctionnement permet toutefois d’ob- tenir des calculs régionaux par propagation. Les réseaux de neurones cellulaires fonctionnent donc typiquement par itérations, ce sont des réseaux récurrents. Architecture et équation d’évolution

L’architecture d’une cellule de réseau de neurones cellulaires est présentée à la figure 2.1. Les équations correspondantes peuvent être du type suivant :

C ∂xij(t) ∂t = − 1 Rxij(t) +  v in V oisinage Avyv(t) +  v ∈ V oisinage Bvuv(t) + I(t)

Fig. 2.1 – Architecture d’une cellule de réseau de neurones cellulaires (source

[MAJo99] )

Dans cette équation, u correspond aux entrées des cellules, x à l’état interne, et

y à la sortie des cellules. Comme indiqué sur le schéma de la figure 2.1, la sortie y dépend de manière non linéaire de l’état interne x. L’équation d’évolution fait

apparaître les paramètres Av et Bv. Ces paramètres peuvent être regroupés en

matrices A et B. Ces matrices sont des noyaux de convolution. Pour des raisons d’encombrement, ces noyaux de convolution ont le plus souvent un support réduit au plus proche voisinage (noyau centré de taille 3x3). La non-linéarité de la sortie peut être exprimée sous diverses formes [CR93], une des plus simples et des plus utilisées étant la saturation, qui peut s’exprimer sous la forme suivante :

yv(t) =

1

2(|xv(t) + 1| − |xv(t) − 1|)

Implantation

Les réseaux de neurones cellulaires forment un modèle adapté au traitement d’image sur les machines massivement parallèles SIMD. Le traitement de l’image d’entrée se fait d’une manière parallèle sur l’ensemble de la matrice par des inter- actions uniquement locales, mais se répercute globalement sur l’image à travers des phénomènes de propagation de proche en proche.

Plusieurs circuits de vision ont été développés. Des circuits CNNUM (Cellular Neural Network Universal Machine) ont été réalisés pour le traitement de l’image [RR00]. Ce sont des sortes de rétines artificielles analogiques produisant et utili- sant des images en niveau de gris. Des implantations plus anciennes telles que les rétines de filtrage spatio-temporel analogiques [MM88] [Mea89] [BG92] constituent une sous-classe des réseaux de neurones cellulaires dans la mesure où leur program- mabilité est très limitée. Un exemple de cellule d’un réseau de neurones cellulaires non reconfigurable utilisé pour la détection de composantes connexes est proposé à la figure 2.2.

A l’instar des rétines artificielles analogiques, le modèle des réseaux de neurones cellulaires a un coût d’implantation important. Le circuit correspondant devient rapidement complexe, en particulier si l’on cherche à ajouter des fonctions per- mettant à l’utilisateur de régler les coefficients Av et Bv définis avant. En raison

2.2. Circuits analogiques programmables

Fig. 2.2 – Schéma électronique et layout d’une cellule d’un réseau de neurones cellulaires permettant la détection de composantes connexes (Université de Séville) d’un coût d’implantation élevé, certaines applications se sont résignées à utiliser seulement un transistor par coefficient, ce qui limite beaucoup les possibilités de réglage. Finalement, avouant les limitations des solutions analogiques et afin de pouvoir réaliser des rétines de grande résolution, de forte densité et offrant les aspects de programmabilité et de polyvalence nécessaires à l’utilisation dans des applications réelles, les concepteurs commencent à faire intervenir des traitements locaux numériques.

Limitations

Une des limitations principales des réseaux de neurones cellulaires analogiques est le coût engendré par les fonctions destinées à programmer les coefficients des matrices de convolution. Ces fonctions se trouvent le plus souvent hors du pixel, ce qui impose d’extraire l’image de la matrice si l’on souhaite adapter les traitements à effectuer aux données. D’autre part pour effectuer des traitements complexes, il est nécessaire de séquentialiser les traitements effectués au sein des CNN. Ces deux difficultés ont conduit à introduire dans la structure asynchrone des réseaux de neurones cellulaires des éléments logiques synchrones de commande comme dans l’implantation réalisée à l’université de Séville [LFE+99]. Cette migration nécessaire mais progressive vers le numérique s’est même étendue aux fonctions de traitement

important. Une réalisation de l’Université de Séville [DC97] utilise des opérateurs à2 bits. L’utilisation d’équations différentielles et de relaxations lorsque les valeurs peuvent prendre 4 états semble toutefois discutable, le modèle des réseaux de neu- rones cellulaires n’est donc pas adapté à une implantation numérique intégrale. Du point de vue de cette thèse, la limitation plus fondamentale des réseaux de neurones cellulaires réside dans leur propriété fondatrice. Afin de permettre une implantation du modèle, les interactions ne se font que de manière locale. Ainsi, pour effectuer des opérations régionales, il est nécessaire d’effectuer une succes- sion d’opérations locales itérées, ce qui est très inefficace. Des opérateurs permet- tant d’effectuer ces calculs régionaux sans itérations seraient préférables. Ils sont d’ailleurs présents de manière théorique dans d’autres modèles de réseaux de neu- rones. Toutefois, l’implantation de ces opérateurs régionaux requiert un investisse- ment matériel trop important, ce qui a conduit à leur éviction dans le modèle des réseaux de neurones cellulaires. Cette limitation due au mode de communication local se retrouve dans les rétines numériques synchrones à voisinage limité où les communications s’effectuent de proche en proche et dans les méthodes de traite- ment d’image par équations aux dérivées partielles, qui sont d’ailleurs très bien implantées à l’aide des réseaux de neurones cellulaires.