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

Что такое GAN?

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

Сети GAN широко используются, помимо прочего, для создания изображений и видео. Канонический пример включает создание изображений человеческих лиц. В рамках этого проекта исследователи обучили конкретную архитектуру GAN под названием StyleGAN2 генерировать синтетические изображения человеческих лиц и отображать их на веб-сайте. Более подробно работа описана в статье Анализ и улучшение качества изображения StyleGAN.

Впервые GAN были представлены в исследовательской статье Иэна Гудфеллоу и других исследователей. С тех пор они привлекли к себе значительное внимание исследовательского сообщества: Ян Лекун назвал GAN самой интересной идеей в машинном обучении за последние 10 лет, а Эндрю Нг назвал их значительным и фундаментальным достижением в исследованиях машинного обучения.

Типы данных GAN

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

Данные изображения

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

Пример перевода изображения в изображение включает проект, совместно осуществляемый Microsoft Research Asia и Китайским университетом науки и технологий, описанный в Преобразовании изображения в изображение с регуляризацией многопутевого согласования. В этой статье исследователи предлагают новую функцию потерь (т. Е. Способ оценить, как GAN работает с набором данных), называемую многопутевая потеря согласованности. Для перевода между двумя доменами X и Z авторы вводят третий вспомогательный домен Y, так что изображение переводится с От X до Y до Z, а не напрямую от X до Z.

Предлагаемая функция потерь измеряет разницу между прямым преобразованием (X в Z) и косвенным преобразованием (X в Y к Z). На рисунке ниже (воспроизведенном из бумаги) GAN преобразует цвет волос объекта на изображении. В идеале прямой перевод (от коричневого к светлому) должен быть таким же, как и косвенный перевод, с использованием черного в качестве вспомогательной области (от коричневого к черному к светлому). Другими словами, мы хотим, чтобы волосы объекта были одного оттенка блонд, независимо от количества переводов. Ниже набор изображений слева представляет собой результат GAN без ограничения, предложенного авторами (потеря согласованности при многолучевом распространении). Это показывает, что результат прямого перевода визуально отличается от косвенного перевода: волосы испытуемого становятся двух разных оттенков светлого. Набор изображений справа, результат GAN с потерей многолучевой согласованности, показывает сходство на выходе: волосы объекта в конечном итоге имеют такой же оттенок блондина.

Табличные данные

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

Звуковые и речевые данные

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

Зачем использовать GAN?

Есть несколько причин для использования GAN, в том числе решение проблемы нехватки данных, обеспечение защиты конфиденциальности данных и увеличение объема данных.

Дефицит данных

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

Защита конфиденциальности данных

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

Увеличение данных

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

Проекты GAN в Microsoft

Приложения GAN используются в нескольких проектах Microsoft.

Проект GeNeVA

Одно из направлений исследований GAN сосредоточено на преобразовании текста в изображение. Входные данные для GAN состоят из некоторой текстовой инструкции, а выходные данные представляют собой графику, которая создается на основе входного текста. Один проект Microsoft Research называется Generative Neural Visual Artist (GeNeVA) - это диалоговая технология на базе GAN, которая позволяет пользователю инструктировать GAN итеративно создавать изображение, предоставляя серию инструкций GAN.

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

Проекты, связанные с конфиденциальностью

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

Конфиденциальная информация из исходного набора данных может просочиться, если синтетический набор данных, созданный GAN, слишком похож на обучающий набор, содержащий конфиденциальную информацию. Недавнее исследование, проведенное исследователями Microsoft под названием PrivGAN: Защита GAN от атак с выводом о членстве с минимальными затратами, является попыткой решить эту проблему. Исследователи устраняют эту уязвимость, разрабатывая архитектуру GAN под названием privGAN, которая направлена ​​на защиту от этих атак. Для достижения этой цели генератор GAN также обучен защищаться от атак, связанных с выводом членства, при этом он поддерживает качество синтетических данных, поддерживая высокий уровень производительности с последующими задачами машинного обучения. Таким образом, privGAN помогает предотвратить атаки с выводом о членстве на сети GAN, которые могут поставить под угрозу конфиденциальность данных.

Ограничения GAN

Сети GAN могут иметь несколько ограничений как при реализации, так и при применении.

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

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

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

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

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

Вывод

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

Дэниел Хуанг зарегистрирован в LinkedIn.