Как это делают на практике и что дальше

Урок связывает ручные основы курса с реальными инструментами и намечает путь дальше.

Мы реализовали всё руками, чтобы понять механику. На практике то же самое делают фреймворки — быстрее, на GPU и без ручного вывода градиентов.

Фреймворки: автодифференцирование

Главное, что дают PyTorch и TensorFlow, — автоматическое дифференцирование. Вы описываете forward pass обычным кодом, а фреймворк сам строит граф вычислений и применяет backprop по всем параметрам. Тот код, что мы писали руками целый раздел, превращается в одну строку loss.backward().

# Это PyTorch — НЕ запускается в браузере (нужна сторонняя библиотека),
# приведён для понимания, как наш ручной цикл выглядит в реальном коде.
import torch
import torch.nn as nn

model = nn.Sequential(
    nn.Linear(2, 2), nn.Sigmoid(),
    nn.Linear(2, 1), nn.Sigmoid(),
)
loss_fn   = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.5)

for epoch in range(10000):
    pred = model(X)              # forward pass
    loss = loss_fn(pred, Y)
    optimizer.zero_grad()
    loss.backward()             # backprop делает фреймворк
    optimizer.step()            # шаг градиентного спуска

Сравните с нашим ручным циклом обучения XOR — структура та же: forward, потеря, обратный проход, шаг оптимизатора. Просто loss.backward() заменяет десятки строк ручного backprop, а nn.Linear — нашу функцию dense.

Почему GPU

Обучение — это миллиарды умножений матриц. Видеокарта (GPU) выполняет тысячи таких операций параллельно и ускоряет обучение в десятки и сотни раз по сравнению с процессором. Поэтому глубокое обучение и взлетело именно тогда, когда GPU стали доступны. Для совсем больших моделей используют кластеры из множества GPU/TPU.

Предобученные модели и transfer learning

Редко кто обучает большую сеть с нуля. Чаще берут предобученную модель (на огромном датасете) и дообучают её под свою задачу на небольших данных — это transfer learning. Так маленькая команда получает качество, недостижимое при обучении с нуля. Хабы вроде Hugging Face дают тысячи готовых моделей.

ИнструментРоль
PyTorch / TensorFlowфреймворки с автодифференцированием
GPU / TPUжелезо для параллельных вычислений
предобученные моделистарт без обучения с нуля

Что дальше изучать

  • Освоить PyTorch — повторить наш XOR и MNIST уже на фреймворке.
  • Углубиться в выбранную область: компьютерное зрение (CNN), NLP и LLM (трансформеры).
  • Понять оценку моделей, работу с данными и инженерию признаков.
  • Изучить дообучение и работу с предобученными моделями.

Чего не стоит бояться и о чём помнить

Главный страх новичка — «я не понимаю, что внутри происходит». После этого курса вы понимаете: внутри нейроны, веса, активации, потеря и backprop — ровно то, что вы реализовали руками. Любая, даже самая большая модель — это масштабирование этих кирпичей. Когда читаете про новую архитектуру, ищите знакомое: где здесь слои, какая активация, какая функция потерь, как течёт градиент. Почти всегда новое — это перекомпоновка известного.

И помните про ответственность: нейросеть выучивает закономерности из данных, включая их предвзятости и ошибки. Модель уверенно выдаёт ответы, но не «понимает» их и может ошибаться на необычных входах. Поэтому в реальных продуктах за моделью всегда стоят проверка качества, мониторинг и здоровый скепсис к её выходу — техническое мастерство неотделимо от аккуратного обращения с результатами.

Итог курса

  • Фреймворки автоматизируют backprop; GPU ускоряют обучение.
  • Transfer learning избавляет от обучения с нуля.
  • Вы понимаете нейросети изнутри — от нейрона и backprop до CNN, RNN и трансформеров; дальше — практика на PyTorch и выбранная специализация.
Проверьте себя
1. Что главное дают фреймворки вроде PyTorch?
AБесплатные GPU
BАвтоматическое дифференцирование: backprop по графу вычислений за вас
CГотовые ответы на задачи
DЗамену данных
2. Почему глубокое обучение опирается на GPU?
AGPU дешевле памяти
BGPU параллельно выполняют огромные матричные умножения, ускоряя обучение в десятки раз
CБез GPU sigmoid не работает
DGPU хранят данные
3. Что такое transfer learning?
AПеренос данных между серверами
BДообучение предобученной модели под свою задачу вместо обучения с нуля
CСмена фреймворка
DКопирование весов вручную
Поддержать проект