УДК 004.9

Особенности применения генеративно-состязательных нейросетей для создания изображений товаров для интернет-магазинов

Акатьев Ярослав Алексеевич – ассистент кафедры практической и прикладной информатики Российского технологического университета

Абдукаримова Карина Маратовна – студентка кафедры вычислительной техники Российского технологического университета

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

Ключевые слова: нейросеть, интернет-магазин, генеративно-состязательная нейросеть, дискриминатор, генератор, качественный анализ.

Введение

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

В интернет-магазинах нейросети выполняют множество функций: поиск товара по фото, создание модели для наглядной демонстрации одежды, подбор товара по описанию.

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

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

Обсуждение

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

В зрительных зонах одно из самых важных свойств – это увеличение рецептивных полей клеток с приближением к височным долям. Рецептивные поля – это части изображения, за которые отвечают клетки мозга. Так как рецептивные поля клеток увеличиваются, возрастает сложность объекта, который распознается. Это свойство сохраняется в нейросетях.

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

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

Материалы и методы

Генеративно-состязательная нейросеть – архитектура, состоящая из генератора и дискриминатора, которые как бы «противостоят» друг другу (отсюда слово состязательная в названии), и имитирующая любое заданное распределение данных.

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

Теперь перейдем к сравнению дискриминативной и генеративной модели обучения.

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

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

1

Рисунок 1. Принцип работы дискриминативной модели.

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

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

2

Рисунок 2. Принцип работы генеративной модели.

Генеративные модели изучают свойства функции вероятности р(х) от входных данных х и создают не предсказание, а объект со схожими свойствами обучающего набора.

Таким образом, генеративно-состязательная нейросеть – это не одна сеть, а слияние генеративной и дискриминативной моделей машинного обучения.

Понимание того, как работают генеративно-состязательные нейросети необходимо для ее создания.

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

Вернемся к примеру с рукописными буквами. Генератор создает новые буквы, которые пропустил дискриминатор, а цель дискриминатора – определить, является ли экземпляр подлинным. Процесс, происходящий внутри GAN, можно описать поэтапно: генератор получает данные и возвращает новое изображение, которое затем подается в дискриминатор, где он сравнивает его с фактическим набором данных и, после проверки на подлинность, возвращает либо 0, либо 1, где 1 – реальное изображение, а 0 – сгенерированное.

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

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

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

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

  1. Генератор может выдавать ограниченное количество образцов (так называемый mode collapse)

Как мы уже поняли, генератор и дискриминатор постоянно соревнуются, и генератор обучается обманывать дискриминатор, а не показывать исходное распределение изображений. В случае когда генератор начинает выдавать особенно правдоподобный для дискриминатора выход, градиент падает до нуля. На последующих итерациях вероятно, что генератор будет создавать новое изображение и учиться обманывать дискриминатор, а тот в свою очередь учиться отличать это новое изображение каждый раз. После обучения GAN в наборе данных MNIST может случиться так, что генератор не сможет генерировать цифры, отличные от нуля. Mode collapse – это следствие плохого обобщения. Он может быть классифицирован на 2 основных типа: большинство режимов из входных данных отсутствуют в сгенерированных данных; генератор запоминает только подмножество определенных режимов. Mode collapse является основной проблемой GAN, решениями которой могут быть использование метрики Вассерштейна или функции потерь для генератора.

Проблема mode collapse во время обучения нейросети для интернет-магазина связана с тем, что вне зависимости от количества итераций нейросеть не выдаст нужный результат (в данном случае, например, верные параметры модели).

  1. Параметры модели могут не сходиться, дестабилизироваться

Следующая проблема – стабильность обучения. Основной задачей генератора и дискриминатора является поиск точки равновесия (в теории игр она носит название точки равновесия Нэша). Например, можно рассмотреть график, где при изменении х с помощью градиентного спуска генератор максимизирует величину х*у, а дискриминатор, наоборот, при изменении у минимизирует эту величину. Таким образом, при переносе графиков на плоскость становится видно, что они не сходятся, а их амплитуда увеличивается. Решением может являться PGGAN (от англ. Progressing Growing of GANs) – изменение изображения от самого маленького допустимого размера до большого. Это позволяет тренировать сначала распознавание крупных черт, а затем более мелких, что повышает стабильность.

  1. Исчезающий градиент (когда дискриминатор как бы «пересиливает» генератор, вследствие чего последний не может обучаться)

Применение генеративно-состязательной сети в интернет-магазинах целью генерирования контента имеет как положительные, так и отрицательные черты.

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

Для наглядности минусов и плюсов традиционного подхода к наполнению сайта изображениями товаров и с помощью нейросети приведем таблицу:

подход

категория

Традиционный

Нейросеть

Деньги

Плюсы: возможность сделать фотосессию самостоятельно, используя только свои умения и аппаратуру.

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

Минусы: качественные, продающие фотографии получаются только с наличием профессионального освещения, камеры, фотографа и редактора, который обработает готовые фото. Стоит отметить, что работа профессиональных моделей также не бесплатная.

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

Ресурсы

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

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

Минусы: аренда студии, время фотосессии, которое будет внушительным, если одежды много, поиск одного или нескольких дней, которые были бы удобны всем участникам фотосессии – все это отнимает большое количество времени, что достаточно неэффективно.

Минусы: риск, связанный с реализацией этого подхода. Вероятность не найти подходящую нейросеть из уже созданных существует всегда, а возможность воплотить идею в жизнь самостоятельно – трудоемкий и сложный процесс, требующий много времени.

Качество

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

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

Минусы: несмотря на затраты, фото товаров не будут выделяться на фоне конкурентов, использующих те же методы.

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

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

Вывод

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

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

Необходимо заметить, что для конкретизации данного исследования необходима реализация прототипа.

Список литературы

  1. Статья по введению в генеративно-состязательные нейросети [Электронный ресурс]. – URL: https://id-lab.ru/posts/developers/vvedenie-v-generativno-sostyazatelnye-seti-gan-genereative-adversarial-networks/.
  2. Статья про сравнение дискриминатора и генератора [Электронный ресурс]. – URL: https://proglib.io/p/generativno-sostyazatelnaya-neyroset-vasha-pervaya-gan-model-na-pytorch-2020-08-11.
  3. Статья про общую информацию о нейросетях [Электронный ресурс]. – URL: https://habr.com/ru/post/312450/.
  4. Статья про использование нейросетей в творческих профессиях [Электронный ресурс]. – URL: https://dzen.ru/media/computerworld_russia/generativnyi-intellekt-novyi-pomoscnik-v-tvorcheskih-professiiah-5afa9127a815f1cf7571a50d.
  5. Статья про проблемы обучения генеративно-состязательной нейросети [Электронный ресурс]. – Режим доступа: URL: https://neerc.ifmo.ru/wiki/index.php?title=Generative_Adversarial_Nets_(GAN)#.D9F.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC.D1.8B_.D0.BE.D0.B1.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_GAN, https://towardsdatascience.com/what-is-going-on-with-my-gan-13a00b88519e.

Интересная статья? Поделись ей с другими: