Технология CLIP
CLIP (Contrastive Language-Image Pre-training) — это нейросетевая модель, разработанная компанией OpenAI, предназначенная для обучения связей между текстом и изображениями. CLIP использует метод контрастного обучения, при котором модель учится сопоставлять целые фрагменты текста (например, подписи к изображениям) с соответствующими визуальными данными, без необходимости в размеченных наборах данных для конкретных задач. Модель способна выполнять широкий спектр задач компьютерного зрения, включая классификацию изображений, поиск по текстовому запросу и генерацию описаний, без предварительной дообучения на специфических данных.
История и предпосылки создания
CLIP была представлена OpenAI в январе 2021 года в статье «Learning Transferable Visual Models From Natural Language Supervision». Разработка модели была мотивирована ограничениями традиционных подходов к компьютерному зрению, которые требовали больших объёмов размеченных данных для каждой конкретной задачи (например, классификации объектов на изображениях). OpenAI стремилась создать универсальную модель, способную обобщать знания из текстовых описаний, доступных в интернете, без необходимости в ручной разметке.
До CLIP доминирующим подходом в компьютерном зрении было использование предобученных на больших наборах данных (например, ImageNet) свёрточных нейронных сетей, которые затем дообучались под конкретные задачи. CLIP предложила альтернативу: обучение на парах «изображение — текст», собранных из открытых источников, что позволило модели понимать семантические связи между визуальными и текстовыми данными.
Архитектура и принцип работы
CLIP состоит из двух основных компонентов: текстового энкодера и визуального энкодера. Текстовый энкодер (обычно на основе трансформера, например, GPT-2) преобразует текстовые описания в векторные представления (эмбеддинги). Визуальный энкодер (на основе свёрточной нейронной сети или трансформера, например, Vision Transformer) преобразует изображения в аналогичные векторные представления. Оба энкодера обучаются совместно, чтобы максимизировать косинусное сходство между правильными парами «изображение — текст» и минимизировать сходство между неправильными.
Контрастное обучение
Основной метод обучения CLIP — контрастное обучение (contrastive learning). В процессе обучения модель обрабатывает батч из N пар «изображение — текст». Для каждой пары вычисляется сходство между эмбеддингами изображения и текста. Цель обучения — сделать так, чтобы сходство правильной пары было выше, чем сходство с любой другой парой в батче. Это достигается с помощью функции потерь, основанной на кросс-энтропии, которая штрафует модель за неправильные сопоставления.
Масштабирование
CLIP была обучена на наборе данных из 400 миллионов пар «изображение — текст», собранных из интернета. Этот набор данных, названный WebImageText, включал изображения и их подписи, взятые с различных веб-сайтов. Обучение модели потребовало значительных вычислительных ресурсов: использовалось 256 графических процессоров V100 в течение 12 дней (для версии CLIP ResNet-50x64).
Возможности и применение
CLIP демонстрирует высокую производительность в задачах, где требуется понимание семантики изображений без предварительного дообучения. Основные области применения включают:
Классификация изображений
CLIP может классифицировать изображения по произвольным категориям, заданным текстовыми описаниями. Например, для классификации изображений животных модель может получить на вход текстовые подписи «кошка», «собака», «птица» и выбрать наиболее подходящую. Это позволяет использовать CLIP для задач, где традиционные модели требуют большого количества размеченных данных.
Поиск изображений по текстовому запросу
Модель способна находить изображения, соответствующие текстовому описанию. Пользователь может ввести запрос, например, «фотография заката на пляже», и CLIP вернёт изображения, наиболее близкие по смыслу к этому запросу. Это применяется в системах поиска изображений, а также в рекомендательных системах.
Генерация описаний и визуальных подсказок
CLIP может использоваться для генерации текстовых описаний изображений, хотя её основная функция — сопоставление, а не генерация. В комбинации с другими моделями, такими как генеративные нейросети (например, DALL-E), CLIP может служить для оценки качества сгенерированных изображений по текстовому запросу.
Нулевой переход (zero-shot learning)
Одной из ключевых особенностей CLIP является способность к нулевому переходу (zero-shot learning): модель может выполнять задачи, на которых она не обучалась напрямую, без дополнительного дообучения. Например, CLIP может классифицировать изображения по категориям, которые не были явно представлены в обучающих данных, если они описаны текстом.
Ограничения и критика
Несмотря на высокую производительность, CLIP имеет ряд ограничений:
- Чувствительность к текстовым описаниям: Качество работы модели сильно зависит от формулировки текстового запроса. Небольшие изменения в описании могут привести к разным результатам.
- Предвзятость (bias): Поскольку модель обучалась на данных из интернета, она может воспроизводить существующие в обществе стереотипы и предвзятости. Например, CLIP может ассоциировать определённые профессии с конкретными полами или расами, что было отмечено в исследованиях OpenAI.
- Вычислительные затраты: Обучение и использование CLIP требуют значительных вычислительных ресурсов, что ограничивает её доступность для небольших организаций и исследователей.
- Недостаточная точность в специфических задачах: В задачах, требующих высокой точности (например, медицинская диагностика), CLIP может уступать специализированным моделям, обученным на узких наборах данных.
Влияние и развитие
CLIP оказала значительное влияние на область компьютерного зрения и мультимодального обучения. Модель стала основой для многих последующих разработок, включая:
- DALL-E и DALL-E 2 — генеративные модели, использующие CLIP для понимания текстовых запросов и генерации изображений.
- Stable Diffusion — модель для генерации изображений, которая также использует CLIP в качестве текстового энкодера.
- CLIP-guided generation — методы, использующие CLIP для управления генерацией изображений, например, в стиле переноса или редактирования.
Кроме того, CLIP стимулировала развитие других мультимодальных моделей, таких как ALIGN (Google), Florence (Microsoft) и других, которые используют аналогичные принципы контрастного обучения.
Интересные факты
- CLIP была обучена на 400 миллионах пар «изображение — текст», что составляет около 1,5 терабайта данных.
- Модель способна распознавать объекты, которые не были явно представлены в обучающих данных, например, «фотография сделанная на Марсе» или «рисунок в стиле Ван Гога».
- В тестах на классификацию ImageNet CLIP показала точность 76,2% в режиме нулевого перехода, что сопоставимо с точностью специализированных моделей, обученных на размеченных данных.
Источники
- Radford, A., Kim, J. W., Hallacy, C., et al. (2021). «Learning Transferable Visual Models From Natural Language Supervision». OpenAI.
- OpenAI. (2021). «CLIP: Connecting Text and Images». OpenAI Blog.
- Dosovitskiy, A., et al. (2021). «An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale». Google Research.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →