Проблема катастрофического забывания в ИИ
Катастрофическое забывание лежит в самом центре проблем непрерывного обучения и агентных ИИ. Теперь давайте разберем этот вопрос по порядку. Катастрофическое забывание — явление, при котором ИИ-модель, обучаясь на новых данных или задачам, теряет ранее приобретённые знания и навыки. Модель приходится заново обучать на новом или дополненном наборе данных (датасете), а хотелось бы создать процесс обучения, похожий на то, как обучается человек, который обычно накапливает, пополняет знания, а не меняет их полностью. (Такое у людей тоже бывает – вспомните переход с одной ступени йоги на более высокую – «а теперь забудьте то, чему вас учили раньше». Но это далеко не тривиальный случай.)
Основная причина КЗ в том, что у нейросетевой модели создается единое пространство параметров (параметрическое пространство), а обучение новым задачам изменяет значения весов, которые были важны для старых задач. Проще говоря, в классических нейросетях изоляция задач друг от друга практически отсутствует. Например, распознавание кошек и собак происходит в рамках одной и той же модели. Для агентных ИИ-систем, которые учатся на опыте, взаимодействуют с внешним миром и адаптируются к пользователю, если агент будет забывать пользовательские предпочтения, свои ошибки, проверенные стратегии, его эффективность резко снижается, поэтому КЗ неприемлемо.
ИИ-оптимизация в банковской сфере: реальность или паника?
Как в современных агентных системах борются с катастрофическим забыванием. Разработаны несколько групп методов для борьбы с КЗ.
Методы, основанные на регуляризации. Они заключаются в том, что ограничивается изменение весов, важных для старых задач, то есть веса, критичные для старых задач, «закрепляются», а новые задачи обучаются на оставшемся параметрическом пространстве. Недостаток в том, что эти методы плохо масштабируются, если новых задач много. Один из таких методов, EWC (Elastic Weight Consolidation), был предложен в 2017 году Джеймсом Киркпатриком (James Kirkpatrick) и его коллегами из компании DeepMind. EWC стал одной из первых практически работающих техник непрерывного обучения.
Методы повторного обучения состоят в том, что модель периодически переобучается на старых данных вместе с новыми, при этом необходимо хранить реальные старые примеры, либо модель может сама генерировать примеры старых данных. Методы, основанные на хранении знаний во внешней памяти, а не в весах связей нейронной сети. При этом используется эпизодическая память, графы знаний и векторная память. Эпизодическая память была описана в предыдущей статье.
Здесь стоит поговорить о векторной памяти, когда любая информация (текст, изображение, программный код и т.п.) преобразуется моделью в вектор чисел, который хранится в специальном хранилище – базе данных векторов (векторная БД, vector database). В векторной памяти каждый объект – это векторы размерностью 256–4096 и более, и таких векторов в ней много миллионов и даже миллиардов. При этом каждое число в векторе кодирует какой-то латентный (скрытый) признак. Разумеется, сохранять нужно не всё подряд, а правильно отобрать то, что следует сохранять.
Нужно сказать, что с векторами связано понятие эмбеддингов (embeddings) – это числовые векторные представления данных, которые кодируют смысл, структуру и контекст объектов так, чтобы похожие по смыслу вещи были близки в векторном пространстве. Эмбеддинги позволяют сравнивать смыслы, а не слова, находить похожие объекты, искать знания по контексту. Эмбеддинги позволяют сравнивать смыслы, а не слова, находить похожие объекты, искать знания по контексту. Сами эмбеддинги генерируются нейросетью модели. Поэтому правильнее сказать, что векторная память хранит эмбеддинги.
Запрос пользователя тоже переводится в вектор, для которого система по заданной метрике ищет сходство в БД векторов. Для поиска похожих векторов используются алгоритмы класса ANN (Approximate Nearest Neighbors). Найденные векторы подставляются в контекст модели. Следует отметить, что при этом не гарантируется, что всегда возвращаются только релевантные векторы, поэтому векторную память дополняют модулем самопроверки и оценки, который анализирует результат основного рассуждения, выявляет логические ошибки, оценивает соответствие цели и даёт команду на повторное рассуждение.
Другим дополнением векторной памяти является структурированная память – форма долговременной памяти ИИ, в которой информация хранится в явном, хотя и формализованном виде (схемы, связи, структуры и т.п.), а не как векторы эмбеддингов. Структурированная память компенсирует недостатки векторной памяти, позволяет делать проверяемые выводы, а также обеспечивает контроль вывода и безопасность. Возможны и другие дополнения векторной памяти.
Обобщая, можно сказать, что векторная память – ключевой компонент современных агентных и автономных ИИ-систем.
Наконец, о графах знаний (ГЗ), которые используются совместно с большими языковыми моделями (LLM) и векторной памятью. Это, по нынешним меркам, достаточно давно появившееся понятие. ГЗ состоит из узлов, обозначающих понятия, объекты, людей и т.п., и рёбер, обозначающих типы связей между узлами. Это способ представления знаний в виде сети сущностей и их отношений, который позволяет ИИ хранить факты, связи и причинно-следственные зависимости в явной, проверяемой форме. Таким образом, ГЗ – это структурированная модель мира, которая дает агентным системам точность и проверяемость, но их недостатками являются сложность создания, трудность автоматического обновления и, главное, – ГЗ не охватывают «нечёткие» знания.
ИИ-системы, при построении которых применяются несколько (иногда десятки) самых разных технологий, называются гибридными. Как видим, сейчас наработан целый пласт технологий, необходимых для агентных систем, то есть без гибридности невозможна агентность, а без агентности недостижим так называемый искусственный общий интеллект (AGI).
Однако последние работы в части агентных ИИ показали, что препятствие в виде катастрофического забывания преодолено.