Plain Self-Ensembles: Янник Кильхер о случайном открытии в машинном обучении

Yannic Kilcher 12,8 тыс. 1 ч 18 мин 2 мин 06.07.2020
Главное

Plain Self-Ensembles: Как случайная идея превратилась в исследование 0:00

Янник Кильхер (Yannic Kilcher), известный исследователь машинного обучения, продемонстрировал необычный подход к разработке научных гипотез в режиме реального времени. В ходе эксперимента, который задумывался как простая демонстрация процесса кодинга, Кильхер обнаружил эффект, который он назвал «Plain Self-Ensembles» (простые само-ансамбли). Суть метода заключается в дистилляции знаний из одной предобученной «учительской» модели в группу из нескольких «студенческих» моделей без использования шума или дополнительных данных.

🛠 Реализация идеи: «тупой» подход 2:50

Идея заключалась в том, чтобы взять предобученную модель, показывающую хорошие результаты, и использовать её для обучения ансамбля из 10 (или более) студенческих моделей.

Основные этапы реализации:

  1. Выбор базы: В качестве платформы был выбран репозиторий с предобученными моделями для набора данных CIFAR-10 под лицензией MIT.
  2. Оптимизация структуры: Кильхер разделил хранение кода и данных (CIFAR-10), перенастроив скрипты загрузки весов.
  3. Создание ансамбля: Студенческие модели инициализировались независимо, что, по задумке автора, должно было привести их к разным точкам в пространстве параметров.
  4. Процесс дистилляции:
    • Учительская модель переводилась в режим eval (без обучения).
    • Использовалась функция потерь, основанная на сравнении распределений вероятностей (LogSoftmax) учителя и студентов, без использования исходных меток классов.
    • Студенты обучались параллельно на одних и тех же данных.

📊 Результаты и неожиданные открытия 1:03:47

После проведения серии экспериментов Кильхер столкнулся с результатами, которые поставили под сомнение некоторые устоявшиеся представления о дистилляции.

🔬 Интерпретация и выводы 1:14:35

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

В планах исследователя — проверить работоспособность метода «Plain Self-Ensembles» на более сложных наборах данных, таких как ImageNet, чтобы исключить вероятность случайной регуляризации. Кильхер подчеркивает, что это типичный пример того, как «глупая» идея в ходе прозрачного научного процесса может привести к интересным и неочевидным выводам.

💬 Цитаты

«Это была просто демонстрация, но в конце это действительно заработало. И я такой: «О черт. Бросайте всё, разрабатывайте идею, пишите статью!»»

Янник Кильхер 0:26

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

Янник Кильхер 1:31

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

Янник Кильхер 1:15:03
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Дистилляция (Distillation)
Процесс обучения компактной «студенческой» модели на основе ответов более крупной и мощной «учительской» модели.
Ансамбль (Ensemble)
Метод объединения предсказаний нескольких моделей для повышения итоговой точности и стабильности.
Logits
Выходные значения нейронной сети перед применением функции активации (например, Softmax).
Функция потерь (Loss function)
Математическая функция, определяющая ошибку модели: чем меньше её значение, тем лучше модель справляется с задачей.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Yannic Kilcher Self-distillation Deep Learning Ensemble learning PyTorch