Курс DrobyshevDev · бесплатно

Весь путь в ML, DL и RL. Бесплатно.

Двадцать семь модулей: от арифметики среднего до воспроизведения свежей статьи. Курс учит проверять утверждения, а не запускать обучение — потому что модель, про которую вы не умеете сказать, работает ли она, не отличается от модели, которая не работает.

27 модулей 7 частей ноутбуки считаются на CPU без регистрации CC BY 4.0

Область движется через статьи. Большинство заявленных в них улучшений не переживает смены зерна ГПСЧ.

Улучшение растворяется при честном сравнении или оказывается разницей в том, сколько труда вложили в свой метод и сколько в чужой. Это не обман: числа настоящие, код открыт. Сравнивают просто не то, что думают.

Человек, который умеет обучать модели, но не умеет проверять утверждения, не отличает прогресс от шума — и строит на шуме. Поэтому первый модуль здесь про базовые линии и доверительные интервалы, до всякого машинного обучения.

Дальше это не отпускает. Каждый модуль заканчивается не строчкой «мы получили accuracy 0.93», а проверкой: переживает ли улучшение смену зерна и сравнение с базой, которую настраивали так же старательно, как свою.

Карта

Семь частей, двадцать семь модулей

Порядок не случаен: части I–II дают инструмент проверки и базовые линии, которые в частях III–VI придётся побеждать.

I Как проверяют утверждения Утверждение, базовая линия, шум. Дисперсия, вероятность, линейная алгебра и градиент — под конкретную задачу, а не впрок. 1–4 · готова целиком II Классический ML Линейные модели, деревья, бустинг, честная валидация. Половину «прорывов» обыгрывает правильно настроенный бустинг, и это надо увидеть своими руками. 5–7 · готова целиком III Нейросети Backprop с нуля на NumPy, свёртки и представления, внимание и трансформер, языковые модели и их оценка. 8–11 · готовы 8–9 IV Обучение с подкреплением и психология Ценность и политика. Закон эффекта Торндайка, дофаминовая ошибка предсказания, policy gradient, reward hacking и закон Гудхарта. 12–16 V Рекомендательные системы и внимание Коллаборативная фильтрация, ранжирование, петли обратной связи, оптимизация вовлечения и её цена. A/B-тесты и причинность. 17–20 VI Агенты Цикл агента с читаемым трейсом, поиск с проверкой цитат, eval как тест, а регрессия как разница между прогонами. 21–23 VII Выход на фронтир Как читать статью, как устроена область, как воспроизвести результат и как следить за потоком, не утонув. Ради этой части написаны предыдущие шесть. 24–27

Результат

Что вы сможете в конце

Выпускная работа — воспроизвести статью, вышедшую после начала вашего обучения, и опубликовать отчёт.

  1. Прочитать свежую статью и за пятнадцать минут понять, что заявлено, с чем сравнивают и где заявление может не выдержать проверки.
  2. Воспроизвести результат: развернуть код, получить число, сравнить с опубликованным, объяснить расхождение.
  3. Отличить улучшение метода от улучшения настройки, от удачного зерна и от утечки в тестовую выборку.
  4. Собрать систему целиком — данные, обучение, оценка, интерфейс — и защитить каждое число в её описании.
  5. Ориентироваться в области: где выходят работы, кому верить, как следить и не утонуть.

Устройство

Из чего состоит модуль

Текст

Объяснение с выводом формулы, а не с её предъявлением. Формулу надо уметь прочитать вслух словами — иначе она не понята.

Ноутбук

Тот же материал в коде, запускается сверху вниз без правок. В конце каждого раздела написано, что сломать, чтобы понять.

Практика

Задание, где ответ нельзя списать: он зависит от ваших данных и ваших зёрен.

Проверка себя

Вопросы, на которые надо уметь ответить вслух, прежде чем идти дальше. Не получается — это адрес того, что перечитать.

Начните с модуля 1

Он про то, что значит «работает»: утверждение, базовая линия, шум. Неделя, ноутбук считается за секунды, машинное обучение ещё не понадобится.

Текст — CC BY 4.0, код — MIT: берите, переводите, используйте на своих занятиях.
Ноутбуки выполняются в CI на Linux и Windows: читатель, у которого ноутбук не запускается, курса не имеет.
Исходники — github.com/DrobyshevDev/lemma. Застряли — заведите issue, это дефект текста, а не ваш.