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

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

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

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

— это неправильное понимание принципа работы. Вы как себе представляете сжатие почти 6 млрд (шести миллиардов!) картинок в файл 2.1гб или пусть 4.27гб? Все немного интереснее:
1. Для обучения конкретно SD использовали открытую билиотеку изображений (LAION), которую позволяют использовать для исследовательских целей. Этим занималась некоммерческая организация в соответствии с лицензией (иначе бы всего остального мы не увидели).
2. В файле не хранятся исходники изображений. Процесс кодирования-декодирования это не винрар. Никаких копий исходных картинок там нет, они в дальнейшем процессе не используются.
3. Восстановления исходных копий при генерации не происходит. Это воспроизведение чего-то похожего на оригинал, но это всегда случайное изображение и это всегда новое изображение. Отличия даже с тем же случайным исходным числом одной и той же модели будут при генерации на разных устройствах с разными видеокартами.

Теперь самое интересное, что беспокоит большинство людей — копирайт. Исходные модели SD распространяются бесплатно, и обучены на бесплатной базе. Но для дообучения этих моделей (создания своих версий моделей) нужно использовать новые изображения — если вы обучаете на своих картинках, у вас должны быть права на их использование. При этом скрипт для обучения — он тоже в опенсорсе — не имеет прямого отношения к SD, у него другие разработчики.

22

Я потом расписал как это происходит и приложил даже примеры как можно вытащить исходник.
Внимательнее)
Для особо не внимательных продублирую еще раз:
https://arxiv.org/pdf/2212.03860.pdf

Само собой все 4.5 миллиарда картинок не храняться - но сотня тысяч самых распространенных котоыре повторяются в дата базе в разном качестве - очень даже.

5

Сжатие 6 миллиардов картинок легко объяснить векторизацией. Разделение изображения на числовые признаки, в том числе неоднократно повторяющиеся в разных изображениях. Это как сжатие с потерями, только потерь 98%. Восстановление изображения происходит при рекомбинации признаков - чем то похоже на случайную генерацию уровней в играх. К тому же изображения почти всегда обучаются в лоурезе. В среднем модель должна требовать около 60 - 70 терабайт несжатых данных, впрочем, это не так уж и много.

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

4