Себастьян Рашка о преподавании машинного обучения и ординальной регрессии

The TWIML AI Podcast 1,3 тыс. 43 мин 7 мин 28.03.2022
Главное

Себастьян Рашка, известный преподаватель и исследователь в области искусственного интеллекта, стал гостем подкаста The TWIML AI Podcast. В интервью с ведущим Сэмом Черрингтоном он подробно рассказал о своем видении современного ИТ-образования, балансе между математической теорией и практическим программированием, а также о прорывных разработках своей исследовательской группы в области ординальной регрессии для глубоких нейросетей.

🎓 Путь в индустрию и философия преподавания 0:04

Себастьян Рашка начинал свой академический путь в аспирантуре, изучая вычислительную биологию. По совету своего научного руководителя он посетил междисциплинарный курс по статистическому распознаванию паттернов на факультете компьютерных наук, посвященный байесовским методам. По воспоминаниям исследователя, этот опыт полностью изменил траекторию его карьеры: его увлекла возможность обучать компьютеры самостоятельному поиску закономерностей в данных. В 2015 году он обобщил свои знания, написав книгу «Python Machine Learning», а позже занял позицию доцента статистики в Университете Висконсин-Мэдисон.

В своей преподавательской деятельности Себастьян Рашка стремится объединить академический подход «снизу вверх» (от математической базы к коду) и практический метод «сверху вниз», популяризируемый такими специалистами, как Джереми Ховард. Гость признается, что сам предпочитает учиться на практических примерах, поскольку долгое созерцание сухих математических формул на лекциях утомляет даже его.

По мнению исследователя, эффективная педагогическая стратегия должна строиться по следующему принципу:


🛠️ Проектное обучение: преодоление барьеров и скрытые вызовы 5:19

В рамках университетского курса Себастьян Рашка активно внедряет командную работу над реальными проектами. В середине семестра группы из трех человек отправляют двухстраничное проектное предложение (proposal) по любой интересующей их теме, связанной с машинным или глубоким обучением, а в конце семестра презентуют результаты и оформляют их в виде полноценной 8-страничной научной статьи. Студенты могут добровольно опубликовать свои репозитории на GitHub, что, по наблюдениям преподавателя, серьезно повышает их шансы на трудоустройство, предоставляя будущим работодателям осязаемое портфолио.

Тем не менее, гость открыто выделяет несколько критических проблем и ограничений проектного подхода:

  1. Проблема раннего планирования. В середине семестра студенты еще не знакомы со всеми продвинутыми методами ML, из-за чего им трудно оценить техническую осуществимость своих идей.
  2. Сложность инфраструктуры. Обилие современных библиотек и инструментов глубокого обучения пугает новичков. Для решения этой проблемы Рашка предоставляет студентам готовые шаблоны (templates) самодостаточного рабочего кода, удаляя из них лишь ключевые логические блоки — например, функцию активации.
  3. Ограничения масштабирования. Проверка открытых студенческих проектов требует колоссальных временных затрат. Проверка предложений и финальных статей для потока из 70 студентов (около 23–24 групп) балансирует на грани физических возможностей преподавателя.

📊 Классический машинный анализ против нейросетей 10:36

Для начинающих специалистов главной трудностью, по словам Себастьяна Рашки, становится вовсе не выбор архитектуры модели, а первичная подготовка и форматирование данных (data wrangling). Именно поэтому в своей книге и учебных курсах он сознательно уделяет первую половину материалов классическим подходам на базе библиотеки scikit-learn и только в 11-й или 12-й главе переходит к реализации нейросетей с нуля на NumPy.

Гость констатирует, что на фоне колоссального хайпа вокруг глубокого обучения инженеры часто забывают о существовании традиционных алгоритмов. По мнению Рашки, классический ML по-прежнему незаменим в качестве надежного бэйзлайна (точки отсчета). В качестве подтверждения этого тезиса он приводит в пример платформу Kaggle, где большинство соревнований по анализу табличных данных до сих пор выигрываются с помощью градиентного бустинга XGBoost, а не нейронных сетей.

В вопросе выбора инструментов Себастьян Рашка высказывает следующие соображения:


⚡ Эволюция экосистемы Deep Learning и феномен PyTorch Lightning 15:42

Вспоминая историю развития фреймворков глубокого обучения, Рашка отмечает невероятную скорость их смены. Начиная с пионерской библиотеки Theano в 2015 году, индустрия пережила взлет TensorFlow в 2015–2016 годах, появление MXNet и Chainer, пока в 2017 году не дебютировал PyTorch. Сегодня, опираясь на статистику портала Papers with Code, исследователь оценивает долю PyTorch в научных публикациях примерно в 80%.

По признанию гостя, PyTorch может показаться более многословным (verbose) по сравнению с Keras, но для исследовательской работы он идеален, так как обеспечивает гибкий контроль при создании кастомных слоев или функций потерь. При этом для оптимизации рутинных процессов сам Рашка недавно перешел на использование PyTorch Lightning, характеризуя его не просто как фреймворк, а как полноценную платформу-надстройку.

PyTorch Lightning решает проблему «грязного» исследовательского кода. Рашке больше не нужно писать собственные циклы обучения, функции вычисления точности на тестовой выборке или интеграции с логгерами вроде Weights & Biases и TensorBoard. Код оборачивается в стандартизированный модуль LightningModule, сохраняя исходную гибкость PyTorch, но позволяя одной строчкой в Trainer задействовать параллельное обучение на нескольких GPU.

