CLIP: связывание текста и изображений

Читать научную работуПосмотреть код
CLIP

Иллюстрация: Джастин Джей Ван (Justin Jay Wang)

Мы представляем нейросеть под названием CLIP, которая эффективно изучает визуальные концепты на основе контроля со стороны естественного языка. CLIP может применяться к любому бенчмарку визуальной классификации путем простого предоставления названий распознаваемых визуальных категорий, что аналогично возможностям «zero-shot» (обучения без учителя) у GPT‑2 и GPT‑3.

Хотя глубокое обучение совершило революцию в компьютерном зрении, современные подходы имеют несколько серьезных проблем: типичные датасеты для компьютерного зрения создаются вручную, требуют больших затрат труда и обучают лишь узкому набору визуальных концептов; стандартные модели компьютерного зрения хороши только в какой-то одной задаче и требуют значительных усилий для адаптации к новой;, а модели, показывающие отличные результаты на бенчмарках, демонстрируют разочаровывающе низкую производительность при стресс-тестах, 1, 2, 3, 4 что ставит под сомнение весь подход глубокого обучения к компьютерному зрению.

Мы представляем нейронную сеть, которая призвана решить эти проблемы: она обучена на самом широком разнообразии изображений с использованием разнообразного контроля со стороны естественного языка, который в изобилии доступен в интернете. По своему дизайну сеть можно настраивать с помощью естественного языка для выполнения самых разных бенчмарков классификации без прямой оптимизации под производительность конкретного бенчмарка, что аналогично возможностям »zero-shot» для GPT‑25 и GPT‑3.6 Это ключевое изменение: не оптимизируя модель напрямую под бенчмарк, мы показываем, что она становится гораздо более репрезентативной: наша система сокращает этот «разрыв в надежности» (robustness gap) на величину до 75%, одновременно достигая производительности исходной модели ResNet-507 в режиме zero-shot на датасете ImageNet без использования каких-либо из исходных 1,28 млн размеченных примеров.

Предыстория и связанные работы

CLIP (Contrastive Language–Image Pre-training — контрастивное предварительное обучение языковых и визуальных представлений) опирается на большой объем исследований в области zero-shot переноса, контроля со стороны естественного языка и мультимодального обучения. Сама идея обучения без данных (zero-data learning) появилась более десяти лет назад8, но до недавнего времени изучалась в основном в рамках компьютерного зрения как способ обобщения на невиданные ранее категории объектов.9, 10 Важнейшим инсайтом стало использование естественного языка в качестве гибкого пространства предсказаний для обеспечения генерализации и переноса. В 2013 году Ричард Сочер (Richard Socher) с соавторами из Стэнфорда11 разработали концептуальное доказательство (proof of concept), обучив модель на CIFAR-10 делать предсказания в пространстве встраивания векторных представлений слов, и показали, что эта модель способна предсказывать два невиданных класса. В том же году система DeVISE12 масштабировала этот подход и продемонстрировала возможность дообучения модели ImageNet таким образом, чтобы она могла обобщать знания и правильно предсказывать объекты за пределами исходного набора из 1000 классов.

Наибольшее вдохновение для CLIP черпает из работы Ан Ли (Ang Li) и его соавторов из FAIR13, которые в 2016 году продемонстрировали использование контроля со стороны естественного языка для обеспечения zero-shot переноса на несколько существующих датасетов классификации компьютерного зрения, таких как канонический датасет ImageNet. Они достигли этого путем дообучения ImageNet CNN на предсказание гораздо более широкого набора визуальных концептов (визуальных n-грамм) из текстов названий, описаний и тегов 30 миллионов фотографий с Flickr и смогли достичь 11,5% точности на ImageNet в режиме zero-shot.

Наконец, CLIP является частью группы работ последнего года, переосмысляющих обучение визуальным представлениям на основе контроля со стороны естественного языка. В этом направлении используются более современные архитектуры, такие как Transformer32, и сюда входят такие проекты, как VirTex33, в котором исследовалось авторегрессионное языковое моделирование; ICMLM34, где изучалось языковое моделирование с маскированием; и ConVIRT35, где исследовалась та же контрастивная цель, которую мы используем для CLIP, но в области медицинской визуализации.

