|
|
||
|---|---|---|
| .. | ||
| README.md | ||
README.md
Мультимодальные сети
После успеха трансформерных моделей для решения задач обработки естественного языка (NLP), аналогичные архитектуры были применены к задачам компьютерного зрения. Возрастает интерес к созданию моделей, которые будут объединять возможности зрения и естественного языка. Одной из таких попыток является модель от OpenAI, названная CLIP и DALL.E.
Контрастная предобучение изображений (CLIP)
Основная идея CLIP заключается в том, чтобы иметь возможность сравнивать текстовые подсказки с изображением и определять, насколько хорошо изображение соответствует подсказке.
Изображение из этого блога
Модель обучается на изображениях, полученных из Интернета, и их подписях. Для каждой партии мы берем N пар (изображение, текст) и преобразуем их в некоторые векторные представления I и T. Эти представления затем сопоставляются друг с другом. Функция потерь определяется для максимизации косинусного сходства между векторами, соответствующими одной паре (например, I и T), и минимизации косинусного сходства между всеми другими парами. Именно поэтому этот подход называется контрастным.
Модель/библиотека CLIP доступна на GitHub OpenAI. Подход описан в этом блоге, а более подробно в этой статье.
После предобучения этой модели мы можем предоставить ей партию изображений и партию текстовых подсказок, и она вернет тензор с вероятностями. CLIP можно использовать для нескольких задач:
Классификация изображений
Предположим, нам нужно классифицировать изображения, например, между кошками, собаками и людьми. В этом случае мы можем предоставить модели изображение и серию текстовых подсказок: "изображение кошки", "изображение собаки", "изображение человека". В результирующем векторе из 3 вероятностей нам просто нужно выбрать индекс с наивысшим значением.
Изображение из этого блога
Поиск изображений по тексту
Мы также можем сделать наоборот. Если у нас есть коллекция изображений, мы можем передать эту коллекцию модели и текстовую подсказку - это даст нам изображение, которое наиболее похоже на данную подсказку.
✍️ Пример: Использование CLIP для классификации изображений и поиска изображений
Откройте блокнот Clip.ipynb, чтобы увидеть CLIP в действии.
Генерация изображений с VQGAN+ CLIP
CLIP также может быть использован для генерации изображений из текстовой подсказки. Для этого нам нужна модель-генератор, которая сможет генерировать изображения на основе некоторого векторного ввода. Одна из таких моделей называется VQGAN (векторно-квантованный GAN).
Основные идеи VQGAN, которые отличают его от обычного GAN, следующие:
- Использование авторегрессионной архитектуры трансформера для генерации последовательности визуальных частей, богатых контекстом, которые составляют изображение. Эти визуальные части, в свою очередь, обучаются с помощью CNN.
- Использование дискриминатора подизображений, который определяет, являются ли части изображения "реальными" или "фальшивыми" (в отличие от подхода "все или ничего" в традиционном GAN).
Узнайте больше о VQGAN на сайте Taming Transformers.
Одно из важных отличий между VQGAN и традиционным GAN заключается в том, что последний может создавать приемлемое изображение из любого векторного ввода, в то время как VQGAN, скорее всего, создаст изображение, которое не будет согласованным. Таким образом, нам нужно дополнительно направлять процесс создания изображения, что можно сделать с помощью CLIP.
Чтобы сгенерировать изображение, соответствующее текстовой подсказке, мы начинаем с некоторого случайного векторного кодирования, который проходит через VQGAN для получения изображения. Затем CLIP используется для создания функции потерь, которая показывает, насколько хорошо изображение соответствует текстовой подсказке. Цель состоит в том, чтобы минимизировать эту потерю, используя обратное распространение для корректировки параметров входного вектора.
Отличная библиотека, реализующая VQGAN+CLIP, - это Pixray.
Изображения из коллекции Искусственные Учителя от Дмитрия Сошникова
DALL-E
DALL-E 1
DALL-E - это версия GPT-3, обученная генерировать изображения из подсказок. Она была обучена с использованием 12 миллиардов параметров.
В отличие от CLIP, DALL-E получает как текст, так и изображение в виде единого потока токенов для изображений и текста. Таким образом, из нескольких подсказок вы можете генерировать изображения на основе текста.
DALL-E 2
Основное отличие между DALL-E 1 и 2 заключается в том, что она генерирует более реалистичные изображения и искусство.
Примеры генерации изображений с DALL-E:
Ссылки
- Статья о VQGAN: Укрощение трансформеров для синтеза изображений высокого разрешения
- Статья о CLIP: Обучение переносимых визуальных моделей с использованием естественного языка
Отказ от ответственности:
Этот документ был переведен с использованием машинных AI-сервисов перевода. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникающие в результате использования этого перевода.








