Featured image of post Необходимая математика — обзор

Необходимая математика — обзор

Какие математические знания нужны для ИИ и машинного обучения, и зачем

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

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

Что нужно: векторы, матрицы, умножение матриц, линейные преобразования, скалярное произведение, норма вектора, собственные числа и векторы (на продвинутом уровне).

Зачем:

  • Векторы — базовый способ представления данных: слово, изображение, «мысль» модели кодируются векторами чисел
  • Матрицы — все операции нейросети (свёртки, внимание, линейные слои) сводятся к умножению матриц
  • Линейные преобразования — понимание, как слой «перемешивает» и комбинирует признаки
  • Без линейной алгебры невозможно читать формулы в статьях и понимать, что делает код (например, W @ x — это умножение матрицы весов на вектор входа)1

Пределы и производные

Что нужно: пределы функций, производные, частные производные, градиент, правило цепочки (chain rule), оптимизация функций.

Зачем:

  • Нейросеть обучается через градиентный спуск: мы двигаем веса в направлении, где ошибка уменьшается
  • Градиент — это вектор частных производных: указывает, куда «подкрутить» каждый параметр
  • Правило цепочки лежит в основе backpropagation — алгоритма, который автоматически считает градиенты для всех слоёв
  • Без анализа нельзя понять, откуда берутся обновления весов и почему обучение вообще работает

Теория вероятностей и статистика

Что нужно: распределения (нормальное, Бернулли и др.), математическое ожидание, дисперсия, условная вероятность, теорема Байеса, максимизация правдоподобия (MLE).

Зачем:

  • Модели часто формулируются вероятностно: «какова вероятность следующего слова», «насколько уверена модель в ответе»
  • Loss-функции часто выводятся из правдоподобия (cross-entropy, MSE и др.)
  • Статистика нужна для работы с данными: нормализация, оценка качества, понимание метрик ( precision, recall, AUC)
  • Байес — основа многих классических алгоритмов и способа «обновлять убеждения» на новых данных

Computer Vision (CV)

Дополнительно к общему минимуму: дискретная свёртка (2D), аффинные и проективные преобразования, базовые понятия геометрии изображений (калибровка камеры, эпиполярная геометрия).

Зачем:

  • Свёртка — ядро работы CNN: понять, как фильтр «скользит» по изображению и что такое kernel, padding, stride
  • Аффинные преобразования (поворот, масштаб, сдвиг) — для аугментаций и понимания инвариантности
  • Проективная геометрия и гомографии — для задач стереозрения, 3D-реконструкции, AR
  • Для классических методов (SIFT, optical flow) полезны производные изображения, градиенты по пикселям

Опционально, но полезно

  • Теория информации (энтропия, кросс-энтропия) — углубляет понимание loss-функций и сжатия данных
  • Выпуклая оптимизация — для понимания, когда задача «хорошая» и когда SGD сходится
  • Дифференциальная геометрия — для продвинутых тем (диффузионные модели, представления)

Практический минимум

Чтобы уверенно читать статьи и код:

  • Уметь умножать матрицы и понимать, что делает линейный слой
  • Понимать, что такое градиент и зачем он в обучении
  • Знать базовые распределения и метрики качества

Остальное можно добирать по мере необходимости — когда встретится в конкретной задаче или статье.


  1. W @ x — в Python (NumPy, PyTorch) оператор матричного умножения: матрица весов W умножается на входной вектор x. Результат — выходной вектор. Линейный слой по сути считает W·x + b↩︎

Создано при помощи Hugo
Тема Stack, дизайн Jimmy