В 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.

Комментарии (27)


  1. trapwalker
    09.12.2018 21:59
    +9

    Люди! Опомнитесь! Не играйте в эти игры! Хитрые роботы хотят, чтобы мы научили их лучше притворяться нами!=)


  1. wxmaper
    09.12.2018 22:31

    6/6, хотя я сильно сомневался. Кнопка next не работает (android, chrome).


    1. IGR2014
      10.12.2018 14:20

      Та-же проблема, Opera 59.0.3160.0, Win7 x64


  1. Koneru
    09.12.2018 22:42
    +2

    Поднимите игру в самый верх, т.к. после прочтения уже не так интересно. Некоторые ответы уже известны.


    1. bogotoff
      10.12.2018 19:25

      После прочтения у меня 6/6, но думаю если бы не прочел статью, угадал бы только половину. Мне тоже кажется, что лучше перенести на верх и в конце предложить пройти тест снова


  1. LAG_LAGbI4
    09.12.2018 23:37

    Намколько сильно должно быть изменено тзображение, чтобы оно сяиталось сгенерированным лицом?


    1. pehat
      09.12.2018 23:45
      +4

      Сколько должно быть опечаток в комментарии, чтобы он считался сгенерированным нейросетью?


      1. roscomtheend
        10.12.2018 10:22

        Оно пытается узнать у человеков как быть ещё более похожим на них. Следующий этап — проверка тактильных ощущений резиновой кожей. И кошечки не зря популяризируются в соцсетях — собаки их (как мы помним из классики) по запаху чуюут.


  1. pehat
    09.12.2018 23:44

    Наконец-то нормальный сюжет для CSI!


  1. jrthwk
    10.12.2018 00:13
    +8

    … пример изображения, явно сгенерированного корявой нейросеткой:
    image


    1. tvr
      10.12.2018 11:08

      Это не изображение, а аватар корявой нейросетки.


      1. akurilov
        10.12.2018 13:10
        +3

        Какое процедурное фракталище


        1. DarkWanderer
          10.12.2018 20:37
          +2

          … какое прекрасное ругательство


    1. IGR2014
      10.12.2018 14:25

      Радужная засветка макияжа + сюрреалистический костюм + сюрреалистическая причёска.
      Кожанные мешки Человеки 1: Роботы 0


  1. Zoolander
    10.12.2018 06:48

    // посмотрите на эти лица 2014 года
    // сгенерированные лица от октября 2017 года уже труднее идентифицировать

    будет интересно почитать Хабр в 2020 и 2023 году соответственно
    думаю, кстати, что уже в 2025 появятся первые хорошие статьи на русском, написанные при помощи нейросетей (не на Хабре, хотя возможно и на нем)


    1. bro-dev0
      10.12.2018 18:48

      Если статьи реально будут интересные то это очень круто.


  1. questor
    10.12.2018 10:54

    Слушайте, я может что-то не понимаю, но почему нельзя генерировать фото людей на хромакее, а потом подставлять вместо него нужное изображение?


    Или сразу генерировать нейронкой 3D-модель головы, а потом уже вставлять в нужную сцену с нужным освещением и тенями.


    1. ibrin
      10.12.2018 12:22

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


      1. fortunato
        10.12.2018 12:34

        В эту сторону двигаются капсульные сети habr.com/post/417223


        1. masai
          10.12.2018 18:46

          Уж очень они медленно двигаются.


    1. x67
      10.12.2018 15:44

      Модели надо на чем-то обучиться, причем чем больше данных, тем лучше. Где то в посте речь шла о 200 000 изображений. Где бы взять столько фотографий лиц с зеленым фоном? Когда нибудь и такой датасет соберут, а пока радуйтесь что не подписаны на инстаграмм нейронной сети


      1. masai
        10.12.2018 18:44

        Да не такая уж и проблема, на самом деле. CelebA или какой-нибудь VGG Face + сегментация человека с заливкой фона зелёным.


    1. bro-dev0
      10.12.2018 18:50

      По идее нейросеть должна сама понимать где лицо, а где фон, а если задать алгоритмы отделения уже не так интересно.


      1. masai
        10.12.2018 19:26

        Она и понимает. PGGAN рисует же картинку «с нуля»: и лицо, и фон. Просто лицо сетка рисует реалистично, а фон не очень. И научить рисовать реалистичный фон очень сложно.
        Сеть при обучении каждый раз видит на реальных фото одинаковые элементы – нос, рот, глаза. Фон же всегда разный. И дискриминатор просто не может составить обобщенное определение реалистичного фона. А для того, что видит постоянно – может.
        Если бы фон был примерно одинаковым на всех фото, то и сетка бы научилась его рисовать. Хотя, возможно, пришлось бы сильно увеличить её ёмкость. Впрочем, даже PGGAN делает фон более-менее похожим на то, что ему чаще всего встречались и проблемы с фоном не сразу бросаются в глаза.


  1. le1ic
    10.12.2018 17:43

    Автор — бот, направляющий нас по ложному пути. Все примеры в конце — на самом деле сгенерированы. Скайнет уже среди нас.

    Шутка. типа шутка.


  1. bro-dev0
    10.12.2018 18:52

    Волосы и зубы это реально триггер, с ними на 100% уверен, что это нарисовано машиной, когда нету уже есть сомнения. Я сделал 5/6 именно потому что 1 раз попалось без этих триггеров.


    1. Chamie
      10.12.2018 19:28

      Ничего, Айфон вам такие и на реальных фото подрисует, если верить Линусу (который из Linus Tech Tips).