Почему архитектура VGG сегодня не используется?
Что проверяют
Понимаете ли вы, почему архитектуры вытесняют друг друга, и умеете ли назвать инженерные причины вместо «появились новые сети». Заодно смотрят, знаете ли вы, где VGG до сих пор работает: полное отрицание тут такая же ошибка, как защита устаревшего.
Как отвечать
VGG в своё время показала главное: глубина из стопки свёрток 3x3 бьёт большие ядра. Претензии к ней сегодня конкретные:
- параметры. У VGG16 около ста тридцати восьми миллионов весов, и львиная доля приходится на первый полносвязный слой после выпрямления карты признаков. Современные сети закрывают это место глобальным усреднением по пространству и экономят почти всё;
- вычисления и память. На одно изображение уходит в несколько раз больше операций, чем у ResNet сопоставимой точности, а активации занимают столько, что батч приходится уменьшать;
- обучаемость. Нет остаточных связей и нормализации по батчу, поэтому глубокие варианты приходилось инициализировать весами более мелких, иначе обучение не сходилось. Наращивать глубину дальше эта схема просто не позволяла;
- качество на единицу стоимости. ResNet, затем EfficientNet, ConvNeXt и визуальные трансформеры дают выше точность при меньших затратах.
Где VGG осталась: перцептивные функции потерь в генерации и переносе стиля, где важна не точность классификации, а привычные признаки промежуточных слоёв, плюс учебные задачи и старые бенчмарки.
Где спотыкаются
Отвечают «она старая». Возраст не аргумент, интервьюер ждёт механизм: отсутствие остаточных связей, дорогие полносвязные слои, невозможность расти в глубину.
Называют главной бедой переобучение. На больших наборах VGG обучается нормально, реальная причина отказа это стоимость: память, задержка на инференсе и цена обучения.
Заявляют, что VGG не применяется нигде. Как экстрактор признаков для перцептивных потерь она используется до сих пор, и уверенное «нигде» легко ловится одним уточняющим вопросом.