Янник Килхер о слоях EvoNorm: «Это поиск на стероидах для конкретных задач»

Yannic Kilcher 2,9 тыс. 30 мин 4 мин 09.04.2020
Главное

Исследователи из Google Brain и Google DeepMind представили новый подход к проектированию архитектур нейронных сетей, заменив привычную комбинацию слоев нормализации и активации едиными структурами, полученными в результате эволюционного поиска. Ведущий Янник Килхер (Yannic Kilcher) анализирует статью «Evolving Normalization-Activation Layers», разбирая, как автоматизированный поиск позволяет создавать слои EvoNorm, которые превосходят классические Batch Norm и ReLU на задачах классификации и сегментации изображений.

🧬 Объединение нормализации и активации: концепция EvoNorm 0:00

Современные архитектуры глубокого обучения для работы с изображениями, такие как ResNet, MobileNet и EfficientNet, строятся по схожим принципам . Основу этих сетей составляют блоки, включающие в себя сверточные слои, механизмы проброса градиента (skip connections) и обязательную связку из нормализации (например, Batch Normalization) и нелинейной активации (например, ReLU) .

По словам Янника Килхера, авторы статьи предложили пересмотреть этот стандартный подход :

Янник Килхер отмечает, что структура EvoNorm-S0 во многом напоминает существующие функции активации, но включает в себя более сложные зависимости от статистики данных внутри групп (Group Normalization) .

🛠 Механика эволюционного поиска: примитивы и мутации 4:19

Для поиска оптимальных слоев исследователи определили пространство поиска, состоящее из базовых математических «примитивов» . Эти примитивы включают в себя:

Сам процесс поиска организован по принципу эволюционного турнира :

  1. Создание популяции: генерируется несколько сотен или тысяч вариантов архитектур слоев.
  2. Прокси-задача: каждая архитектура тестируется на небольшом наборе данных CIFAR-10. Янник Килхер поясняет, что это необходимо для ускорения процесса, так как обучение на CIFAR-10 занимает минуты, а не часы .
  3. Турнирный отбор: выбирается несколько случайных слоев, их производительность сравнивается, и определяется «победитель».
  4. Мутация: победивший слой подвергается случайным изменениям (добавление новых узлов в граф вычислений, изменение родителей в операциях), после чего возвращается в популяцию .

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

🧪 Протоколы отклонения: борьба с нестабильностью 13:40

Ключевым элементом работы, по мнению Янника Килхера, является «шаг отклонения» (rejection step) . Авторы ввели жесткие критерии, чтобы не тратить вычислительные ресурсы на заведомо бесполезные или нестабильные архитектуры.

Исследователи используют два основных критерия:

Для проверки стабильности используется состязательный подход: исследователи пытаются найти такое минимальное изменение весов сверточных слоев, которое максимально изменит значение функции потерь (градиент) . Если норма градиента в худшем случае превышает 10^8, слой отклоняется .

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

📊 Результаты и обобщающая способность 21:40

Эксперименты показали, что найденные слои EvoNorm стабильно превосходят классическую связку Batch Norm + ReLU на прокси-задаче CIFAR-10 . Однако при переносе на более сложный датасет ImageNet результаты оказались менее однозначными.

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

Янник Килхер предполагает, что успех метода во многом обусловлен не столько «интеллектом» эволюции, сколько огромным количеством переборов в поисках того, что сработает на конкретных архитектурах .

🖼 Применение в других задачах: COCO и GAN 26:37

Чтобы доказать универсальность EvoNorm, авторы протестировали слои на задачах детекции объектов (датасет COCO) и генерации изображений (GAN) .

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

💬 Цитаты

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

Янник Килхер 20:19

«Если после 100 шагов обучения ваша точность меньше 20%, ваш слой бесполезен и его можно выбрасывать.»

Янник Килхер 15:14
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Batch Normalization
Метод нормализации входных данных внутри нейросети для ускорения обучения и повышения стабильности.
ReLU
Популярная функция активации (Rectified Linear Unit), которая пропускает положительные значения и обнуляет отрицательные.
Pareto frontier
Набор решений, при которых невозможно улучшить один показатель без ухудшения другого (в данном случае — точность на разных архитектурах).
Proxy task
Упрощенная задача (например, обучение на маленьком датасете), используемая для быстрой оценки качества модели в процессе поиска.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект EvoNorm Yannic Kilcher Google Brain Batch Normalization Evolutionary Search