Проще говоря, что такое GAN?
Слово GAN является аббревиатурой от Generative Adversarial Network. Фактически, GAN — это подход к машинному обучению, применяемый для обучения генеративной модели созданию аналогичных результатов после изучения шаблонов из набора данных (например, художественного произведения).
Как работает GAN?
Теперь, когда мы хорошо понимаем, что такое GAN, нам нужно понять, как он работает.
Во-первых, нам нужно понять разницу между генератором и дискриминатором, поскольку архитектура работы GAN в основном основана на этих двух моделях.
Генератор (генеративная модель) — модель, применяемая для создания подобных примеров на основе основного набора данных.
Дискриминатор (дискриминационная модель) — модель, применяемая для того, чтобы отличить синтезированные примеры, созданные с помощью генеративной модели, от исходных.
Но теперь, когда вы знаете это принципиальное различие, я провел простую аналогию, которая поможет нам понять процесс, лежащий в основе GAN. В этой аналогии нашей Генеративной Моделью будет парень по имени Джон, а нашей Дискриминативной Моделью будет девушка по имени Мэри. И Джон, и Мэри — ваши друзья.
Во-первых, давайте представим, что Джон — одержимый ученик, которому все интересно. Освоив поэзию и музыку, Джон хочет научиться рисовать, и для этого он обращается к вам за советом, с чего начать.
С другой стороны, Мэри обладает впечатляющими познаниями в искусстве. Она известна во всем мире тем, что умеет отличать подделки от оригиналов. Однако, несмотря на то, что Мэри считается одним из лучших специалистов в этой области, она всегда пытается улучшить свои способности, и для этого Мэри также обращается за советом.
Таким образом, пытаясь получить лучшее из обоих миров, вы создаете структуру, призванную помочь Джону и Мэри преуспеть в достижении их целей.
Чтобы сделать наши рассуждения более понятными, предположим, что Джон является большим поклонником Ромеро Бритто (бразильского художника с уникальным стилем), поэтому Джон начнет подражать стилю Ромеро. В то же время Мэри является экспертом по творчеству Ромеро, поэтому она будет оценивать картины Джона, исходя из того, что она знает о Ромеро. Важно отметить, что вы будете тренировать ее способности, показывая ей как оригинальные, так и поддельные произведения искусства.
Для начала вы подготовили слайд-презентацию со всеми произведениями искусства, созданными Ромеро Бритто, чтобы вдохновить Джона.
Два дня спустя Джон заканчивает свою первую работу. На ней Джон нарисовал яблоко, пытаясь имитировать стиль Ромеро. Затем, чтобы получить обратную связь, вы отправляете работу Джона Мэри, которая тратит всего три секунды, чтобы сказать, что она не оригинальна.
После этого вы передаете это сообщение Джону, который должен будет придумать, как улучшить свои картины. Однако в это время Джон тратит целых две недели на изучение и улучшение своих работ, прежде чем снова отправить их Мэри.
Джону удалось многое исправить, и в это время Мэри провела 10 секунд, анализируя его, чтобы заявить, что картина Джона не оригинальна.
Джон добился большого прогресса, верно? Но этого ему недостаточно. Его главная цель — создать произведение искусства, настолько похожее на стиль Ромеро, что Мэри будет утверждать, что оно оригинально.
Таким образом, процесс продолжается до тех пор, пока цель Джона не будет достигнута. Однако пока Джон учится, практикуется и совершенствуется, Мэри делает то же самое, поэтому Джону будет нелегко ее одурачить.
Однако после сотен попыток Джон, наконец, обманывает Мэри, и она заявляет, что его последняя работа определенно является оригинальным произведением искусства Ромеро Бритто.
Успех!! Джон попал!
Заключение
Эта аналогия очень похожа на то, как работает GAN. Другими словами, вы загружаете в генеративную модель (GN) огромный набор данных (например, изображения цветов) и программируете модель для создания новых изображений цветов на основе шаблонов, которые она извлекла из набора данных. Однако первые изображения, которые сгенерирует ваша GAN, будут неудовлетворительными, потому что к ним должны быть высокие стандарты. Таким образом, чтобы улучшить вашу сеть, вам нужно дать ей некоторую обратную связь.
Конечно, у вас не будет времени самостоятельно анализировать тысячи, если не миллионы картинок, чтобы улучшить свою модель. Следовательно, для автоматизации этого процесса вам потребуется построить еще одну сеть, свёрточную нейронную сеть (CNN), которая является сетью, которая может быть почти идеальной для различения шаблонов между изображениями. Таким образом, CNN станет нашей дискриминационной моделью.
Тем не менее, ваш CNN не может сам узнать, что именно представляет собой работа Ромеро Бритто. Таким образом, вам нужно накормить свой CNN тоннами изображений произведений искусства Бритто. После долгого обучения вы можете заставить свою CNN отлично отличать поддельное произведение искусства от оригинального.
Теперь, что вы должны делать? Вам нужно противопоставить друг другу CNN и GN. Работа GN состоит в том, чтобы обмануть ваш CNN, сделав его неспособным отличить произведения искусства, синтезированные GN, от оригинальных. С другой стороны, работа вашей CNN заключается в том, чтобы правильно различать все изображения.
Поздравляем!!! Теперь вы создали GAN (то есть состязательную модель машинного обучения). Эта модель работает в основном как игра с нулевой суммой, тип игры, в которой, чтобы выиграть один, другой должен проиграть. Другими словами, чтобы ваша GN выиграла игру, ваша CNN должна проиграть, и наоборот.
Приложения GAN
«Хорошо, Маркос, я понял, что такое GAN, как он работает, и мне это показалось довольно интересным. Тем не менее, я хотел бы знать несколько примеров проектов, в которых GAN могут быть полезны».
Конечно, дорогой читатель!
Очень интересные проекты, которые действительно используют GAN.
NVIDIA GauGAN предоставляет художникам, разработчикам игр и даже вам (любителям время от времени рисовать пейзажи) инструмент для создания потрясающих сценариев, просто рисуя несколько набросков.
После обучения с миллионами реальных ландшафтов и сценариев NVIDIA GauGAN научилась интерпретировать простые рисунки и превращать их в реалистичные изображения одним щелчком мыши.
2. Такого человека не существует
Thispersondoesnotexist.com — это простой веб-сайт, который показывает вам нового человека, сгенерированного GAN, каждый раз, когда вы перезагружаете страницу.
Кроме того, после входа на веб-сайт в правом нижнем углу экрана появится небольшое всплывающее окно с несколькими ссылками на статьи и другие проекты, которые действительно используют GAN. Все эти ссылки могут быть очень полезны для вас, если вы интересуетесь генеративно-состязательными сетями и хотели бы углубиться в изучение GAN и машинного обучения.
Большое спасибо, что прочитали эту статью 🚀. Если у вас есть какие-либо отзывы о том, как я могу улучшить свои следующие статьи, я был бы очень признателен!!
Мы предоставляем возможность следующему поколению студентов-мыслителей, изобретателей и учащихся публиковать свои мысли, идеи и инновации в письменной форме.
Наши авторы охватывают все области тем — от Рост до технологий, вплоть до будущего и мира.
Так что, если вы чувствуете, что вот-вот прыгнете в кролика дыра в чтении этих невероятных статей, не волнуйтесь, мы чувствуем то же самое. ;)
Вот почему студенты x студенты — это место, где ваш голос будет услышан!
Звучит интересно? Почему бы не присоединиться к нам в этом эпическом путешествии?