В 2014 году исследователь в области машинного обучения Ян Гудфеллоу выдвинул идею генеративных состязательных сетей или GAN. «Генеративность» состоит в том, что результатом их работы являются изображения, а не оценка ввода (типа «хот-дог или нет»), а «состязательность» — в том, что две нейросети играют в кошки-мышки, как федералы с фальшивомонетчиками: одна нейросеть пытается обмануть другую, создавая реалистичные картинки, а вторая старается отличить фейк.
Первые изображения GAN было легко идентифицировать. Посмотрите на эти лица 2014 года.
«Обучение без учителя представлению с глубокими свёрточными генеративными состязательными сетями» (2014), Рэдфорд и др. Также известны как DCGAN
Но последние сгенерированные лица от октября 2017 года уже труднее идентифицировать.
«Прогрессивное выращивание GAN для улучшения качества, стабильности и разнообразия» (2017), Каррас и др. Также известны как PGAN или ProGAN
Вот некоторые признаки изображений, которые сгенерировала GAN. Сосредоточимся на лицах, потому что они являются общей площадкой тестирования для исследователей, а многие из самых заметных артефактов появляются и в других видах изображений.
Прямые волосы выглядят как краска
Длинные волосы часто выглядят гипертрофированно прямыми прядями, словно кто-то мазанул кучу акрила мастихином или огромной кистью.
Текст не поддаётся расшифровке
Если GAN обучалась на лицах, то ей трудно даются редкие структурированные объекты на заднем плане. Кроме того, GAN обучаются и на стандартных, и на зеркальных версиях изображений, что приводит к проблемам при моделировании текста, который обычно отображается только в одной ориентации.
Cюрреалистичный фон
Одна из причин, почему сгенерированные лица выглядят правдоподобно — потому что все обучающие картинки были центрированы. Это уменьшает вариативность при генерации, например, глаз и ушей. С другой стороны, фон может содержать что угодно. Его слишком трудно смоделировать, поэтому нейросеть в конечном итоге реплицирует общие фоновые текстуры, а не «реальные» фоновые сцены.
Асимметрия
GAN может испытывать трудности при управлении зависимостями, которые находятся на большом расстоянии. Например, парные аксессуары, такие как серьги, обычно совпадают в наборе данных, но не в созданных изображениях. Глаза на настоящих фотографиях обычно смотрят в одном направлении и обычно одного цвета, а сгенерированные лица часто страдают косоглазием и гетерохромией. Асимметрия часто проявляется на ушах разной высоты или размера.
Странные зубы
Сети GAN могут собрать общую сцену, но в настоящее время испытывают трудности с полурегулярными повторяющимися деталями, такими как зубы. Иногда GAN выдаёт перекошенные зубы, растягивает или сжимает отдельные зубы странными способами. Исторически эта проблема проявлялась и в других областях, таких как синтез текстур с изображениями типа кирпичей.
Хаотичные волосы
Это один из самых быстрых способов распознать фейковое изображение. Как правило, GAN собирает волосы в комочки, создаёт случайные пучки вокруг плеч и бросает на лоб толстые лохмы. Настоящие причёски очень вариативны и детализированы, что делает их одним из самых трудных объектов для реалистичной генерации GAN. Посторонние объекты иногда могут превратиться в волосяные текстуры.
Непонятный пол
Эта GAN обучалась на наборе CelebA с 200 000 изображений 10 000 знаменитостей. В данном наборе я не встречала никого с волосами на лице, серьгами и макияжем одновременно; но GAN регулярно смешивает типичные атрибуты разных полов. В целом, я думаю, это связано с тем, что GAN не всегда получает представление о противоположных бинарных категориях, которые приняты в человеческом обществе (в данном случае «мужчина против женщины»).
Полурегулярный шум
Некоторые области вместо монохромного фона могут получить полурегулярный шум с горизонтальными или вертикальными полосками. В приведённых выше случаях, вероятно, сеть пытается имитировать текстуру ткани. Более старые GAN генерируют гораздо более заметный шум, который обычно описывают как шахматные артефакты.
Радужная засветка
Некоторые области со светлой сплошной заливкой получают многоцветную засветку: это воротники, шеи и белые глаза (здесь не показаны).
Примеры реальных изображений
Оратите внимание на чёткий фон, текст, парные серьги, зубы одинакового размера, детальные причёски. Зная все трюки GAN, попробуйте сыграть в игру и проверить, как вы отличите настоящие лица от поддельных. Примечание: у некоторых проблемы с кнопкой Start.
Автор: m1rko