СТАТЬЯ

Что такое ГАН?

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

Получите скидку 37 % на GAN в действии. Просто введите код fcclangr в поле для кода скидки при оформлении заказа на сайте manning.com.
_______________________________________________________________________

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

Одна из самых захватывающих глав машинного обучения началась в одном из самых неприметных мест: канадском баре. Именно там, в 2014 году, Ян Гудфеллоу, который в то время был аспирантом Монреальского университета, обсуждал со своими коллегами проблемы, связанные с запросом компьютера на создание изображений. Неспециалистам эта проблема может показаться не особенно важной — в конце концов, компьютеры достигли таких выдающихся достижений, как достижение сверхчеловеческой точности в распознавании лиц [1] и победа над лучшим игроком в мире в игре го. [2] ] По сравнению с этим задача создания изображений может показаться разочаровывающей — до тех пор, пока мы не поймем уникальные проблемы, связанные с созданием данных.

Исторически сложилось так, что алгоритмы машинного обучения отлично распознают закономерности в существующих данных и используют эти знания для таких задач, как классификация и прогнозирование. Когда компьютеры просят создать новые данные, они, как правило, испытывают затруднения. Алгоритм может с легкостью обыграть гроссмейстера в шахматы или классифицировать транзакцию по кредитной карте как мошенническую; Напротив, любая попытка вести светскую беседу с Alexa от Amazon или Siri от Apple обречена на провал. Действительно, некоторые задачи, тривиальные для нас, людей, такие как способность участвовать в разговоре или творческое самовыражение, недоступны даже для самых сложных суперкомпьютеров.

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

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

Конкурирующие противники

Получившаяся в результате модель машинного обучения, которую Ян применил той же ночью после возвращения домой из паба, стала известна как «генеративно-состязательная сеть» или сокращенно «GAN». Это довольно многословно, так что давайте раскроем название по терминам. Слово «генеративный» указывает на общую цель модели: создание новых данных. Данные, которые GAN научится генерировать, зависят от выбора обучающего набора — например, если мы хотим, чтобы GAN рисовал, как Леонардо да Винчи, мы должны использовать обучающий набор данных работ Леонардо.

Термин «состязательный» указывает на подобную игре конкурентную динамику между двумя алгоритмами, составляющими структуру GAN: Генератором и Дискриминатором. Цель генератора — создать примеры, неотличимые от реальных данных в обучающем наборе. В нашем примере это означает создание картин, которые выглядят точно так же, как картины Леонардо. Цель дискриминатора состоит в том, чтобы отличить поддельные примеры, созданные генератором, от реальных примеров, полученных из обучающего набора данных. В нашем примере Дискриминатор играет роль искусствоведа, оценивающего подлинность картин, предположительно принадлежащих Леонардо. Две сети постоянно пытаются перехитрить друг друга: чем лучше Генератор создает убедительные данные, тем лучше должен быть Дискриминатор в отличии реальных примеров от поддельных.

Наконец, слово «сети» указывает на класс моделей машинного обучения, наиболее часто используемых для представления Генератора и Дискриминатора: нейронные сети. Как следует из их названия, эти модели слабо вдохновлены человеческим мозгом — по аналогии с нервной системой они используют набор взаимосвязанных узлов или «нейронов» для обработки своих вычислений.

Хотя математика, лежащая в основе GAN, довольно сложна, существует множество аналогий с реальным миром, которые могут упростить понимание интуиции, стоящей за ними. Выше мы рассмотрели пример фальшивомонетчика («Генератор»), пытающегося обмануть искусствоведа («Дискриминатор»). Чем убедительнее фальшивые картины, которые делает фальсификатор, тем лучше искусствовед должен уметь определять их подлинность. Это верно и в обратную сторону: чем лучше искусствовед может сказать, является ли конкретная картина подлинной, тем больше фальсификатору нужно совершенствовать свою технику, чтобы не быть пойманным с поличным. Другая метафора, часто используемая для описания GAN, которую любит использовать сам Ян, — это метафора преступника («Генератор»), который подделывает деньги, и полиции («Дискриминатор»), пытающихся его поймать. Чем аутентичнее выглядят фальшивые купюры, тем лучше полиции нужно уметь их обнаруживать, и наоборот.

