Deep Learning на собеседовании Data Scientist

Готовишься к собесу Data Scientist?
ML, Deep Learning, NLP, MLOps — вопросы с разборами в Telegram
Тренировать DS в Telegram

Зачем DL на собесе DS

В вакансиях DS deep learning — почти обязательный пункт. Уровень глубины разный:

  • В команде продуктовой аналитики и классических задач — базы (что такое нейросеть, в чём отличие от линейной модели, fine-tuning общее)
  • В команде CV/NLP/recsys — серьёзные знания архитектур, обучения, debugging
  • В research-команде (Sber AI Lab, Yandex Research) — современные статьи, имплементации

Базовый минимум для junior-middle DS: MLP, CNN, RNN, transformers, dropout, batch normalization, optimizer. Понимание того, как обучается нейросеть.

Базовые архитектуры

MLP (Multilayer Perceptron)

Полносвязная нейросеть. Слои: input → hidden (несколько) → output.

Применяется на табличных данных, иногда на векторных представлениях. Часто работает хуже градиентного бустинга на классических задачах.

CNN (Convolutional Neural Network)

Для данных с пространственной структурой: изображения, аудио, временные ряды.

Главные элементы:

  • Convolutional layer — фильтры скользят по входу
  • Pooling (max, avg) — уменьшение размерности
  • Fully connected на финале для классификации

Известные архитектуры: ResNet, EfficientNet, Vision Transformer (ViT) — это уже не CNN, но для CV.

RNN, LSTM, GRU

Для последовательностей (текст, временные ряды). Сейчас почти полностью вытеснены transformers, но базы знать нужно.

LSTM решает проблему vanishing gradient через cell state и gates. GRU — упрощённая версия LSTM, быстрее обучается, обычно не уступает в качестве.

Transformers

Стандарт для NLP, теперь и для CV (ViT). Основа — self-attention.

Подробно — Transformers и attention.

Обучение нейросетей

Backpropagation

Алгоритм обучения. Вычисляет градиент loss по весам через chain rule. Реализован в PyTorch/TensorFlow автоматически — программист пишет forward pass, backward вычисляется фреймворком.

На собесе: «Что такое vanishing gradient?» Ответ: при обратном распространении через много слоёв градиенты экспоненциально уменьшаются. Решения — ReLU вместо sigmoid, batch normalization, residual connections.

Optimizers

  • SGD — базовый стохастический градиент. Простой, нужен учить learning rate
  • SGD with Momentum — учитывает прошлые градиенты для сглаживания
  • Adam — adaptive learning rate per parameter. Дефолт для большинства задач
  • AdamW — Adam + правильная регуляризация. Современный стандарт

Learning rate schedule

Constant lr почти не используется. Стандарт:

  • Step decay — уменьшать в N раз каждые M эпох
  • Cosine annealing — плавное снижение по cos
  • Warmup + cosine — сначала растёт от 0, потом снижается. Стандарт для transformers

Регуляризация

Dropout

При обучении случайно зануляет часть нейронов (с вероятностью p). Модель не может полагаться на конкретные связи.

Включён только при training, при inference — выключен.

Batch Normalization

Нормализует активации внутри батча. Ускоряет обучение, добавляет небольшой регуляризационный эффект.

Главная гайчка — на маленьких батчах работает плохо. Альтернатива — Layer Normalization (используется в transformers).

Weight decay

Добавляет L2-регуляризацию к loss. В AdamW реализован правильно (отдельно от Adam).

Data augmentation

Расширение датасета через искажения (повороты, обрезки, добавление шума). Сильнее любых регуляризаций.

Early stopping

Останавливает обучение при отсутствии улучшения на validation. Простой, но эффективный приём.

Готовишься к собесу Data Scientist?
ML, Deep Learning, NLP, MLOps — вопросы с разборами в Telegram
Тренировать DS в Telegram

Transformers

Self-attention позволяет каждому элементу последовательности «обращать внимание» на любые другие. Это решает проблему RNN, где информация о далёких элементах теряется.

Архитектура:

  • Input embeddings + positional encoding — токены и их позиции
  • Multi-head attention — несколько параллельных attention голов
  • Feed-forward networks — классические dense слои
  • Layer Normalization + Residual connections

BERT — encoder-only, для классификации, NER, QA. GPT — decoder-only, для генерации. T5 — encoder-decoder, универсальная.

На собесе важно понимать, что такое attention scores и как они вычисляются (Q × K_T / sqrt(d) → softmax → × V).

Когда DL не нужен

DL — мощный, но дорогой инструмент. Не используйте, если:

  • Табличные данные с <1М строк → CatBoost быстрее и точнее
  • Линейная зависимость → linear/logistic regression объяснима и достаточна
  • Маленький датасет → переобучение, нет смысла без augmentation/transfer learning
  • Жёсткие требования к интерпретируемости → SHAP на бустинге понятнее

DL обоснован для: изображения, аудио, текст, очень большие датасеты, структурно-сложные задачи.

Частые ошибки

Не масштабировать вход. Без normalization сходимость медленная или невозможная.

Использовать sigmoid в скрытых слоях. Vanishing gradient. Стандарт сегодня — ReLU, GELU.

Не использовать dropout/batch norm. Без регуляризации сеть переобучится.

Использовать Adam без понимания. Для transformers — AdamW обязателен, иначе weight decay работает неправильно.

Тренироваться с маленьким батчем без gradient accumulation. Очень шумные градиенты ломают сходимость.

FAQ

PyTorch vs TensorFlow?

PyTorch — стандарт в research и большинстве производств. TensorFlow — больше в legacy и mobile.

Сколько DL-практики нужно для junior DS?

1-2 проекта с реальной нейросетью (CV или NLP). Понимание основ.

Это официальная информация?

Нет. Статья основана на классических работах (LeCun, He, Vaswani) и опыте кандидатов.