# Синтетическая чашка Петри: Как микро-модели ускоряют поиск нейросетевых архитектур

Источник: https://www.youtube.com/watch?v=4GKCxJQSw-g
Канал: Yannic Kilcher
Опубликовано: 06.06.2020

---

В новом видео известный ИИ-исследователь Янник Кильхер (Yannic Kilcher) подробно разбирает научную статью «Synthetic Petri Dish: A Novel Surrogate Model for Rapid Architecture Search». В центре внимания авторов работы — революционный метод ускорения автоматического поиска нейросетевых архитектур (NAS) с помощью миниатюрных суррогатных моделей и эволюционного отбора на синтетических данных. Этот подход призван кардинально снизить вычислительные затраты, симулируя поведение полноразмерных нейросетей в контролируемых микро-масштабах.

## 🔍 Проблема поиска нейросетевых архитектур (NAS) и традиционные подходы
[[JUMP:0:00]]

Авторами разбираемой статьи выступают известные исследователи в области эволюционных алгоритмов и глубокого обучения: Адитья Равал, Джоэль Леман, Фелипе Петроски Суч, Джефф Клун и Кеннет О. Стенли. Проблема, которую они пытаются решить, заключается в сложности и высокой вычислительной стоимости поиска нейросетевых архитектур (Neural Architecture Search, или NAS). 

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

В качестве примера Янник Кильхер приводит сигмоидальную функцию активации с параметром наклона (температуры) $C$:

$$f(x) = \frac{1}{1 + e^{-cX}}$$

Изменение этого параметра способно радикально поменять поведение всей сети. Полноценный поиск лучшего значения требует тестирования сотен комбинаций.

Традиционный, самый базовый подход к NAS выглядит прямолинейно, но крайне неэффективно:

* Инженер или алгоритм придумывает новую структуру ячейки (например, для рекуррентной сети RNN).
* Эта ячейка интегрируется в большую нейросеть.
* Модель полностью обучается на всем исходном тренировочном наборе данных.
* Проводится оценка качества на валидационной выборке, и архитектура получает условный балл (например, 8 из 10).
* Затем в структуру вносятся небольшие изменения (скажем, операция вычитания меняется на сложение), и весь цикл обучения запускается заново.

Главный недостаток такого подхода очевиден — для получения адекватной оценки финальной точности приходится тратить колоссальные вычислительные ресурсы на полное обучение каждой промежуточной модели.

## 🗺️ Попытки решения: непрерывные эмбеддинги против симуляции
[[JUMP:04:32]]

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

В таком латентном пространстве каждая возможная архитектура становится точкой. Обучив и протестировав несколько случайных вариантов на полном датасете, исследователи получают их реальные оценки и пытаются построить математическую модель-предиктор внутри этого пространства. На основе полученных данных применяется градиентный спуск, чтобы определить направление, в котором теоретически находятся наиболее эффективные архитектуры.

Однако Янник Кильхер скептически относится к подобным методам, проводя прямую аналогию с машиной Тьюринга и знаменитой проблемой остановки:

> Вы пытаетесь создать алгоритм, который берет строительный план другой машины и пытается предсказать ее производительность, просто глядя на чертеж. В общем смысле сложность этой задачи эквивалентна сложности исходной проблемы.



По мнению Кильхера, такие предикторы в лучшем случае способны интерполировать данные в рамках тех областей, где их обучили, но они абсолютно неспособны к экстраполяции. Метод «Синтетической чашки Петри» (Synthetic Petri Dish) предлагает элегантный компромисс: вместо того чтобы просто угадывать результат по чертежу, он физически запускает упрощенную симуляцию программы на микро-уровне.

## 🧫 Концепция «Синтетической чашки Петри» (Synthetic Petri Dish)
[[JUMP:07:49]]

Идея Synthetic Petri Dish базируется на двух ключевых принципах: радикальном уменьшении масштаба самой нейросети и создании специальных синтетических данных для ее тестирования.

Первая часть концепции заключается в том, что при поиске архитектуры важно сохранить сам паттерн соединений (мотив), но избавиться от избыточной ширины и глубины слоев. Если реальная большая сеть оперирует векторами размерности 512, то суррогатная модель «чашки Петри» сохраняет все внутренние связи, но сжимает размерность векторов до 1 или 2. 

Авторы исходят из предположения, что благодаря регулярности нейросетевых структур производительность такой микро-модели будет строго коррелировать с производительностью ее полноразмерной копии.

Вторая часть идеи — отказ от использования оригинальных тренировочных и валидационных данных для оценки микро-моделей. Оригинальный датасет слишком велик и не дает точных прогнозов на уменьшенных сетях. Вместо этого метод абстрагирует данные, создавая крошечные синтетические наборы данных. 

Удивительно то, что эти синтетические наборы вообще не имеют визуального или логического сходства с исходными картинками или текстами. Они представляют собой оптимизируемые массивы чисел (обучаемые параметры), созданные специально для того, чтобы микро-модель после обучения на них выдавала точность, максимально близкую к результату большой сети на реальном датасете. 

Как отмечает Янник Кильхер, именно добавление этих оптимизированных синтетических данных сделало идею масштабирования сетей рабочей, тогда как предыдущие попытки других ученых проваливались из-за низкой точности прогнозов на уменьшенных моделях.

## 📊 Практический пример: Эксперимент с MNIST
[[JUMP:12:51]]

