В каких случаях нужно подбирать бэкбоны, а когда можно использовать ResNet50?
Что проверяют
Умеете ли вы выбирать архитектуру по ограничениям задачи, а не по привычке. ResNet50 здесь символ разумного бейзлайна, и интервьюер хочет услышать, когда его достаточно, а когда он становится узким местом. Следом спрашивают, как сравнить бэкбоны между собой честно.
Как отвечать
Сначала про ResNet50: около 25 млн параметров и порядка 4 GFLOPs на входе 224×224, предобученные веса есть в torchvision и timm, его поддерживают все фреймворки детекции и сегментации, он без сюрпризов экспортируется в ONNX и TensorRT. Отсюда правило: для прототипа и первого бейзлайна его почти всегда хватает.
Подбирать бэкбон нужно, когда появляется конкретное ограничение:
- задержка и память: мобильное устройство, CPU, камера на краю сети. Смотрят MobileNetV3, EfficientNet, лёгкие варианты ConvNeXt и мерят скорость на целевом железе, а не по FLOPs;
- сильный сдвиг домена: медицина, спутниковые снимки, микроскопия, нестандартное число каналов. Признаки ImageNet переносятся хуже, помогают модели, предобученные на близких данных, или самообучаемые признаки вроде DINOv2;
- мало размеченных данных: замороженные признаки большой предобученной модели (DINOv2, CLIP) с простой головой часто обыгрывают дообученный ResNet50;
- плотные задачи и мелкие объекты: нужны многомасштабные признаки с FPN и высокое разрешение, тут часто берут ConvNeXt или Swin;
- много данных и бюджета: трансформеры вроде ViT начинают выигрывать.
Сравнение делайте в одинаковом рецепте обучения: те же аугментации, разрешение, число эпох и сиды. Итог оформляйте таблицей «метрика против задержки на целевом устройстве».
Где спотыкаются
Выбирают по top-1 на ImageNet. Этот рейтинг плохо предсказывает качество на детекции и на чужом домене.
Забывают про предобработку: нормализация и размер входа должны совпадать с теми, на которых учились веса, иначе перенос работает хуже.
Дообучают с маленьким батчем и не трогают BatchNorm. Статистики слоя портятся, поэтому BN замораживают или заменяют на GroupNorm.