Стэнфордский курс CS231N: Линейные классификаторы и основы глубокого обучения

Stanford Online 79,1 тыс. 1 ч 6 мин 3 мин 02.09.2025
Главное

Введение: от распознавания образов к нейронным сетям 0:05

Лекция №2 курса Stanford CS231N, прочитанная в Стэнфордском университете весной 2025 года, посвящена основам классификации изображений. В ходе занятия лектор подробно разбирает фундаментальные подходы к решению этой задачи: алгоритм ближайших соседей (k-nearest neighbor) и линейные классификаторы, которые являются ключевыми «строительными блоками» современных нейронных сетей. Основной акцент делается на переходе от процедурного программирования к подходам, основанным на данных (data-driven approaches).

Проблема классификации изображений 1:43

Классификация изображений — это базовая задача компьютерного зрения, заключающаяся в присвоении изображению одной метки из заранее определенного набора. Хотя для человеческого мозга это естественный процесс, для компьютеров данная задача является сложной из-за принципиальной разницы в восприятии данных.

Основные вызовы при работе с изображениями 4:43

Лектор выделяет ряд факторов, которые делают классификацию «в лоб» невозможной:

В прошлом предпринимались попытки жестко запрограммировать правила обнаружения признаков (например, поиск краев или углов), но такие методы крайне трудно масштабировать. Поэтому современная парадигма строится на трехэтапном процессе: сбор данных, обучение модели (функция train) и предсказание на новых данных (функция predict).

Алгоритм k-ближайших соседей (k-Nearest Neighbor) 16:55

Это самый простой пример подхода, основанного на данных. Функция train здесь буквально «запоминает» все обучающие данные, а функция predict ищет наиболее похожее изображение из обучающей выборки.

Проблемы метода 23:01

Гиперпараметры и их настройка 35:39

Выбор значения $k$ и функции расстояния (L1 или L2) — это настройка гиперпараметров. Использование тестовой выборки для подбора параметров недопустимо, так как это является «читерством» и не дает информации о том, как модель будет работать на новых данных.

Лучшими практиками являются:

  1. Валидационная выборка: Отделение части тренировочных данных для подбора параметров.
  2. Кросс-валидация: Разделение тренировочных данных на $N$ частей (фолдов), чтобы каждая часть по очереди была валидационной. Это обеспечивает более надежные результаты, хотя и требует больших вычислительных затрат.

Линейные классификаторы 46:19

Линейный классификатор — это параметрический подход, при котором обучается весовая матрица $W$. Функция предсказания $f(x, W) = Wx + b$ преобразует входной вектор изображения в набор оценок (скоров) для каждого класса.

Функция потерь и Softmax 55:04

Чтобы обучить модель, необходимо определить функцию потерь (loss function), которая измеряет «неудовлетворенность» классификатора результатами предсказания на обучающей выборке.

Лектор отмечает, что при случайной инициализации весов, когда вероятности классов равны, значение функции потерь будет составлять $ln(C)$, где $C$ — количество классов.

💬 Цитаты

«Для нас это очень простая задача, потому что наш мозг, наша когнитивная система, настроена на целостное понимание изображения.»

«Нет способа жестко прописать правила для классификации изображений.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Тензор
Математический объект, обобщающий скаляры, векторы и матрицы, используемый для представления данных в нейросетях.
Гиперпараметр
Переменная, значение которой устанавливается до начала процесса обучения модели (например, значение k).
Логиты
Ненормированные выходные значения линейной функции до применения функции Softmax.
Кросс-энтропия
Функция потерь, измеряющая разницу между распределением предсказанных вероятностей и истинными метками.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Image classification Linear classifier k-Nearest Neighbor Softmax Stanford CS231N