• Aucun résultat trouvé

pour le calcul neuromorphique

4.2.1 Réseau de neurones récurrent et « feed-forward »

Dans le cas général où tous les neurones sont reliés à tous les autres — réseau dit récurrent – l’information peut repasser plusieurs fois par le même nœud et ainsi rester, et être traitée par le réseau pendant une longue période de temps, voire perpétuellement. L’état dynamique du système dépend alors à la fois de l’entrée en cours et de celles envoyées précédemment. Cela donne au réseau une capacité de mémoire et permet le traitement de données temporelles mais rend l’apprentissage laborieux, voire divergent.

La première façon de résoudre cette difficulté est de s’assurer que le signal ne puisse pas traverser plusieurs fois un neurone donné en faisant se propager l’information dans une seule direction. Concrètement, les nœuds seront séparées en plusieurs couches successives : une couche d’entrée, une couche de sortie et une ou plusieurs couches intermédiaires dites « couches cachées », comme illustré schématiquement sur la figure 4.2. Lorsque une entrée est envoyée au système, elle est traitée par une couche puis envoyée à la suivante après une intervalle de temps, sans pouvoir revenir en arrière, jusqu’à atteindre la couche de sortie où elle sera lue. Ce type de réseau est dit « feed-forward » ou « perceptron ». L’avantage de cette architecture est que de simples algorithmes linéaires, comme la propagation inverse, suffisent à entrainer le réseau. En revanche, ce système ne possède pas de mémoire car l’information le traverse en une seule fois. De ce fait, il est plutôt adapté pour traiter des données statiques comme un motif spatial [85].

Figure 4.2: Réseau de neurones artificiels de type feed-forward, aussi appelé réseau de neurones profond. Les données sont fournies au réseau par la couche d’entrée, puis elles se traversent chaque couche cachées les unes après les autres avant d’atteindre la couche de sortie où l’information sera lue.

4.2.2 Reservoir Computing

La deuxième façon de résoudre le problème de divergence est d’avoir une couche de sortie explicitement séparée du reste du réseau qui peut uniquement recevoir de l’information et pas en renvoyer. L’apprentissage est alors uniquement réalisé sur les connections entre les nœuds du réseau et la couche de sortie, ce qui rend l’entrainement linéaire. Cette architecture est connue sous le nom de « Reservoir Computing » [86–92] et permet de conserver une capacité de mémoire tout en ayant un apprentissage linéaire. On peut donc traiter des données temporelles et effectuer des taches comme la reconnaissance de sons [93, 94] ou la prédiction de séries temporelles. Le terme « reservoir » vient du fait que le système est alors traité comme une boite noire, transformant une entrée en un signal complexe qui sera interprété par la couche de sortie, qui illustré schématiquement sur la figure 4.3.

Le concept du « Reservoir Computing » est de séparer le système en un réseau récurrent — le réservoir — et une couche de sortie. La dynamique transitoire du réservoir, qui est généralement complexe, permet de transformer des données en une forme plus facile à analyser pour la couche de sortie. Cette transformation doit permettre de classifier des entrées, qui ne serait pas discernables sous leur forme brute. L’apprentissage d’un tel réseau se fait uniquement sur les poids de sortie, entre le réservoir et la couche de sortie, ce qui veut dire que l’entrainement ne modifiera pas la façon dont le réservoir transforme le signal.

Σ

Reservoir

3 dimensional

Input Output

Known fixed connection Unknown fixed connection Trained connection

Figure 4.3:Principe de fonctionnement d’un Reservoir Computer : les données sont injectées dans le réservoir qui va les transformer avant de les envoyer à une couche de sortie.

Ce dernier doit donc posséder certaines propriétés afin de bien remplir son rôle. La première est de pouvoir séparer des signaux différents en augmentant leurs dimensions, c’est la séparabilité. Prenons l’exemple de couples de données binaires [x, y]associées à une couleur de la façon suivante : rouge si x et y ont la même valeur et bleu si les valeurs sont différentes, ce qui correspondrait à une porte logique XOR (Fig. 4.4). Le but est alors de séparer les points bleus des rouges, ce qui dans ce cas est impossible de faire à l’aide d’une droite. En revanche, si l’on attribue à chaque point une nouvelle dimension z correspondant à 0 ou 1 en fonction de leur couleur, on peut alors tracer un plan séparant les points de couleurs différentes, le plan étant la séparation linéaire en trois dimensions. La transformation effectuée ne permet pas directement de tracer ce plan mais rend son existence possible, comme nous le montrons sur la figure 4.4. De la même manière, il sera de plus en plus probable de pouvoir séparer linéairement les données de cette manière lorsque l’on augmente davantage les dimensions [95]. Le but de l’apprentissage étant de trouver la ligne ou l’hyperplan permettant de séparer les données, ce dernier sera plus efficace si l’on peut projeter les données sur plus de dimensions.

La deuxième propriété nécessaire pour le réservoir, la propriété d’approximation, est d’être robuste face au bruit, ainsi que de fournir des résultats reproductibles. Deux entrées distinctes doivent être classifiées différemment mais des données identiques bruitées devraient donner un résultat identique. Le réservoir idéal ne sera donc pas trop sensible tout en ayant des réponses suffisamment diversifiées aux différentes entrées.

0 1 x 0

1 y

(a) (b)

Figure 4.4: Représentations en deux et trois dimensions de couples de données binaires traitées par une porte logique XOR. (a) Les points rouges et bleues ne sont pas séparables linéairement en deux dimensions. (b) L’ajout d’une troisième dimension permet l’existence d’un plan de séparation.

Enfin, le réservoir devrait posséder une capacité de mémoire à court ou moyen terme. L’état dynamique du réservoir doit dépendre de l’entrée en cours et des entrées introduites dans le passé récent, mais il doit être indépendant des données envoyés dans le passé lointain. La notion de passé récent ou lointain est variable et elle est liée à la tâche que l’on souhait réaliser. Cette capacité de mémoire est indispensable pour traiter des séquences temporelles comme un son, car l’historique des données envoyées au réservoir est importante.

Ces propriétés — séparabilité, approximation et mémoire — sont généralement reliées et la modification d’un paramètre du réservoir aura un impact sur plusieurs propriétés à la fois. Il est nécessaire de trouver un équilibre optimisant les perfor-mances du réservoir pour une tâche donnée. Il a été montré empiriquement que ces propriétés sont le plus souvent atteintes lorsque le réservoir est dans un état stable en l’absence de signal et dans un état dynamique lorsqu’une entrée est envoyée. L’impact de la dynamique exacte sur les performances est complexe et peu exploré pour le moment, une partie de la communauté du Reservoir Computing assurant que le point de fonctionnement optimal serait au bord du chaos, afin d’optimiser la propriété de séparabilité grâce à la dynamique chaotique tout en gardant une bonne séparabilité et mémoire apportée par un système stable [96].