[Google ALIGN] Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision
Chao Jia, Yinfei Yang, Ye Xia, Yi-Ting Chen, Zarana Parekh, Hieu Pham, Quoc V. Le, Yunhsuan Sung, Zhen Li, Tom Duerig
Статья: https://arxiv.org/abs/2102.05918
Пост в блоге: https://ai.googleblog.com/2021/05/align-scaling-up-visual-and-vision.html
Модель: ?
Код: ?
TL;DR: Аналог CLIP от Гугла. Отличия в архитектуре, но, главное, в датасете — обучались на шумном нефильтрованном датасете размера 4.5x относительно датасета CLIP. Качество вроде как лучше.
ALIGN расшифровывается как A Large-scale ImaGe and Noisy-text embedding.
Заходит работа с примерно той же стороны, что и CLIP — хочется собрать большую претренированную модель, а для неё нужны данные. Авторы CLIP собрали для этого свой датасет на 400М пар <картинка, текст>. Детали процесса малопонятны, датасет не выложен, но зато недавно, в августе 2021, появился аналогичный открытый датасет LAION-400M (https://laion.ai/laion-400-open-dataset/). Разработчики ALIGN решили при составлении датасета отказаться от сложных процедур курирования, фильтрации и постпроцессинга, что позволило собрать датасет размером 1.8B пар. Шумный, но размер в итоге перевешивает этот недостаток. Тоже не выложен.
Авторы взяли методологию создания датасета от Conceptual Captions и получили английские alt-тексты для картинок. Большинство фильтраций и очисток оригинальной работы они убрали, оставив только какие-то базовые вещи: убрали порнографические картинки (я уже вижу, как кто-то обучает свою версию CLIP/ALIGN на порнхабе...), убрали картинки размером менее 200 пикселей по одному из измерений и отношению сторон больше 3; также выкинули картинки, для которых было более 1000 связанных альт-текстов, а также дубликаты и почти-дубликаты тестовых картинок. По текстам отфильтровали такие, которые были привязаны к более чем 10 картинкам, и тексты с редкими токенами (за пределами 100М наиболее частых униграмм и биграмм), а также слишком короткие (<3 униграмм) и длинные (>20 униграмм) — это отфильтровало треш вида “image tid 25&id mggqpuweqdpd&cache 0&lan code 0” или слишком общие тексты.
В модели также как и в CLIP два энкодера, картиночный и текстовый, и косинусная функция близости поверх. Также обучаются через contrastive loss. В качестве картиночного используется EfficientNet (L2) с глобальным пулингом, а в качестве текстового — BERT (Large) и его [CLS] токен. Картинки на входе разрешения 289x289, а тексты максимум 64 токена (даже меньше чем у CLIP с его 76).
Из прикольных мелочей, которые в последнее время часто попадаются — обучаемый параметр для температуры в софтмаксе, чтобы не возиться с гиперпараметром.
Предобучают на шумных парах текст-картинка, потом делают трансфер на задачи retrieval и классификацию.
Обучали на 1024 ядрах TPUv3, с 16 позитивными парами на каждом ядре. Негативные собираются со всех ядер, так что эффективный размер батча получается 16384.
ALIGN достиг SoTA на всех метриках в Flickr30K и MSCOCO. В zero-shot лучше CLIP, а с файнтюнингом бьёт существующие методы, включая методы с кросс-модальным вниманием типа ImageBERT, UNITER, ERNIE-ViL, VILLA и Oscar. Также достигли SoTA на всех метриках в Crisscrossed Captions (retrieval).
Zero-shot классификацию проверяли аналогично CLIP, на матчинге со строками вида “A photo of a {classname}”. Сравнимо с CLIP, где-то лучше, где-то хуже. Ансамблирование также улучшает результат (на 2.9%).
Фичи выучиваются нормальные, если поверх картиночных обучить линейный классификатор, то получается чуть лучше CLIP, а с файнтюнингом обходит BiT и ViT-H/14.
Из интересных инсайтов то, что если сравнивать фильтрованный датасет с нефильтрованным, то на фильтрованном аналогичного размера обучается, конечно, лучше, но достаточно взять нефильтрованный датасет в 4 раза больше, и он уже обходит фильтрованный. Что при дорогой процедуре очистки может иметь большой смысл.
>>Click here to continue<<
