Нейросети без лишней мишуры

Давайте поговорим о Технологии Нейронов и Диффузии для чайников, и как это работает на самом деле. Со всеми ссылками на научные работы и пояснениями на пальцах как полагается.

Процесс Диффузии кратко:

Вы удивитесь насколько это точная картинка отражающая процесс.

Но что бы в этом убедится - я расскажу как это технически реализовано.

Технология ШУМОПОДАВЛЕНИЯ

Техника диффузии была изобретена в 2015 году исследователями ИИ из Стэнфордского университета.

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

Нейросети без лишней мишуры

Первый этап заключается в том что бы взять исходное изображение (как и любые другие данные) - постепенно добавлять к картинке шум - на каждом этапе.В это время AI учится понимать как добавление шума меняет исходное изображение.

Нейросети без лишней мишуры

В итоге в конце этапа обучения изображение оказывается разбавленно почти случайным шумом.

Потом общую обученную систему используют что бы из шума получить ИСХОДНОЕ изображение :

Нейросети без лишней мишуры

Как можно видеть именно так нейросеть обучают слову «Спираль».

В итоге красная спираль справа (красной она помечена для понимания) - оказывается БУКВАЛЬНОЙ копией Спирали Слева. Ее можно назвать «Копией». с некоторыми потерями битов данных. Это можно использовать для обучения нейросети любым типам цифровых данных хоть OBJ хоть MP3, хоть PNG.

За технологией «Diffusion» не скрывается никакой магии - это последовательный алгоритм

Нейросети без лишней мишуры

Алгоритм, который учится восстанавливать из шума исходное изображение, по текстовому запросу. То есть наша нейронка это не более чем формат архивирования.

С точки зрения авторских прав - в процессе обучения нейросети -внутри формируется сверх сжатая копия чужих картинок которая оседает на узлах нейросети. И значит дав нейросети весьма долгий шаг работы над картинкой - она сможет восстановить исходное сокрытое изображение.

Нейросети без лишней мишуры

Но как робот понять что ИМЕННО ему нужно восстановить из шума?

ТЕХНОЛОГИЯ ПОДСКАЗОК

Для этого исследователи из Мюнхена усовершенствовали метод диффузии . Эти исследователи, как направить процесс шумоподавления с помощью дополнительной информации.

Этот процесс называется ДРЕССИРОВКА ( conditioning ), когда добавляется дополнительный элемент для направления «восстановления» изображения.

Наиболее распространенным инструментом дрессировкиявляются краткие текстовые описания, также известные как текстовые подсказки/. PROMT

Нейросети без лишней мишуры

Подсказки которые которые описывают элементы изображения. Это привело к доминирующему интерфейсу Stable Diffusion и других генераторов изображений AI: преобразование текстовой подсказки в изображение.

Таким образом Диффузия получает дополнительную возможность это технически способ восстановить исходное изображение из «зашумленного источника» используя известный контекст , так называемого PROMT'a - то есть «подсказки»

Это хорошо показывать на примере Моно Лизы.Которое гарантировано пойдет в любую базу нейросети.

Вот Мона лиза из Миджоры - вы можете попытаться получить свои варианты в ней.

Нейросети без лишней мишуры

Что бы замаскировать это создатели нейросетей могут пойти на кучу ухищрений - что бы пользователь получал разные результаты - а не один. Суть этого заключается в ограничении шагов генерации из диффузного шума, и подмешиванием в ваш промт - дополнительных слов. Которые определяются компьютерным псевдорандомом.Будь то слова «цветы», «икона» или даже «кот»:

Нейросети без лишней мишуры

Но как это достигается чисто физически?

ТЕХНОЛОГИЯ НЕЛИНЕЙНОЙ ИНТЕРПОЛЯЦИИ

О, в 2020 году исследователи из Калифорнийского университета в Беркли улучшили метод диффузии двумя способами:

  • Они показали, как диффузионная модель может хранить свои обучающие изображения в гораздо более сжатом формате, не влияя на ее способность реконструировать копии с высокой точностью. Эти сжатые копии обучающих изображений известны как скрытые изображения .
  • Они обнаружили, что эти скрытые изображения можно перемешивать — то есть математически смешивать - создавать линейную интерполяцию между двумя и ли большим числом запросов — для создания новых производных изображений.
