Как адаптировать имеющуюся модель под новые задачи
Как адаптировать имеющуюся модель под новые задачи? Какие варианты вы бы рассмотрели и от чего зависит выбор?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
Сначала надо понять близость новой задачи к старой, размер и качество данных, ограничения по 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 и эмбеддинги
Что такое токенизация и зачем она нужна в задачах обработки текста? Чем отличаются Bag of Words, TF-IDF и эмбеддинги, например word2vec?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
Токенизация разбивает текст на единицы и сопоставляет им идентификаторы. Bag of Words считает вхождения токенов, TF-IDF перевзвешивает частоты с учетом редкости слова в корпусе, а эмбеддинги учат плотные векторы, где слова с похожими контекстами оказываются ближе.
Подробный разбор
Токенизация переводит текст в последовательность единиц: слов, подслов, символов или байтовых токенов. Каждому токену назначается числовой идентификатор, который потом можно использовать в таблице эмбеддингов или в классических разреженных признаках.
Bag of Words игнорирует порядок слов и представляет документ счетчиками токенов. TF-IDF остается разреженным представлением, но уменьшает вес очень частых слов и повышает вес слов, более специфичных для документа. Это простой и сильный базовый подход для линейных моделей.
Эмбеддинги вроде word2vec - плотные обучаемые векторы. Они не просто считают слова в документе, а учат геометрию по контекстам: слова, встречающиеся в похожих окружениях, получают близкие векторы. В современных трансформерах эмбеддинги становятся контекстными: одно и то же слово может иметь разные представления в разных предложениях.
Типичные ошибки
- Считать токенизацию только split по пробелам.
- Забывать, что BoW и TF-IDF теряют порядок слов.
- Говорить, что word2vec дает contextual embeddings.
Как сказать на собеседовании
- Приведите пример, где TF-IDF лучше raw counts.
- Упомяните subword tokenization для современных моделей.
Трансформеры против RNN в NLP
Слышали ли вы про модели-трансформеры? Чем они отличаются от RNN и почему они популярны в NLP?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
RNN обрабатывает последовательность шаг за шагом через скрытое состояние. Трансформер использует self-attention: токены напрямую смотрят друг на друга через query/key/value, поэтому обучение лучше параллелится и проще ловить дальние зависимости.
Подробный разбор
RNN читает последовательность шаг за шагом и переносит информацию через скрытое состояние. Это естественно для последовательностей, но плохо параллелится по времени, а дальние зависимости могут теряться из-за длинной цепочки рекуррентных обновлений.
Трансформер считает self-attention поверх представлений токенов. Каждый токен формирует query, key и value; веса attention показывают, на какие другие токены смотреть. Multi-head attention дает несколько типов связей, а positional encodings или positional embeddings добавляют информацию о порядке.
Популярность трансформеров в NLP связана с хорошей параллелизацией обучения, прямым доступом к дальним зависимостям и сильной масштабируемостью. Цена - квадратичная стоимость обычного attention по длине контекста и потребность в больших данных и вычислениях.
Типичные ошибки
- Забывать информацию о позиции токена.
- Говорить, что трансформеры всегда дешевле: обычный attention дорогой на длинном контексте.
- Описывать attention без query, key и value.
Как сказать на собеседовании
- Сравните sequential recurrence и parallel self-attention.
- Назовите и преимущества, и long-context cost.