Episodic Memory
Yapay zekâda epizodik bellek, bir ajanın bağlamıyla birlikte belirli geçmiş deneyimlerini saklar ve daha sonra bunları getirir; RL yeniden oynatımından LLM ajan belleğine kadar kullanılır.
Yapay zekâda epizodik bellek, bir ajanın geçmişte yaşadığı belirli deneyimlerin, ne olduğu, nerede ve ne zaman gerçekleştiği bağlamıyla birlikte saklandığı bir depodur. Ajan, mevcut bir karara yön vermek için bu deneyimleri sonradan arar. Terim psikolojiden gelir: Endel Tulving, 1972'de kişisel olayların hatırlanması olan epizodik bellek ile gerçeklere ilişkin genel bilgileri içeren anlamsal belleği birbirinden ayırdı. Yapay zekâda epizodik bellek, ajanın çalışırken yazdığı harici bir depo biçimindedir: pekiştirmeli öğrenme ajanları geçmiş geçişleri ve getirileri saklar, dil modelleri üzerine kurulu yapay zekâ ajanları önceki konuşmaların ve eylemlerin kayıtlarını tutar, robotlar ile giyilebilir asistanlar da kameralarının gördüklerini kaydeder.
Epizodik, Anlamsal ve Prosedürel Bellek#
Eğitilmiş bir sinir ağı, genel bilgiyi model ağırlıklarında saklar; bu ağırlıklar yalnızca eğitim sırasında değişir. Bu nedenle dünden belirli bir olayı hatırlamak için çalışma zamanında yazılabilen ayrı bir depolama alanı gerekir. Theodore Sumers, Shunyu Yao, Karthik Narasimhan ve Thomas Griffiths'in 2023'te önerdiği Dil Ajanları için Bilişsel Mimariler (CoALA) çerçevesi, psikolojik kategorileri büyük dil modeli (LLM) ajanlarına uyarlar. Çalışma belleği mevcut istemdir, epizodik bellek ajanın geçmiş deneyimlerini, anlamsal bellek dünya hakkındaki bilgileri, prosedürel bellek ise becerileri model ağırlıkları ve ajan kodu biçiminde tutar.
Epizodik belleğe sahip bir ajan her adımda bu bellekten okur ve belleğe yazar:
Pekiştirmeli Öğrenmede Epizodik Bellek#
Long-Ji Lin'in 1992'de ortaya koyduğu deneyim yineleme, en basit epizodik depolama yöntemidir: Ajan geçişlerini kaydeder ve rastgele örnekler üzerinden eğitim yapar. Atari oyunlarını oynamayı 2015'te öğrenen DQN ajanı, en son 1 milyon geçişi sakladı. Epizodik denetim, depoyu doğrudan eylem seçmek için kullanır. Charles Blundell ve DeepMind'daki çalışma arkadaşlarının 2016'da geliştirdiği Model-Free Episodic Control, her durum ve eylemden elde edilen en iyi getiriyi kaydetti ve yeni durumların değerini bellekteki en yakın komşularından tahmin etti; böylece eğitimin ilk aşamalarında DQN'den daha hızlı öğrendi. DeepMind'ın Never Give Up ajanı (2020), o anki bölüm belleğinde saklanan tüm durumlardan uzak durumlara ulaştığı için kendini ödüllendirir. Bu keşif bonusu, onun halefi Agent57'nin 57 Atari oyununun tümünde insan kıyaslama düzeyini aşan ilk derin pekiştirmeli öğrenme ajanı olmasına yardımcı oldu.
LLM Ajanlarında Epizodik Bellek#
Bir dil modeli yalnızca bağlam penceresine sığan bilgileri hatırlar. Bu nedenle uzun süre çalışan ajanlar deneyimlerini harici bir depoya yazar ve ilgili olanları isteme geri getirir. UIST 2023'te sunulan Generative Agents çalışmasında Joon Sung Park ve Stanford ile Google'daki çalışma arkadaşları, 25 simüle karaktere doğal dilde gözlemlerden oluşan bir bellek akışı verdi. Her bellek üç ölçüte göre puanlanır: En son geri getirildiği andan bu yana oyun saatinde her saat için 0.995 katsayısıyla üstel olarak azalan güncellik; dil modelinin atadığı 1 ile 10 arasında bir tamsayı olan önem; ve bellek gömümü ile sorgununki arasındaki kosinüs benzerliği. Üç puan min-maks normalleştirmesinden geçirilir ve eşit ağırlıklarla toplanır.
Bu örnek, bir ev robotunun anılarına söz konusu puanlama yöntemini uygular ve all-MiniLM-L6-v2 cümle gömme modelini kullanır:
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]}")Koridordaki görme olayı 2.44 puanla ilk sırada yer alır; mutfak tezgâhındaki görme olayı ise 1.89 puan alır. Eski bellek soruyla az da olsa daha benzer olsa da puanı düşüktür (0.70'e karşı 0.71). Güncellik bu iki bellek arasındaki farkı belirler; dolayısıyla robot anahtarları en son nerede gördüğünü bildirir. Noah Shinn ve çalışma arkadaşlarının 2023'te geliştirdiği Reflexion, ajanın başarısız denemeleri üzerine kendi yazdığı değerlendirmeleri epizodik bir arabellekte sakladı ve HumanEval kodlama kıyaslamasında GPT-4'ün %80'ine karşı %91 pass@1 sonucuna ulaştı.
Video ve Bedensel Ajanlarda Epizodik Bellek#
Bedensel yapay zekâ ve giyilebilir kameralar için epizodik bellek, kameranın daha önce gördükleri hakkındaki soruları yanıtlamak anlamına gelir. Meta ve üniversite ortaklarının 2021'de yayımladığı Ego4D veri kümesi, 9 ülkede ve 74 konumda kamera takan 931 kişiden elde edilen 3.670 saatlik birinci şahıs videosu içerir; ayrıca "Anahtarlarımı nereye koydum?" gibi sorular üzerine kurulu bir epizodik bellek kıyaslaması sunar. Görevleri, doğal dilde bir soruyu yanıtlayan video anını bulmayı, referans görüntüsünde gösterilen bir nesnenin son göründüğü yeri tespit etmeyi ve bir etkinliğin tüm örneklerini bulmayı kapsar. Ultralytics paketinde VisualAISearch, bir klasördeki her görüntüyü CLIP ile gömer ve görüntüleri metin sorgusuna göre kosinüs benzerliğiyle sıralar. Bu, robot kamerasından kaydedilmiş kareler için böyle bir belleğin ilgi düzeyini belirleme adımıdır.
Epizodik Bellek ve İlgili Terimler#
- Bellek bankası: Bir modelin kendi hesaplamalarında kullanması için karşıt negatifler, geçmiş video kareleri veya normal görüntü yamaları gibi vektörleri saklar. Epizodik bellek ise bir ajanın kararlarına yön vermek için deneyimlerini saklar.
- Geri getirmeyle zenginleştirilmiş üretim (RAG): Bir modelin yanıtlarını temellendirmek için harici belgelerden bölümler getirir. Epizodik bellek, aynı geri getirme mekanizmasını ajanın kendi geçmişine uygular.
- Vektör veri tabanı: Üretim ortamındaki ajanların epizodik anılarını çoğunlukla barındıran depolama ve benzerlik arama katmanı.
- Sürekli öğrenme: Eski görevleri felaket düzeyinde unutmadan yeni görevler öğrenir; bunu çoğu zaman saklanan örnekleri yeniden oynatarak yapar. David Lopez-Paz ve Marc'Aurelio Ranzato'nun 2017'de geliştirdiği Gradient Episodic Memory (GEM), önceki her görevden az sayıda örneği saklar ve bu örneklerdeki kaybın artmamasını sağlamak için her güncellemeyi kısıtlar.










