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) VMulti-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.