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.
Григорий Копиев
Они независимо пришли к результату
Внутренняя модель OpenAI получила доказательство, опровергающее гипотезу экспоненциального времени — одно из ключевых предположений теории вычислительной сложности. Независимо к такому же результату пришла и модель Anthropic. Гипотеза экспоненциального времени предполагает, что по мере увеличения размера входных данных время, необходимое для решения определенного класса задач, в худшем случае растет экспоненциально. В частности, задачу [note=6459|3-SAT] для булевых формул, согласно этой гипотезе, нельзя решить быстрее, чем за экспоненциальное время в зависимости от числа переменных. Обе компании опубликовали опровержения гипотезы, формализованные на языке Lean. Доказательство OpenAI также позволяет предсказать число решений булевых формул за субэкспоненциальное время. Результатам еще предстоит пройти независимую проверку. В частности, сотрудники OpenAI передали результат группе специалистов по теории сложности, в которую вошли авторы исходной формулировки гипотезы Рассел Импальяццо (Russell Impagliazzo) и Рамамохан Патури (Ramamohan Paturi).