Multi-task learning на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
MTL — техника для shared representation. На собесе DS: «зачем shared layers», «negative transfer».
Идея MTL
Тренируем одну модель на N задач одновременно. Shared layers учат общее representation.
Преимущества:
- Одна модель — меньше weights / inference cost.
- Inductive bias — задачи помогают друг другу.
- Меньше data needed для каждой task.
- Regularization effect.
Hard parameter sharing
Backbone (shared layers) + task-specific heads.
Input → [shared layers] → ┬→ [head 1] → output 1
├→ [head 2] → output 2
└→ [head N] → output NСамый популярный подход. Работает хорошо когда tasks related.
Soft parameter sharing
Каждая task — своя модель, но weights связаны regularization (L2 distance между models).
Используется реже. Применяется когда tasks слабо related, но хотим knowledge transfer.
Negative transfer
Когда обучение одной task вредит другой. Происходит когда:
- Tasks unrelated.
- Один task имеет гораздо больше data → доминирует.
- Loss balance не tuned.
Mitigation:
- Task grouping (только related tasks вместе).
- Auxiliary tasks (помощь, не main goal).
- Adaptive weighting.
Loss balancing
L_total = α_1 · L_1 + α_2 · L_2 + ... + α_N · L_NПодходы:
- Equal weights. Часто плохо — loss values разные scales.
- Manual tuning. Trial and error.
- Uncertainty weighting (Kendall 2018). Learn weights based on task uncertainty.
- GradNorm. Balance gradients norms across tasks.
- PCGrad. Project conflicting gradients.
Применения
Computer Vision:
- Mask R-CNN — classification + bbox + mask.
- Multi-output detection / segmentation.
NLP:
- BERT pre-training: MLM + NSP.
- T5 — multiple tasks через text-to-text formulation.
Recsys / advertising:
- CTR + CVR + revenue prediction.
- Multiple objectives (engagement + monetization).
Self-driving:
- Detection + segmentation + depth + ego-motion.
В продакшне — почти каждая non-trivial NN — multi-task.
Связанные темы
- Transfer learning fundamentals
- Loss функции на собесе DS
- Dropout и BatchNorm на собесе DS
- Two-tower DSSM для DS
- Подготовка к собесу Data Scientist
FAQ
Когда лучше separate models?
Если tasks полностью неrelated, дataset разный, latency не критична — separate models могут быть лучше.
Это официальная информация?
Нет. Статья основана на работах Caruana 1997 (MTL), Kendall 2018 (uncertainty weighting).
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.