Как устроена и обучается нейросеть — слои, функции активации, обратное распространение ошибки?
- Что такое backpropagation?
- Зачем нужны функции активации?
- Что делают dropout и batch normalization?
Нейросеть — композиция слоёв: каждый делает линейное преобразование (веса и смещение) и нелинейную функцию активации (ReLU, GELU). Без нелинейности любая глубина схлопнулась бы в одну линейную функцию. Обучение: прямой проход → функция потерь → обратное распространение (градиенты по правилу цепочки) → шаг оптимизатора.
- Dropout случайно отключает нейроны при обучении — регуляризация
- Нормализация (BatchNorm, LayerNorm в трансформерах) стабилизирует и ускоряет обучение
- Затухание и взрыв градиентов лечат нормализацией, остаточными связями, правильной инициализацией
А ещё PyTorch считает градиенты автоматически (autograd) — вручную производные не пишут
Подробно
Прямой проход. Вход умножается на матрицу весов, добавляется смещение, применяется активация; результат идёт в следующий слой. Последний слой и функция потерь зависят от задачи: 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.
- Приёмы стабилизации и регуляризации.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Нелинейная функция активации не обязательна: глубина сама даёт выразительность
- ✗Обратное распространение подбирает архитектуру сети
- ✓Слои с нелинейной активацией; потери, обратное распространение, шаг
- ✗Dropout ускоряет инференс, отключая нейроны в продакшене
Что спросят дальше
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.