Нейросети
August 5

Playground.ai в качестве первого опыта знакомства с нейросетями

Всем привет! Последнее время генеративные нейросети всё активнее входят в нашу жизнь. Вчера они воспринимались только как генераторы картинок, но уже сегодня нейросети генерируют музыку, текст, улучшают стили текста, правят ошибки, генерируют музыку, видео и делают много чего ещё. Для начала, немного базовой информации. Что же это за зверь "нейросети" и с чем его едят?

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

Как это поможет конкретно нам и насколько применимо в обычной жизни? Ну обычным-то людям без хобби и увлечений никак. Они им нужны, как той бабушке из ролика, которая говорит о том, как ей нужен интернет. А вот для людей, создающих разного рода контент, нейросети внезапно стали очень полезным инструментом. Взять тот же Дзен. Если писать лонгриды без картинок, это будет восприниматься скучновато. А вот если разбавить это всё паро-тройкой изображений, то и статья воспринимается иначе. Однако здесь возникают другие "подводные камни". Как правило, авторские права на любую картинку в интернете кому-то да принадлежат и их использование в своих статьях сопряжено с риском. Обычно, на эти вещи закрываются глаза, но всё это до поры до времени. И тут на выручку приходят генеративные нейросети, позволяющие во-первых, сгенерировать именно то, что нам нужно для иллюстрирования, а во вторых сделать это без риска нарваться на ограничения из-за авторских прав. В случае генерации картинки при помощи нейросетки права на неё чаще всего принадлежат тому, кто её генерирует. То есть Вам. Зачастую это прямо прописано в пользовательском соглашении. Лично я давно иллюстрирую свои статьи подобным образом и получается довольно неплохо. Как же начать это нелёгкий путь? Многие задавали этот вопрос. Решил накидать маленький гайд по данному вопросу. Прежде всего для того, чтобы при возникновении вопросов отправлять человека к этой статье.

Итак, поехали. Наиболее известными алгоритмами генерации картинок на данный момент являются:
- Stable Diffusion (бесплатна, открытый код)- DALLE (недоступна в РФ. Частично доступна в виде ботов в Телеграмме)- Midjourney (только платная версия, в РФ не доступна).Думаю Вам понятно, почему нам интересен только первый вариант. Именно его и будем разбирать.

Stable Diffusion - программа с открытым исходным кодом от группы Stability.Ai. Выпущена в публичный доступ 22 августа. Состоит из 2х больших частей - собственно, обученной нейросети и обвязки, ее вызывающей. Главное преимущество с точки зрения пользователя сейчас - нет ограничений на генерируемые изображения. NSFW фильтр есть в оригинале, но легко снимается и все бесплатно. Существует как в виде десктопной версии, устанавливаемой на персональный компьютер и нескольких веб-проектов. Десктопная версия обладает неограниченным функционалом и вариативностью, но требует некоторых базовых знаний в ИТ. Веб версии специальных знаний не требуют. От вас понадобится только умение грамотно составлять запросы. Однако они ограничены по функционалу. Но тем не менее, для начального ознакомления их вполне хватит. Итак поехали!

В качестве нашего инструмента будет выступать Playgroundai.com. Переходим по ссылке. Попадаем на главный сайт. Регистрируемся. Это можно сделать через аккаунт Google

Попадаем непосредственно в окно генерации. Собственно именно здесь мы и будем описывать то, что мы хотим создать.

Во вкладке "Filter" можно выбрать общий стиль картинки или не выбирать ничего. Фактически, это позволяет выбрать некоторую кастомную модель для своей генерации. Набор этих фильтров меняется в зависимости от выбранной базовой модели. Те, кто работал с десктопной версией сразу узнают все названия.

Можете при первой генерации не выбрать ничего, а позже поэкспериментировать, выбирая различные фильтры. Идеальных нет, просто каждый подходит для своей конкретной задачи. Ниже находится окно Prompt. Это поле нашего запроса. Подробнее о том, как их писать я расскажу ниже. Ну и дам несколько рекомендаций на первое время.

Ниже находится переключатель "expand prompt". Он позволяет улучшить ваш запрос, используя средства ИИ. При коротких запросах не рекомендую, но когда запрос достаточно велик и вы бы хотели получить новый результат - можете применять. ИИ перепишет ваш исходный промпт в что-то более понятное алгоритмам нейросети.

Далее находится поле "Exclude from image". Здесь вы указываете то, что хотите исключить из последующих генераций. По умолчанию там находятся наиболее распространённые проблемы. Много пальцев, кривые лица и прочее.

Ниже следует интересная функция "Image to Image". Здесь вы можете добавить фото, от которого будет отталкиваться наша генерация. Это нужно, если вы хотите скопировать позу, стиль в одежде, выражение лица с какой либо фотографии. Если поместить туда фотографию, вам станет доступен ещё один параметр, отвечающий за то, насколько сильно будет изменено исходное фото. При одном крайнем положении исходное фото не изменится, при другом исходное фото будет не узнать. При помощи этого инструмента неплохо приделывать своё лицо к стилизованному окружению, но как это делать грамотно, я рассмотрю в одной из своих будущих статей. Если фото не загружать, нейросетка будет следовать только тому, что написано в вашем промпте.

Переместимся в правую колонку. Первый раскрывающийся список - Presets. Честно говоря, никогда не использовал. Но вы можете попробовать. Как я понял - это какие-то заранее созданные наборы настроек изображения. Или всей правой колонки. Попробуете - расскажите в комментариях.

В раскрывающемся списке Model мы можем выбрать базовую модель при помощи которой мы будем создавать изображение. как я уже упоминал выше, выбор базовой модели влияет на состав доступных фильтров. По своему опыту могу сказать следующее. Если вы хотите сгенерить что-то фотореалистичное, выбирайте модель Stabble Diffusion XL, если хотите что-то более рисованное и мультяшное - попробуйте другие модели. В любом случае, создание изображений - процесс творческий и ничего не мешает Вам использовать различные комбинации и вариации.

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

Параметр Prompt Guidance отвечает за то, насколько точно алгоритм будет следовать вашему запросу. Здесь нужна золотая середина. Поставите слишком маленькое значение - алгоритм сгенерит что-то далёкое от вашего запроса. Поставите слишком большое - получите мутантов в разноцветной раскраске. По своему опыту могу сказать, что оптимальными являются значения от 7 до 9. Ну максимум можно поставить 11. Увеличение - на Ваш страх и риск-)

Следующий ползунок Quality&Details отвечает за качество и детализацию вашей картинки. Увеличение параметра увеличивает проработку и количество мелких деталей, но увеличивает время генерации. Кстати, в десктопном варианте Stable Diffusion я не нашёл такого ползунка. Видимо это какие-то особенности этого сайта. Скорее всего за этим параметром скрывается количество итераций. На эту мысль меня наталкивает один из следующих пунктов.

Параметр Refinement теоретически должен улучшать качество картинки. Как он это делает я не понял. Если по предыдущему параметру соответствие можно найти, то с этим непонятно. Кто знает, может именно Вы разберётесь с ним. Расскажете об этом в комментариях.

Параметр Sampler отвечает за алгоритм обработки Вашего запроса. На бесплатном плане доступен только Euler Ancestral. Он позволяет обрабатывать запрос с глубиной в 30 итераций максимум. Собственно, именно этот параметр мы и ставили пару пунктов выше. Другие сэмплеры доступны только в платном плане. В десктопной версии доступны все сэмплеры, там их более десяти.

Далее мы можем указать количество вариантов изображений. В бесплатном плане можно выбрать до четырёх, а в платном до восьми. Также мы можем сделать нашу сессию приватной и не публиковать наши результаты в общей ленте комьюнити. Этот параметр можно изменить позже. Вы сами можете выбрать какие фото будут доступны широкой общественности, а какие нет.

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

