Как адаптировать имеющуюся модель под новые задачи
Как адаптировать имеющуюся модель под новые задачи? Какие варианты вы бы рассмотрели и от чего зависит выбор?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Сначала надо понять близость новой задачи к старой, размер и качество данных, ограничения по compute и деплою. Базовые варианты: заменить/дообучить head, fine-tune части модели, обучить adapter/LoRA, сделать full fine-tuning или быстро собрать новую baseline-модель.
Подробный разбор
Начинать стоит не с метода, а с постановки: насколько новая задача похожа на старую, меняется ли output space, сколько есть размеченных данных, насколько дорогая модель и можно ли ее менять в продакшене.
Если задача близкая и данных мало, обычно разумно заморозить backbone и обучить новую голову или дообучить последние слои. Если модель большая или общая для нескольких продуктов, лучше рассмотреть parameter-efficient fine-tuning: adapters, LoRA или похожие добавки. Это дешевле по памяти и проще откатывать.
Если данных много, домен сильно отличается или качество критично, full fine-tuning может быть лучше. Но даже тогда полезно держать простой baseline: иногда новая небольшая модель, обученная прямо на целевые labels, проще в отладке и надежнее старого backbone из другого домена.
Типичные ошибки
- Сказать только “дообучить модель” и не обсудить данные и близость задач.
- Забыть про новую голову, если меняется пространство ответов.
- Игнорировать стоимость деплоя и отката большой общей модели.
Как сказать на собеседовании
- Сначала проговорите assumptions про данные и похожесть задач.
- Дайте дешевый baseline и более сильный production-вариант.
Переобучение нейросети и аугментации в CV
Назовите специфичные для нейросетей способы борьбы с переобучением. Какие способы аугментации данных можно использовать в Computer Vision?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Против переобучения используют dropout, weight decay/L2, early stopping, контроль размера модели, корректный validation split, label smoothing и аугментации. В CV это кропы, отражения, повороты, ресайз, цветовые искажения, шум, blur, affine transforms, MixUp/CutMix, если они не ломают разметку.
Подробный разбор
Базовый набор: weight decay, dropout, early stopping, уменьшение емкости модели, аккуратное разбиение на train/validation, label smoothing и аугментации. BatchNorm и LayerNorm не стоит называть только регуляризаторами: они в первую очередь помогают оптимизации, но на практике часто снижают давление переобучения.
В Computer Vision аугментации должны соответствовать инвариантностям задачи. Часто используют random crop, horizontal flip, resize, небольшие повороты, color jitter, изменение контраста и яркости, blur, шум и affine transforms. Для классификации иногда помогают MixUp и CutMix, потому что они сглаживают границы решений.
Главная оговорка - корректность target. Horizontal flip может поменять класс “лево/право”, crop может убрать объект, rotation может сломать текстовые или orientation labels, а для detection/segmentation нужно трансформировать разметку вместе с изображением.
Типичные ошибки
- Перечислять аугментации без проверки, остается ли валидной разметка.
- Считать BatchNorm только inference-time трюком.
- Добавлять агрессивные аугментации до исправления утечек между train и validation.
Как сказать на собеседовании
- Разделите регуляризацию модели и аугментацию данных.
- Отдельно проговорите трансформацию target для detection и segmentation.
Семантическая сегментация и свертка
Что такое семантическая сегментация? Чем она отличается от instance segmentation? Как работает свертка в CNN?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Семантическая сегментация назначает класс каждому пикселю, не разделяя разные объекты одного класса. Instance segmentation дополнительно разделяет отдельные экземпляры. Свёртка применяет обучаемые ядра к локальным окнам по всем каналам и строит выходные карты признаков.
Подробный разбор
Semantic segmentation предсказывает класс для каждого пикселя: дорога, машина, человек, фон и так далее. Все пиксели одного класса попадают в одну semantic mask. Instance segmentation дополнительно различает отдельные объекты: две машины будут двумя разными масками, хотя класс один.
Сверточный слой проходит обучаемыми kernels по изображению. В каждой spatial position он берет локальное окно по всем input channels, считает взвешенную сумму, добавляет bias если он есть и записывает значения в output channels. Kernel size задает локальный receptive field, stride - шаг, padding - размер выхода, а число filters - число output channels.
Главная идея CNN - locality и weight sharing: один и тот же kernel ищет похожий локальный паттерн в разных местах изображения.
Типичные ошибки
- Путать semantic и instance segmentation.
- Описывать свертку как операцию только для одного канала.
- Забывать stride и padding при обсуждении output shape.
Как сказать на собеседовании
- Используйте пример с двумя машинами одного класса.
- Для свертки упомяните и spatial window, и channel dimension.
Токенизация, Bag of Words, TF-IDF и embeddings
Что такое токенизация и зачем она нужна в задачах обработки текста? Чем отличаются Bag of Words, TF-IDF и embeddings, например word2vec?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Токенизация разбивает текст на единицы, которым модель может сопоставить ids. Bag of Words считает вхождения токенов, TF-IDF перевзвешивает частоты по редкости в корпусе, а embeddings учат dense-векторы, где слова с похожими контекстами оказываются ближе.
Подробный разбор
Токенизация переводит текст в последовательность model units: words, subwords, characters или byte-level tokens. Каждому token назначается integer id, который потом можно использовать в embedding table или классических sparse features.
Bag of Words игнорирует порядок слов и представляет документ счетчиками токенов. TF-IDF остается sparse-представлением, но уменьшает вес очень частых слов и повышает вес слов, более специфичных для документа. Это простой и сильный baseline для линейных моделей.
Embeddings вроде word2vec - dense learned vectors. Они не просто считают слова в документе, а учат геометрию по контекстам: слова, встречающиеся в похожих окружениях, получают близкие векторы. В современных transformers embeddings становятся contextual: одно и то же слово может иметь разные представления в разных предложениях.
Типичные ошибки
- Считать токенизацию только split по пробелам.
- Забывать, что BoW и TF-IDF теряют порядок слов.
- Говорить, что word2vec дает contextual embeddings.
Как сказать на собеседовании
- Приведите пример, где TF-IDF лучше raw counts.
- Упомяните subword tokenization для современных моделей.
Transformers против RNN в NLP
Слышали ли вы про модели transformers? Чем они отличаются от RNN и почему они популярны в NLP?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
RNN обрабатывает sequence последовательно через hidden state. Transformer использует self-attention: токены напрямую смотрят друг на друга через query/key/value, поэтому обучение лучше параллелится и проще ловить long-range dependencies.
Подробный разбор
RNN читает последовательность шаг за шагом и переносит информацию через hidden state. Это естественно для sequences, но плохо параллелится по времени, а дальние зависимости могут теряться из-за длинной цепочки recurrent updates.
Transformer считает self-attention поверх token representations. Каждый token формирует query, key и value; attention weights показывают, на какие другие tokens смотреть. Multi-head attention дает несколько relation subspaces, а positional encodings или positional embeddings добавляют информацию о порядке.
Популярность transformers в NLP связана с хорошей параллелизацией обучения, прямым доступом к дальним зависимостям и сильным scaling behavior. Цена - квадратичная стоимость vanilla attention по длине контекста и потребность в больших данных/compute.
Типичные ошибки
- Забывать positional information.
- Говорить, что transformers всегда дешевле: vanilla attention дорогой на длинном контексте.
- Описывать attention без query, key и value.
Как сказать на собеседовании
- Сравните sequential recurrence и parallel self-attention.
- Назовите и преимущества, и long-context cost.