Pull to refresh
38
Karma
1.8
Rating

Пользователь

Pentium Pro для дома. Профессионал на удалёнке

И зачем там был нужен PAE, если в реальности не то что 64 Гб, но даже и 4 Гб оперативки на матплату с этим процессором установить невозможно?

Утечка исходных кодов сервисов Яндекс

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

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

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

а вот для штрихового бы рисунка как-то бы деликатно попросить зашумлять цвет побольше, а яркости трогать поменьше?

Это достаточно затруднительно реализовать, потому что внутри сэмплера крутится вовсе не RGB-изображение, а его Z-представление. Входная картинка сперва пропускается через автоэнкодер, и внутрь цикла зашумления-регенерации поступает уже векторная проекция, в которой отсутствуют цвета индивидуальных пикселей. А после завершения цикла готовое изображение декодируется VAE и уже тогда выводится пользователю в виде RGB.

Теоретически можно попробовать сделать декодирование на каждой итерации цикла: декодировать, перевести в HSV, замиксовать, вновь сконвертить в RGB, и опять закодировать в Z-вектора, пустив дальше по циклу. Вот только автоэнкодер - это кодирование с потерями, и всего через 10-15 итераций картинку перекорёжит.

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

[удалено. Тут была жалоба на то, что Хабр очень странно работает с залитыми на hsto картинками.]

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Выбирать минимальное возможное количество, которое только позволяет нейронке правильно "захватить" форму персонажа. Потому что чем больше векторов, тем труднее потом работать с таким эмбеддингом. Так, к эмбеддингу в 6 векторов уже невозможно добавлять веса без того, чтоб всю картинку начало корёжить. Эмбеддинг в 12 векторов вдобавок нельзя двигать вперёд-назад по тексту запроса (тоже всё искажает). Очень большие эмбеддинги приводят к тому, что сетка начинает игнорировать всё больше и больше ключевиков запроса, выбирая информацию только из эмбеддинга. Поэтому чем меньше, тем лучше.

Увы, многие сложные персонажи, о которых нейронка "не знает", требуют довольно много векторов для успешного захвата. С ростом количества векторов изображение становится более резким и мусорным, а генерируемые картинки всё более однообразными.

Вот вам в качестве примера эмбеддинги, созданные на одном и том же датасете с одинаковыми параметрами. Изображения для сравнения сгенерированы одним и тем же запросом с тем же набором Seed'ов.

7 векторов

16 векторов

Что до количества изображений, то их должно быть минимум вдвое больше, чем векторов, а лучше вчетверо. При этом нейронка чётко следует принципу "Garbage in - Garbage out", он же "принцип мясорубки": если в мясорубку засыпать лебеду, то и на выходе получится исключительно лебеда, а никак не мясной фарш. И всего 5% мусора в датасете существенно просадит качество эмбеддинга.

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

Для полуавтоматической разметки больших тематических датасетов придуманы нейронки-Interrogator'ы (фреймворк от AUTOMATIC1111 поддерживает их интеграцию). Для ряда крупных франшиз (MLP как пример) созданы специализированные Interrogator'ы, дающие существенно лучший результат.

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Stable Diffusion откровенно плоха там, где требуется серьёзно менять цветовую палитру исходника. Поэтому для массовой раскраски ч/б картинок или для перекраски (рескиннинга) одного персонажа в другого лучше обучить

Специализированную нейронку типа CUT

На Хабре помнится была серия статей, посвящённая нейросетевой раскраске старых фотографий - там всё подробно расписывалось.

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Поле Initialization text по умолчанию имеет значение *. Это значит, что эмбеддинг будет влиять на любые слова.

Нет, это начальная точка, от которой начнёт плясать градиентный спуск. Её выбор очень сильно влияет на итоговое качество обучения.
"*" выглядит универсальным "нейтральным" вариантом, позволяющим получить приемлемое качество.

Для гиперсетей этот модификатор должен быть очень маленьким.

А для эмбеддингов зависит от конкретной сетки. Обычно неплохим вариантом является 5e-4, то есть в 10 раз меньше умолчального. Также поле принимает специальный синтаксис, позволяющий задать ступенчатую кривую (для тех, кто всерьёз заморачивается созданием эмбеддингов).

визуализация того, как на текущий момент нейронная сеть реагирует на ваши данные

Верить этой визуализации не стоит, потому что результат генерации зависит в том числе и от рандома. Намного удобнее по завершении обучения составить матрицу изображений, отложив по оси X разные seed'ы, а по Y - эмбеддинг на разном количестве шагов. И выбрать оптимальный вариант.

Я обучал до 100_000 шагов. Это занимает около 10 часов на Tesla A100 с Batch Size = 1

100000 - это слишком много. Уже после 20 000 дальнейшего улучшения результатов не происходит, даже наоборот - идёт переобучение, и изображение сильно обедняется деталями, а эмбеддинг начинает становиться "дубовым", давя все остальные ключевики запроса.
Оптимум обычно лежит в интервале 5000 - 15000, потому имеет смысл сделать до 20000 шагов и выбрать оптимальную точку.

Обучение можно прервать в любой момент, а затем продолжить с того же места

При этом в случае тренировки эмбеддинга не сохраняется текущее состояние оптимизатора, и после возобновления обучения результат слегка проседает и требуется примерно 1-2 тыс. шагов, чтобы выйти на прежний уровень.

Художники против нейросетей: справедливый протест или неолуддизм?

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

Соответственно, при правильном обучении нейронки крайне затруднительно доказать, что для её обучения вообще использовались хоть какие-то закопирайченные работы. Вот разработчики говорят, что мол мы обучали её только на CC0-картинках, и как проверить?

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

Именно поэтому нейронки наносят настолько чудовищный удар по всей системе авторских прав, какой ей даже Интернет не наносил.

Художники против нейросетей: справедливый протест или неолуддизм?

Во время голодомора умерли миллионы, но что-то никому из них и в голову не приходило заменить правительство.

Вообще, массовый голод со многими миллионами смертей в прошлом был весьма распространённым явлением (да и сейчас кое-где встречается), однако в большинстве случаев люди умирают молча, голодные бунты на самом деле редкость.

VPN по разрешениям? Все обомлели, когда узнали, что их ждет в 2023 году…

Потому что идея безлимита, когда все платят поровну вне зависимости от того, насколько сильно нагружают сеть, сама по себе порочна.

При такой схеме те, кто качает мало, по сути и оплачивают ресурсы за любителей торрентов и 8к видео.

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

Художники против нейросетей: справедливый протест или неолуддизм?

Фотошоп - это ещё ничего, а вот есть например SFM-рендеры, которыми все художниковые площадки буквально завалены. При этом создатели таких рендеров как правило не заморачиваются ни с настройкой освещения, ни с шейдерами, ни с постобработкой. В результате 95% выхлопа SFM - перетемнённая мыльная хрень с пластиковыми моделями в ненатуральных позах.

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

Художники против нейросетей: справедливый протест или неолуддизм?

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

Художники против нейросетей: справедливый протест или неолуддизм?

Вы к примеру картины Босха видели? Вот в точности то, что вы так ругаете в нейронках - мешанина плохо стыкующихся образов, слепленных в единое целое.

Нейронки подобных бесструктурных картин могут сотни гигабайт в сутки выдавать.

Художники против нейросетей: справедливый протест или неолуддизм?

Как будто их кто-то заставляет. Слово "даже" тут не просто так указано. Пусть едят рыбу или птицу - на их выращивание ещё меньше территории надо.

Художники против нейросетей: справедливый протест или неолуддизм?

Зачем же сразу такие крайности? Там даже по графику видно, что много площади требуют только коровы и овцы. Даже свинина уже не слишком затратна, а птица по "площадным" затратам и вовсе сопоставима с растительной пищей.

Художники против нейросетей: справедливый протест или неолуддизм?

Тут сразу хочется задать классический вопрос: а судьи кто? Кто конкретно будет оценивать и решать, переплюнул уже ИИ человека или ещё нет?

Художники против нейросетей: справедливый протест или неолуддизм?

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

Художники против нейросетей: справедливый протест или неолуддизм?

Рисовать квадраты человечество умело ещё в глубокой древности, и ко временам древнего Вавилона отточило это умение до идеала. В чём тут новизна?

Да и квадраты окружают человека с самого рождения. Любой видел их многократно, так в каком же это месте "попытка выйти за пределы наблюдаемой реальности"?

Художники против нейросетей: справедливый протест или неолуддизм?

Так авторы сами вместо того, чтобы сформировать чёткое требование по отделению AI-арта от обычного и вводу системы тегов начали дудеть каждый в свою дуду. Одни запрета AI требуют, другие начинают поднимать тему нарушения копирайта AI-системами, третьи вообще начали доказывать, что AI-арт - кривой шлак и потому не должен попадать на площадки...

Художники против нейросетей: справедливый протест или неолуддизм?

Всё что на шаг в сторону образных шаблонов, например в уме посчитать действие над 2 байтами 111*222 вызывает ступор.

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

При этом методики обучения устному счёту давно отработаны, и не так уж сложно научить наш собственный мозг скажем складывать 12-значные числа в уме или умножать их на трёхзначные. Просто кому сейчас надо этому учиться, когда в каждом утюге есть встроенный калькулятор?

Information

Rating
886-th
Location
Россия
Registered
Activity