Данный проект является учебной работой студента Школы дизайна или исследовательской работой преподавателя Школы дизайна. Данный проект не является коммерческим и служит образовательным целям
Исходный размер 1112x138

Основные принципы работы нейросетей

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

Принципы работы нейросетей построены на исторических разработках, рассмотренных ранее.

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

Полученная сумма проходит через "функцию активации". Эта функция вводит нелинейность в систему, без нее нейронная сеть была бы простой линейной регрессией. Функция активации определяет, насколько сильно нейрон активируется и передает сигнал дальше.

После эти нейроны объединяются в слои. У модели обычно есть три основных типа слоев: входной, скрытые слои и выходной. Входной слой получает исходные данные. Скрытые слои, которые могут быть многочисленными, выполняют основную вычислительную работу. Выходной слой же выдает конечный результат работы сети. К примеру, для задачи классификации изображений выходной слой может состоять из нескольких нейронов, каждый из которых соответствует определенному классу, а его активация покажет вероятность принадлежности изображения к этому классу.

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

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

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

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

Сравнение разных моделей генеративных нейросетей

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

Исходный размер 820x240

Craiyon - нейросеть, которая раньше была известна как DALL-E mini.

Основное направление Craiyon – демонстрация возможностей генеративного ИИ в самой простой и доступной форме. Это open-source проект, который основывается на меньших и менее сложных архитектурах по сравнению с коммерческими моделями и создавался как модель для массового пользования, чтобы каждый мог попробовать свои силы в генерации изображений без каких-либо затрат или глубоких технических знаний. Его задача – быстро и бесплатно выдать визуальное представление текстового запроса, пусть даже оно и будет выглядеть немного сюрреалистично или "по-детски".

Эта модель очень хороша для создания забавных абстрактных концептов, или просто для проверки того, насколько безумной может быть реализация вашей идеи. Craiyon имеет очень характерный, слегка "пластилиновый", низкодетализированный и зачастую комичный стиль. Человеческие лица почти всегда искажены, текст нечитаемый, а объекты могут иметь странные формы или пропорции. Это делает его странным, но в то же время уникальным.

Далее я также рассмотрю возможности генерации каждой из приведенной модели нейросети на примере одного промта

Promt:

A fluffy white sheep gracefully leaps over a vibrant field of colorful wildflowers. Medium shot, natural motion, natural light.

2D-стилистика

Изображения, сгенерированные нейросетью Craiyon

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

3D-стилистика

Изображения, сгенерированные нейросетью Craiyon

3D стилистика получилась чуть лучше, чем 2D, но всё такая же "детская". Форма и анатомия овечки выглядят более убедительно, хоть есть много недочетов.

Реализм

Изображения, сгенерированные нейросетью Craiyon

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

Исходный размер 820x240

Если генерации модели Craiyon можно сравнить с творчеством ребенка или только начинающего художника, то Stable Diffusion можно сравнить с творчеством талантливого, но пока еще непрофессионального художника.

Сравнение генераций разных моделей нейросетей
Проект создан 19.11.2025
Глава:
1
2
3
4
5
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше