Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич
Но вернёмся к вопросу о качестве результатов работы моделей.
По всей видимости, единственной более-менее адекватной оценкой творчества машины является уже упоминавшийся нами визуальный тест Тьюринга: можно попросить людей оценивать компьютерные творения в слепом тесте, в котором они будут сравниваться с признанными шедеврами или фотореалистичными изображениями.
Конечно, существуют и способы автоматизированной оценки качества сгенерированных изображений. Например, весьма популярна «оценка на базе Inception» [Inception score] [2761], основанная на оценке энтропии распределения значений в выходном слое сети Inception, когда на её вход подаётся сгенерированное изображение. Авторы этой метрики сообщают в своей работе, что оценка на базе Inception сильно коррелирует с оценкой качества изображений людьми, хотя и не приводят ни численной оценки этой корреляции, ни данных об экспериментальной проверке этого заявления. Потенциальная проблема Inception score заключается в том, что при желании генеративная модель может быть обучена таким образом, чтобы целенаправленно максимизировать подобную оценку, при этом качество изображений с точки зрения людей может и не расти. Мы подробнее расскажем об этой проблеме в разделе, посвящённом актуальным проблемам глубокого обучения.
6.6.8 Машина как художник. Генеративно-состязательные сети и ганизм
На деле «творческие способности» генеративных моделей в начале 2010-х гг. были по большей мере весьма скромными. Сгенерированное порно скорее пугало, а не возбуждало, сгенерированные «фотореалистичные» лица напоминали не шедевры, а неудачные попытки их реставрации и, казалось, молили: «Убей меня!» Радикально решить эти проблемы удалось лишь во второй половине 2010-х гг., при этом существенный прогресс наметился в 2014 г. с выходом на сцену генеративно-состязательных сетей (Generative Adversarial Networks, GAN). При этом даже появился термин «ганизм» [GANism, или просто ganism] — направление в искусстве, основанное на применении генеративно-состязательных сетей.

Что нужно человеку-художнику для развития мастерства? Часто нужен кто-то, кто критически оценит очередной образец творчества, подскажет направление дальнейшего совершенствования навыка. Конечно, для развития алгоритмического художника можно было бы привлечь критиков-людей, однако это медленно и дорого. А нельзя ли роль критика поручить другой нейронной сети? Сеть-генератор будет учиться генерировать изображения, а сеть-критик (её называют «дискриминатор») будет учиться отличать созданные изображения от настоящих. В ходе этого соревнования сеть-генератор в конце концов может научиться создавать изображения, которые критик не сможет отличить от реальных или по крайней мере будет отличать не слишком уверенно. Именно эта состязательная парадигма легла в основу нового поколения генеративных моделей.
Детальное описание этой концепции, а также сам термин «генеративно-состязательные сети» появились впервые в знаменитой одноимённой работе [2762] Яна Гудфеллоу и его соавторов, в числе которых был и уже знакомый нам Йошуа Бенджио.
Гудфеллоу получил степени бакалавра и магистра в Стэнфордском университете под руководством Эндрю Ына, а затем защитил диссертацию в Монреальском университете под руководством Бенджио и Аарона Курвилля. После защиты Гудфеллоу присоединился к команде GoogleBrain, затем покинул Google, чтобы присоединиться к недавно основанной OpenAI, а затем вновь вернулся в Google в марте 2017 г. Перу Гудфеллоу, Бенджио и Курвилля принадлежит одна из наиболее популярных книг о методах глубокого обучения. В 2017 г. Гудфеллоу был упомянут в рейтинге MIT Technology Review «35 новаторов моложе 35 лет», а в 2019-м — включён в список «100 глобальных мыслителей» по версии Foreign Policy. В том же году он покинул Google, чтобы занять пост директора по машинному обучению Группы специальных проектов в компании Apple.
Интересно, что идея использовать нейронную сеть в роли художественного критика нашла воплощение не только в концепции генеративно-состязательных сетей, но и при решении других задач, связанных с изобразительным искусством. Например, нейросетевые модели регулярно применяют для определения авторства художественных произведений. Совсем недавно нейронные сети помогли разрешить вопрос о создателе приписываемой Рубенсу картины «Самсон и Далила» (спойлер: картина предположительно является подделкой) [2763].
В феврале 2018 г. французский коллекционер живописи Николя Лагро-Лассер, известный большой коллекцией городского искусства (Shepard Fairey, Ivader, Banksy, Swoon), приобрёл на аукционе Sotheby’s картину под названием «Граф Белами» (Le Comte de Belamy), созданную моделью на основе генеративно-состязательных сетей. В самом названии картины кроется «пасхальное яйцо» — фамилия Belamy является дословным переводом на французский фамилии Goodfellow. В качестве подписи художника на картине красуется математическая формулировка генеративно-состязательного подхода.

