# Calcul par réservoir

Le calcul par réservoir (de l'anglais reservoir computing) est un cadre de calcul dérivé de la théorie des réseaux de neurones récurrents qui recombine un ou plusieurs signaux d'entrée grâce à la dynamique d'un système fixe et non linéaire appelé réservoir pour créer des signaux dans un espace de dimension supérieure.
Une fois que le signal d'entrée est introduit dans le réservoir, celui ci est traité comme une « boîte noire », un simple mécanisme de lecture est entraîné pour lire l'état du réservoir et le mapper à la sortie souhaitée.
Le premier avantage clé de ce cadre est que l'entraînement n'est effectué qu'à la lecture, car le réservoir reste fixe. Le second est que la puissance de calcul de systèmes naturellement disponibles (c'est-à-dire physiques) peut être utilisée pour réduire le coût de calcul effectif.

## Histoire

Le concept de calcul par réservoir découle de l'utilisation de connexions récurrentes au sein de réseaux de neurones pour créer un système dynamique complexe. Il s'agit du cadre général des architectures de réseaux de neurones antérieures telles que les machines à état liquide développé en 2002 et les réseaux à état d'écho en 2001.
Certaines architectures décrites par plusieurs équipes en 1995$^,$ correspondent au cadre de calcul par réservoir mais n'ont pas à l'époque réussi à stimuler la communauté scientifique assez pour développer le concept.
Le calcul de réservoir s'étend également à des systèmes physiques qui ne sont pas des réseaux au sens classique du terme, mais plutôt des systèmes continus dans l'espace et/ou le temps : par exemple, un simple seau d'eau peut servir de réservoir qui effectue des calculs sur des entrées données comme des perturbations surface. La complexité résultante de ces réseaux de neurones récurrents s'est avérée utile pour résoudre une variété de problèmes, notamment le traitement du langage et la modélisation de système dynamique. Cependant, la formation de réseaux de neurones récurrents est difficile et coûteuse en calcul. Le calcul de réservoir réduit ces défis liés à la formation en fixant la dynamique du réservoir et en n'entraînant que la couche de sortie linéaire.
Une grande variété de systèmes dynamiques non linéaires peut servir de réservoir pour effectuer des calculs. Ces dernières années, les lasers à semi-conducteurs ont suscité un intérêt considérable car le calcul peut être rapide et économe en énergie par rapport aux composants électriques.
Les progrès récents de l'IA et de la théorie de l'information quantique ont donné naissance au concept de réseaux de neurones quantiques. Ceux-ci sont prometteurs dans le traitement de l'information quantique (un défi pour les réseaux classiques) mais peuvent également trouver une application dans la résolution de problèmes classiques. En 2018, une réalisation physique d'une architecture de calcul par réservoir quantique a été réalisé sous la forme de spins nucléaires au sein d'un solide moléculaire. En 2019, une autre implémentation possible de processeurs de réservoirs quantiques a été proposée sous la forme de réseaux fermioniques bidimensionnels. En 2020, la réalisation du calcul de réservoir sur des ordinateurs quantiques basés sur des portes quantique a été proposée et démontrée sur des ordinateurs quantiques supraconducteurs d'IBM (disponible sur le cloud).
Des ordinateurs de réservoir ont été utilisés pour l'analyse de séries chronologiques. En particulier pour la prédiction de séries chronologiques chaotiques$^,$ , la séparation de signaux chaotiques et l'inférence de liens de réseaux à partir de leur dynamique.

## Calcul par réservoir classique
### Réservoir

Le « réservoir » dans le calcul par réservoir est la structure interne de l'ordinateur. Il doit avoir deux propriétés : il doit être composé d'unités individuelles non linéaires; il doit être capable de stocker des informations. La non-linéarité décrit la réponse de chaque unité à l'entrée, ce qui permet aux calculateur par réservoir de résoudre des problèmes complexes. Les réservoirs sont capables de stocker des informations en connectant les unités dans des boucles internes récurrentes, où l'entrée précédente affecte la réponse suivante. Le changement de réaction dû au passé permet aux ordinateurs d'être entraînés à accomplir des tâches spécifiques.
Les réservoirs peuvent être virtuels ou physiques. Les réservoirs virtuels sont généralement générés de manière aléatoire et sont conçus comme des réseaux de neurones$^,$. Les réservoirs virtuels peuvent être conçus pour avoir une non-linéarité et des boucles récurrentes, mais, contrairement aux réseaux de neurones, les connexions entre les unités sont aléatoires et restent inchangées tout au long du calcul. Les réservoirs physiques sont possibles en raison de la non-linéarité inhérente à beaucoup de systèmes naturels. Par exemple l'interaction entre les ondulations à la surface de l'eau relève d'une dynamique non linéaire permettant création d'un réservoir, et un calculateur par réservoir servant à la reconnaissance de formes a été développée en entrant d'abord les ondulations avec des moteurs électriques, puis en enregistrant et en analysant les ondulations dans la couche de lecture.

### Lecture

La couche de lecture est une couche neuronale qui effectue une transformation linéaire à la sortie du réservoir. Les poids de la couche de lecture sont entraînés en analysant les motifs spatio-temporels du réservoir après excitation par des entrées connues, et en utilisant une méthode d'entraînement telle qu'une régression linéaire ou une régression Ridge. Sa mise en œuvre dépend de la configuration spatio-temporelle des réservoirs, le détail des méthodes de lecture est adapté à chaque type de réservoir. Par exemple, la lecture pour un calculateur par réservoir utilisant un récipient de liquide comme réservoir pourrait impliquer l'observation de motifs spatio-temporels à la surface du liquide.

