- BrainTools - https://www.braintools.ru -
Привет, Habr! Я хочу поделиться своим исследовательским проектом – репозиторием memory-is-all-you-need [1]. Это не просто код, а попытка переосмыслить роль памяти [2] в нейронных сетях, вдохновлённая знаменитой статьёй “Attention Is All You Need”. Если трансформеры сделали революцию в обработке последовательностей, то почему бы не сделать то же самое с памятью? Я реализовал архитектуру, где память не пассивный буфер, а активная, самоорганизующаяся система, способная к “сновидениям” и ассоциативному извлечению из памяти. В этой статье я расскажу о сути проекта, его реализации и экспериментах. Если вам интересен когнитивный ИИ, непрерывное обучение [3] или альтернативы scaling’у LLM – читайте дальше!
Я не претендую на то, что мой проект – 100% панацея, надеюсь на адекватную критику и фидбэк. Статья ориентирована на то, чтобы привлечь внимание [4] исследователей к этой теме, найти единомышленников, которым тоже будет интересно исследовать память в трансформерах :)
В современных моделях память – это всего лишь контекстное окно: пассивный буфер токенов, который быстро забывается при длинных последовательностях. Проблемы очевидны:
Забывание [5]: Долгосрочные зависимости теряются.
Масштабирование: Увеличение контекста (до миллионов токенов) требует огромных ресурсов, но не решает проблему абстракции.
Пассивность: Модели не “размышляют” над воспоминаниями, не консолидируют их, как мозг [6] во сне [7].
Мой подход: “Memory Is All You Need” – память как активная инфраструктура. Вдохновлено нейронаукой (правило Хебба: “neurons that fire together, wire together”, STDP – Spike-Timing-Dependent Plasticity) и непрерывным обучением. Цель – создать автономные системы, которые учатся непрерывно, без катастрофического забывания [8] (проблема, когда нейросеть после обучения на новой задаче полностью теряет знания по предыдущим).
Философия проекта: “Intelligence is not defined by how much you can remember, but by what you choose not to forget.”
Ключ – MemNet: комбинация трансформера-контроллера и многослойного банка памяти (MultiHeadMemoryBank).
Hebbian Graph Memory:
Память как дифференцируемый граф: слоты (vectors) связаны матрицей смежности (adjacency matrix).
Обновление связей по STDP: если слоты активируются последовательно, связь усиливается.
Spreading activation: активация “распространяется” по графу для ассоциативного [9] recall (как в мозге).
Neural Memory Synthesis (“Dreaming”):
Периодические фазы “сновидений”: self-attention над слотами памяти без внешнего ввода.
Это консолидирует знания, обнаруживает скрытые связи и абстрагирует представления.
Реализовано как маленький трансформер (MemorySynthesizer).
Meta-Cognitive Addressing:
Динамическая политика чтения: смешивает top-K (точность), uniform (контекст) и random (эксплорация).
Meta-gate (MLP) решает, какую стратегию использовать на основе запроса.
Hallucination-based Learning:
Модель “галлюцинирует” реконструкцию входа из памяти для верификации.
Композитная loss функция: task_loss + hallucination_MSE + sparsity_entropy + utilization_entropy.
Цикл работы:
Perception: Энкодер обрабатывает вход.
Associative Recall: Чтение с spreading activation.
Consolidation: Запись + обновление графа + decay.
Dreaming: Периодический синтез.
Это позволяет модели “выбирать, что не забыть” – фокус на релевантных воспоминаниях.
Репозиторий – это Python-проект на PyTorch, с MIT-лицензией. Структура простая, но модульная для экспериментов.
config.py: Гиперпараметры (slots=128, heads=8, decay_rate=0.99 и т.д.).
model/:
memnet.py: Основной класс MemNet.
memory_bank.py: MultiHeadMemoryBank с read/write, synthesize, update_hebbian_graph.
controller.py: TransformerController для интеграции с памятью.
data/: Синтетические датасеты (CopyDataset, AssociativeRecall, Omniglot).
train.py: Обучение с композитной loss, mixed precision, визуализацией.
utils/visualize.py: Heatmaps внимания, кривые выживания слотов.
demo_comparison.ipynb: Интерактивный ноутбук для сравнения с baseline (см. ниже эксперименты).
Я протестировал на Copy Task: модель видит последовательность из 10 токенов, задержку в 100 токенов и должна скопировать исходную. Это классический тест на долгосрочные зависимости.
Baseline (стандартный трансформер): Достигает ~22% точности – плато с первых эпох. Контекст размывается.
MemNet: Достигает 100% точности после 17-20 эпох. Колебания – из-за aux losses и графа, но в итоге идеально.
Этот проект – шаг к cognitive AI: от scaling’а к интеллектуальной памяти. Он экспериментальный, но модульный – легко расширять (добавьте задачи, улучшите граф).
Призыв к действию: Если вам интересно – поставьте ⭐ на GitHub [1], форкните, внесите вклад (тесты, датасеты, бенчмарки), запустите demo_comparison.ipynb в Colab для тестов.
Что думаете, Habr? Готовы к новой эре памяти в AI? Комментарии приветствуются! 🚀
Автор: Antipozitive
Источник [10]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/24129
URLs in this post:
[1] memory-is-all-you-need: https://github.com/Ant1pozitive/memory-is-all-you-need
[2] памяти: http://www.braintools.ru/article/4140
[3] обучение: http://www.braintools.ru/article/5125
[4] внимание: http://www.braintools.ru/article/7595
[5] Забывание: http://www.braintools.ru/article/3931
[6] мозг: http://www.braintools.ru/parts-of-the-brain
[7] сне: http://www.braintools.ru/article/9809
[8] забывания: http://www.braintools.ru/article/333
[9] ассоциативного: http://www.braintools.ru/article/621
[10] Источник: https://habr.com/ru/articles/983684/?utm_campaign=983684&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.