Впрочем, идеи, напоминающие парадигму GAN’ов, высказывались и ранее. Ещё в 1992 г. свет увидела статья изобретателя LSTM Юргена Шмидхубера под названием «Обучение факториальным кодам путём минимизации предсказуемости» (Learning Factorial Codes by Predictability Minimization) [2764]. В ней процесс обучения был также основан на двух противоборствующих действиях: шаги градиентного спуска, направленные на снижение уровня ошибок, чередовались с шагами, направленными на снижение предсказуемости. В 2010 г. финский исследователь Олли Ниемитало предложил в своём блоге метод, практически идентичный GAN’ам, однако эта идея не получила у него дальнейшего развития. Гудфеллоу и его коллеги, судя по всему, не были в курсе этих ранних работ. Открыв генеративно-состязательную парадигму независимо от своих предшественников, они продвинулись дальше, разработав теоретическую основу метода, осуществив серию экспериментов, показавших жизнеспособность GAN’ов, а также поделившись с сообществом исходным кодом модели.
Поскольку GAN’ы по своей сути были не просто моделью, а целой новой парадигмой в создании генеративных моделей, их появление вызвало к жизни множество интересных вопросов, различные ответы на которые привели к появлению множества различных воплощений изначальной идеи. Какие архитектуры должны быть у генератора и дискриминатора? Как должны соотноситься сложности этих моделей? Какое количество шагов обучения дискриминатора должно чередоваться с каким числом шагов обучения генератора? Какие целевые функции при обучении обеспечивают наилучший результат? Какие способы регуляризации этих моделей должны использоваться? Как должна меняться скорость обучения со временем? Какие факторы влияют на сходимость системы, не войдёт ли ошибка при обучении в колебательный тренд без тенденции к снижению? Многие из этих вопросов активно исследуются и в наши дни, и каждые несколько месяцев появляются новые разновидности GAN’ов для решения тех или иных специфических задач генерации изображений, звуков и даже текстов.
Давайте посмотрим на успехи нескольких популярных версий GAN.
В ноябре 2014 г. на ArXiv появилась работа Мехди Мирзы и Саймона Осиндеро «Обусловленные генеративно-состязательные сети» (Conditional Generative Adversarial Nets) [2765]. На момент публикации Мирза работал над диссертацией в Монреальском университете под руководством Бенджио и Курвилля, а бывший постдок Хинтона Осиндеро руководил исследованиями и разработкой в области компьютерного зрения в компании Flickr (на тот момент принадлежавшей Yahoo!). Идея модели, изобретённой Мирзой и Осиндеро (сегодня её кратко называют CGAN — от ConditionalGAN), довольно проста и эффективна. На вход генератора, помимо шума, подаётся некоторая обусловливающая информация (например, метка класса изображения, которое следует сгенерировать, в виде one-hot-вектора). Этой же обусловливающей информацией дополняется вход дискриминатора. Авторы специально подчёркивают, что эта информация может быть не только меткой класса, но и любыми другими данными, обусловливающими результирующее изображение. Более того, CGAN можно использовать для генерации не только изображений. В частности, авторы показывают, как эта модель успешно справляется с задачей автоматической генерации тегов для картинок, загруженных на Flickr, при этом сами теги представлены в виде классических векторов признаков, построенных при помощи алгоритма Skip-gram.