Банк вопросов для собеседований на позицию Machine Learning Engineer в области Computer Vision.
- Что такое градиентный бустинг? Где там появляется градиент?
- Рассказать про RandomForest.
- Можно ли строить RandomForest над KNN, линейными моделями и нейросетями, почему?
- Как аналитически решается задача линейной регрессии?
- Как происходит процесс построения дерева?
- Что такое bagging?
- Что такое переобучение? Какие есть способы борьбы с ним?
- Какие существуют методы регуляризации? Плюсы и минусы каждого, области применения каждого.
- Почему L1 регуляризация зануляет часть весов?
- Что такое bias, variance модели?
- Что такое bias-variance trade-off?
- Какой bias и variance у различных типов моделей: линейные модели, деревья, ансамбли деревьев?
- Что такое дисбаланс классов и как с ним бороться?
- Почему деревья сильнее переобучаются?
- Какие знаешь оптимизаторы, в чем их идеи и различия?
- Gradient Descent (GD), Stochastic Gradient Descent (SGD) и Mini-Batch Stochastic Gradient Descent (Mini-Batch SGD). В чем их различия, плюсы и минусы каждого?
- Если бы мы имели бесконечные ресурсы (память, GPU, CPU и т.д.), а также нам была бы не важна скорость сходимости модели, то какой метод GD, SGD или Mini-Batch SGD лучше использовать?
- Что такое gradient clipping?
- Рассказать про gradient accumulation.
- Что такое градиент?
- Формулировка задачи Maximum Likelihood Estimation. Записать формулу.
- Задачка на вероятность: есть 100 монет, 1 нечестная (на обеих сторонах изображен орел), при подбрасывании выпал орел, найдите вероятность, что монетка была нечестной.
- Коэффициент корреляции равен 0, можно ли утверждать, что выборки независимы?
- Какую зависимость ищет корреляция?
- Как проверить нормальность выборки?
- Что такое pvalue и для чего оно нужно?
- Задача: решаем задачу линейной регрессии, все y > 0, какие алгоритмы из написанных могут дать отрицательное значение: линейная регрессия, KNN, градиентный бустинг, дерево, случайный лес, нейросеть?
- Есть градиентный бустинг и случайный лес на 1000 деревьев, что будет с качеством каждой модели если удалить первое построенное дерево?
- Почему в градиентном бустинге обычно менее глубокие деревья используют, чем в случайном лесе?
- Что такое проблема мультиколлинеарности признаков?
- Рассказать про архитектуру ViT.
- Рассказать про идею ResNet, написать ResidualBlock.
- Рассказать про MobileNet и EfficientNet.
- CLIP - идея, функция потерь, способ обучения, для чего используется? Какие метрики дистанции между эмбеддингами можно использовать и какую метрику использовали авторы?
- Как работают различные токенизаторы текста?
- Что такое операция свертки? Какие у нее свойства? Как представить в виде матричного умножения?
- Что такое receptive field?
- Какие виды сверток знаешь, идеи, плюсы и минусы каждой?
- Почему мы перешли от сверток (CNN) к механизму вниманию (Transformer) во многих задачах CV?
- Почему практически перестали использовать свертки больших размеров 9x9, 7x7, 5x5?
- Может ли быть такое, что Atrous свертка вообще никогда не использует какой-то пиксель?
- Можно ли заменить свертку 3x3 на две: 3x1 и 1x3?
- Что такое Dropout?
- Какие виды нормализации существуют?
- Как работает BatchNorm и LayerNorm? Преимущества и недостатки каждой и где применяются?
- Какие проблемы могут возникать при использовании функции активации Sigmoid вместе с BatchNorm?
- Проблемы функции активации Sigmoid, где применяется и как интерпретируется?
- Почему сеть с BatchNorm сходится быстрее?
- Какие обучаемые параметры есть в BatchNorm и для чего они нужны?
- Рассказать про multi-head attention в деталях.
- В чем разница self-attention и cross-attention, для чего используется каждый?
- Какие знаешь трансформеры для задач Computer Vision?
- Как из текстов получить эмбеддинги, которые пойдут на вход в трансформер?
- Pre-layer norm vs post-layer norm, в чем разница, какие и где используются и почему?
- Почему в трансформерах есть ограничения на количество токенов?
- Что такое позиционные эмбеддинги и для чего они нужны? Какие есть виды и для чего каждый нужен?
- Можно ли использовать двумерное позиционное кодирование в трансформерах, работающих с изображениями?
- Какие проблемы могут быть у одномерного позиционного кодирования в случае работы с изображениями?
- Как борются с квадратичной сложностью механизма внимания?
- Как обучался BERT?
- Задача: что будет эффективнее по скорости, подать 2 входа по 512 токенов в трансформер по отдельности (2x512) или объединить входы и подать сразу (1x1024)?
- Как работает NMS (Non Maximum Suppression) и для чего нужен?
- Рассказать про метрику MAP (Mean Average Precision). Что значит [email protected], [email protected]:0.95?
- Что является таргетом в задаче детекции, как формируется функция потерь?
- Какие типы моделей знаешь для задач детекции?
- Что означает каждое обозначение в функции потерь для Faster-RCNN (loss_classifier, loss_objectness, loss_rpn, loss_bbox)?
- Чем двухстадийные детекторы отличаются от одностадийных?
- Как работает матчинг bounding bbox в моделях YOLO / DETR?
- Рассказать про венгерский алгоритм.
- Что такое и зачем нужны RoI, RoI Pooling, RoI Align?
- Для чего в задачах детекции нужны anchor боксы?
- Как объединяются выходы голов в FPN?
- Что такое multi-scale детекция?
- Что такое GAN, какие знаешь, какие использовал?
- Какая идея Cycle-GAN?
- Из каких частей состоит Stable Diffusion (SD)?
- Какая математическая идея у диффузионных моделей?
- Какие еще диффузионные модели есть кроме SD?
- Что предсказывает U-Net в SD на каждом шаге?
- Какой вид U-Net используется в SD?
- Как обучаются модели SD?
- Как семплируется шаг t в SD?
- Как можно модифицировать архитектуру SD, чтобы генерировать не только по тексту, но и по дополнительным входам (изображения, аудио и т.д.)?
- Какие методы можно использовать для генерации изображений? Их плюсы и минусы.
- Рассказать про ControlNet, LoRA.
- Какие метрики бинарной классификации есть? Плюсы и минусы каждой.
- Что такое TPR и FPR?
- Как ROC-AUC работает на данных, где есть дисбаланс классов?
- ROC-AUC = 0.9, что с ним будет если домножить все предсказания на число 3?
- Метрики multiclass классификации, их плюсы и минусы.
- Какая вероятностная интерпретация у ROC-AUC?
- Как происходит расчет ROC-AUC?
- Как определяются thresholds для расчета ROC-AUC?
- Решаем задачу бинарной классификации, как изменятся метрики precision и recall, если выкинуть 10 нулей из таргета?
- Отличие classmethod от staticmethod в Python?
- Какие типы данных подходят как ключ словаря в Python?
- Можно ли использовать (1, [1,2]) как ключ словаря в Python?
- Какая структура данных лежит в основе dict в Python?
- Какие знаешь виды сортировок и их сложности?
- Какая сложность вставки в словарь и индексации в Python?
- Что такое GIL в Python?
- Как реализуют параллельность с учетом GIL в Python?
- Что такое ассинхронность?
- Как посчитать медиану в SQL без встроенной функции? Как посчитать количество строк в таблице? Знаешь ли ты про оконные функции?
- Какой learning rate будешь использовать для большого батча, а какой для маленького?
- Проблемы с инициализацией весов нулями. Как можно инициализировать веса так, чтобы решить проблемы?
- Как можно аггрегировать композитную функцию потерь (loss = loss1 + loss2)?
- Почему в residual connection используется операция сложения?
- Что такое bottleneck слой и для чего он используется?
- Почему модель на этапе обучения занимает больше памяти, чем на инференсе?
- Какие слои в нейросетях отличаются поведением на трейне / инференсе?