Réseaux de neurones récurrents
Un réseau de neurones récurrent (RNN, recurrent neural network) est un type de réseau de neurones artificiels principalement utilisé dans la reconnaissance vocale et le traitement automatique du langage naturel (TAL, NLP, TNL). Les RNN sont conçus de manière à reconnaître les caractéristiques séquentielles et les modèles d'utilisation des données requis pour prédire le scénario suivant le plus probable.
Les RNN sont utilisés dans le cadre de l'apprentissage profond et dans le développement de modèles qui simulent l'activité du système cérébral humain. Ils sont particulièrement puissants dans les scénarios faisant intervenir le contexte dans la prédiction d'un résultat.
Ils se distinguent des autres types de réseaux de neurones artificiels en ce sens qu'ils utilisent des boucles de rétroaction pour traiter une séquence de données qui façonne le résultat final, lui-même pouvant être une séquence de données. Ces boucles de rétroaction permettent aux informations de persister, effet souvent assimilé à la mémoire.
Les RNN ont tendance à intervenir dans des modèles linguistiques visant à identifier la prochaine lettre d'un mot ou le prochain mot d'une phrase d'après les données qui les précèdent. Parmi les expériences extraordinaires, citons un RNN qui, entraîné avec les œuvres de Shakespeare, a réussi à écrire des pièces de style shakespearien. La génération de texte par RNN est une forme de créativité informatique. Cette simulation de la créativité humaine est rendue possible par l'IA qui comprend la grammaire et la sémantique tirées de son jeu de données d'entraînement.
Comment fonctionne l’apprentissage des réseaux neuronaux
Les réseaux de neurones artificiels sont créés à partir de composants interconnectés de traitement des données, conçus de manière modulable de façon à fonctionner comme le cerveau humain. Ils sont composés de couches de neurones artificiels (nœuds neuronaux) capables de traiter l'entrée et de transmettre la sortie aux autres nœuds du réseau. Les nœuds sont connectés par des liens ou des pondérations qui influent sur la force d'un signal et sur la sortie finale du réseau.
Dans certains cas, les réseaux de neurones artificiels traitent les informations dans un seul sens, de l'entrée vers la sortie. Dits « feedforward », ces réseaux à propagation vers l’avant comprennent les réseaux de neurones convolutifs qui sous-tendent les systèmes de reconnaissance d'images. En revanche, les RNN sont constitués de couches permettant de traiter les informations dans les deux sens.
A l'instar des réseaux neuronaux à propagation avant, les RNN peuvent traiter les données de l'entrée initiale vers la sortie finale. Mais contrairement à eux, ils utilisent des boucles de rétroaction, telles que la rétropropagation dans le temps (Backpropagation Through Time, ou BPTT) tout au long du calcul de manière à réinjecter les informations dans le réseau. Les entrées étant ainsi connectées les unes aux autres, les RNN sont en mesure de traiter des données séquentielles et temporelles.
Mémoire court-terme étendue
La disparition du gradient pose un problème majeur aux RNN classiques, car le réseau neuronal, ne pouvant plus être entraîné correctement, perd inévitablement de ses performances. Cette disparition a lieu avec les réseaux neuronaux à multiples strates, qui sont utilisés pour traiter des données complexes.
Ce sont les RNN standard qui utilisent une méthode d'apprentissage à base de gradient qui se dégradent à mesure qu'ils grossissent et se complexifient. Pour régler efficacement ces paramètres dès les premières couches, il faudrait beaucoup de temps et de ressources informatiques coûteuses.
Les unités LSTM (Long Short-Term Memory) à mémoire court terme étendue, qui ont été proposées par les informaticiens Sepp Hochreiter et Jurgen Schmidhuber en 1997, sont l'une des solutions à ce problème. Les RNN conçus avec des unités LSTM peuvent classer les données dans des cellules à mémoire à long terme ou à court terme. Ce faisant, ils peuvent distinguer les données importantes à mémoriser et à réinjecter dans le réseau, de ce qui doit être oublié.