Подход

Мы показываем, что масштабирование простой задачи предварительного обучения достаточна для достижения конкурентоспособных результатов zero-shot на самых разных датасетах классификации изображений. Наш метод использует общедоступный источник контроля: текст, сопряженный с изображениями, который можно найти по всему интернету. Эти данные используются для создания следующей прокси-задачи обучения для CLIP: по заданному изображению предсказать, какой именно из набора в 32 768 случайно выбранных текстовых фрагментов был сопряжен с ним в нашем датасете.

Наша интуиция заключается в том, что для решения этой задачи моделям CLIP потребуется научиться распознавать широкое разнообразие визуальных концептов на изображениях и сопоставлять их с их названиями. В результате модели CLIP можно применять практически к произвольным задачам визуальной классификации. Например, если задачей датасета является классификация фотографий собак и кошек, мы проверяем для каждого изображения, предсказывает ли модель CLIP текстовое описание «фотография собаки» или «фотография кошки» с большей вероятностью сопряжения с этим изображением.

CLIP была разработана для смягчения ряда основных проблем стандартного подхода глубокого обучения к компьютерному зрению:

Дорогие датасеты: Глубокое обучение требует большого объема данных, и модели компьютерного зрения традиционно обучались на размеченных вручную датасетах, которые дорого создавать, и они предоставляют контроль лишь для ограниченного числа предопределенных визуальных концептов. Датасет ImageNet, один из крупнейших проектов в этой области, потребовал от более чем 25 000 работников аннотирования 14 миллионов изображений для 22 000 категорий объектов. В отличие от них, CLIP обучается на парах «текст-изображение», которые уже общедоступны в интернете. Снижение потребности в дорогостоящих крупных размеченных датасетах активно изучалось в предыдущих работах, в частности, в обучении без учителя (self-supervised learning), 14, 15, 16 контрастивных методах, 17, 18, 19, 20, 21 подходах самообучения (self-training), 22, 23, а также в генеративном моделировании.24, 25, 26, 27

Узкая специализация: Модель ImageNet хороша в предсказании 1000 категорий ImageNet, но это все, что она умеет «из коробки». Если мы хотим решить любую другую задачу, специалисту по машинному обучению нужно создать новый датасет, добавить выходной слой (head) и дообучить модель. Напротив, CLIP можно адаптировать для выполнения самых разных задач визуальной классификации без необходимости использования дополнительных примеров для обучения. Чтобы применить CLIP к новой задаче, все, что нам нужно сделать, — это «сказать» текстовому энкодеру CLIP названия визуальных концептов этой задачи, и он выдаст линейный классификатор на основе визуальных представлений CLIP. Точность такого классификатора часто конкурирует с моделями полного контроля (fully supervised).

Ниже мы показываем случайные предсказания zero-shot классификаторов CLIP без предвзятого отбора (non-cherry picked) на примерах из различных датасетов.

Плохая производительность в реальном мире: Часто сообщается, что системы глубокого обучения достигают человеческого или даже сверхчеловеческого уровня производительности28, A на бенчмарках компьютерного зрения, однако при развертывании в реальных условиях их производительность может оказаться значительно ниже ожиданий, заданных бенчмарком. Другими словами, существует разрыв между «производительностью на бенчмарке» и «реальной производительностью». Мы предполагаем, что этот разрыв возникает потому, что модели «жульничают», оптимизируя результаты исключительно под бенчмарк, подобно студенту, который сдал экзамен, заучив вопросы только по экзаменационным билетам прошлых лет. Напротив, модель CLIP можно оценивать на бенчмарках без предварительного обучения на их данных, поэтому она не может «жульничать» подобным образом. В результате ее показатели на бенчмарках гораздо точнее отражают ее производительность в реальных условиях. Чтобы проверить эту «гипотезу жульничества», мы также измерили, как меняется производительность CLIP, когда у нее появляется возможность «подготовиться» к ImageNet. Когда поверх признаков CLIP настраивается линейный классификатор, точность CLIP на тестовом наборе ImageNet возрастает почти на 10%. Однако этот классификатор работает не лучше в среднем по набору тестов, состоящему из 7 других датасетов, измеряющих «устойчивую» производительность.30

