Получить доступ

Как устроена и обучается нейросеть — слои, функции активации, обратное распространение ошибки?

JuniorНейросети и трансформерыPyTorch
Ещё спрашивают так:
  • Что такое backpropagation?
  • Зачем нужны функции активации?
  • Что делают dropout и batch normalization?
Коротко

Нейросеть — композиция слоёв: каждый делает линейное преобразование (веса и смещение) и нелинейную функцию активации (ReLU, GELU). Без нелинейности любая глубина схлопнулась бы в одну линейную функцию. Обучение: прямой проход → функция потерь → обратное распространение (градиенты по правилу цепочки) → шаг оптимизатора.

  • Dropout случайно отключает нейроны при обучении — регуляризация
  • Нормализация (BatchNorm, LayerNorm в трансформерах) стабилизирует и ускоряет обучение
  • Затухание и взрыв градиентов лечат нормализацией, остаточными связями, правильной инициализацией

А ещё PyTorch считает градиенты автоматически (autograd) — вручную производные не пишут

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Попробуйте сами

Градиентный спуск: learning rate, Momentum и Adam

Подробно

Прямой проход. Вход умножается на матрицу весов, добавляется смещение, применяется активация; результат идёт в следующий слой. Последний слой и функция потерь зависят от задачи: softmax и кросс-энтропия для классификации, линейный выход и MSE для регрессии.

Обратное распространение. Функция потерь — сложная функция от всех весов. По правилу дифференцирования сложной функции градиенты вычисляются от выхода к входу, слой за слоем, переиспользуя промежуточные результаты. Затем оптимизатор (SGD, Adam) обновляет веса.

loss = criterion(model(x), y)
optimizer.zero_grad()
loss.backward()      # backprop: градиенты для всех параметров
optimizer.step()     # шаг оптимизатора

Активации: сигмоида и tanh насыщаются — градиент почти ноль на краях, глубокие сети учатся плохо. ReLU и её варианты (GELU, SiLU в трансформерах) решили эту проблему для скрытых слоёв.

Стабилизация обучения:

  • остаточные связи (residual) — вход слоя прибавляется к выходу, градиент проходит напрямую через сотни слоёв;
  • нормализация — BatchNorm по батчу (CNN), LayerNorm по признакам (трансформеры);
  • dropout, weight decay, ранняя остановка — против переобучения.

Что хотят услышать

  • Слой, веса, активация и зачем нелинейность.
  • Цикл обучения и backprop.
  • Приёмы стабилизации и регуляризации.

Что спросят дальше

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем