Как архитектура Neural Interpreters объединяет глубокое обучение и программирование

Yannic Kilcher 15,1 тыс. 1 ч 22 мин 7 мин 21.01.2022
Главное

В области глубокого обучения наметился кризис традиционных монолитных архитектур, не способных к гибкому абстрактному мышлению и адаптации к меняющимся распределениям данных. Известный ИИ-исследователь Янник Килхер (Yannic Kilcher) провёл подробный разбор и интервью с авторами прорывной научной работы «Dynamic Inference with Neural Interpreters» — Валидом Гондалом (Walid Gondal), Насимом Рахаманом (Nasim Rahaman) и Франческо Локателло (Francesco Locatello). Учёные предложили принципиально новый взгляд на нейросети, превратив их вычислительные элементы в динамически компонуемые модули, полностью аналогичные функциям в традиционном программировании.

🧠 Новая парадигма: Нейросети как интерпретаторы кода 1:06

Традиционный подход к созданию нейросетей опирается на статическую структуру вычислений, где каждый токен проходит через строго фиксированный набор слоёв. В новой работе исследователи представляют архитектуру под названием Neural Interpreters (Нейронные интерпретаторы), способную реализовать концепцию динамического инференса. Вдохновением для проекта послужили фундаментальные принципы разработки программного обеспечения, где сложные задачи решаются путём декомпозиции на абстрактные функции и модульные компоненты.

По словам Насима Рахамана, идея родилась во время его работы в исследовательской группе Бернарда Шёлькопфа (Bernhard Schölkopf) и под влиянием многолетних дискуссий с Йошуа Бенжио (Yoshua Bengio). Ключевой мотивацией исследователей стало стремление перенести принципы причинно-следственных (каузальных) механизмов в архитектуру нейросетей, разбив модель на систему независимо взаимодействующих модулей. Создатели заметили прямую аналогию между работой программиста, переиспользующего функции кода, и необходимым поведением адаптивного искусственного интеллекта.

Хотя концептуально система напоминает архитектуру Transformer, её внутренние процессы организованы иначе. Модель не претендует на то, чтобы немедленно побить рекорды точности (state-of-the-art) в стандартных бенчмарках вроде ImageNet. Её главное преимущество — способность к экстраполяции, логической обработке информации и абстрактному рассуждению в условиях жесткого сдвига распределения данных (distribution shift) или при крайнем дефиците обучающей выборки. На вход такой сети подаётся стандартная последовательность токенов — например, визуальные эмбеддинги, текстовые фрагменты или звуковые паттерны.

🏗️ Архитектура системы: Скрипты, функции и «код» 3:32

Вместо привычной стопки чередующихся слоёв внимания и многослойных перцептронов (MLP) в трансформере, Neural Interpreters вводит иерархическую структуру вычислений. Модель состоит из последовательности так называемых «скриптов» (scripts), каждый из которых объединяет группу независимых вычислительных блоков — «функций» (functions). Скрипты изолированы друг от друга, что позволяет разделять параметры на разных уровнях абстракции: например, ранние слои могут специализироваться на базовой обработке сигналов, а поздние — на высокоуровневой логике.

Внутри одного скрипта сосуществуют параллельные функции (например, $f_1, f_2, f_3$), которые представляют собой независимые модули. Уникальность архитектуры заключается в глубоком переиспользовании параметров:

Математически это разделение реализовано через модулируемые линейные слои (ModLin — Modulated Linear Layers). Обычная линейная операция вида $W \cdot x + b$ модифицируется: входной токен $x$ подвергается поэлементному умножению (адаптации) на проекцию вектора кода $c$, предварительно прошедшего через нормализацию слоёв (LayerNorm). Проекционная матрица для кода $W_c$ также является общей для всего скрипта. На базе ModLin-слоёв строятся как внутренние блоки MLP, так и модифицированные механизмы внимания (ModAttention) для расчёта векторов ключей, запросов и значений.

Связка из одного слоя внимания и MLP образует «строку кода» (line of code). Важнейший элемент динамики — рекуррентное применение скрипта. Модель способна циклически прогонять данные через одни и те же функции до 8 раз (в некоторых тестах — до 16 раз) в глубину. Это позволяет наращивать вычислительную мощность и глубину сети без физического увеличения числа её параметров. Исследователи успешно обучали крупные конфигурации, содержащие два скрипта по 8 рекуррентных итераций в каждом, а также проверяли схемы формата 2-2-2 и 8-1-1.

🔀 Динамическая маршрутизация и борьба с «читерством» 9:39

Токены распределяются по функциям не статически, а на основе механизма разреженной динамической маршрутизации (sparse routing). Каждый токен направляется лишь в некоторые модули, что обеспечивает свойство разреженности. На каждом шаге рекурсии таблица маршрутизации пересчитывается заново.

Процесс выбора функции напоминает инвертированный механизм внимания:

  1. Каждый токен пропускается через двухслойный перцептрон классификации типов (type inference MLP), который генерирует эмбеддинг типа $t$.
  2. Каждая функция экспонирует свой индивидуальный вектор-сигнатуру $s$ (signature), определяющий, какие типы данных она способна обработать.
  3. Вычисляется скалярное произведение векторов $t$ и $s$, после чего применяется операция Softmax для получения распределения вероятностей маршрутизации.

Как отмечает Янник Килхер, нейронные сети склонны «читерить» во время градиентного спуска. В данной архитектуре это проявляется в риске коллапса сигнатур: сеть стремится сблизить все векторы $s$, чтобы распределять каждый токен вообще во все функции одновременно, так как на этапе обучения это даёт сиюминутное снижение лосса. Однако такое поведение полностью разрушает модульность и лишает модель способности к генерализации.