Обоюдоострый меч

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

Волнение вполне оправдано. GAN добились замечательных результатов, которые долгое время считались невозможными для искусственных систем, таких как способность генерировать фотореалистичные изображения или превращать видеозапись лошади в бегущую зебру — и все это без необходимости кропотливого обучения. данные. В отличие от других достижений в области машинного обучения, которые могут быть широко известны среди исследователей, но вызывают не более чем недоуменный взгляд практически у всех остальных, GAN захватили воображение как исследователей, так и широкой публики. Действительно, они освещались в New York Times, The Wired, Scientific American и во многих других известных СМИ.

Часть внимания сосредоточена на потенциале технологии для вреда. В конце метко названной статьи о GAN — Как ИИ. «Игра в кошки-мышки создает правдоподобные фальшивые фотографии» [4] — журналисты New York Times Кейд Мец и Кит Коллинз обсуждают тревожную перспективу использования GAN для создания и распространения убедительных дезинформация, в том числе поддельные видеозаписи заявлений мировых лидеров. Мартин Джайлс, глава бюро MIT Technology Review в Сан-Франциско, разделяет их озабоченность и упоминает еще один потенциальный риск: в руках опытных хакеров GAN можно использовать для интуитивного выявления и использования уязвимостей системы в беспрецедентных масштабах. .[5]

Другие применения GAN менее опасны и даже полезны. Онлайн-гигант Amazon экспериментирует с использованием GAN для рекомендаций по моде — анализируя бесчисленное количество нарядов, система научится производить предметы, соответствующие заданному стилю.[6] В медицинских исследованиях GAN используются для расширения наборов данных для повышения точности диагностики и даже для помощи в открытии новых лекарств. При разработке игр GAN можно использовать для динамического создания новых игровых уровней и персонажей без необходимости участия программистов и UX-дизайнеров. GAN также широко рассматриваются как важная ступенька к достижению так называемого общего интеллекта, единой искусственной системы, способной соответствовать когнитивным способностям человека для приобретения опыта практически в любой области — от двигательных навыков, связанных с ходьбой, до языковых и необходимых творческих навыков. составлять сонеты.

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

Если вам интересно узнать больше об этой замечательной методике, посмотрите не дальше GAN в действии: глубокое обучение с генеративно-состязательными сетями, которую я пишу в соавторстве с лондонским специалистом по данным (и гражданин Чехии), Якуб Лангр. Также смотрите эту слайд-колоду.

Об авторах:
Якуб Лангр окончил Оксфордский университет, где также преподавал в OU Computing Services. Он работает в области науки о данных с 2013 года, в последнее время в качестве технического руководителя по науке о данных в Filtered.com и консультанта по науке о данных в Mudano. Якуб также разработал и преподает курсы Data Science в Бирмингемском университете и является членом Королевского статистического общества.

Владимир Бок — старший менеджер по продуктам в Intent Media, компании, занимающейся анализом данных для ведущих туристических сайтов, где он помогает контролировать исследовательские и инфраструктурные группы компании по машинному обучению. До этого он был менеджером программ в Microsoft. Владимир с отличием окончил Гарвардский университет по специальности «Компьютерные науки». Он работал инженером-программистом в финтех-компаниях на ранней стадии развития, в том числе в компании, основанной соучредителем PayPal Максом Левчиным, и специалистом по данным в стартапе Y Combinator.

[1] Чаочао Лу: Превосходная производительность проверки лица на уровне человека на LFW с GaussianFace, 2014; arXiv:1404.3840.

[2] https://www.nytimes.com/2017/05/23/business/google-deepmind-alphago-go-champion-defeat.html

[3] https://www.wired.com/2017/04/googles-dueling-neural-networks-spar-get-smarter-no-humans-required/

[4] https://www.nytimes.com/interactive/2018/01/02/technology/ai-generated-photos.html

[5] https://www.technologyreview.com/s/610253/the-ganfather-the-man-whos-given-machines-the-gift-of-imagination/

[6] https://www.technologyreview.com/s/609469/this-ai-learns-your-fashion-sense-and-invents-your-next-outfit/

Первоначально опубликовано на freecontent.manning.com.