Hierarchisches temporales Gedächtnis (HTM) ist eine biologisch eingeschränkte Technologie der maschinellen Intelligenz, die von Numenta entwickelt wurde. Ursprünglich im Jahr 2004 im Buch On Intelligence von Jeff Hawkins mit Sandra Blakeslee beschrieben, wird HTM heute hauptsächlich zur Anomalieerkennung in Streaming-Daten eingesetzt. Die Technologie basiert auf Neurowissenschaften sowie der Physiologie und Interaktion von Pyramidenneuronen im Neokortex des Säugetiergehirns (insbesondere des menschlichen Gehirns).
Im Kern von HTM stehen Lernalgorithmen, die hochrangige Sequenzen speichern, lernen, ableiten und abrufen können. Im Gegensatz zu den meisten anderen Methoden des maschinellen Lernens lernt HTM kontinuierlich (in einem unüberwachten Prozess) zeitbasierte Muster in unbeschrifteten Daten. HTM ist robust gegenüber Rauschen und hat eine hohe Kapazität (es kann mehrere Muster gleichzeitig lernen). Bei der Anwendung auf Computer ist HTM gut geeignet für Vorhersage, Anomalieerkennung, Klassifikation und letztendlich sensomotorische Anwendungen.
Struktur und Algorithmen
Ein typisches HTM-Netzwerk ist eine baumförmige Hierarchie von Ebenen (nicht zu verwechseln mit den „Schichten" des Neokortex, wie unten beschrieben). Diese Ebenen bestehen aus kleineren Elementen, die als Regionen (oder Knoten) bezeichnet werden. Eine einzelne Ebene in der Hierarchie kann mehrere Regionen enthalten. Höhere Hierarchieebenen haben oft weniger Regionen. Höhere Hierarchieebenen können Muster, die auf niedrigeren Ebenen gelernt wurden, wiederverwenden, indem sie sie kombinieren, um komplexere Muster zu speichern.
Jede HTM-Region hat die gleiche grundlegende Funktion. Im Lern- und Inferenzmodus gelangen sensorische Daten (z. B. Daten von den Augen) in die unteren Ebenen. Im Generierungsmodus geben die unteren Ebenen das generierte Muster einer bestimmten Kategorie aus. Die oberste Ebene hat normalerweise eine einzelne Region, die die allgemeinsten und dauerhaftesten Kategorien (Konzepte) speichert; diese bestimmen oder werden bestimmt durch kleinere Konzepte auf niedrigeren Ebenen - Konzepte, die zeitlich und räumlich begrenzter sind. Wenn eine Region (auf jeder Ebene) in den Inferenzmodus versetzt wird, interpretiert sie Informationen, die von ihren „Kind"-Regionen aufsteigen, als Wahrscheinlichkeiten der Kategorien, die sie im Speicher hat.
Jede HTM-Region lernt, indem sie räumliche Muster identifiziert und speichert - Kombinationen von Eingabebits, die oft gleichzeitig auftreten. Anschließend identifiziert sie zeitliche Sequenzen räumlicher Muster, die wahrscheinlich nacheinander auftreten.
Als sich entwickelndes Modell
HTM ist die algorithmische Komponente von Jeff Hawkins' Tausend-Gehirne-Theorie der Intelligenz. Neue Erkenntnisse über den Neokortex werden fortschreitend in das HTM-Modell integriert, das sich im Laufe der Zeit entsprechend ändert. Die neuen Erkenntnisse machen frühere Teile des Modells nicht unbedingt ungültig, sodass Ideen aus einer Generation nicht unbedingt in der nächsten ausgeschlossen werden. Aufgrund der sich entwickelnden Natur der Theorie gab es mehrere Generationen von HTM-Algorithmen, die unten kurz beschrieben werden.
Erste Generation: Zeta 1
Die erste Generation von HTM-Algorithmen wird manchmal als Zeta 1 bezeichnet.
#### Training
Während des Trainings erhält ein Knoten (oder eine Region) eine zeitliche Sequenz räumlicher Muster als Eingabe. Der Lernprozess besteht aus zwei Phasen:
Das räumliche Pooling identifiziert (in der Eingabe) häufig beobachtete Muster und speichert sie als „Koinzidenzen". Muster, die sich signifikant ähneln, werden als dieselbe Koinzidenz behandelt. Eine große Anzahl möglicher Eingabemuster wird auf eine überschaubare Anzahl bekannter Koinzidenzen reduziert.
Das zeitliche Pooling unterteilt Koinzidenzen, die in der Trainingssequenz wahrscheinlich aufeinander folgen, in zeitliche Gruppen. Jede Gruppe von Mustern repräsentiert eine „Ursache" des Eingabemusters (oder „Namen" in On Intelligence).
Die Konzepte des räumlichen und zeitlichen Poolings sind in den aktuellen HTM-Algorithmen weiterhin sehr wichtig. Das zeitliche Pooling ist noch nicht gut verstanden, und seine Bedeutung hat sich im Laufe der Zeit geändert (als sich die HTM-Algorithmen weiterentwickelten).
#### Inferenz
Während der Inferenz berechnet der Knoten die Menge von Wahrscheinlichkeiten, dass ein Muster zu jeder bekannten Koinzidenz gehört. Dann berechnet er die Wahrscheinlichkeiten, dass die Eingabe jede zeitliche Gruppe repräsentiert. Die Menge von Wahrscheinlichkeiten, die den Gruppen zugewiesen wird, wird als „Überzeugung" des Knotens über das Eingabemuster bezeichnet. (In einer vereinfachten Implementierung besteht die Überzeugung des Knotens nur aus einer gewinnenden Gruppe). Diese Überzeugung ist das Ergebnis der Inferenz, das an einen oder mehrere „Eltern"-Knoten auf der nächsthöheren Ebene der Hierarchie weitergegeben wird.
„Unerwartete" Muster für den Knoten haben keine dominante Wahrscheinlichkeit, zu einer einzigen zeitlichen Gruppe zu gehören, sondern nahezu gleiche Wahrscheinlichkeiten, zu mehreren der Gruppen zu gehören. Wenn Sequenzen von Mustern den Trainingssequenzen ähnlich sind, ändern sich die zugewiesenen Wahrscheinlichkeiten der Gruppen nicht so oft, wie Muster empfangen werden. Die Ausgabe des Knotens ändert sich nicht so stark, und eine Auflösung in der Zeit geht verloren.
In einem allgemeineren Schema kann die Überzeugung des Knotens an die Eingabe eines beliebigen Knotens (oder mehrerer Knoten) auf jeder Ebene gesendet werden, aber die Verbindungen zwischen den Knoten bleiben fest. Der höherrangige Knoten kombiniert diese Ausgabe mit der Ausgabe anderer Kind-Knoten und bildet so sein eigenes Eingabemuster.
Da die Auflösung in Raum und Zeit in jedem Knoten wie oben beschrieben verloren geht, repräsentieren Überzeugungen, die von höherrangigen Knoten gebildet werden, einen noch größeren Bereich von Raum und Zeit. Dies soll die Organisation der physischen Welt widerspiegeln, wie sie vom menschlichen Gehirn wahrgenommen wird. Größere Konzepte (z. B. Ursachen, Handlungen und Objekte) werden als sich langsamer ändernd wahrgenommen und bestehen aus kleineren Konzepten, die sich schneller ändern. Jeff Hawkins postuliert, dass Gehirne diese Art von Hierarchie entwickelt haben, um die Organisation der externen Welt zu matchen, vorherzusagen und zu beeinflussen.
Weitere Details zur Funktionsweise von Zeta 1 HTM finden sich in der alten Dokumentation von Numenta.
Zweite Generation: Kortikale Lernalgorithmen
Die zweite Generation von HTM-Lernalgorithmen, oft als kortikale Lernalgorithmen (CLA) bezeichnet, unterschied sich drastisch von Zeta 1. Sie stützt sich auf eine Datenstruktur namens sparse distributed representations (d. h. eine Datenstruktur, deren Elemente binär sind, 1 oder 0, und deren Anzahl von 1-Bits im Vergleich zur Anzahl von 0-Bits klein ist), um die Gehirnaktivität zu repräsentieren, sowie auf ein biologisch realistischeres Neuronmodell (im Kontext von HTM oft auch als Zelle bezeichnet). Es gibt zwei Kernkomponenten in dieser HTM-Generation: einen räumlichen Pooling-Algorithmus, der sparse distributed representations (SDR) ausgibt, und einen Sequenzspeicher-Algorithmus, der lernt, komplexe Sequenzen zu repräsentieren und vorherzusagen.
In dieser neuen Generation werden die Schichten und Minikolumnen des zerebralen Kortex adressiert und teilweise modelliert. Jede HTM-Schicht (nicht zu verwechseln mit einer HTM-Ebene einer HTM-Hierarchie, wie oben beschrieben) besteht aus einer Anzahl stark verbundener Minikolumnen. Eine HTM-Schicht erzeugt eine sparse distributed representation aus ihrer Eingabe, sodass eine feste Anzahl von Bits für jede gegebene Eingabe aktiv ist. Diese Repräsentation wird dann dem Sequenzspeicher zugeführt, der Übergänge zwischen Mustern über die Zeit lernt. Der Sequenzspeicher verwendet eine Form von neuronaler Dynamik, die von Pyramidenneuronen inspiriert ist, einschließlich distaler Dendriten und synaptischer Plastizität.
Anwendungen und Implementierungen
HTM wurde in Software getestet und implementiert durch Beispielanwendungen von Numenta und einige kommerzielle Anwendungen von Numentas Partnern. Der primäre kommerzielle Anwendungsfall ist die Anomalieerkennung in Streaming-Daten, wie Servermetriken, Finanztransaktionen oder Sensorablesungen. HTMs Fähigkeit, kontinuierlich ohne beschriftete Daten zu lernen, macht es geeignet, ungewöhnliche Muster in Echtzeitsystemen zu erkennen. Numenta hat Open-Source-Implementierungen veröffentlicht, einschließlich der NuPIC-Bibliothek (Numenta Platform for Intelligent Computing), die Werkzeuge zum Aufbau von HTM-basierten Systemen bereitstellt. Obwohl nicht so weit verbreitet wie Deep-Learning-Ansätze, wurde HTM in Nischenanwendungen eingesetzt, in denen Online-Lernen und Rauschrobustheit entscheidend sind.
Beziehung zu anderen KI-Ansätzen
HTM unterscheidet sich grundlegend von gängigen Methoden der künstlichen Intelligenz wie Deep Learning und Transformer-basierten Modellen. Deep Learning erfordert typischerweise große Mengen beschrifteter Daten und Offline-Training, während HTM kontinuierlich in einem unüberwachten Modus lernt. Transformer, die große Sprachmodelle antreiben, basieren auf Aufmerksamkeitsmechanismen und sind nicht auf dieselbe Weise biologisch inspiriert. HTMs Fokus auf zeitliche Sequenzen und hierarchische Struktur stimmt enger mit Theorien der neuronalen Berechnung im Gehirn überein. Allerdings hat HTM nicht den gleichen kommerziellen Erfolg wie Deep Learning erzielt, und seine Skalierbarkeit auf komplexe Aufgaben wie die Verarbeitung natürlicher Sprache bleibt begrenzt. Forscher an Institutionen wie Numenta (dem Unternehmen) entwickeln die Theorie weiter, aber HTM bleibt ein Nischenbereich innerhalb des maschinellen Lernens.