Для решения этой проблемы авторы экспериментировали с функцией отталкивания (hinge repulsion loss), которая принудительно разводила сигнатуры в пространстве. В конечном счёте они пришли к более простому и элегантному решению — зафиксировать (заморозить) векторы сигнатур $s$ после их равномерной инициализации. Поскольку MLP вывода типов сохраняет обучаемость, он успешно берёт на себя всю задачу по подстройке под фиксированные сигнатуры.

Франческо Локателло и Валид Гондал подробно описали компромисс при настройке гиперпараметров разреженности. Если задать чрезмерную разреженность, обучение становится нестабильным и может легко разойтись (diverge). Если же разреженность недостаточна, модель теряет адаптационные свойства. По мнению авторов, наилучшие результаты достигаются на «грани хаоса» (edge of chaos) — в узком диапазоне параметров, где балансируют стабильность обучения и экстремальная модульность. Анализ скрытых состояний показал, что по мере прохождения рекуррентных итераций эмбеддинги типов токенов начинают чётко кластеризоваться, постепенно обретая свою логическую идентичность.

🧪 Эксперименты: От нечёткой логики до абстрактного рассуждения 18:21

Для верификации своих гипотез команда провела серию экспериментов как на искусственных, так и на реальных данных. Первым серьёзным испытанием стало обучение модели нечётким булевым выражениям (fuzzy boolean expressions), где логические операции И, ИЛИ, НЕ оперируют непрерывными вещественными числами. Модель успешно обучили базовым логическим правилам.

Затем авторы провели уникальный эксперимент по трансферному обучению (transfer learning): они попытались заставить сеть решать новые, не виденные ранее логические формулы (например, исключающее ИЛИ — XOR), изменяя строго параметры маршрутизации и оставляя веса самих функций нетронутыми. По мнению авторов, успех этого эксперимента доказывает, что Neural Interpreters действительно формирует фундаментальные и универсальные примитивы логики, которые можно комбинировать для решения новых задач без переобучения вычислительных ядер.

Вторым важным тестом стало решение матриц абстрактного рассуждения (по типу Прогрессивных матриц Равена). Эта задача требует от ИИ выявления скрытых логических закономерностей (например, геометрических трансформаций, сохранения количества или пересечения фигур) между панелями изображений и выбора правильного ответа из предложенных вариантов. Франческо Локателло признался, что для него эта задача кажется удивительно сложной и человеку порой приходится долго всматриваться в паттерны, однако Neural Interpreters демонстрирует способность экстраполировать выявленные правила на новые типы отношений, которые отсутствовали в обучающей выборке.

Чтобы доказать реальную динамику вычислений и опровергнуть скептиков, авторы опубликовали в статье график прохождения токенов через граф сети. Этот визуальный анализ подтвердил, что разные образцы (сэмплы) данных выстраивают абсолютно уникальные траектории внутри набора функций, доказывая, что сеть не скатывается к монолитному исполнению.

🔋 «Умные батарейки»: Манипуляции с вычислениями на этапе инференса 1:09:30

Пожалуй, самым интригующим свойством Neural Interpreters является концепция «умных батареек» (smart batteries), предложенная Валидом Гондалом. Поскольку модель строго модульна, параметры вычислений можно динамически изменять непосредственно на этапе инференса (тестирования) без какого-либо дополнительного обучения или обновления весов.

Авторы продемонстрировали два уникальных режима манипуляции вычислительным графом:

Такое поведение открывает путь к условному инференсу (conditional compute) под жесткие аппаратные ограничения. Если у мобильного устройства или сервера в данный момент не хватает памяти или ограничены ресурсы процессора, сеть можно мгновенно «урезать» по высоте или ширине, сохранив её базовую работоспособность. Напротив, попытка увеличить число итераций сверх обученного (например, до 16 вместо 8) к росту точности не привела — качество даже немного снизилось, поскольку сеть уже вышла за пределы привычного рабочего режима.

В будущем исследователи видят развитие проекта в плоскости непрерывного обучения (continual learning). По мнению Валида Гондала, в архитектуру можно будет бесконечно подгружать новые модули по мере поступления новых концептов (например, сначала обучить распознаванию цифр, затем животных), замораживая старые коды и тем самым полностью побеждая проблему катастрофического забывания прошлых знаний.

💬 Цитаты

«Как отмечает Янник Килхер, нейронные сети склонны «читерить» во время градиентного спуска»

Янник Килхер 00:00

«Когда вы выкручиваете разреженность на максимум, обучение разваливается, но на грани хаоса происходит магия.»

Насим Рахаман 36:31

«Вы можете удалить функции на этапе инференса, и производительность не рухнет моментально.»

👥 Спикеры
📖 Термины
Neural Interpreters
Нейросетевая архитектура, организующая вычисления в виде динамически вызываемых модулей-функций под управлением общего ядра-интерпретатора.
ModLin (Modulated Linear Layer)
Модулируемый линейный слой, веса которого динамически адаптируются под воздействием внешнего вектора кода.
Type Inference
Процесс вывода логического типа входного токена с помощью нейросети для определения его дальнейшего маршрута вычислений.
Signature Collapse
Сбой в процессе обучения разреженных сетей, при котором механизмы маршрутизации вырождаются, направляя все данные во все модули без разбора.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Neural Interpreters Янник Килхер Валид Гондал Насим Рахаман Франческо Локателло