↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
kot_Ka
31 августа 2023
Aa Aa
#нейросети #околорисовальное

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

А у нейросеток на картинках то лишние руки у персонажа из самых интересных мест выглядывают, то лишние ноги и головы прирастают, то машинки страстно лезут друг на друга, как клопы на зонтиках укропа
31 августа 2023
4 комментария
https://habr.com/ru/articles/693298/

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

Если совсем на пальцах, то:

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

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

Если добавочно отшифровать смысл модели на "человеческом языке", то совокупность весовых коэффициентов означает примерно такое: "если вот в этом месте стоит пиксель такого-то цвета, то в пределах стольки-то позиций от него должно быть от стольки-то до стольки-то пикселей вот этого цвета", и так для очень большого числа возможных вариантов.
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть