Борис Князев о замене SGD и графовых гиперсетях GHN-2

Yannic Kilcher 15,7 тыс. 48 мин 5 мин 24.11.2021
Главное

В современном машинном обучении обучение нейросетей с нуля требует колоссальных вычислительных ресурсов и времени. Популярный AI-блогер Янник Килхер (Yannic Kilcher) обсудил с исследователем Борисом Князевым (Boris Knyazev) его прорывную работу, посвященную предсказанию параметров для еще не обученных глубоких архитектур. Авторы создали графовую гиперсеть, способную за один прямой проход выдать рабочие веса для любой новой нейросети, что потенциально способно в корне изменить традиционные подходы к оптимизации моделей.

🧠 Суть метода: предсказание весов за один прямой проход 0:00

Проект начался, когда Борис Князев проходил стажировку в Facebook AI (Meta AI) летом 2020 года. Основная идея исследования родилась из желания обойти классический и ресурсоемкий процесс обучения нейросетей с помощью обратного распространения ошибки.

В традиционном подходе для нахождения оптимальных параметров матриц весов используется датасет, через который модель прогоняется тысячи раз. В рассматриваемой работе авторы построили специальную графовую гиперсеть (Graph Hypernetwork), которая принимает на вход саму структуру целевой архитектуры и мгновенно генерирует для нее веса. По словам Бориса Князева, ключевое отличие от существующих мета-оптимизаторов заключается в том, что его модель выдает результат за один единственный прямой проход, не требуя итеративного процесса.

Однако Борис Князев делает важное уточнение: на этапе тестирования гиперсеть не принимает в себя данные. Она обучается под конкретный датасет (например, CIFAR-10 или ImageNet) и предсказывает веса, оптимизированные именно под него. По этой причине исследователи выпустили две отдельные гиперсети — одну для CIFAR-10, другую для ImageNet.

📊 Результаты и архитектурный датасет DeepNets-1M 4:42

На датасете CIFAR-10 предсказанные нейросетью веса позволяют сходу достичь 60% точности, а на ImageNet — 50% точности в топ-5. Янник Килхер отмечает, что хотя эти цифры значительно ниже результатов полноценного обучения, они все равно выглядят впечатляюще для систем, которые никогда не обучались градиентным спуском напрямую. Борис Князев соглашается, что результат удивил даже самих авторов, ведь стандартное предположение в индустрии гласит, что веса для случайной необученной архитектуры будут выдавать лишь «мусорные» нейроны из-за сложных взаимодействий между ними.

Для обучения такой масштабной гиперсети авторам пришлось создать совершенно новый датасет, получивший название DeepNets-1M, который содержит 1 миллион уникальных архитектур. Гость опроверг популярное заблуждение: создатели проекта не обучали веса для этого миллиона сетей. Архитектуры генерировались случайным образом путем равномерной выборки из фиксированного пространства проектирования.

Параметры этого пространства конфигураций включают в себя:

Борис Князев поясняет, что в отличие от классического поиска нейроархитектур (NAS), где тяжелые модели вроде ResNet отбрасываются из-за неэффективности, их дизайн-пространство было расширено, чтобы включать современные крупные сети.

🔄 Обучение гиперсети и сдвиг распределения 10:09

При создании DeepNets-1M ученые предусмотрели специальные выборки вне распределения (Out-of-Distribution, OOD), чтобы проверить способность модели к генерализации. Сюда вошли архитектуры, которые были значительно шире или глубже тех, что встречались при обучении (например, Wide ResNet или ResNet-150 вместо ResNet-50). Гиперсеть успешно справилась с ними, поскольку была обучена на базовых операциях, хоть и не видела их специфических комбинаций.

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

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

🛠 Три кита архитектуры GHN-2: как победить взрыв весов 17:21

Графовая нейросеть получает структуру целевой модели в виде матрицы смежности и признаков узлов, где каждый узел соответствует определенной операции. Сами веса гиперсети фиксированы, меняется лишь входной граф. В своей работе авторы усовершенствовали предыдущие подходы, внедрив три ключевых улучшения в модель GHN-2:

Янник Килхер с иронией заметил, что решая проблему чрезмерной глубины в самой гиперсети, авторы фактически переизобрели остаточные связи (residual connections), столкнувшись с теми же проблемами на мета-уровне.

🧩 Масштабирование параметров и магия файн-тюнинга 25:33

Одной из сложнейших технических проблем стала выдача весов для слоев с произвольным количеством параметров. Борис Князев охарактеризовал их текущее решение как довольно наивное: гиперсеть генерирует тензор фиксированного максимального размера, который затем циклически размножается (тайлинг) или обрезается под нужную размерность. Гость признает, что это ограничивает выразительную способность модели, но это был единственный эффективный метод, который удалось заставить работать. В качестве альтернативы Килхер предложил использовать неявные нейронные представления (как в моделях NeRF или SIREN), запрашивая у сети веса для конкретных координат матрицы.

Главная практическая ценность GHN-2 на данный момент — использование предсказанных весов в качестве умной инициализации для последующей дообучки (файн-тюнинга). Сама генерация весов занимает менее секунды. При этом дообучение модели на ImageNet всего в течение 5 эпох позволяет достичь результатов, сопоставимых со стандартным обучением с нуля на протяжении 100–200 эпох. По мнению Бориса Князева, если индустрия научится сразу предсказывать веса базового качества, необходимость в обучении с нуля отпадет.

🔮 Хайп против реальности: заменит ли это традиционный SGD? 45:22

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

Янник Килхер в шутку добавил, что кликбейтные превью на YouTube наверняка выходили с заголовками в духе «SGD больше не нужен, мы закончили». Борис Князев подчеркнул, что они сделали лишь маленький шаг в этом направлении и до полной замены градиентного спуска еще очень далеко. В планах на будущее авторы видят объединение их подхода с идеями мета-обучения для обеспечения генерализации не только по архитектурам, но и по новым датасетам.

💬 Цитаты

«У людей сложилось впечатление, будто мы можем предсказывать параметры для совершенно новых задач, но это не так.»

Борис Князев 45:48

«Мы сделали лишь один маленький шаг к замене SGD, мы еще далеко не у цели.»

Борис Князев 46:02
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Графовая гиперсеть (Graph Hypernetwork)
Нейросеть, которая принимает структуру другой нейросети в виде графа и генерирует для неё веса.
SGD (Stochastic Gradient Descent)
Стохастический градиентный спуск — классический итеративный метод обучения весов нейросетей.
Тайлинг (Tiling)
Метод циклического копирования или размножения матрицы для достижения нужного размера тензора.
Мета-батчинг (Meta-batching)
Одновременное объединение в группу нескольких разных архитектур и пакетов данных при обучении гиперсети.
📊 Цифры
🗓 Хронология
  1. Лето 2020 года Борис Князев начинает стажировку в Facebook AI и запускает проект по предсказанию параметров.
⚖️ Другая сторона
Искусственный интеллект Борис Князев Yannic Kilcher графовые гиперсети DeepNets-1M GHN-2