Можете ли вы сначала Нажмите ссылку ниже,Попросите лайков Нажмите like ❥(^_-) Дай мне попробовать Model и Пространство, посмотрите на следующий текст~~: Model 、 Space
………………………………………………………………
в последние годы,изображение Технологии генерации быстро развиваются,Все больше и больше людей начинают обращать внимание наи Изучите различные изображения Создать модель。и Diffusion Model Являясь одним из них, он имеет большое значение для создания высококачественных изображений. В этом обмене мы обсудим Diffusion Model изпринципи реализации. Я надеюсь, что этот обмен информацией поможет каждому глубже понять технологии и методы в этой области и вдохновит вас на дальнейшие исследования.
Представляем Diffusion Model Прежде, давайте сначала поймем Создать модель. С точки зрения непрофессионала, Создать модель — это алгоритм искусственного интеллекта.,Основная идея заключается в том,Пусть компьютер автоматически выучит некоторые данные по статистическим законам,И использовать эти законы для создания новых изданных,Например, изображение, аудио и т. д. Эта технология широко используется,Например, его можно использовать при создании текста, изображений, видео и других областях. и Diffusion Model Это относительно новый вид изображения Создать. модель, ее самая большая характеристика есть可以генерировать高质量изизображение。этоизгенерироватьпринципочень интересно,на самом деле,Diffusion Model Это генерация изображений, основанная на технологии шумоподавления. Denoise Model。это означает,В процессе создания изображенияизсередина,этона самом компания постоянно устраняет шум, случайность и влияние,Из и мы постепенно получаем все более реальное, все более изысканное изображение.
Denoise процесссередина,использоватьиз ВсеТа же модель шумоподавления。чтобы позволить Diffusion Model Знайте, где вы сейчас находитесь Step Входное изображение будет изменено во время фактической операции. Step Числа передаются в качестве входных данных в модель.。так,Модель может судить об уровне шума на основе тока из Step,Выполните более детальные операции по шумоподавлению из è.
Фактически, Denoise Model делает несколько очень интересных вещей внутри себя для создания высококачественных изображений. Прежде всего, поскольку модели сложно напрямую предсказывать изображения с шумоподавлением, модель Denoise делает две вещи:
нужно тренироваться Noise Predictor,наснужно иметь основной истинный шум как ярлык для контролируемого обучения。Так,каждый Step из Ground truth Откуда это взялось?
нас可以проходитьСлучайно генерировать шум для моделирования процесса диффузии (Diffusion Process)。Конкретно,Начинаем с исходного изображения,Постоянное добавление случайного шума,Получите серию добавленного шума после изображения. После добавления шума изображение в настоящее время отсутствует. Step то есть Denoise Model из ввода и добавление шума Ground truth。нас可以использовать这些 Ground truth данные для обучения Noise Предиктор, чтобы он мог лучше предсказать текущий шум.
Некоторые студенты спросили: Я видел из Diffusion Модель представляет собой преобразование текста в изображение. Генератор, генерирует изображения на основе текста. Почему у вас нет ввода текста?
Действительно, некоторые Diffusion Model Он генерирует изображения на основе текста, а это означает, что мы можем генерировать изображения, используя текст в качестве входных данных.
каждый шаг, текст можно использовать как Denoise Model из Вход,Это позволяет Модели знать, какое изображение должно быть сгенерировано в данный момент.
Конкретно,нас可以将Ввод текста в Noise Predictor,Для того, чтобы предугадать шум и убрать его.
Stable Diffusion, DALL-E, Imagen, эти Модели объединяет то, что все они используют три модуля для создания изображения:
Stable Diffusion Это относительно популярный проект с открытым исходным кодом. Diffusion Модель, ее архитектура показана на рисунке выше.
DALL-E — это Diffusion, выпущенный OpenAI. Модель, ее архитектура показана на рисунке выше. это利использоватьCLIPметод получения текстаиизображениеизвектор представления。Цель CLIP — метод сравнительного обучения.,проводить поезда Модель для одновременного понимания текста и изображения,Для того, чтобы тесно связать текстовое описание и соответствующее изображение. В тренировочном процессесередина,Модель случайным образом выберет текстовое описание и соответствующее изображение из набора данных середина в качестве положительного образца.,Случайным образом выберите другое текстовое описание и изображение, не принадлежащее этому текстовому описанию, и используйте его в качестве отрицательного образца. Цель Моделиза – сделать сходство положительных образцов выше, чем сходство отрицательных образцов.
DALL-E использует объектив CLIP, реализующий взаимодействие между текстами изображение,То есть, учитывая текстовое описание,DALL-E может генерировать изображения, соответствующие этому описанию. Конкретные слова,Процесс генерации DALL-Eиз выглядит следующим образом:
DALL-EизСоздать модельЕсть два способа реализации:
Imagen — это преобразование текста в изображение, созданное с помощью Diffusion, опубликованное Google. Model,это可以根据给定изискусство本描述генерировать一张高清晰度изкартина。整个генерироватьпроцесс包含三个主要模块:Frozen Text Encoder、Text-to-Image Diffusion ModelиSuper-Resolution Model。
Чтобы добиться лучших результатов генерации, Imagen приняла некоторые меры по оптимизации.
Теперь у нас есть Диффузия Модель (например, Открытый исходный код из Stable Diffusion),可以генерироватьитекстовое описание匹配изизображение。Это должноКак научить Модель новым концепциям и позволить ей генерировать изображения в нашей собственной области.Шерстяная ткань?比нравитьсянас可以входить“Маленький ПэнмашинаP7”Связанныйизтекстовое описание,Он может сгенерировать изображение, соответствующее этому описанию. Конечно, мы можем Finetue Модель,кормить Модель“Маленький ПэнмашинаP7”из<image,text> pair данные обучения. Но при прямой настройке больших моделей могут возникнуть две проблемы:
Как показано во второй строке рисунка выше, конкретная «собака XX» Некоторые примеры изображения из "собаки", полученные путем доводки Модель на изображении. Результаты ясно показывают, что данная Модель потеряла способность генерировать общее изображение собаки из-за тонкой настройки.
У нас есть текст для изображенияиз диффузии Модель,Соответствующее изображение может быть сгенерировано на основе ввода текста. но,Если у нас есть только три-пять изображений конкретного объекта,,Мы можем применить к модели импорт этих изображений одновременно.,плюс содержитКонкретный объект по имени, категории и текстуСоветы по тонкой настройке Модель,Например, «собака [V]». в то же время,нас还可以应использоватьПотеря предварительной сохранности для конкретного класса,Он использует семантические априорные модели в категории,и поощрять Модель генерировать разнообразные экземпляры, принадлежащие к этой категории,,Например, введите «собака» в текстовую подсказку середина. Это позволяет Модели лучше генерировать сходство изображения с конкретными объектами.
нравиться果насЯ не хочу делать это для больших моделей «Крупная хирургия» —— finetue Обучение больших моделей(成本太高了 ==), ведь мы просто хотим научить Модель новому понятию, а остальные предварительные знания и предварительные знания менять не нужно. Как это сделать? 可以尝试LoRA(Low-Rank Adaptation)!LoRAэто метод адаптации низкого ранга,Может использоваться для тонкой настройки и адаптации нейронных сетей. Его основной смысл заключается в,При тонкой настройке нейронной сети,Оптимизируйте только матрицы разложения низкого ранга,Сохраняйте вес перед тренировкой без изменений。Конкретно,LoRA 允许наспроходитьОптимизировать плотный слой во время адаптации (плотный layers)изменятьизматрица рангового разложения,косвенно обучить нейросеть серединаиз некоторых плотных слоев,в то же время保持предварительнотренироватьсяиззаморозка веса:
Как показано на картинке выше,нас只训Отработка части AиB из параметров,Чтосередина,r намного меньше, чем d。A Инициализация некоторых параметров соответствует Гауссово. распределение。чтобы обучение начальному выходуиз h изценить и Вывод предварительно обученной большой модели такой же, часть B. Параметр из инициализируется значением 0.
На рисунке выше показан GPT-3. 175B Точность проверки по сравнению с WikiSQL и MNLI Сопоставьте взаимосвязь между несколькими адаптивными методами и количеством обучаемых параметров. LoRA Покажите лучшую масштабируемость и производительность задач. Использование LoRA, 175B из GPT-3 Только 18M Trainable Параметры могут работать очень хорошо.
В целом LoRA имеет следующие преимущества:
Мы постарались использовать более десятка «Автомобиль Xpeng P7» Связанныйизизображениеобразец,На основе открытого исходного кодаизсерединаискусствоStable-Diffusion(IDEA-CCNL/Taiyi-Stable-Diffusion-Chinese) На основе (Dreambooth + LoRA) тонкая настройка, обучаемость Размер файла модели составляет всего 3M。 мы ставим prompt Установлено: автомобиль Xpeng P7, голубое небо, трава, фото 4K, HD Давайте отдельно рассмотрим статью в открытом доступе Stable-Diffusion. И его эффект после тренировки:
Вы можете сравнить и найти:
наконец Давайте сначала успокоимсяизмилыйиз Покемонdemo: Model 、 Space
Прошу лайков:
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained("IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1", torch_dtype=torch.float16)
model_path = "souljoy/sd-pokemon-model-lora-zh"
pipe.unet.load_attn_procs(model_path)
pipe.to("cuda")
pipe.safety_checker = lambda images, clip_input: (images, False)
prompt = "Розовая из бабочки, Маленький эльф, мультфильм"
image = pipe(prompt, num_inference_steps=50, guidance_scale=7.5).images[0]
image
prompt = "Милый из собачки, Маленький эльф, мультфильм"
image = pipe(prompt, num_inference_steps=50, guidance_scale=7.5).images[0]
image
prompt = «Красивый кот, Маленький эльф, мультик»
image = pipe(prompt, num_inference_steps=50, guidance_scale=7.5).images[0]
image