La mémoire temporelle hiérarchique (HTM) est une technologie d'intelligence artificielle contrainte par la biologie, développée par Numenta. Initialement décrite dans le livre On Intelligence de Jeff Hawkins avec Sandra Blakeslee en 2004, la HTM est principalement utilisée aujourd'hui pour la détection d'anomalies dans les données en flux continu. La technologie repose sur les neurosciences ainsi que sur la physiologie et l'interaction des neurones pyramidaux du néocortex du cerveau des mammifères (en particulier, des humains).
Au cœur de la HTM se trouvent des algorithmes d'apprentissage capables de stocker, d'apprendre, d'inférer et de rappeler des séquences d'ordre élevé. Contrairement à la plupart des autres méthodes de Machine learning, la HTM apprend en continu (dans un processus non supervisé) les motifs temporels dans des données non étiquetées. La HTM est robuste au bruit et possède une grande capacité (elle peut apprendre plusieurs motifs simultanément). Appliquée aux ordinateurs, la HTM est bien adaptée à la prédiction, à la détection d'anomalies, à la classification et, en fin de compte, aux applications sensorimotrices.
Structure et algorithmes
Un réseau HTM typique est une hiérarchie en forme d'arbre de niveaux (à ne pas confondre avec les « couches » du néocortex, comme décrit ci-dessous). Ces niveaux sont composés d'éléments plus petits appelés régions (ou nœuds). Un seul niveau de la hiérarchie peut contenir plusieurs régions. Les niveaux supérieurs de la hiérarchie ont souvent moins de régions. Les niveaux supérieurs peuvent réutiliser les motifs appris aux niveaux inférieurs en les combinant pour mémoriser des motifs plus complexes.
Chaque région HTM a la même fonction de base. Dans les modes d'apprentissage et d'inférence, les données sensorielles (par exemple, les données provenant des yeux) arrivent dans les régions de niveau inférieur. En mode de génération, les régions de niveau inférieur produisent le motif généré d'une catégorie donnée. Le niveau supérieur contient généralement une seule région qui stocke les catégories (concepts) les plus générales et les plus permanentes ; celles-ci déterminent, ou sont déterminées par, des concepts plus petits aux niveaux inférieurs - des concepts plus restreints dans le temps et l'espace. Lorsqu'elle est réglée en mode d'inférence, une région (à chaque niveau) interprète les informations provenant de ses régions « enfants » comme des probabilités des catégories qu'elle a en mémoire.
Chaque région HTM apprend en identifiant et en mémorisant des motifs spatiaux - des combinaisons de bits d'entrée qui se produisent souvent en même temps. Elle identifie ensuite des séquences temporelles de motifs spatiaux susceptibles de se succéder.
En tant que modèle évolutif
La HTM est le composant algorithmique de la théorie des mille cerveaux de l'intelligence de Jeff Hawkins. Ainsi, les nouvelles découvertes sur le néocortex sont progressivement intégrées au modèle HTM, qui change au fil du temps en réponse. Les nouvelles découvertes n'invalident pas nécessairement les parties précédentes du modèle, de sorte que les idées d'une génération ne sont pas nécessairement exclues dans la génération suivante. En raison de la nature évolutive de la théorie, il y a eu plusieurs générations d'algorithmes HTM, brièvement décrites ci-dessous.
Première génération : zêta 1
La première génération d'algorithmes HTM est parfois appelée zêta 1.
#### Entraînement
Pendant l'entraînement, un nœud (ou une région) reçoit une séquence temporelle de motifs spatiaux comme entrée. Le processus d'apprentissage comprend deux étapes :
Le regroupement spatial identifie (dans l'entrée) les motifs fréquemment observés et les mémorise comme des « coïncidences ». Les motifs significativement similaires entre eux sont traités comme la même coïncidence. Un grand nombre de motifs d'entrée possibles est réduit à un nombre gérable de coïncidences connues.
Le regroupement temporel partitionne les coïncidences susceptibles de se succéder dans la séquence d'entraînement en groupes temporels. Chaque groupe de motifs représente une « cause » du motif d'entrée (ou « nom » dans On Intelligence).
Les concepts de regroupement spatial et de regroupement temporel restent assez importants dans les algorithmes HTM actuels. Le regroupement temporel n'est pas encore bien compris, et sa signification a changé au fil du temps (à mesure que les algorithmes HTM ont évolué).
#### Inférence
Pendant l'inférence, le nœud calcule l'ensemble des probabilités qu'un motif appartienne à chaque coïncidence connue. Ensuite, il calcule les probabilités que l'entrée représente chaque groupe temporel. L'ensemble des probabilités assignées aux groupes est appelé la « croyance » du nœud concernant le motif d'entrée. (Dans une implémentation simplifiée, la croyance du nœud consiste en un seul groupe gagnant). Cette croyance est le résultat de l'inférence qui est transmis à un ou plusieurs nœuds « parents » au niveau supérieur de la hiérarchie.
Les motifs « inattendus » pour le nœud n'ont pas de probabilité dominante d'appartenir à un seul groupe temporel, mais ont des probabilités presque égales d'appartenir à plusieurs des groupes. Si les séquences de motifs sont similaires aux séquences d'entraînement, alors les probabilités assignées aux groupes ne changeront pas aussi souvent que les motifs sont reçus. La sortie du nœud ne changera pas beaucoup, et une résolution dans le temps est perdue.
Dans un schéma plus général, la croyance du nœud peut être envoyée à l'entrée de n'importe quel(s) nœud(s) à n'importe quel(s) niveau(x), mais les connexions entre les nœuds restent fixes. Le nœud de niveau supérieur combine cette sortie avec la sortie d'autres nœuds enfants, formant ainsi son propre motif d'entrée.
Puisque la résolution dans l'espace et le temps est perdue dans chaque nœud comme décrit ci-dessus, les croyances formées par les nœuds de niveau supérieur représentent une gamme encore plus large d'espace et de temps. Cela vise à refléter l'organisation du monde physique tel qu'il est perçu par le cerveau humain. Les concepts plus larges (par exemple, les causes, les actions et les objets) sont perçus comme changeant plus lentement et consistent en des concepts plus petits qui changent plus rapidement. Jeff Hawkins postule que les cerveaux ont évolué ce type de hiérarchie pour correspondre, prédire et affecter l'organisation du monde externe.
Plus de détails sur le fonctionnement de la HTM Zêta 1 peuvent être trouvés dans l'ancienne documentation de Numenta.
Deuxième génération : algorithmes d'apprentissage cortical
La deuxième génération d'algorithmes d'apprentissage HTM, souvent appelée algorithmes d'apprentissage cortical (CLA), était radicalement différente de zêta 1. Elle repose sur une structure de données appelée représentations distribuées éparses (c'est-à-dire une structure de données dont les éléments sont binaires, 1 ou 0, et dont le nombre de bits à 1 est petit par rapport au nombre de bits à 0) pour représenter l'activité cérébrale et un modèle de neurone plus réaliste sur le plan biologique (souvent aussi appelé cellule, dans le contexte de la HTM). Il y a deux composants centraux dans cette génération HTM : un algorithme de regroupement spatial, qui produit des représentations distribuées éparses (SDR), et un algorithme de mémoire de séquence, qui apprend à représenter et prédire des séquences complexes.
Dans cette nouvelle génération, les couches et les minicolonnes du cortex cérébral sont abordées et partiellement modélisées. Chaque couche HTM (à ne pas confondre avec un niveau HTM d'une hiérarchie HTM, comme décrit ci-dessus) consiste en un certain nombre de minicolonnes hautement interconnectées. Une couche HTM crée une représentation distribuée éparse à partir de son entrée, de sorte qu'un nombre fixe de bits est actif pour toute entrée donnée. Cette représentation est ensuite alimentée dans la mémoire de séquence, qui apprend les transitions entre les motifs au fil du temps. La mémoire de séquence utilise une forme de dynamique neuronale inspirée des neurones pyramidaux, y compris les dendrites distales et la plasticité synaptique.
Applications et implémentations
La HTM a été testée et implémentée en logiciel à travers des exemples d'applications de Numenta et quelques applications commerciales des partenaires de Numenta. Le cas d'utilisation commercial principal est la détection d'anomalies dans les données en flux continu, telles que les métriques de serveur, les transactions financières ou les lectures de capteurs. La capacité de la HTM à apprendre en continu sans données étiquetées la rend adaptée à la détection de motifs inhabituels dans les systèmes en temps réel. Numenta a publié des implémentations open source, y compris la bibliothèque NuPIC (Numenta Platform for Intelligent Computing), qui fournit des outils pour construire des systèmes basés sur la HTM. Bien que moins largement adoptée que les approches de Deep learning, la HTM a été utilisée dans des applications de niche où l'apprentissage en ligne et la robustesse au bruit sont critiques.
Relation avec d'autres approches d'IA
La HTM diffère fondamentalement des méthodes d'Artificial intelligence dominantes telles que le Deep learning et les modèles basés sur Transformer (architecture). L'apprentissage profond nécessite généralement de grandes quantités de données étiquetées et un entraînement hors ligne, tandis que la HTM apprend en continu de manière non supervisée. Les transformeurs, qui alimentent les grands modèles de langage, reposent sur des mécanismes d'attention et ne sont pas inspirés biologiquement de la même manière. L'accent de la HTM sur les séquences temporelles et la structure hiérarchique s'aligne plus étroitement avec les théories de la computation neuronale dans le cerveau. Cependant, la HTM n'a pas atteint le même niveau de succès commercial que l'apprentissage profond, et son évolutivité à des tâches complexes comme le traitement du langage naturel reste limitée. Les chercheurs d'institutions telles que numenta (l'entreprise) continuent de développer la théorie, mais la HTM reste un domaine de niche au sein du Machine learning.