В новом видео популярный ИИ-исследователь Янник Килхер разбирает научную работу «Descending through a Crowded Valley», посвященную масштабному независимому тестированию оптимизаторов глубокого обучения. Авторы исследования из Тюбингенского университета попытались выяснить, существует ли универсальный алгоритм для обучения нейросетей, сравнив 14 популярных методов на различных задачах. По мнению ведущего, несмотря на огромный объем проделанной работы, главный вывод оказывается удивительно простым: используйте проверенный Adam или классический SGD с моментумом, слегка настройте их, и итоговый результат будет приемлемым.
📊 Проблема выбора: сотни оптимизаторов и нулевая определенность 0:00
В сфере глубокого обучения выбор оптимизатора считается одним из наиболее критических и в то же время трудных архитектурных решений. Проблема усугубляется тем, что каждый год научная литература пополняется десятками новых методов: Poly Adam, Power SGD и множеством других, в то время как классический метод стохастического градиентного спуска (SGD) успешно держится в топе уже около 70 лет. По словам Янника Килхера, авторы практически каждой новой статьи заявляют, что их алгоритм быстрее, эффективнее или потребляет меньше памяти, подкрепляя это собственными тестами. Именно поэтому независимые бенчмарки обладают огромной ценностью — они позволяют проверить громкие заявления создателей в равных условиях.
⚙️ Методология исследования и три режима тестирования 5:47
Для своего анализа немецкие ученые отобрали 14 популярных оптимизаторов, включая AdaDelta, AdaGrad, Adam, RMSprop и Lookahead. Все они были протестированы в трех различных конфигурациях:
- One-shot (В один проход): алгоритмы запускаются исключительно со стандартными параметрами (defaults), прописанными авторами оригинальных статей или популярными фреймворками.
- Small budget (Малый бюджет): базовая настройка гиперпараметров с ограниченным числом попыток.
- Large budget (Большой бюджет): глубокий случайный поиск (random search) по логарифмически равномерному распределению для выбора наилучшей конфигурации.
Тестирование проводилось на восьми задачах, разделенных на две группы. В первую вошли малые модели вроде искусственных квадратичных функций и MNIST VAE, во вторую — большие проблемы, такие как CNN на датасете CIFAR-100, SVHN и символьные RNN.
🔍 Критика Янника Килхера: почему бенчмарк несовершенен 6:54
Янник Килхер высказал несколько серьезных критических замечаний к методологии работы, которые, справедливости ради, признают и сами авторы статьи в разделе ограничений. По мнению блогера, сравнение «из коробки» (режим One-shot) малополезно, так как дефолтные параметры часто выбираются создателями алгоритмов случайным образом. Гораздо правильнее со стороны авторов бенчмарка было бы самостоятельно вывести оптимальные базовые параметры для всех тестируемых методов.
Кроме того, Килхер раскритиковал диапазоны поиска гиперпараметров. Для Adam (дефолтная скорость обучения $10^{-3}$) и Momentum ($10^{-2}$) использовался одинаковый диапазон поиска от $10^{-4}$ до $1$, из-за чего базовое значение Adam оказалось смещено к краю, что искажает траекторию случайного поиска.
Наконец, выбор тестовых задач исключил такие важные направления, как обучение с подкреплением (Reinforcement Learning) и генеративно-состязательные сети (GAN). Ведущий подчеркивает, что выводы для малых моделей нельзя слепо экстраполировать на огромные современные трансформеры уровня GPT-3, обучаемые на TPU с гигантскими размерами батчей.
🎲 Ловушка единственного случайного сида 16:41
Особое внимание Янник Килхер уделил процедуре тюнинга параметров. Авторы настраивали параметры, используя всего один случайный начальный элемент (random seed), и лишь затем тестировали лучшую конфигурацию на 10 разных сидах. По мнению Килхера, такой подход несет в себе огромные риски: алгоритм может случайно зацепиться за «удачный» сид на специфическом ландшафте потерь, но показать ужасающие результаты на всех остальных стартах.
Хотя авторы объясняют это экономией вычислительных ресурсов, Янник считает, что информативность такого исследования падает. Бенчмарк в определенной степени превращается в лотерею, где конкретному алгоритму могло просто повезти с начальной точкой.
📊 Анализ результатов: дефолтные настройки «мусор», а Adam побеждает 23:18
При анализе матриц эффективности выяснился важный факт: стандартные настройки некоторых алгоритмов работают откровенно плохо. Например, в случае с AdaDelta и Momentum графики показывают сплошные зеленые строки — это означает, что даже минимальный тюнинг улучшает их показатели на 40–44%. В то же время AdaGrad при тюнинге прибавляет всего 2.3%, что говорит о хороших исходных настройках.
Итоговые графики сравнения, по выражению Килхера, выглядят перегруженными из-за колоссального уровня шума. Диапазон результатов настроенного Adam перекрывает средние показатели большинства других оптимизаторов. При этом неоттюнингованный Adam из коробки почти всегда оказывается в лидерах или держится на уровне общей массы.
💡 Главные выводы: что делать практику? 35:47
Один из ключевых выводов исследования заключается в том, что вместо долгого подбора параметров для одного оптимизатора можно с тем же успехом просто перебрать несколько разных алгоритмов с их дефолтными настройками. По мнению Килхера, меняя алгоритм, инженер зачастую просто неосознанно меняет эффективную скорость обучения, так как разные формулы по-разному интерпретируют одни и те же числа.
В сухом остатке из этой работы ИИ-сообщество может вынести два основных урока:
- Дефолтные настройки во многих научных статьях и фреймворках оставляют желать лучшего.
- На относительно небольших задачах тип алгоритма не играет критической роли.
Янник Килхер резюмирует, что благодаря развитию архитектур (например, остаточным связям в ResNet) градиенты стали течь намного лучше, что значительно снизило общие требования к самим оптимизаторам. Проверенный временем рецепт по-прежнему актуален: берите Adam или SGD, слегка настраивайте их под задачу и не тратьте лишнее время.