Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички для лабораторных / Лабораторная работа №10 методичка.docx
Скачиваний:
14
Добавлен:
04.06.2023
Размер:
1.7 Mб
Скачать

Подготовка к выполнению лабораторной работы №10

Перед выполнением лабораторной работы следует убедиться, что включен графический ускоритель в Google Colab:

Среда исполнения -> Сменить среду выполнения. Установить Аппаратный ускоритель = GPU

Лабораторная работа №10

Генерация изображений в заданной художественной стилистике посредством диффузионной модели нейронной сети

Цель

Целью данной лабораторной работы является знакомство с принципом работы диффузионной модели генерации изображений.

Задание

  1. Ознакомиться с теоретическим материалом.

  2. С использованием образца программного кода сгенерировать изображения, используя определенные предметной областью текстовые фразы.

  3. Сделать выводы по проделанной работе.

  4. Оформить отчет по лабораторной работе.

Краткая теория

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

В модели скрытой диффузии присутствует три основных компонента, которые будут рассмотрены подробнее далее:

  1. кодировщик текста, в данном случае CLIP;

  2. автокодировщик, в данном случае вариационный автокодировщик, также называемый VAE;

  3. сверточная нейронная сеть U-Net.

Модель стабильной диффузии принимает текстовый ввод и "сид" (от англ. seed – “семя”, уникальное число, которое необходимо генератору случайных чисел). Затем текстовый ввод передается через модель CLIP для создания текстового "эмбеддинга" (от англ. embedding – встраивание, представление текста в виде матрицы чисел), а "сид" используется для генерации гауссовского шума, который становится первым представлением скрытого изображения. Схема процесса диффузии представлена на рисунке 1.

Рисунок 1 – Процесс диффузии

Затем U-Net итеративно удаляет шум из случайных представлений скрытого изображения, обуславливая встраивание текста. Выход U-Net представляет собой прогнозируемый остаточный шум, который затем используется для вычисления обусловленных скрытых значений с помощью алгоритма планировщика. Этот процесс шумоподавления и преобразования текста повторяется N раз, чтобы получить лучшее представление скрытого изображения. После завершения этого процесса представление скрытого изображения декодируется декодером VAE для получения окончательного выходного изображения.

Кодировщик текста CLIP

Основы. Что входит и выходит из компонента?

Нейронная сеть CLIP (Contrastive Language–Image Pre-training) принимает текст в качестве входных данных и генерирует эмбеддинги текста, которые находятся близко в скрытом пространстве, как это может быть, если попытаться закодировать изображение с помощью CLIP. Схема работы CLIP представлена на рисунке 2.

Рисунок 2 – схема работы кодировщика текста CLIP