Основные выводы

1. CLIP обладает высокой эффективностью

CLIP обучается на нефильтрованных, крайне разнообразных и сильно зашумленных данных и предназначена для использования в режиме zero-shot. Из GPT‑2 и GPT‑3 мы знаем, что модели, обученные на таких данных, могут демонстрировать впечатляющие результаты zero-shot; однако такие модели требуют огромных вычислительных затрат на обучение. Чтобы сократить необходимые вычислительные ресурсы, мы сосредоточились на алгоритмических способах повышения эффективности обучения нашего подхода.

Мы выделяем два алгоритмических решения, которые привели к значительной экономии вычислений. Первое решение — это выбор контрастивной цели для связывания текста с изображениями.31, 17, 35 Изначально мы исследовали подход «изображение в текст», аналогичный VirTex, 33, но столкнулись с трудностями при его масштабировании для достижения современного уровня производительности (SOTA). В экспериментах малого и среднего масштаба мы выяснили, что контрастивная цель, используемая в CLIP, в 4–10 раз эффективнее при zero-shot классификации ImageNet. Вторым решением стало применение Vision Transformer, 36 что дало нам дополнительное 3-кратное увеличение вычислительной эффективности по сравнению со стандартным ResNet. В итоге наша наиболее эффективная модель CLIP обучается на 256 графических процессорах (GPU) в течение 2 недель, что сопоставимо с существующими крупномасштабными моделями изображений.37, 23, 38, 36

2. CLIP гибкая и универсальная модель

Поскольку модели CLIP изучают широкий спектр визуальных концепций непосредственно на основе естественного языка, они значительно более гибкие и универсальные, чем существующие модели ImageNet. Мы обнаружили, что они способны решать множество различных задач в режиме zero-shot (без предварительного обучения на конкретных задачах). Чтобы подтвердить это, мы измерили производительность CLIP в режиме zero-shot на более чем 30 различных наборах данных, включая такие задачи, как мелкозернистая классификация объектов, геолакация, распознавание действий в видео и OCR (оптическое распознавание символов).B В частности, освоение OCR является примером интересного поведения, которое не встречается в стандартных моделях ImageNet. Выше мы визуализируем случайный неотфильтрованный прогноз от каждого классификатора zero-shot.

Этот вывод также отражен в стандартной оценке обучения представлений с использованием линейных зондов (linear probes). Лучшая модель CLIP превосходит лучшую общедоступную модель ImageNet — Noisy Student EfficientNet-L2, 23 — на 20 из 26 различных протестированных нами наборах данных переноса (transfer datasets).

Ограничения

Хотя CLIP обычно хорошо справляется с распознаванием распространенных объектов, она испытывает трудности с более абстрактными или систематическими задачами, такими как подсчет количества объектов на изображении, а также с более сложными задачами вроде предсказания того, насколько близко находится ближайший автомобиль на фотографии. На этих двух наборах данных zero-shot CLIP работает лишь немногим лучше случайного угадывания. Zero-shot CLIP также уступает специализированным моделям в очень мелкозернистой классификации, например, при различении моделей автомобилей, вариантов самолетов или видов цветов.

Кроме того, у CLIP по-прежнему наблюдается слабая генерализация на изображениях, которые не были представлены в ее датасете предварительного обучения. Например, хотя CLIP освоила способную систему OCR, при оценке на рукописных цифрах из датасета MNIST модель в режиме zero-shot достигает точности лишь в 88%, что значительно ниже результатов человека (99,75%) на этом же наборе данных. Наконец, мы заметили, что классификаторы zero-shot в CLIP могут быть чувствительны к формулировкам и иногда требуют метода проб и ошибок («инжиниринга промптов») для достижения хороших результатов.

Более широкое влияние