### Différents types de réservoir
#### Réseau de réverbération contextuelle

Un des premiers exemples de calcul de réservoir était le réseau de réverbération contextuelle. Dans cette architecture, une couche d'entrée alimente un système dynamique de grande dimension qui est lu par un perceptron monocouche pouvant être entraîné . Deux types de systèmes dynamiques ont été décrits : un réseau neuronal récurrent avec des poids aléatoires fixes et un système de réaction-diffusion continue inspiré du modèle de morphogenèse d'Alan Turing . Au niveau de la couche entraînable, le perceptron associe des entrées de courant aux signaux qui se répercutent dans le système dynamique ; ces derniers étaient censés fournir un « contexte » dynamique pour les entrées. Dans le langage des travaux ultérieurs, le système de réaction-diffusion a servi de réservoir.

#### Réseau d'écho d'état

Le modèle Tree Echo State Network (TreeESN) représente une généralisation du cadre de calcul de réservoir aux données structurées en arbre.

#### Calcul transitoire non linéaire

Ce type de traitement de l'information est plus pertinent lorsque les signaux d'entrée dépendant du temps s'écartent de la dynamique interne du mécanisme. Ces départs provoquent des transitoires ou des altercations temporaires qui sont représentées dans la sortie de l'appareil.

#### Calcul par réservoir profond

L'extension du framework de calcul de réservoir vers le Deep Learning, avec l'introduction du Deep Reservoir Computing et du modèle Deep Echo State Network (DeepESN)$^,$$^,$ permet de développer des modèles efficacement entraînés pour le traitement hiérarchique de données temporelles, permettant en même temps de cherche le rôle inhérent de la composition en couches dans les réseaux de neurones récurrents .

## Calcul par réservoir quantique

Le calcul par réservoir quantique peut utiliser la nature non linéaire des interactions ou des processus de mécanique quantique pour former les réservoirs non linéaires caractéristiques$^,$$^,$ mais peut également être effectué avec des réservoirs linéaires lorsque l'injection de l'entrée dans le réservoir crée la non-linéarité. Le mariage de l'apprentissage automatique et des dispositifs quantiques conduit à l'émergence de l'informatique neuromorphique quantique en tant que nouveau domaine de recherche.

### Types
#### États gaussiens d'oscillateurs harmoniques quantiques en interaction

Les états gaussiens sont une classe paradigmatique d'états des systèmes quantiques à variables continues . Bien qu'ils puissent aujourd'hui être créés et manipulés dans, par exemple, des plates-formes optiques de pointe, naturellement robustes à la décohérence, il est bien connu qu'ils ne sont pas suffisants, par exemple, pour l'informatique quantique universelle car les transformations qui préserver la nature gaussienne d'un état sont linéaires. Normalement, la dynamique linéaire ne serait pas non plus suffisante pour le calcul de réservoir non trivial. Il est néanmoins possible d'exploiter une telle dynamique à des fins de calcul de réservoir en considérant un réseau d' oscillateurs harmoniques quantiques en interaction et en injectant l'entrée par remises à zéro périodiques d'état d'un sous-ensemble des oscillateurs. Avec un choix approprié de la façon dont les états de ce sous-ensemble d'oscillateurs dépendent de l'entrée, les observables du reste des oscillateurs peuvent devenir des fonctions non linéaires de l'entrée adaptées au calcul du réservoir ; en effet, grâce aux propriétés de ces fonctions, même le calcul universel de réservoir devient possible en combinant les observables avec une fonction de lecture polynomiale. En principe, de tels ordinateurs de réservoir pourraient être mis en œuvre avec des processus paramétriques optiques multimodes contrôlés, cependant, l'extraction efficace de la sortie du système est difficile, en particulier dans le régime quantique où la mesure en retour doit être prise en compte.

#### Réseaux de points quantiques 2D

Dans cette architecture, le couplage aléatoire entre les sites du réseau confère au réservoir la propriété de « boîte noire » inhérente aux processeurs de réservoir. Le réservoir est alors excité, qui sert d'entrée, par un champ électromagnétique incident. La lecture se produit sous la forme de nombres professionnels de sites de réseau, qui sont naturellement des fonctions non linéaires de l'entrée.

#### Spins nucléaires dans un solide moléculaire

Dans cette architecture, le couplage mécanique quantique entre les spins d'atomes voisins dans le solide moléculaire fournit la non-linéarité requise pour créer l'espace de calcul de plus grande dimension. Le réservoir est excité radiofréquence électromagnétique réglée avec les fréquences de résonance des spins nucléaires pertinents. La lecture se produit en mesurant les états de rotation nucléaire.

#### Calcul par réservoir sur des ordinateurs quantiques supraconducteurs à court terme basés sur des grilles

Le modèle le plus répandu de l'informatique quantique est le modèle basé sur les portes où le calcul quantique est effectué par des applications séquentielles de portes quantiques unitaires sur les qubits d'un ordinateur quantique. Une théorie pour la mise en œuvre du calcul de réservoir sur un ordinateur quantique basé sur des portes avec des démonstrations de preuve de principe sur un certain nombre d'ordinateurs quantiques supraconducteurs bruyants à échelle intermédiaire (NISQ) d'IBM a été présentée dans une revue scientifique.