Что касается промышленной эксплуатации (deployment), Себастьян Рашка признает, что в коммерческом секторе до сих пор сильны позиции TensorFlow. Тем не менее, по его мнению, технологических барьеров для внедрения PyTorch в продакшн больше не существует. Последние обновления фреймворка, компиляция статических графов через TorchScript, использование легковесного C++ API (libtorch), механизмы квантования моделей и экспорт в универсальный формат ONNX сделали PyTorch полностью готовым к серьезному индустриальному и мобильному деплою.


🔬 Фронтир исследований: ординальная регрессия и алгоритмы CORAL / CORN 30:51

Значительная часть беседы была посвящена личной научной работе Себастьяна Рашки в области ординальной регрессии. Данный тип задач находится на стыке классической классификации и регрессии. Он применяется в ситуациях, когда целевые метки классов имеют под собой четкий естественный порядок, но расстояние между ними невозможно строго измерить в числовом эквиваленте.

В качестве примеров таких задач исследователь называет:

Рашка объясняет, почему стандартная регрессия здесь работает неидеально, на примере разработанной его группой модели предсказания возраста по фотографии (70 классов, от 1 до 70 лет). С биологической точки зрения пятилетний интервал между 10 и 15 годами заполнен бурными изменениями в структуре костей и росте, тогда как тот же пятилетний интервал между 80 и 85 годами характеризуется лишь постепенным изменением текстуры кожи. Расстояния между классами неравномерны, и чистая регрессия сопряжена с системными искажениями. В то же время обычная мультиклассовая классификация полностью игнорирует информацию о порядке классов (ошибка между 10 и 11 годами штрафуется так же, как между 10 и 50 годами).

До недавнего времени математический аппарат ординальной регрессии был хорошо развит в классической статистике, но практически отсутствовал в практических руководствах по Deep Learning. Группа Рашки сосредоточилась на создании легких надстроек над популярными нейросетевыми архитектурами, которые программист может внедрить за 5 минут, изменив всего несколько строк кода.

В 2016 году исследователи Нью и др. (Niu et al., CVPR) предложили метод Ordinal Regression Network, который разбивал задачу на расширенную цепочку бинарных классификаций (отвечая на последовательные вопросы: «Возраст старше 1 года?», «Старше 2 лет?» и т.д.). Однако у этого метода обнаружился критический изъян — ранговая противоречивость (rank inconsistency). Модель могла выдать абсурдный ответ, заявив, что человек с высокой вероятностью старше 43 лет, но при этом не старше 42.

Для устранения этой аномалии Себастьян Рашка и его команда разработали метод CORAL (Consistent Rank Logits). С помощью введения математического ограничения на разделение весов (weight sharing constraint) в последнем слое нейросети им удалось полностью исключить вероятность возникновения ранговых противоречий, что существенно повысило точность предсказаний. Сейчас данное решение доступно в виде готового open source пакета для PyTorch. Последней же разработкой команды стал алгоритм CORN (Conditional Ordinal Regression Network), который предлагает еще более гибкую условную архитектуру и демонстрирует превосходящую эффективность, хотя, как предупреждает исследователь, требует от инженера аккуратности из-за повышенного риска переобучения (overfitting).


🚀 Новые горизонты: бесплатное образование для глобального ИТ-сообщества 40:03

В финале встречи Себастьян Рашка поделился планами, связанными с его новой ролью ведущего преподавателя в Grid AI (компании, созданной авторами PyTorch Lightning и специализирующейся на масштабировании вычислений).

Оставив часть университетской рутины, исследователь намерен направить всю свою творческую энергию на создание глобального образовательного продукта. Его ключевая цель — разработка и выпуск абсолютно бесплатного, общедоступного интерактивного онлайн-курса по машинному и глубокому обучению, который будет базироваться на экосистеме PyTorch и PyTorch Lightning. Гость рассчитывает опубликовать первые материалы курса до конца текущего года, сделав особый упор на проработку качественных практических упражнений с кодом, поскольку твердо убежден: по-настоящему освоить ИИ можно только через действие.

💬 Цитаты

«Если вы начнете обучение с nitty-gritty деталей, то легко потеряете нить и заскучаете.»

Себастьян Рашка 04:52

«С помощью PyTorch Lightning вы бесплатно получаете определенные вещи, которые иначе пришлось бы писать с нуля.»

Себастьян Рашка 27:47
👥 Спикеры
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
Ординальная регрессия
Тип обучения с учителем, когда классы имеют строгий порядок, но расстояние между ними неизмеримо.
Бэйзлайн
Простая базовая модель, с качеством которой сравнивают более сложные алгоритмы.
Ранговая противоречивость
Логическая ошибка модели ординальной регрессии, выдающей некорректные вероятности для соседних ступеней ранга.
📊 Цифры
🗓 Хронология
  1. 2015 Себастьян Рашка публикует свою фундаментальную книгу «Python Machine Learning».
  2. 2016 Выходит статья Нью и др. на CVPR, заложившая основу современных нейросетевых подходов к ординальной регрессии.
  3. 2017 Релиз фреймворка PyTorch, который впоследствии завоюет 80% исследовательского рынка.
⚖️ Другая сторона
Искусственный интеллект Себастьян Рашка PyTorch Lightning ординальная регрессия CORAL scikit-learn