Это вводная статья цикла «Необходимая математика» — обзор того, какие разделы математики нужны для работы с ИИ и машинным обучением и для чего именно они используются.
Линейная алгебра
Что нужно: векторы, матрицы, умножение матриц, линейные преобразования, скалярное произведение, норма вектора, собственные числа и векторы (на продвинутом уровне).
Зачем:
- Векторы — базовый способ представления данных: слово, изображение, «мысль» модели кодируются векторами чисел
- Матрицы — все операции нейросети (свёртки, внимание, линейные слои) сводятся к умножению матриц
- Линейные преобразования — понимание, как слой «перемешивает» и комбинирует признаки
- Без линейной алгебры невозможно читать формулы в статьях и понимать, что делает код (например,
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 сходится
- Дифференциальная геометрия — для продвинутых тем (диффузионные модели, представления)
Практический минимум
Чтобы уверенно читать статьи и код:
- Уметь умножать матрицы и понимать, что делает линейный слой
- Понимать, что такое градиент и зачем он в обучении
- Знать базовые распределения и метрики качества
Остальное можно добирать по мере необходимости — когда встретится в конкретной задаче или статье.
W @ x— в Python (NumPy, PyTorch) оператор матричного умножения: матрица весов W умножается на входной вектор x. Результат — выходной вектор. Линейный слой по сути считаетW·x + b. ↩︎