CLIP позволяет людям создавать собственные классификаторы и избавляет от необходимости собирать обучающие данные под конкретные задачи. Способ создания этих классов может существенно повлиять как на производительность модели, так и на ее предвзятость. Например, мы обнаружили, что если задать набор меток, включающий метки расы из Fairface39C и несколько вопиющих терминов вроде «преступник», «животное» и т. д., модель склонна классифицировать изображения людей в возрасте от 0 до 20 лет в категорию оскорбительных примерно в 32,3% случаев. Однако, когда мы добавляем класс «ребенок» в список возможных классов, это поведение снижается примерно до 8,7%.

Кроме того, учитывая, что CLIP не нуждается в обучающих данных под конкретные задачи, она может с большей легкостью открывать доступ к определенным нишевым задачам. Некоторые из этих задач могут создавать риски, связанные с конфиденциальностью или слежкой, и мы исследуем эту проблему, изучая производительность CLIP в идентификации знаменитостей. Точность top-1 для CLIP при классификации изображений знаменитостей «в диких условиях» (in the wild) составляет 59,2% при выборе из 100 кандидатов и 43,3% при выборе из 1000 возможных вариантов. Хотя примечательно достичь таких результатов с помощью предварительного обучения, не зависящего от конкретной задачи, эта производительность не является конкурентоспособной по сравнению с широко доступными производственными моделями. Мы более подробно исследуем проблемы, которые создает CLIP, в нашей статье и надеемся, что эта работа послужит стимулом для дальнейших исследований характеристик возможностей, недостатков и предвзятости подобных моделей. Мы рады сотрудничать с исследовательским сообществом по таким вопросам.

Заключение

С помощью CLIP мы проверили, можно ли использовать предварительное обучение на естественном языке интернет-масштаба, не зависящее от конкретной задачи (которое обеспечило недавний прорыв в NLP), для повышения производительности глубокого обучения в других областях. Мы воодушевлены результатами, которые мы увидели на данный момент при применении этого подхода к компьютерному зрению. Подобно семейству GPT, CLIP изучает самые разные задачи во время предварительного обучения, что мы демонстрируем с помощью zero-shot переноса. Нас также воодушевляют наши выводы по ImageNet, которые показывают, что оценка zero-shot является более репрезентативным мерилом возможностей модели.

Сноски

  1. 29

    В 2015 году группа исследователей из Microsoft впервые обучила модель, которая достигла точности top-5 на ImageNet, превзошедшей заявленную точность top-5 у человека.

  2. B

    Хотя производительность OCR в режиме zero-shot у CLIP неоднозначна, ее семантическое представление OCR весьма полезно. При оценке на наборе данных NLP SST-2, представленном в виде изображений, линейный классификатор на основе представлений CLIP не уступает модели CBoW с прямым доступом к тексту. CLIP также конкурентоспособна в обнаружении оскорбительных мемов (hateful memes) без необходимости наличия исходного текста.

  3. 40

    FairFace — это набор данных изображений лиц, созданный для балансировки возраста, пола и расы с целью уменьшения асимметрий, характерных для предыдущих датасетов лиц. Он разделяет пол на 2 группы: женщины и мужчины, а расу на 7 групп: белые, чернокожие, индийцы, восточноазиаты, южно-восточноазиаты, выходцы с Ближнего Востока и латиноамериканцы. С классификацией рас и пола связаны внутренние проблемы, как показали, например, Боукер и Стар (Bowker and Star, 2000) и Киз (Keyes, 2018). Хотя датасет FairFace снижает долю изображений лиц представителей европеоидной расы, в нем по-прежнему не хватает представленности целых крупных демографических групп, что фактически стирает такие категории. Мы используем 2 гендерные категории и 7 расовых категорий, определенных в наборе данных FairFace, в ряде наших экспериментов не для того, чтобы подкреплять или одобрять использование столь редуктивных категорий, а для того, чтобы иметь возможность проводить сравнения с предыдущими работами.

