Episodic Memory
Das episodische Gedächtnis in der KI speichert bestimmte frühere Erlebnisse eines Agenten samt Kontext und ruft sie später wieder ab – vom Replay im RL bis zum Agentengedächtnis in LLMs.
Das episodische Gedächtnis in der künstlichen Intelligenz speichert die konkreten Erlebnisse eines Agenten. Jedes Erlebnis wird zusammen mit seinem Kontext festgehalten: was, wo und wann geschehen ist. Der Agent kann später darin suchen, um eine aktuelle Entscheidung zu treffen. Der Begriff stammt aus der Psychologie. Endel Tulving unterschied 1972 zwischen dem episodischen Gedächtnis für persönliche Erlebnisse und dem semantischen Gedächtnis für allgemeines Faktenwissen. In der KI ist das episodische Gedächtnis ein externer Speicher, in den ein Agent während der Ausführung schreibt: Bestärkendes Lernen speichert vergangene Übergänge und Erträge, auf Sprachmodellen basierende KI-Agenten speichern frühere Gespräche und Aktionen, und Roboter sowie tragbare Assistenten protokollieren, was ihre Kameras erfasst haben.
Episodisches, semantisches und prozedurales Gedächtnis#
Ein trainiertes neuronales Netz speichert allgemeines Wissen in seinen Modellgewichten, die sich nur während des Trainings ändern. Um sich an ein bestimmtes Ereignis von gestern zu erinnern, braucht es daher einen separaten Speicher, in den zur Laufzeit geschrieben werden kann. Das von Theodore Sumers, Shunyu Yao, Karthik Narasimhan und Thomas Griffiths 2023 vorgeschlagene Framework Cognitive Architectures for Language Agents (CoALA) überträgt psychologische Kategorien auf Agenten mit großen Sprachmodellen (LLMs). Das Arbeitsgedächtnis ist der aktuelle Prompt, das episodische Gedächtnis enthält die Erlebnisse des Agenten, das semantische Gedächtnis enthält Fakten über die Welt und das prozedurale Gedächtnis enthält Fähigkeiten in Form von Modellgewichten und Agentencode.
Ein Agent mit episodischem Gedächtnis liest und schreibt bei jedem Schritt darin:
Episodisches Gedächtnis beim bestärkenden Lernen#
Experience Replay, 1992 von Long-Ji Lin eingeführt, ist der einfachste episodische Speicher: Der Agent speichert seine Übergänge und trainiert mit zufälligen Stichproben daraus. Der DQN-Agent, der 2015 Atari-Spiele spielen lernte, behielt die letzte Million Übergänge. Episodische Steuerung nutzt den Speicher, um direkt zu handeln. Model-Free Episodic Control von Charles Blundell und Kollegen bei DeepMind aus dem Jahr 2016 speicherte den höchsten jemals erzielten Ertrag für jeden Zustand und jede Aktion. Den Wert neuer Zustände schätzte es anhand ihrer nächsten Nachbarn im Speicher. Dadurch lernte es zu Beginn des Trainings schneller als DQN. DeepMinds Agent Never Give Up (2020) belohnt sich selbst dafür, Zustände zu erreichen, die weit von allen Einträgen im Speicher der aktuellen Episode entfernt sind. Dieser Erkundungsbonus trug dazu bei, dass sein Nachfolger Agent57 als erster Agent für tiefes bestärkendes Lernen den menschlichen Vergleichswert in allen 57 Atari-Spielen übertraf.
Episodisches Gedächtnis in LLM-Agenten#
Ein Sprachmodell erinnert sich nur an das, was in sein Kontextfenster passt. Daher schreiben Agenten mit langer Laufzeit ihre Erlebnisse in einen externen Speicher und rufen die relevanten Einträge in den Prompt ab. In Generative Agents, vorgestellt auf der UIST 2023, gaben Joon Sung Park und Kollegen von Stanford und Google 25 simulierten Figuren einen Gedächtnisstrom aus natürlichsprachlichen Beobachtungen. Jedes Gedächtniselement wird nach Aktualität bewertet – einem exponentiellen Abfall mit dem Faktor 0,995 pro Spielstunde seit dem letzten Abruf –, nach Wichtigkeit – einer vom Sprachmodell vergebenen Ganzzahl von 1 bis 10 – und nach Relevanz, dem Kosinusähnlichkeitswert zwischen dem Embedding des Gedächtniselements und dem der Anfrage. Die drei Werte werden per Min-Max-Normalisierung skaliert und mit gleicher Gewichtung addiert.
Dieses Beispiel wendet die Bewertung auf die Erinnerungen eines Haushaltsroboters an und verwendet dafür das Satz-Embedding-Modell all-MiniLM-L6-v2:
import numpy as np
from sentence_transformers import SentenceTransformer
# Episodic memories of a home robot: what happened, hours since last recalled, importance from 1 to 10
memories = [
("Saw the car keys on the kitchen counter", 30, 5),
("Charged the battery at the docking station", 2, 2),
("Watered the plants in the living room", 5, 3),
("Saw the car keys in the coat pocket in the hallway", 4, 5),
("The user said the back door sticks when it rains", 50, 8),
]
texts, hours, importance = zip(*memories)
model = SentenceTransformer("all-MiniLM-L6-v2")
query = model.encode("Where are my car keys?", normalize_embeddings=True)
relevance = model.encode(list(texts), normalize_embeddings=True) @ query # cosine similarity to the query
recency = 0.995 ** np.array(hours) # exponential decay per hour
# Generative Agents retrieval: min-max normalize each signal to 0-1, then add them with equal weights
signals = [recency, np.array(importance, dtype=float), relevance]
score = sum((s - s.min()) / (s.max() - s.min()) for s in signals)
for i in np.argsort(-score)[:3]:
print(f"score {score[i]:.2f}, relevance {relevance[i]:.2f}: {texts[i]}")Die Sichtung im Flur liegt mit einem Wert von 2,44 an erster Stelle, vor der Sichtung auf der Küchentheke mit 1,89, obwohl die ältere Erinnerung der Frage etwas ähnlicher ist (0,71 gegenüber 0,70). Die Aktualität trennt die beiden Einträge. Daher meldet der Roboter, wo er die Schlüssel zuletzt gesehen hat. Reflexion von Noah Shinn und Kollegen aus dem Jahr 2023 speichert die schriftlichen Selbstreflexionen eines Agenten über gescheiterte Versuche in einem episodischen Puffer und erzielte beim Programmier-Benchmark HumanEval 91 % pass@1, gegenüber 80 % für GPT-4.
Episodisches Gedächtnis in Video- und verkörperten Agenten#
Bei verkörperter KI und tragbaren Kameras bedeutet episodisches Gedächtnis, Fragen dazu beantworten zu können, was eine Kamera zuvor erfasst hat. Der 2021 von Meta und Universitätspartnern veröffentlichte Datensatz Ego4D umfasst 3.670 Stunden Ich-Perspektiv-Video von 931 Kameraträgern an 74 Orten in 9 Ländern und enthält einen Benchmark für episodisches Gedächtnis mit Fragen wie „Wo habe ich meine Schlüssel hingelegt?“. Zu den Aufgaben gehören das Auffinden des Videomoments, der eine natürlichsprachliche Frage beantwortet, das Finden des letzten Auftretens eines in einem Referenzbild gezeigten Objekts und das Auffinden aller Vorkommen einer Aktivität. Im Ultralytics-Paket bettet VisualAISearch jedes Bild in einem Ordner mit CLIP ein und ordnet die Bilder anhand der Kosinusähnlichkeit zu einer Textanfrage. Das entspricht dem Relevanzschritt eines solchen Gedächtnisses für Einzelbilder, die von einer Roboterkamera gespeichert wurden.
Episodisches Gedächtnis und verwandte Begriffe#
- Speicherbank: Speichert Vektoren für die Berechnungen eines Modells, etwa kontrastive Negativbeispiele, frühere Videobilder oder normale Bildausschnitte. Das episodische Gedächtnis speichert Erlebnisse eines Agenten, die dessen Entscheidungen beeinflussen.
- Retrieval-Augmented Generation (RAG): Ruft Textpassagen aus externen Dokumenten ab, um die Antworten eines Modells zu fundieren. Das episodische Gedächtnis nutzt denselben Abrufmechanismus für die eigene Vorgeschichte des Agenten.
- Vektordatenbank: Die Speicher- und Ähnlichkeitssuchebene, auf der häufig die episodischen Erinnerungen von Agenten im Produktivbetrieb liegen.
- Kontinuierliches Lernen: Erlernt neue Aufgaben, ohne alte Aufgaben katastrophal zu vergessen, häufig durch erneutes Abspielen gespeicherter Beispiele. Gradient Episodic Memory (GEM) von David Lopez-Paz und Marc'Aurelio Ranzato aus dem Jahr 2017 speichert eine kleine Menge von Beispielen aus jeder früheren Aufgabe und begrenzt jede Aktualisierung so, dass der Verlust für diese Beispiele nicht steigt.