Для иллюстрации авторы статьи используют базовый эксперимент с классическим датасетом рукописных цифр MNIST. Рассматривается полносвязная двухслойная нейросеть шириной в 100 нейронов, где в качестве функции активации выбрана сигмоида с настраиваемым параметром наклона $C$. Задача поиска архитектуры — найти оптимальное значение этого параметра.

Если менять параметр $C$, обучать большую сеть на полном датасете до сходимости и замерять итоговую точность, получится сложная нелинейная кривая (реальный график производительности). При уменьшении наклона точность сначала плавно растет, но в определенный момент критически падает до нуля, так как сигнал перестает распространяться по сети.

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

Синтетическая чашка Петри решает эту задачу иначе:

* Сеть шириной в 100 нейронов сжимается до микро-модели шириной всего в 1 нейрон на слой.
* В нее закладывается исследуемый параметр наклона $C$.
* Модель обучается и тестируется на сгенерированных синтетических точках.
* Поскольку суррогатная модель структурно повторяет большую сеть, в ней физически происходят те же процессы затухания сигнала.
* В итоге «чашка Петри» безошибочно прогнозирует реальный провал производительности, успешно справляясь с экстраполяцией.

## 🔄 Алгоритм обучения и мета-обучение данных
[[JUMP:18:10]]

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

Затем в игру вступает алгоритм двухуровневой оптимизации (мета-обучения), который настраивает синтетические данные:

1.  Крошечные синтетические наборы данных для обучения ($S_{train}$) и валидации ($S_{val}$) изначально заполняются абсолютно случайными числами.
2.  **Внутренний цикл (Inner Loop):** Параметры (веса) микро-модели инициализируются случайным образом и проходят $N$ шагов стандартного обучения на синтетическом наборе $S_{train}$.
3.  **Внешний цикл (Outer Loop):** Обученная микро-модель оценивается на синтетическом валидационном наборе $S_{val}$, и полученный лосс сравнивается с истинным лоссом большой сети.
4.  Ошибка расхождения пропускается обратно через всю процедуру оптимизации внутреннего цикла (метод дифференцирования через процесс оптимизации). Градиентный спуск корректирует значения самих синтетических данных $S_{train}$ и $S_{val}$.

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

## 🏆 Интеграция в NAS и результаты тестирования
[[JUMP:25:57]]

После того как синтетические данные успешно обучены воспроизводить кривую потерь, модель Synthetic Petri Dish интегрируется в полноценный цикл поиска архитектур. Вместо того чтобы прогонять тысячи генерируемых мутаций и кандидатов через тяжелое полноценное обучение, алгоритм NAS использует «чашку Петри» в качестве первичного быстрого фильтра. Она мгновенно отсеивает нежизнеспособные варианты и рекомендует для полной проверки на реальном датасете лишь узкий топ из, например, 10 лучших кандидатов.

Эффективность подхода была протестирована на сложной задаче языкового моделирования Penn Treebank, где велся поиск оптимальной RNN-ячейки для минимизации метрики перплексии (perplexity).

При выделении одинакового фиксированного объема вычислительных ресурсов архитектурный поиск, подкрепленный «Синтетической чашкой Петри», показал значительно более высокие результаты, чем классический базовый метод NAO. По словам Кильхера, стандартные методы расходуют слишком много ресурсов, так как вынуждены физически просчитывать абсолютно всех кандидатов. Ведущий также похвалил авторов за грамотное и прагматичное построение экспериментов в условиях уменьшенных данных, что соответствует реальным индустриальным практикам.

## ⚠️ Критический взгляд Янника Кильхера: Риски и ограничения
[[JUMP:29:22]]

Несмотря на впечатляющие результаты, Янник Кильхер выделяет три фундаментальные проблемы, которые могут ограничить повсеместное применение данной технологии.

Во-первых, метод чрезвычайно чувствителен к характеру абстракции. В эксперименте авторы уменьшили ширину сети со 100 до 1 нейрона, но оставили неизменной глубину в 2 слоя. Кильхер уверен, что они пробовали сжать сеть до 1 слоя, но это разрушило корреляцию, поэтому параметры сжатия архитектуры приходится подбирать вручную методом проб и ошибок.

Во-вторых, существует опасность генерации адверсариальных (состязательных) данных. Поскольку синтетический датасет очень мал (всего 20–30 точек), мощный градиентный оптимизатор во внешнем цикле неизбежно начинает использовать любые математические лазейки и несовершенства микро-модели, чтобы подогнать лосс под целевой:

> Если вы действительно дадите волю вашему оптимизатору, он злоупотребит каждой доступной мелочью для точечного соответствия валидационному лоссу. Это приведет к созданию состязательного примера, из-за чего реальные кривые производительности в других диапазонах перестанут совпадать.


С подобной проблемой ИИ-сообщество уже сталкивалось при планировании в симулированных средах в обучении с подкреплением (Reinforcement Learning).

В-третьих, Кильхер выражает серьезную озабоченность в связи с известным феноменом «двойного спуска» (Double Descent). 



В современных реалиях большие нейросети работают в режиме избыточных параметров (overparameterized regime), находясь далеко за порогом интерполяции, где тестовая ошибка снова начинает падать. Радикально уменьшая число параметров сети для «чашки Петри», исследователи рискуют отбросить модель назад через порог интерполяции — в зону недообучения и высокого шума. Как поведут себя синтетические данные в такой ситуации, пока остается неясным.

Тем не менее, Янник Кильхер оценивает работу как крайне перспективную и призывает ИИ-сообщество к ее дальнейшему глубокому изучению.