Исследователи из 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: вместо использования двух раздельных слоев (нормализация + активация), исследователи решили объединить их функции в единый слой «EvoNorm».
- Метод создания: структура этих слоев не проектируется человеком вручную, а выводится с помощью эволюционного алгоритма поиска.
- Результат: найденные слои, такие как EvoNorm-S0, представляют собой математические выражения, комбинирующие входной сигнал, среднее значение, стандартное отклонение и обучаемые параметры .
Янник Килхер отмечает, что структура EvoNorm-S0 во многом напоминает существующие функции активации, но включает в себя более сложные зависимости от статистики данных внутри групп (Group Normalization) .
🛠 Механика эволюционного поиска: примитивы и мутации 4:19
Для поиска оптимальных слоев исследователи определили пространство поиска, состоящее из базовых математических «примитивов» . Эти примитивы включают в себя:
- Арифметические операции: сложение, умножение, вычитание.
- Математические функции: логарифм, квадратный корень, абсолютное значение.
- Специальные функции: Max (аналог ReLU), Sigmoid.
- Статистические показатели: среднее по батчу (batch mean), стандартное отклонение по группе (group standard deviation) .
Сам процесс поиска организован по принципу эволюционного турнира :
- Создание популяции: генерируется несколько сотен или тысяч вариантов архитектур слоев.
- Прокси-задача: каждая архитектура тестируется на небольшом наборе данных CIFAR-10. Янник Килхер поясняет, что это необходимо для ускорения процесса, так как обучение на CIFAR-10 занимает минуты, а не часы .
- Турнирный отбор: выбирается несколько случайных слоев, их производительность сравнивается, и определяется «победитель».
- Мутация: победивший слой подвергается случайным изменениям (добавление новых узлов в граф вычислений, изменение родителей в операциях), после чего возвращается в популяцию .
Янник Килхер подчеркивает, что мутации происходят случайным образом, но за счет постоянного отбора лучших моделей (селективного давления) популяция постепенно эволюционирует в сторону более эффективных решений .
🧪 Протоколы отклонения: борьба с нестабильностью 13:40
Ключевым элементом работы, по мнению Янника Килхера, является «шаг отклонения» (rejection step) . Авторы ввели жесткие критерии, чтобы не тратить вычислительные ресурсы на заведомо бесполезные или нестабильные архитектуры.
Исследователи используют два основных критерия:
- Критерий качества: если слой не достигает точности 20% на CIFAR-10 за первые 100 шагов обучения, он удаляется. Это позволяет отсеять «мусорные» варианты, которые работают не лучше случайного угадывания (10% для CIFAR-10) .
- Критерий стабильности: слои проверяются на численную нестабильность и взрыв градиентов .
Для проверки стабильности используется состязательный подход: исследователи пытаются найти такое минимальное изменение весов сверточных слоев, которое максимально изменит значение функции потерь (градиент) . Если норма градиента в худшем случае превышает 10^8, слой отклоняется .
Янник Килхер критически замечает, что эти протоколы кажутся «подогнанными» под конкретные проблемы . По его мнению, авторы, вероятно, столкнулись со взрывом градиентов при переносе моделей на ImageNet и только после этого внедрили критерий стабильности в процесс эволюции . Килхер утверждает, что такая ручная настройка протоколов поиска ослабляет универсальность метода, делая его слишком зависимым от конкретных архитектур и наборов данных .
📊 Результаты и обобщающая способность 21:40
Эксперименты показали, что найденные слои EvoNorm стабильно превосходят классическую связку Batch Norm + ReLU на прокси-задаче CIFAR-10 . Однако при переносе на более сложный датасет ImageNet результаты оказались менее однозначными.
Основные наблюдения Янника Килхера по результатам:
- Сравнение с ImageNet: EvoNorm показывает конкурентные результаты, но прирост точности по сравнению со стандартными методами часто оказывается маржинальным (незначительным) .
- Случайный поиск: если использовать просто случайный поиск слоев без эволюции, результаты будут очень плохими . Однако случайный поиск в сочетании с протоколами отклонения (rejection protocols) дает на удивление хорошие показатели, иногда даже превосходя классические методы .
Янник Килхер предполагает, что успех метода во многом обусловлен не столько «интеллектом» эволюции, сколько огромным количеством переборов в поисках того, что сработает на конкретных архитектурах .
🖼 Применение в других задачах: COCO и GAN 26:37
Чтобы доказать универсальность EvoNorm, авторы протестировали слои на задачах детекции объектов (датасет COCO) и генерации изображений (GAN) .
- Детекция и сегментация: в архитектурах Mask R-CNN слои EvoNorm показали результаты выше базовых моделей, хотя разрыв в цифрах остается небольшим .
- Генеративные сети: в моделях BigGAN использование EvoNorm позволило улучшить метрики FID (Fréchet Inception Distance) и Inception Score, хотя в некоторых случаях стандартный Batch Norm всё еще показывал себя лучше .
В заключении Янник Килхер выражает сомнение в том, что найденные слои останутся лучшими при переходе к совершенно иным доменам данных . Он считает, что EvoNorm — это результат глубокой оптимизации под ResNet-подобные структуры и задачи визуального распознавания, и при смене архитектуры или типа задач (например, на обработку текста) придется запускать весь процесс эволюции заново для поиска новых оптимальных решений .