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

В GAN одна сеть (генератор) пытается генерировать поддельные данные, которые выглядят точными. Напротив, другая сеть (дискриминатор) пытается классифицировать данные как настоящие или поддельные. Две сети обучаются одновременно, и процесс обучения можно рассматривать как игру между генератором и дискриминатором. Цель игры состоит в том, чтобы генератор обманул дискриминатор, заставив его думать, что его поддельные данные точны, и чтобы дискриминатор стал лучше различать настоящие данные от поддельных.

GAN использовались для создания реалистичных изображений, видео и текста. Они также использовались для повышения точности моделей классификации изображений и создания новых типов изображений (например, художественных стилей). Существует множество различных типов GAN, и постоянно создаются новые виды. Некоторые популярные архитектуры GAN включают DCGAN, CycleGAN, Pix2Pix и BigGAN.

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

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

GAN в эпоху цифровых технологий

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

Генеративные модели обучаются генерировать новые примеры с использованием подхода LPA, именно так обучаются генеративные модели. LPA состоит из двух подмоделей: модели генератора, которую мы обучаем создавать новые экземпляры, и модели дискриминатора, которая пытается определить, являются ли примеры реальными (из предметной области) или фальшивыми (сгенерированными). Две модели обучаются одновременно в состязательной среде игры с нулевой суммой до тех пор, пока модель дискриминатора не будет обманута примерно в половине случаев, что указывает на то, что модель генератора дала правдоподобные результаты.

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

Генеративные и дискриминационные алгоритмы

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

Например, по электронному письму с набором слов (экземпляр данных) алгоритм распознавания предсказывает, является ли сообщение спамом или нет. В этом контексте спам — это один ярлык, а набор слов, собранных из электронной почты, — это функции, составляющие входные данные. Математически говоря, метка называется y, а x представляет функции. Уравнение вероятности p(y|x) переводится как «вероятность того, что электронное письмо является спамом, учитывая его содержимое».

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

Основное внимание генеративных алгоритмов уделяется ответу на вопрос: учитывая, что это электронное письмо является спамом, насколько вероятны эти функции? В отличие от дискриминационных моделей, заботящихся об отношении между y и x, генеративные модели больше заботятся о том, «как вы получаете x». Они позволяют зафиксировать p(x|y), или, другими словами, вероятность того, что x будет задано y, также известную как вероятность признаков, заданных меткой или категорией. Но стоит отметить, что, несмотря на все эти разговоры о метках и категориях, генеративные алгоритмы тоже можно использовать в качестве классификаторов. (У них просто есть дополнительные возможности.)

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

Как работают GAN?

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

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

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

Как тренировать ГАН

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

Кроме того, обучение дискриминатора с помощью MNIST перед началом работы даст более четкий градиент. ГАН может быть побеждена любой стороной. Если дискриминатор слишком хорош, он выдаст значения, настолько близкие к 0 или 1, что у генератора возникнут проблемы с чтением градиента. Однако, если генератор слишком хорош, постоянно возникают ложные срабатывания из-за недостатков возможностей Дискриминатора.

Две нейронные сети должны иметь одинаковый «уровень навыков», чтобы уменьшить эту сложность. Обучение GAN занимает абсурдно много времени; часов на одном графическом процессоре и более суток на одном процессоре. Их сложно совершенствовать и использовать, но они вдохновили многих инновационных исследователей.

Будущее GAN

За прошедшие годы GAN значительно улучшились в плане создания контента. Несмотря на все препятствия, возникшие за последнее десятилетие исследований, GAN разработали материал, который будет все труднее отличить от реального. При сравнении создания изображений в 2014 году с сегодняшним днем ​​не ожидалось, что качество улучшится настолько сильно. Если развитие будет продолжаться такими темпами, GAN останутся важным исследовательским проектом в будущем, при условии, что исследовательское сообщество примет GAN и их приложения.

Мы не знаем, «что GAN могут сделать для нас», так как мы все еще говорим о том, «что мы можем сделать для GAN», чтобы сделать их более стабильными, но будущее GAN выглядит светлым для человечества, и на самом деле мы скоро можно будет увидеть машинный код, музыку, фильмы и, возможно, даже эссе и блоги. Я могу заверить вас, что GAN не является автором этой статьи в блоге.

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

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

GAN, такие как SRGAN или pix2pix, ранее продемонстрировали большой потенциал в решении этой проблемы, которая когда-то считалась сложной. Другие архитектуры GAN, такие как сеть StackGAN, также были полезны для задач синтеза текста в изображение. Следовательно, неудивительно видеть блестящие перспективы GAN.

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

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

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

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

Еще одна ситуация, в которой будут продемонстрированы GAN, — это создание обучающих данных для ситуаций с малым объемом данных. Возможно смешивание двух источников данных с использованием GAN для получения более реалистичных и ценных обучающих данных. Например, исследовательская группа Apple обнаружила, что можно использовать большие объемы неразмеченных данных. Затем передача его в очиститель на базе GAN дает более реалистичные обучающие данные с учетом некоторых синтетических данных с базовой маркировкой. Этот метод также снижает стоимость создания контролируемых наборов данных, помогая с различными задачами машинного обучения, которые раньше были невозможны.

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

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

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

Янн ЛеКун, директор Facebook по исследованиям искусственного интеллекта, считает, что эволюция GAN — самая захватывающая идея десятилетия. Хотя у GAN есть недостатки, на сегодняшний день они по-прежнему являются одной из самых универсальных архитектур нейронных сетей и продолжают развиваться.