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

Зачем DS спрашивают deep learning

Не каждая DS-команда работает с нейросетями: на табличных задачах классическая ML обычно сильнее. Но на CV, NLP, аудио, sequential data — без deep learning не обойтись. На собесе DS базу про нейросети обычно проверяют у всех, deep — у тех, кто идёт в соответствующие команды.

Минимум для собеса Data Scientist: полносвязные сети, backpropagation, основы CNN / RNN / Transformers, базовые архитектуры (ResNet, BERT). Глубокое знание DL ждут только в research-командах.

Полносвязные сети (MLP)

Базовая нейросеть: input layer → hidden layers → output layer. Каждый нейрон — линейная комбинация + activation function.

Активации:

  • ReLU (max(0, x)) — стандарт. Быстрая, не страдает vanishing gradient на положительной части
  • Sigmoid (1/(1+e^-x)) — для output binary classification. На скрытых слоях устарела
  • Tanh — нормированная sigmoid. Раньше популярна, сейчас редко
  • Softmax — для multi-class output. Превращает logits в вероятности
  • GELU / SwiGLU — современные, в transformers

Loss-функции:

  • MSE / MAE — регрессия
  • Cross-entropy — классификация
  • Focal loss — для imbalanced

Backpropagation

Алгоритм обучения. Считает градиент loss по весам через chain rule, проходя по сети backwards.

Vanishing gradient: в глубоких сетях градиент затухает к ранним слоям. Решения: ReLU вместо sigmoid, batch normalization, residual connections.

Exploding gradient: градиент растёт экспоненциально. Решение: gradient clipping (обрезать норму).

Optimizers:

  • SGD — базовый. С momentum — ускоряет сходимость
  • Adam — стандарт. Адаптивный learning rate по параметрам
  • AdamW — Adam с правильной weight decay. Современный стандарт

CNN — convolutional networks

Для image / spatial данных. Ключевая идея — convolution: применяем filter (kernel) к локальным окнам.

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

  • Conv layers (извлечение фичей) → Pooling (downsample) → FC layers (классификация)
  • Stride, padding — контролируют размер output
  • Receptive field — какой регион input влияет на нейрон

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

  • LeNet — historic
  • AlexNet — 2012, ImageNet breakthrough
  • ResNet — residual connections, до 152+ слоёв без vanishing gradient
  • EfficientNet — compound scaling depth/width/resolution
  • Vision Transformer (ViT) — Transformer для картинок, без свёрток

Что спросят:

  • Сколько параметров у Conv 3x3 с 64 каналами на input и 128 на output (3×3×64×128 + 128 bias)
  • Зачем pooling — translation invariance, downsampling
  • Что такое 1x1 conv — channel-wise FC

RNN / LSTM / GRU

Для sequential данных: текст, временные ряды.

Vanilla RNN: скрытое состояние передаётся вперёд. Vanishing gradient на длинных последовательностях.

LSTM: gated архитектура. Forget / input / output gates. Решает vanishing gradient.

GRU: упрощённая LSTM. Reset / update gates. Быстрее, часто сравнимо качество.

Когда использовать:

  • Forecasting time series (с осторожностью — Prophet / классика часто лучше)
  • NLP до Transformer-эры (сейчас Transformer лучше)
  • Аудио, sequential ML

В 2026 RNN всё ещё используется, но на NLP-задачах вытеснен Transformer-ами.

Transformers

Современная архитектура. Self-attention заменяет recurrence:

Attention(Q, K, V) = softmax(QK^T / √d_k) V

Multi-head attention: параллельные attention с разными проекциями. Concatenate → linear.

Positional encoding: нужно, потому что attention permutation-invariant.

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

  • Original Transformer — encoder-decoder (Machine Translation)
  • BERT — encoder-only, masked LM
  • GPT — decoder-only, autoregressive LM
  • T5 — encoder-decoder, text-to-text

Подробнее — cosine vs euclidean на собесе DS.

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

Dropout: случайно «выключаем» нейроны на обучении. Стандартное p=0.1-0.5.

Batch normalization: нормализуем activations внутри слоя. Ускоряет обучение, стабилизирует.

Layer normalization: альтернатива BN для Transformer / RNN. Не зависит от batch size.

Weight decay: L2 регуляризация в optimizer.

Early stopping: останавливаем обучение при ухудшении validation loss.

Data augmentation: для CV — повороты, обрезки, цвет. Для NLP — synonyms, back-translation.

Типичные вопросы

«Объясни backpropagation простыми словами»

Алгоритм считает, как каждый параметр сети влияет на loss, используя chain rule. После прямого прохода (forward pass) и подсчёта loss мы проходим сеть назад, считая частные производные. Получаем градиенты → обновляем веса в сторону уменьшения loss.

«Почему Transformer вытеснил RNN в NLP?»

Self-attention позволяет параллельную обработку всей последовательности (RNN sequential). Длинные зависимости моделируются напрямую (RNN страдают от vanishing gradient). Кроме того, scaling laws — Transformer хорошо масштабируется до huge моделей.

«Что такое vanishing gradient и как с ним бороться?»

В глубокой сети градиент затухает к ранним слоям, обучение останавливается. Решения: ReLU (вместо sigmoid), batch normalization, residual connections, LSTM / GRU для sequential.

«Чем Adam отличается от SGD?»

Adam адаптирует learning rate для каждого параметра отдельно, использует momentum и адаптивную нормализацию. Сходится быстрее на сложных loss-ландшафтах. SGD проще, иногда даёт лучший generalization (особенно на CV).

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

  • «Возьму нейронку для табличных». Обычно проигрывает gradient boosting. Объясни trade-off
  • Без understanding базы. Знать «BERT хорошо для NLP» — мало. Объяснить self-attention механизм — must
  • Игнор compute. «Обучим GPT-4» без учёта 100k GPU-hours — отказ
  • Default optimizer. Adam с lr=0.001 не всегда работает. Понимать warmup, scheduling — плюс
  • Учебниковая теория без интуиции. Знать формулу attention бесполезно, если не объяснишь, зачем √d_k в знаменателе

FAQ

Нужно ли уметь выводить backpropagation?

Junior — нет, объяснить интуицию достаточно. Senior — желательно для одного слоя.

Какой DL-фреймворк учить?

PyTorch — стандарт в research и большинстве production. TensorFlow всё ещё используется в Google и legacy. JAX — в research-командах.

Стоит ли LLM знать для не-NLP DS?

База — да: что такое prompt engineering, RAG, fine-tuning, evaluation. Глубоко (RLHF, training infra) — только для NLP / Foundation Model команд.

Нужны ли публикации для DL-собеса?

Для research-командов (Яндекс research, Sber AI Lab) — желательно. Для applied DL — нет.

Сколько deep learning vs classical ML на типичном собесе?

В applied DS — 70-30 в пользу классики. В CV / NLP командах — наоборот. В research — почти всё про DL.

Смотрите также