Промпт должен максимально точно описывать то, что вы хотите получить на выходе.

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

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

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

portrait of a young girl in autumn clothes on the street of an evening city, photorealistic, looking into the camera, blonde hair, blue eyes, urban landscape in the background

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

У меня получилось что-то вроде этого...

Portrait of a young woman in autumn clothes in the streets of a city at night, photographed in a photorealistic style. She is looking into the camera with blonde hair and blue eyes. The urban landscape can be seen in the background.

Ну что ж, поехали. Забиваем наш промпт в соответствующие окна и ждём результат. Негативный запрос он нам пропишет сам. Я бы хотел получить более фотореалистичное изображение, поэтому в качестве фильтра я выбрал Photorealism Engine, а в качестве базовой модели Stale Diffusion XL.

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

  • Edit in Canvas - редактирование во внутреннем редакторе. Можно поиграться с яркостью, контрастностью и прочими вещами;
  • Use in Image to image - перенаправить в нижнее окошко чтобы использовать как референсное фото
  • Create Variants - создать варианты на основе этого фото
  • Face restoration - лица иногда выходят криво. Эта обработка это исправляет.
  • Upscale by 4x - увеличивает изображение в4 раза
  • Remove background - удалить фон.
  • Make public - сделать публичным для всех.

При включенном ИИ-расширителе промптов картинка сильно не меняется. Запрос приобретает следующий вид. Он стал получше.
Young girl clad in autumn attire standing on an evening city street, photorealism, gazing into camera lens, blonde strands catching the fading light, blue eyes reflective of the twilight, backdrop of urban architecture, leaves in mid-descent around her, soft bokeh effect of city lights, golden hour glow, high resolution, ultra-clear detail.

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

analog style, photorealistic, portrait of a young cute asian girl in winter clothes on the street of an evening city, photorealistic, looking into the camera, ranalog style, photorealistic, portrait of a young cute asian girl in winter clothes on the street of an evening city, photorealistic, looking into the camera, red hair, green eyes, urban landscape in the background, fullHD, trending on artstation, delicate, details, sf, intricate artwork masterpiece, ominous, matte painting movie poster, golden ratio, trending on cgsociety, intricate, epic, highly detailed, vibrant, production cinematic character render, ultra high quality model

Я думаю вы можете и сами поиграть с различными настройками и настроить девушку по своему усмотрению. А на этом я буду завершать данный долгий и нудный гайд. Надеюсь, он в чём-то поможет Вам и послужит хорошим подспорьем для оформления Ваших статей. Кроме того, перейдя в раздел Ленты комьюнити, вы можете посмотреть изображения, которые создавали другие. И что самое главное, промпты, которые были для этого использованы. А это неплохо в плане получения опыта и понимания того, как это всё работает.

Напоследок, держите запрос на эльфийку, которой я проиллюстрировал данную статью в начале.

Prompt: analog style, portrait of a young (elf:0.4) (orc:0.6) girl shaman, ash-coloured hair, dark skin, yellow eyes, violet lips, (fangs grow from lower jaw:1.0), fantasy style, braided hair, leather armor, by Greg rutkowski, forest background, 16:9, fullHD, trending on artstation, delicate, details, sf, intricate artwork masterpiece, ominous, matte painting movie poster, golden ratio, trending on cgsociety, intricate, epic, trending on artstation, by artgerm, h. r. giger and beksinski, highly detailed, vibrant, production cinematic character render, ultra high quality model

Exclude from image: ugly, deformed, noisy, blurry, distorted, out of focus, bad anatomy, extra limbs, poorly drawn face, poorly drawn hands, missing fingers, high contrast, over saturated, glossy, cartoon, 3d, 3d render, Photoshop, sketch, sketches, video game, draw, paint, painting, render, cgi, computer graphics, anime, manga, 2d art, 3d art, illustration, canvas frame, watermark, signature, username, artist name

Играйте в хорошие игры, смотрите хорошие фильмы, читайте хорошие книги и... развивайте в себе творческую жилку.