OpenAI представила второе поколение нейросети DALL-E, генерирующей изображения по текстовому запросу. В новой версии разработчикам удалось значительно повысить качество генерации, а также научить модель новым навыкам: редактировать изображения и создавать их вариации. OpenAI опубликовала на своем сайте краткое описание разработки и посвященную ей статью.
В начале 2021 года OpenAI представила две нейросети: CLIP и DALL-E. Они выполняют противоположные задачи: первая предсказывает текстовое описание для данной ей картинки, а вторая генерирует изображение по данному текстовому описанию. Особенность этих нейросетей заключается в том, что после обучения в их скрытом пространстве формируется качественная связь между визуальными и текстовыми представлениями самых разных объектов и явлений. В случае с DALL-E это позволило генерировать изображения с довольно необычными описаниями, например, стул в форме авокадо.
Несмотря на то, что OpenAI показала впечатляющие результаты с DALL-E, у нейросети были недостатки. В частности, она довольно хорошо справлялась со стилизованными изображениями и картинами, но ей однозначно не хватало реализма. В новой версии разработчики исправили этот недостаток модели, а также научили ее новым умениям.
Модель DALL-E 2 частично основана на CLIP, разработчики в статье также называют ее генеративную часть unCLIP, потому что фактически она выполняет роль инвертированной модели CLIP. Кроме того, в новой версии, в отличие от оригинальной DALL-E, используются диффузионные модели, которые обучаются и работают следующим образом. Сначала модель получает качественное изображение и добавляет к нему шум. Затем она берет это изображение и снова добавляет шум. Процесс повторяется до тех пор, пока изображение не станет хорошей аппроксимацией гауссовского шума. Таким образом формируется датасет из ряда изображений с разным уровнем шума. После этого нейросеть можно «развернуть» и обучить на этом датасете обратной задаче: формировать из шума качественное реалистичное изображение. Традиционно в последние годы для синтеза фотореалистичных изображений применяли генеративно-состязательные нейросети, но исследователи из OpenAI показали, что диффузионные модели дают лучшие результаты.
Во время обучения вводимый текст превращается кодировщиком из CLIP в текстовый эмбеддинг (сжатое векторное представление тех же данных). Фактически в CLIP-моделях текстовые и визуальные эмбеддинги имеют одинаковую размерность, поэтому после этого шага можно было бы сразу же использовать декодировщик, превращающий эмбеддинг в изображение. Однако разработчики решили использовать более сложную, но дающую лучшие результаты схему с диффузионной моделью (они также опробовали авторегрессионную модель), конвертирующей текстовые эмбеддинги в визуальные. После этого еще одна диффузионная модель с учетом этого эмбеддинга генерирует финальное изображение.
Тесты показали, что такая схема дает гораздо более качественные результаты, чем те, что производила оригинальная DALL-E. Примеры генерации можно посмотреть на сайте OpenAI и в демонстрационном ролике. Помимо более высокого качества, генерируемые изображения имеют в четыре раза более высокое разрешение: 1024 пикселя по одной стороне против 256. Этого удалось достичь благодаря использованию двухэтапному увеличению разрешения (с 64 до 256, а затем до 1024 пикселей). В то же время разработчики признают, что из-за этого алгоритм часто не справляется с деталями в сложных сценах.
Помимо улучшенной генерации, DALL-E 2 получила возможность редактировать изображения, меняя указанные текстом и выделением фрагменты, а также создавать вариации одного и того же изображения, сохраняющие смысл и стиль, но немного отличающиеся друг от друга, например, вариации одного и того же портрета:
Как и прежде, OpenAI не опубликовала обученную модель или ее код, а API для доступа к ней доступен лишь ограниченному числу лиц, одобренному разработчиками. Но, вероятно, сторонние исследователи в ближайшее время воспроизведут модель по ее описанию, так же, как это
Сбер с оригинальной DALL-E.
Григорий Копиев