🧠

Машинное обучение и нейросети с нуля

Курс для тех, кто хочет по-настоящему понять, как работают нейросети, — от школьной математики до трансформера. Линейная алгебра и производные с наглядными картинками, градиентный спуск, граф вычислений и автоматическое дифференцирование. Мы шаг за шагом напишем собственную библиотеку нейросетей nanotorch (как PyTorch в миниатюре): нейрон, полносвязные сети, функции активации и потерь, инициализацию, BatchNorm и LayerNorm, оптимизаторы, метрики, Dropout, свёрточные сети, эмбеддинги, механизм внимания и Transformer, и обучим их прямо в браузере. Весь код запускается на странице, графики строятся тут же, а задания проверяются автотестами.

42уроков
258заданий
Начать обучение →
пройден начат не начат в разработке
Модуль 1

Введение

Что такое машинное обучение, как устроен курс и NumPy — главный инструмент для работы с числами.

  1. Что такое машинное обучение 3 зад. · 25 мин
  2. NumPy: массивы, векторизация и broadcasting 5 зад. · 35 мин
Модуль 2

Линейная алгебра

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

  1. Векторы: длина, сложение, скалярное произведение 6 зад. · 30 мин
  2. Матрицы и умножение матриц 6 зад. · 35 мин
  3. Матрица как преобразование пространства 5 зад. · 30 мин
  4. Определитель, обратная матрица, ранг и системы уравнений 6 зад. · 35 мин
  5. Собственные векторы и разложения 6 зад. · 35 мин
  6. Дополнительные упражнения: векторы и матрицы 13 зад. · 40 мин
  7. Дополнительные упражнения: линейная алгебра в ML 8 зад. · 45 мин
Модуль 3

Математический анализ

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

  1. Функции, экспонента и логарифм 7 зад. · 30 мин
  2. Производная: скорость изменения 6 зад. · 35 мин
  3. Правило цепочки 7 зад. · 35 мин
  4. Частные производные и градиент 6 зад. · 35 мин
  5. Вероятности, softmax и правдоподобие 7 зад. · 40 мин
  6. Дополнительные упражнения: производные и градиенты 10 зад. · 45 мин
Модуль 4

Как учатся модели

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

  1. Постановка задачи машинного обучения 6 зад. · 30 мин
  2. Градиентный спуск 6 зад. · 40 мин
  3. Граф вычислений 6 зад. · 35 мин
  4. Автоматическое дифференцирование: свой движок 5 зад. · 50 мин
  5. От чисел к тензорам: библиотека nanotorch 6 зад. · 50 мин
Модуль 5

Нейронные сети

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

  1. Нейрон: шаг в будущее 5 зад. · 40 мин
  2. Линейный слой 5 зад. · 35 мин
  3. Полносвязные нейронные сети 6 зад. · 45 мин
  4. Функции активации 5 зад. · 35 мин
  5. Задача регрессии и её функция потерь 6 зад. · 35 мин
  6. Задача классификации и её функция потерь 6 зад. · 40 мин
  7. Инициализация весов нейронной сети 5 зад. · 35 мин
  8. BatchNorm 5 зад. · 40 мин
  9. LayerNorm 5 зад. · 30 мин
  10. Оптимизаторы градиентного спуска 6 зад. · 45 мин
  11. Метрики качества 7 зад. · 40 мин
  12. Переобучение и борьба с ним 6 зад. · 45 мин
  13. Dropout 7 зад. · 30 мин
  14. Проект: распознаём рукописные цифры 6 зад. · 50 мин
Модуль 6

Свёрточные сети

Как нейросети видят картинки: свёртка, фильтры, пулинг и архитектура свёрточной сети.

  1. Свёрточные слои 7 зад. · 45 мин
  2. Свёрточные сети 6 зад. · 45 мин
Модуль 7

Трансформеры

От текста к числам и механизм внимания: токенизация, эмбеддинги, attention, self-attention, multi-head attention, энкодер трансформера и визуализация того, куда смотрит модель.

  1. Tokenization и Embeddings 7 зад. · 45 мин
  2. Механизм внимания. Attention 6 зад. · 40 мин
  3. Self-Attention и Multi-Head Attention 6 зад. · 40 мин
  4. Transformer: энкодер 6 зад. · 50 мин
  5. Визуализация механизма внимания 5 зад. · 40 мин
  6. Итоги курса и что дальше 5 зад. · 40 мин