Открыть сервис

Технология 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 имеет ряд ограничений:

Влияние и развитие

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

Кроме того, CLIP стимулировала развитие других мультимодальных моделей, таких как ALIGN (Google), Florence (Microsoft) и других, которые используют аналогичные принципы контрастного обучения.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →