Скрестив 3 различных нейросети - провел небольшой эксперимент по поводу движения информации внутри цепочки нейрогенераторов.
Привет!
А что если взять 3 разные нейросети и проверить, насколько они "поймут" друг друга в режиме игры "Глухой телефон"?
Беспокойная голова нашла себе новое беспокойство, и я приступил.
План работ эксперимента. Тут надо вчитаться:
Даем задачу «текстовой» Нейросети-1 придумать Промт-1 на определенную тему.
Полученный Промт-1 отдаем "картиночной" Нейросети-2 (генерация изображений по промту, соответственно) – получаем Изображение-1.
Полученное Изображение-1 загружаем уже в Нейросеть-3, которая распознает содержимое данной картинки, и возвращает текстовый Промт-2.
И вот тут самое главное и интересное! Полученный Промт-2 отдаем опять в Нейросеть-2, генерируя Изображение-2.
Цель эксперимента: проверить, насколько Изображение-1 совпадет по своему содержимому с Изображением-2? Насколько задача человека в п.1 будет верно, без искажений, реализована в виде Изображения-2, пройдя цепочку нейрогенераторов?
Использованные инструменты\сервисы:
Нейросеть-1: чат-бот на "движке" ChatGPT-4 OpenAI, сервис МашаGPT – https://mashagpt.ru , мне удобно из РФ – без VPN и иностранных симок, оплата с любой ру-карты, пользую последние 2 месяца.
Нейросеть-2: легендарная и фотореалистичная нейросетка Midjorney – https://www.midjourney.com, через традиционный бот в Дискорде (заюзал акк знакомого).
Нейросеть-3: "реверсивная" картиночная нейросеть - распознает содержимое картинки и возвращает текстовый промт. Бесплатная, найдена в Сети по рекомендациям: Clip Interrogator-2: https://huggingface.co/spaces/fffiloni/CLIP-Interrogator-2
Начинаем! Будет 3 попытки.
Попытка №1
Задание для GPT-4. Классика офисной жизни:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/782/d0f/63c/782d0f63c718baaef28bc3d9b6647de0.png)
Забираем промт, вводим в Midjorney. Получаем 4 картинки:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/3e4/269/c13/3e4269c13b54c9f048f9538e002e353d.png)
Выбираю, вырезаю одну картинку:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/451/ecf/d66/451ecfd66fc22d325184c7c5b3d02277.png)
отдаю в следующую нейросеть для распознания содержимого изображения:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/e79/e60/ccc/e79e60ccc7cf26c0f4edb80d2dd491d3.png)
Забираем полученный промт, отдаем задачу с этим промтом опять в Midjorney:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/b69/68a/67d/b6968a67d268412743bc0e0add7d65bc.png)
Ну что ж... Вот вообще неплохо! Да, поменялся ракурс. Да, от устройства на столе в стиле "Макбук" ничего не осталось. Где-то восход, а где-то и закат. Но ведь смысл содержимого остался! Офис и мебель, окно, вид на город. Достаточно четко. "4 с минусом", итоговая субъективная оценка.
Поехали дальше. Попытка №2
Даю задание GPT-4 – придумай-ка что-то нечто про природу. И пусть будет гриб:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/b6f/eae/b2a/b6feaeb2acf656f548f201e9c21fb717.png)
Промт – отдаем в MJ, получаем 4 картинки (хм, а где шампиньон?)) ):
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/022/881/9c8/0228819c8d7896098e43124923107529.png)
Выбираю 3-ю по счету, где четко 1 гриб:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/6dc/37f/7b4/6dc37f7b4e5951d5e6c529a19f1b2a66.png)
Распознаем обратно в текст, что там нам сгенерил MJ?
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/3f1/1f7/f00/3f11f7f00e28321d5d5083d31c86a98c.png)
И отдаем полученный промт обратно в MJ:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/6e8/2d4/1f4/6e82d41f4df6a89819e30cafe6526ca9.png)
Нуууу... Опять почти в десятку! Да, гриб поменял цвет, на исходном изображении цвет гриба другой (зеленые оттенки), а на конечном – в основном коричневая палитра цветов у грибов.
Но смысл изображения не поменялся – лес, грибок, солнышко. Размытый задний фон, кстати – тоже на месте. А так как всё по смыслу сохранилось, то это отлично, твердая "4+"!
Попытка №3
А тут я задумался – первые 2 задания были эдакие материальные, про предметы, окружающую обстановку и т.п. А если задать ещё и эмоции, или что-то про чувства? Это ведь бездушные нейросети не поймут «между собой», в цепочке генераций потеряют интент, запутаются же?! Поехали!
GPT-4 – давай-ка про любовь! )
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/b3b/504/661/b3b504661a2745f1369f2f4dfedce4b0.png)
Midjorney – достойно генерит "то, что нужно".
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/87f/260/892/87f260892075f906aa5f2ab95f293a90.png)
Выбираю изображение №1, тут все органично, как по мне:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/de8/053/7c5/de80537c59f26474b0b11501746dcbd1.png)
Распознавалка картинки что-то там пишет – распознала, забираю промт:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/274/a81/e10/274a81e102d9c1c5276590b678df8618.png)
И тут я подумал – "Всё! Сейчас в ответной генерации будет что угодно, но не влюбленные у моря-океана – а будет 2 столба, два пловца, и т.п.". Про чувства и любовь вообще не рассчитывал что-то увидеть, и...! Ничоси!
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/643/226/9e5/6432269e523c0e4b073fb1bb842727f5.png)
Сохранено и соблюдено – практически всё! Картинка №4 – вообще попадание "в десятку!". Да, чуть крупнее передний план стал. Ребята местами поменялись, но это всё достаточно незначимые детали.
Неспокойное море. Парень и девушка. Платье развивается на ветру. Чувства? Есть! И они те же – они про любовь!
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/ee3/dda/954/ee3dda954fc8e255936aa1c21dec4df7.png)
И даже палитра колористики осталась практически без изменений! Как так!?! Легкий шок...
Коротко говоря, на этом результате генерации я так опешил, что первые секунд 5 лицо моё было примерно вот таким:
![Понимают ли нейросети друг друга?](https://habrastorage.org/getpro/habr/upload_files/d5e/25c/d27/d5e25cd27bfff8da067454c48cfb846e.png)
Итого. Эмоции долой, делаем выводы.
А глобальный вывод один, и он достаточно простой – генеративные нейросети, работающие, по сути, на разных технологиях и имеющие разный функционал – все-таки достаточно четко и детально могут передавать между собой информацию. Даже зацикливая исходную информацию – на выходе контекст мы не особо-то и потеряли. Практически не потеряли. И это круто!
Эпилог
Эксперимент вышел слегка спонтанный, всё произошло внезапно – от мысли и идеи, до получения результатов.
Появилось понимание некоторых моментов – нейросети "понятливые", они достаточно могут легко взаимодействовать между собой, а еще точнее – нейросети достаточно легко объединять в более сложные по функционалу, скажем так, «сообщества». И уже на таких, гибридных продуктах – можно производить многие вещи, что так или иначе будет контентом и информацией, само собой.
Если смотреть на всю цепочку движения информации, то начинается, на минутку, всё с человека, который просит придумать промт для генерации изображения. И этот "мысленный" контент, пройдя даже такой замысловатый нейропуть, дает отличный, валидный и релевантный конечный результат.
Элементарно, тоже быстромысль – для веб-маркетинга или некоего SEO можно отбирать топовый контент (некие статьи, тексты с изображениями), и отдавать в работу такой связке нейросетей, чтобы произвести подобный контент же – по сути интересный и полезный, раз он топовый. И тут фишка не в том, что контент такой можно сгенерировать в новом виде (это же не новость - сгенерировать можно), а фишка в том, что все эти процессы можно сильно автоматизировать.
И так далее. Идей много.
Надеюсь, было хоть сколько-то познавательно, ибо для меня сий эксперимент действительно был интересен, с достаточно неожиданными (если не сказать изумительными) результатами.
Выслушаю любые мысли и предложения, конструктивные, по поводу всего этого. Пишу тут впервые, тапками и нейросетями прошу сильно не кидаться :-)
Успехов!
Комментарии (4)
GrimAnEye
02.11.2023 12:55+2На примере последнего набора - ничего оригинального придумано не было, а нейросети на подобных изображениях и обучались. Если бы в задаче реально были описаны некие абстрактные чувства, то результаты могли бы быть различными
Miceh
Есть ли возможность автоматизировать передачу между сетями (наугад выбирая рендеренную картинку), организовать цикл из шагов 2-4, и прогнать его раз 100 (вдруг всё на лапе)?
Интерес состоит в проверке наличия вымывания фич.
Lelepud Автор
Автоматизировать-то можно. Только вопрос - зачем?) И что такое "на лапе", и о чем речь про "вымывание фич"?
Если прогнать сотню раз туда-сюда промты и картинки, то видятся 2 крайних варианта - нейронки уйдут "совсем не туда", либо наоборот, плюс-минус статично будет генериться одно и то же по смыслу. Т.е. в какую-то крайность должна впасть техника движения информации эта. Но попробовать можно, хотя бы ручками, раз 10 ) Это не так долго.
Miceh
пардон за жаргонизм, "на лапе" == "всё готово для запуска, только нажать".
"вымывание фич" - некорректно выразился. После последовательного применения активация (картинка), подающаяся на вход следующей итерации теряет часть информации, и следующий инференс выдаёт менее аккуратный результат. Это как раз то, что Вы описали "не туда или стабилизация". Для более-менее сложных моделей (как Ваша) интуитивно ожидается вариант "не туда", но т.к. в статье достаточно короткие и ёмкие описания кажется есть шанс и после большого числа итераций увидеть сопоставимый вход.
В общем вопрос (если всё под рукой), возможно ли повторить попытку N3 из статьи много раз и увидеть то же самое?