Ссылки

  1. 1

    Dodge, S., & Karam, L. (2017, July).»A study and comparison of human and deep learning recognition performance under visual distortions.» In ICCCN 2017.

  2. 2

    Geirhos, R., Rubisch, P., Michaelis, C., Bethge, M., Wichmann, F. A., & Brendel, W. (2018).»ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness.» In ICLR 2019.

  3. 3

    Alcorn, M. A., Li, Q., Gong, Z., Wang, C., Mai, L., Ku, W. S., & Nguyen, A. (2019).»Strike (with) a pose: Neural networks are easily fooled by strange poses of familiar objects.» In CVPR 2019.

  4. 4

    Barbu, A., Mayo, D., Alverio, J., Luo, W., Wang, C., Gutfreund, D., … & Katz, B. (2019).»Objectnet: A large-scale bias-controlled dataset for pushing the limits of object recognition models.» In NeurIPS 2019.

  5. 5

    Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019).»Language Models are Unsupervised Multitask Learners.» Technical Report,  OpenAI.

  6. 6

    Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., … & Agarwal, S. (2020).»Language Models are Few-Shot Learners.» In NeurIPS 2020.

  7. 7

    He, K., Zhang, X., Ren, S., & Sun, J. (2016).»Deep residual learning for image recognition.» In CVPR 2016.

  8. 8

    Larochelle, H., Erhan, D., & Bengio, Y. (2008, July).»Zero-data learning of new tasks.» In AAAI 2008.

  9. 9

    Lampert, C. H., Nickisch, H., & Harmeling, S. (2009, June).»Learning to detect unseen object classes by between-class attribute transfer.» In CVPR 2009.

  10. 10

    Lei Ba, J., Swersky, K., & Fidler, S. (2015).»Predicting deep zero-shot convolutional neural networks using textual descriptions.» In ICCV 2015.

  11. 11

    Socher, R., Ganjoo, M., Manning, C. D., & Ng, A. (2013).»Zero-shot learning through cross-modal transfer.» In NeurIPS 2013.

  12. 12

    Frome, A., Corrado, G. S., Shlens, J., Bengio, S., Dean, J., Ranzato, M. A., & Mikolov, T. (2013).»Devise: A deep visual-semantic embedding model.» In NeurIPS 2013.

  13. 13

    Li, A., Jabri, A., Joulin, A., & van der Maaten, L. (2017).»Learning visual n-grams from web data.» In Proceedings of the IEEE International Conference on Computer Vision 2017.

  14. 14

    Doersch, C., Gupta, A., & Efros, A. A. (2015).»Unsupervised visual representation learning by context prediction.» In ICCV 2015.

  15. 15

    Zhai, X., Oliver, A., Kolesnikov, A., & Beyer, L. (2019).»S4l: Self-supervised semi-supervised learning.» In ICCV 2019.

  16. 16

    Grill, J. B., Strub, F., Altché, F., Tallec, C., Richemond, P. H., Buchatskaya, E., … & Piot, B. (2020).»Bootstrap your own latent: A new approach to self-supervised learning.» In NeurIPS 2020.

  17. 17

    Oord, A.V. D., Li, Y., & Vinyals, O. (2018).»Representation Learning with Contrastive Predictive Coding.» arXiv preprint.

  18. 18

    Hjelm, R. D., Fedorov, A., Lavoie-Marchildon, S., Grewal, K., Bachman, P., Trischler, A., & Bengio, Y. (2018).»Learning deep representations by mutual information estimation and maximization.» In ICLR 2019.

  19. 19

    Bachman, P., Hjelm, R. D., & Buchwalter, W. (2019).»Learning representations by maximizing mutual information across views.» In NeurIPS 2019.

  20. 20

    He, K., Fan, H., Wu, Y., Xie, S., & Girshick, R. (2020).»Momentum contrast for unsupervised visual representation learning.» In CVPR 2020.

  21. 21

    Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020).»A simple framework for contrastive learning of visual representations.» arXiv preprint.

  22. 22

    Lee, D. H. (2013, June).»Pseudo-label: The simple and efficient semi-supervised learning method for deep neural networks.» In Workshop on challenges in representation learning, ICML (2013).

  23. 23

    Xie, Q., Luong, M. T., Hovy, E., & Le, Q. V. (2020).»Self-training with noisy student improves imagenet classification.» In CVPR 2020.

  24. 24

    Kingma, D. P., Mohamed, S., Jimenez Rezende, D., & Welling, M. (2014).»Semi-supervised learning with deep generative models.» In NeurIPS 2014.

  25. 25

    Salimans, T., Goodfellow, I., Zaremba, W., Cheung, V., Radford, A., & Chen, X. (2016).»Improved techniques for training gans.» In NeurIPS 2016.

  26. 26

    Donahue, J., & Simonyan, K. (2019).»Large scale adversarial representation learning.» In NeurIPS 2019.

  27. 27

    Chen, M., Radford, A., Child, R., Wu, J., Jun, H., Luan, D., & Sutskever, I. (2020, November).»Generative pretraining from pixels.» In ICML 2020.

  28. 28

    He, K., Zhang, X., Ren, S., & Sun, J. (2015).»Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification.» In ICCV 2015.

  29. 29

    Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., … & Berg, A. C. (2015).»Imagenet large scale visual recognition challenge.» In IJCV 2015.

  30. 30

    Taori, R., Dave, A., Shankar, V., Carlini, N., Recht, B., & Schmidt, L. (2020).»Measuring robustness to natural distribution shifts in image classification.» In NeurIPS 2020.

  31. 31

    Sohn, K. (2016).»Improved deep metric learning with multi-class n-pair loss objective.» In NeurIPS 2016.

  32. 32

    Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. (2017).»Attention is all you need.» In NeurIPS 2017.

  33. 33

    Desai, K., & Johnson, J. (2020).»VirTex: Learning Visual Representations from Textual Annotations.» arXiv preprint.

  1. 34

    Sariyildiz, M. B., Perez, J., & Larlus, D. (2020).»Learning Visual Representations with Caption Annotations.» In ECCV 2020.

  2. 35

    Zhang, Y., Jiang, H., Miura, Y., Manning, C. D., & Langlotz, C. P. (2020).»Contrastive Learning of Medical Visual Representations from Paired Images and Text.» arXiv preprint.

  3. 36

    Dosovitskiy, A., Beyer, L., Kolesnikov, A., Weissenborn, D., Zhai, X., Unterthiner, T., … & Uszkoreit, J. (2020).»An image is worth 16×16 words: Transformers for image recognition at scale.» arXiv preprint.

  4. 37

    Mahajan, D., Girshick, R., Ramanathan, V., He, K., Paluri, M., Li, Y., … & van der Maaten, L. (2018).»Exploring the limits of weakly supervised pretraining.» In ECCV 2018.

  5. 38

    Kolesnikov, A., Beyer, L., Zhai, X., Puigcerver, J., Yung, J., Gelly, S., & Houlsby, N. (2019).»Big Transfer (BiT): General Visual Representation Learning.» arXiv preprint.

  6. 39

    Kärkkäinen, K., & Joo, J. (2019).»Fairface: Face attribute dataset for balanced race, gender, and age.» arXiv preprint.

  7. 40

    Bowker, G., & Star, S. L. (1999).»Sorting things out. Classification and its consequences» Book.

  8. 41

    Keyes, O. (2018).»The misgendering machines: Trans/HCI implications of automatic gender recognition.» In Proceedings of the ACM on Human-Computer Interaction.

Авторы

Alec Radford, Ilya Sutskever, Jong Wook Kim, Gretchen Krueger, Sandhini Agarwal

Благодарности

Мы хотели бы поблагодарить миллионы людей, участвовавших в создании данных, на которых обучается CLIP. Мы также выражаем признательность всем нашим соавторам за их вклад в проект. Наконец, мы хотим поблагодарить Джеффа Клуна (Jeff Clune), Майлза Брандаджа (Miles Brundage), Райана Лоу (Ryan Lowe), Якуба Пахоцкого (Jakub Pachocki) и Веданта Мишру (Vedant Misra) за отзывы о черновиках этого блога, а Мэтью Найта (Matthew Knight) — за рецензирование выпуска кода.

Дизайн и обложка

Джастин Джей Ван (Justin Jay Wang)

Полный текст статьи читайте на OpenAI