Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

SigLIP

SigLIP обучает энкодеры изображений и текста с помощью попарной сигмоидной функции потерь вместо softmax, используемого в CLIP, сокращая расход памяти. Как это работает, SigLIP 2 и код.

SigLIP (сигмоидная функция потерь для предварительного обучения на изображениях и текстовых описаниях) — это метод исследователей Google для обучения кодировщиков изображений и текста на парах изображений и подписей к ним, а также название семейства обученных с его помощью моделей. Как и CLIP, этот метод обучается общему пространству эмбеддингов, в котором изображение и описывающая его подпись оказываются близко друг к другу. Разница заключается в функции потерь: SigLIP рассматривает каждую пару «изображение — текст» в пакете как отдельный вопрос с ответом «да» или «нет» и оценивает её с помощью сигмоиды, вместо того чтобы предлагать каждому изображению выбрать подпись из всего пакета с помощью softmax. Это изменение, представленное в статье о SigLIP за 2023 год, снижает потребление памяти, лучше работает с небольшими размерами пакета и сделало кодировщики SigLIP распространённым компонентом компьютерного зрения в визуально-языковых моделях (VLMs).

Как работает сигмоидная функция потерь#

Для пакета из N пар «изображение — подпись» SigLIP вычисляет сходство каждого эмбеддинга изображения с каждым текстовым эмбеддингом, получая N×N оценок. Каждую оценку умножают на обучаемую температуру t, прибавляют обучаемое смещение b и применяют бинарную логарифмическую сигмоидную функцию потерь: N истинных пар на диагонали помечаются как совпадения, а остальные N² − N пар — как несовпадения. Начальная температура равна 10, а смещение — −10. Так обучение начинается с предположения, что почти все пары не совпадают, что предотвращает большие начальные обновления из-за дисбаланса: на одно положительное совпадение для изображения приходится N − 1 отрицательных.

Приведённый ниже код на PyTorch вычисляет эту функцию потерь для четырёх пар: сначала с правильными подписями, затем со сдвинутыми на одну позицию:

import torch
import torch.nn.functional as F

# Normalized embeddings for 4 image-caption pairs: row i of each tensor belongs together
torch.manual_seed(0)
images = F.normalize(torch.randn(4, 64), dim=-1)
texts = F.normalize(images + 0.05 * torch.randn(4, 64), dim=-1)

# Learnable temperature and bias, at the values SigLIP initializes them to
t, b = 10.0, -10.0

# Every image-text pair is its own binary problem: +1 for a match, -1 for the other 12 pairs
labels = 2 * torch.eye(4) - 1
for name, captions in [("matched", texts), ("shuffled", texts.roll(1, dims=0))]:
    logits = t * images @ captions.T + b
    loss = -F.logsigmoid(labels * logits).sum() / 4
    print(f"{name} captions: loss {loss:.2f}")

Выводятся значения matched captions: loss 1.21 и shuffled captions: loss 10.50. Когда подписи сдвинуты, каждая диагональная пара, помеченная как совпадение, на самом деле не совпадает, и функция потерь увеличивается почти в девять раз.

Слагаемое функции потерь для каждой пары зависит только от этой пары, поэтому полную матрицу N×N не нужно целиком размещать на одном устройстве. Каждый ускоритель оценивает свои изображения относительно собственных текстов, затем передаёт их текстовые эмбеддинги следующему ускорителю и повторяет вычисления:

Функцию потерь softmax нельзя разделить таким образом, потому что вероятность для каждого изображения нормализуется по всем подписям в пакете.

SigLIP и CLIP#

Обе модели обучают два кодировщика с помощью контрастивного обучения, но нормализация функции потерь выполняется по-разному:

  • CLIP: кросс-энтропия с softmax для каждой строки и каждого столбца матрицы сходства пакета. Она вычисляется после того, как каждое устройство собирает эмбеддинги со всех остальных устройств.
  • SigLIP: независимая бинарная функция потерь для каждой пары. В статье SigLIP превзошла функцию потерь с softmax при небольших размерах пакета, а выигрыш от увеличения пакета постепенно сходил на нет: достаточным оказался размер 32k. В сочетании с замороженным предварительно обученным кодировщиком изображений эта модель за два дня обучения на четырёх чипах TPUv4 достигла точности 84,5% на ImageNet в режиме zero-shot.

Функция потерь также влияет на оценки во время инференса: модель SigLIP независимо оценивает вероятность совпадения для каждой метки-кандидата, поэтому сумма вероятностей набора меток не обязана равняться 1.

SigLIP 2#

SigLIP 2, выпущенная в феврале 2025 года, сохраняет сигмоидную функцию потерь и добавляет декодер генерации подписей, самодистилляцию и предсказание маскированных данных во время обучения, а также онлайн-курацию данных. Кодировщики стали мультиязычными, а также лучше определяют местоположение объектов и извлекают плотные признаки, важные для построенных на их основе задач детекции и сегментации. Вариант NaFlex обрабатывает изображения с разным разрешением, сохраняя их исходное соотношение сторон. Модели доступны в размерах ViT-B, L, So400m и g, причём So400m — это оптимизированная по форме ViT с 400 миллионами параметров.

Примеры применения в реальных условиях#

  • Кодировщики изображений для VLM: В PaliGemma от Google используется кодировщик изображений SigLIP So400m, а Gemma 3 применяет для обработки изображений кодировщик SigLIP с 400 миллионами параметров.
  • Классификация zero-shot: Текстовые метки оцениваются относительно изображения без обучения классификатора. SigLIP 2 поддерживает множество языков.
  • Семантический поиск: Поиск по эмбеддингам изображений, хранящимся в векторной базе данных, выполняется по текстовым запросам или другим изображениям.
  • Исследование наборов данных: Платформа Ultralytics кодирует каждое изображение анализируемого набора данных с помощью такого кодировщика изображений и текста. Поэтому визуально похожие изображения оказываются рядом на диаграмме рассеяния Clustering, функция Find similar images находит ближайшие похожие изображения из других наборов данных, а текстовый поиск, например «погрузчик у дверного проёма», также находит изображения, соответствующие описанию.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения