Перейти к содержимому
ПереводыStanford

Stanford CS231n «Deep Learning for Computer Vision» — путеводитель

Как устроен курс Stanford CS231n и его знаменитые конспекты (cs231n.github.io): карта модулей, что из них переведено у нас полностью, задания весны 2026 года (kNN и Softmax, BatchNorm и свёрточные сети, трансформеры, диффузия, CLIP и DINO), в каком порядке читать и с какими уроками курса связывать.

CS231n — стэнфордский курс глубокого обучения для компьютерного зрения, который читают с 2015 года. Его конспекты на cs231n.github.io, написанные в основном Андреем Карпатым, — пожалуй, самое известное в мире введение в нейронные сети «с нуля»: от линейного классификатора и ручного обратного распространения до свёрточных сетей. Задания курса — блокноты Colab, в которых вы сами пишете прямой и обратный проход слоёв на NumPy, а затем переходите на PyTorch.

СтраницаОригиналО чёмУрок курса
Линейная классификацияLinear Classificationфункция оценок, шаблоны, SVM и Softmax, регуляризация2.2.2, 1.3.2
ОптимизацияOptimization: SGDландшафт потерь, численный и аналитический градиент, мини-батчи1.4.1
Обратное распространениеBackpropagation, Intuitionsцепное правило на схемах, шаблоны add/max/mul, матричные градиенты3.2.2
Свёрточные сети, часть 1Convolutional Networks (1-я половина)объёмы, свёрточный слой, шаг, дополнение, разделение параметров, im2col3.5.1
Свёрточные сети, часть 2Convolutional Networks (2-я половина)пулинг, FC → CONV, шаблоны архитектур, LeNet…ResNet, память3.5.2

Конспекты разбиты на модули (так они перечислены на главной странице сайта). Время чтения — наша оценка.

МодульКонспектЧто внутриВремя
0. ПодготовкаSoftware Setup; Python / Numpy Tutorialустановка, Colab, основы NumPy1–2 ч
1. Нейронные сетиImage Classificationподход на данных, kNN, L1/L2, кросс-валидация1 ч
Linear Classificationсм. перевод выше1,5 ч
Optimizationсм. перевод выше1 ч
Backpropagationсм. перевод выше1 ч
Neural Networks Part 1модель нейрона, функции активации, архитектуры, выразительная сила1 ч
Neural Networks Part 2предобработка, инициализация, BatchNorm, регуляризация (L2, dropout), функции потерь1,5 ч
Neural Networks Part 3проверка градиента, «присмотр» за обучением, момент, Adagrad/RMSprop, подбор гиперпараметров, ансамбли2 ч
Minimal Neural Network Case Studyдвумерный игрушечный пример от линейного классификатора до двухслойной сети1 ч
2. Свёрточные сетиConvolutional Networksсм. перевод выше (две части)2,5 ч
Understanding and Visualizing CNNst-SNE, деконволюции, градиенты по данным, «обман» сетей40 мин
Transfer Learningкогда и как дообучать предобученные сети30 мин
ДополнительноRNN, Attention, Transformersрекуррентные сети, внимание, трансформеры для зрения2 ч
Generative Models / Generative Modeling, PixelRNN, NeRF, Adversarial attacksгенеративные модели, нейронные поля излучения, состязательные атаки3 ч

Подходящие уроки нашего курса: нейроны и MLP — 3.1.1, инициализация и нормализация — 3.4.1, остаточные связи и dropout — 3.4.2, оптимизаторы — 1.4.2, внимание — 4.4.1, диффузия — 9.1.2, CLIP и зрение с языком — 9.1.1.

Задания — блокноты Colab; в репозитории лежат их описания и архивы со стартовым кодом. Сроки — по тихоокеанскому времени.

ЗаданиеСрокЧто делаетеУрок курса
116 апреля 2026kNN; классификатор Softmax; двухслойная сеть; признаки HOG и цветовые гистограммы вместо пикселей; полносвязная сеть2.3.1, 3.1.2
28 мая 2026BatchNorm и LayerNorm; Dropout; свёрточные слои вручную; свёрточная сеть на PyTorch для CIFAR-10; подписи к изображениям с простой RNN на COCO3.4.1, 3.5.1
328 мая 2026Подписи к изображениям трансформером; самообучение (self-supervised) для классификации; диффузионные модели DDPM; CLIP и DINO4.5.1, 9.1.2

Общая схема каждого задания: открыть блокноты в Colab (авторы просят переключить версию среды выполнения на указанную в описании, чтобы редактирование файлов работало), выполнить все блокноты, кроме collect_submission.ipynb, затем запустить его и отправить архив и PDF в Gradescope. Для задания 3 появился requirements.txt для локального запуска, хотя официально поддерживается только Colab.

  1. После урока 2.2.2 (логистическая регрессия) прочитайте линейную классификацию: те же идеи, но для 10 классов и картинок, плюс SVM для сравнения.

  2. После уроков 1.4.1 и 1.2.2 (градиентный спуск и цепное правило) — оптимизацию и обратное распространение. Сразу после — micrograd (модуль 3.2): это та же схема «вентилей», только в коде.

  3. Задание 1 — хорошая проверка: векторизованные SVM/Softmax и двухслойная сеть на NumPy без автоматического дифференцирования.

  4. Модуль 3.5 (компьютерное зрение) — свёрточные сети, часть 1 и часть 2, затем задание 2.

  5. Дальше — дополнительные конспекты про RNN и трансформеры и задание 3, которое уже ведёт к темам ступени 9 (диффузия, CLIP).

  • Слайды и видео лекций (cs231n.stanford.edu, YouTube) — без открытой лицензии; к тому же сайт курса недоступен из нашей среды, поэтому расписание лекций 2026 года мы не пересказываем.
  • Остальные конспекты (Neural Networks 1–3, Image Classification, RNN, генеративные модели и др.) — лицензия позволяет перевод, но в этот раз мы выбрали четыре ключевые темы из задания. Если нужны остальные — это следующий кандидат на перевод.
  • Блокноты заданий — стартовый код в архивах; условия сводятся к инструкциям внутри блокнотов, их мы только описали выше.
ENRU
course notesконспекты курса
assignment, starter codeзадание, стартовый код
self-supervised learningсамообучение (обучение без разметки)
image captioningгенерация подписей к изображениям
DDPMдиффузионная вероятностная модель с шумоподавлением