В современной компьютерной лингвистике стандартным подходом давно стала архитектура BERT или другие трансформеры: никто не тренирует их с нуля, все берут предобученную модель и адаптируют под свои нужды. Исследователи из Google Brain решили перенести этот золотой стандарт в область компьютерного зрения, представив проект Big Transfer (BiT).
🖼️ Новая парадигма: от нейросетей-специалистов к универсальным моделям 0:12
Традиционно задачи компьютерного зрения — от классификации котиков до анализа медицинских снимков легких — решаются с помощью сверточных нейронных сетей (CNN) . Однако глубокие сети, такие как ResNet, требуют колоссального объема данных. В специфических областях, например в медицине, данных часто катастрофически мало для обучения «с чистого листа» .
Решением выступает transfer learning (перенос обучения). Процесс делится на две фазы:
- Pre-training (Предобучение): модель обучается на гигантском наборе данных (например, ImageNet).
- Fine-tuning (Тонкая настройка): полученные веса используются как стартовая точка для обучения на маленьком целевом датасете для конкретной задачи .
Янник Кильчер отмечает, что цель Big Transfer — найти «универсальную стартовую точку» . Вместо того чтобы каждый раз изобретать велосипед, разработчики смогут брать готовую модель BiT и адаптировать её под свои нужды, как это происходит с языковыми моделями в NLP.
📊 Масштаб имеет значение: три версии Big Transfer 5:14
Google представила три варианта модели, различающихся объемом данных для предобучения:
- BiT-S (Small): обучена на стандартном ImageNet (1,3 млн изображений) .
- BiT-M (Medium): обучена на ImageNet-21k (14 млн изображений), который содержит довольно специфические объекты на странных фонах .
- BiT-L (Large): обучена на закрытом датасете JFT-300M, содержащем 300 миллионов изображений .
Архитектурно BiT — это классические ResNet-152, но с увеличенной в 4 раза шириной слоев (x4) . Янник Кильчер подчеркивает, что в самой архитектуре нет революционных новшеств. Сила работы — в детальном описании инженерного протокола: какие параметры действительно важны для успеха переноса обучения, а какие нет .
🛠️ Секреты предобучения: размер и нормализация 11:51
Авторы статьи выделили два ключевых компонента успешного предобучения.
1. Одновременное масштабирование данных и модели
Простое увеличение объема данных не дает эффекта, если модель слишком мала . Верно и обратное: огромная модель на маленьком датасете быстро переобучается. По мнению Янника Кильчера, здесь прослеживается связь с гипотезой о «двойном спуске» (double descent) Михаила Белкина: при прохождении порога интерполяции (когда число параметров превышает число точек данных) ошибка на валидации снова начинает падать . Чтобы оставаться в этой зоне при добавлении данных, необходимо пропорционально наращивать количество параметров.
2. Отказ от Batch Normalization
Традиционный Batch Norm плохо работает при распределенном обучении на большом количестве устройств. Если на каждом из 500 TPU оказывается всего по 8 образцов, статистика среднего и дисперсии становится нерелевантной . Вместо этого в BiT используются:
- Group Normalization: нормализация признаков внутри групп каналов для одного образца .
- Weight Standardization: стандартизация самих весов нейросети . Это устраняет необходимость постоянной синхронизации между рабочими узлами и ускоряет обучение без потери качества.
🎸 Протокол BiT-HyperRule: тонкая настройка без усилий 21:16
Обычно fine-tuning требует долгого подбора гиперпараметров. Google предложила BiT-HyperRule — своего рода «мета-правило» или таблицу соответствий. Разработчик задает один основной параметр, а правило автоматически определяет длину расписания обучения, разрешение изображений и необходимость использования Mixup (техники интерполяции данных) .
Удивительно, но при тонкой настройке авторы полностью отказались от стандартной регуляризации: они не используют ни DropOut, ни Weight Decay (последний применяется только при предобучении) .
📈 Результаты и «смерть» академических исследований 23:37
BiT показывает впечатляющие результаты в режиме малого количества данных. Например, при наличии всего 5 размеченных примеров на класс для датасета CIFAR-10 модель достигает точности 94% .
Однако Янник Кильчер обращает внимание на тревожный тренд: фундаментальные исследования в области компьютерного зрения окончательно ускользают из рук академии в руки корпораций . В статье Google критикуются исследователи, которые «слишком рано» снижают скорость обучения (learning rate) — например, после 8 «GPU-недель». Авторы BiT доказывают, что для достижения пиковой производительности нужно ждать месяцами.
«Когда вы видите статью, где высмеивают людей, ждущих всего 8 GPU-недель, и советуют ждать 8 GPU-месяцев — это конец. Академии здесь делать больше нечего», — иронизирует Янник Кильчер .
🧐 Когда ошибается даже BiT 31:23
При точности 99,4% на CIFAR-10 ошибки модели становятся крайне специфичными. Зачастую модель оказывается «умнее» разметки: на изображениях, где стоит метка «кошка», BiT видит птицу или корабль, и при ближайшем рассмотрении выясняется, что в датасете действительно была допущена ошибка .
В ImageNet ошибки носят семантический характер: модель может перепутать ноутбук с лэптопом или мышь с клавишей пробела . На совсем странных изображениях (вроде трицератопса на психоделическом фоне из ImageNet-21k) модель может выдать «морскую звезду», что, по мнению ведущего, скорее говорит о странности самого датасета, чем о слабости алгоритма .