Нейросети без лишней мишуры

Пример выше взят из из исследования команды Беркли , показывает, как работает этот процесс.

Нейросети без лишней мишуры

Изображение в красной рамке - получается - если взять два исходных изображения и смешать их в фотошопе поставив на слоях по 50% .

Но изображение в зеленой рамке было сделано путем взятия «скрытых исходников» из нейросети и последующий реконструкцией через шумоподавление диффузии показаной на примере спирали выше. По сравнению с «брутфорсным» смешиванием - итог выглядит как убедительное человеческое лицо, а не наложение двух лиц.

По этому принципу работают такие нейросети как «ThisPersonNot Exist» :https://thispersondoesnotexist.com/ и тысячи их клонов(жмите F5/ обновить страницу что бы получать разный результат)

***

STABLE DIFFUSION и его аналоги - реализованы все указанные технологии.

Как генерация из Промта и случайного шума

Нейросети без лишней мишуры

Так и технология работы с уже готовым изображением:

Нейросети без лишней мишуры

Но как и любая модель машинного обучения оно не буквально понимает текстовые данные.

Для этого используют CLIP (Контекстный язык предварительного обучения)

Чтобы любая модель понимала текстовые данные, нам необходимо преобразовать этот текст в числа, содержащие значение текста, называемые : embeddings (вложения). Процесс преобразования текста в число можно разбить на две части:

Токенизатор — разбивает каждое слово на подслова , а затем использует таблицу поиска для преобразования их в число смыслов, и получает матрицу.

Нейросети без лишней мишуры

Матрица которая изанчально создается за счет привязки изображений к подписям. Во время обучения на рандомных картинках скаченных Дата Саентистами с интернета:

Нейросети без лишней мишуры

После чего происходит МАТЕМАТИКА в смылсе МАГИЯ:

Нейросети без лишней мишуры

После чего имя матрицу «значений» и привязанные к ней «скрытые исходные картинки» внутри нейронки и генераторы шума - мы и получаем в итоге то что и называется «Diffusion» будь то Миджора, стебл диско и прочие …

Более подробно под капотом Стейбл Дифьюжен разобрана в следующих статьях:https://aayushmnit.com/posts/2022-11-05-StableDiffusionP2/2022-11-05-StableDiffusionP2.html

и

Что бы замаскировать что нейронка это банальный алгоритм - а не какая мега чудесная замена творчества- в ваш оцифрованый в таблицу ПРОМТ - создатели нейросетей подмешиват рандомные значения - в результате чего становиться труднее выманивать из нейросети очевидные копии обучающих изображений.

Как и меняют базовое зерно SEED базового шума при каждой генерации.

Сложно - но(!) отнюдь не невозможно: https://arxiv.org/pdf/2212.03860.pdf

Нейросети без лишней мишуры

Для примера исходный Диван справа вверху отсюда: https://ru.pinterest.com/pin/wall-view-002--863213453570261983/

Нейросети без лишней мишуры

Вот и выходит:

Нейросети без лишней мишуры

Как можно понять из всего текста выше - использовались только слова «шумоподавлене», «интерполяция» и «смешивание»- то как это может выдаваться за новую веху в творечстве?

Это же алгоритмы усреднения, работы с шумом и они создают нечто уже существующие и за пределы базы данных которую они набрали для обучения выйти за их пределы не могут. И даже если результат будет не плох, то:

это лишь означает что где то внутри нейронки скрыт не менее шедевральный оригинал - который слегка смешали с чем то еще.

***

Безопасно ли использовать нейросети ? Авторы Нейросетей отвечают : ДА.

Нейросети без лишней мишуры

Но в случае нарушения чужих авторских прав в коммерческих заказах вся ответственность будет только на ваших плечах :

Нейросети без лишней мишуры

Так что не удивительно что на создателей нейросеток готовится коллективная судебная тяжба: https://stablediffusionlitigation.com/ (так же часть материалов для данной статьи взята с этого сайта)

А чем это все это в итоге отличается от живого мозга который «тоже» работает с существующими изображениями - мы поговорим как нибудь в следующий раз…

114
179 комментариев