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

Генеративно-состязательные сети (GAN-s) — звучит сложно, не так ли? Не волнуйтесь. Это намного проще, чем кажется.

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

В двух словах — что это такое и как это работает?

Представьте себе следующую ситуацию;

У нас есть два человека. Один из них полицейский, а другой мошенник:

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

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

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

Например, программу «читер» можно заставить создавать поддельные человеческие лица. «Мошенник» будет продолжать воспроизводить человеческие лица — каждое со своим набором характеристик — до тех пор, пока ему не удастся обмануть «полицейского» (который был хорошо обучен тому, как выглядит настоящее лицо). Вот принцип, по которому был создан этот парень:

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

На изображении выше я пропустил несколько итераций между 3-м и 4-м изображением, но вы поняли: практика делает совершенным — особенно когда руководствуюсь обратной связью.

Некоторые типы GAN также позволяют вам — пользователю — указать «мошеннику», какими характеристиками должна обладать производимая им подделка. В контексте человеческих лиц это может означать создание лица с определенным цветом волос: светлым, коричневым, черным и т. д. Эти типы GAN очень применимы к реальным сценариям, как мы увидим ниже.

В двух словах

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

Почему вас это должно волновать?

Держись за стул. А вот и захватывающая часть. Ниже вы найдете 3 наиболее впечатляющих варианта использования GAN, которые, как мне кажется, имеют огромный потенциал в будущем. Большинство из них не являются коммерческими продуктами (пока), но в этом и заключается цель AI For Busy People: дать вам представление о том, что может быть в будущем.

№1. Преобразование изображения в изображение

По сути, эти GAN способны преобразовывать входные данные очень низкого качества, представляющие объект, в изображение более высокого качества, содержащее цвет, текстуру и мелкие детали. Например, возьмем эту каракулю сумки:

Можете ли вы догадаться, во что он трансформируется — автоматически?

Не знаю, как у вас, а у меня на это ушло бы добрых полчаса — как минимум. Это идеально? Отнюдь не. Но с этого стоит начать — подробнее об этом в разделе Будущее.

Существует много типов GAN с преобразованием изображения в изображение, в том числе тот, который может вывести кота целиком из каракулей:

Вы хотите превратить свою собственную каракули в кошку? Кто не знает. Вы можете сделать это здесь.

Будущее

На мой взгляд, одно из первых применений этих GAN — архитектурный дизайн:

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

Если бы кто-то нашел много 3D-моделей зданий на базовой стадии, только со стенами — без покраски, мебели, освещения и т. д. Затем они должны были найти те же самые 3D-здания, но с покраской, мебелью и освещением, GAN сможет отобразить эти отношения.

По сути, эта GAN сможет точно сказать вам, где и какая мебель должна стоять, каких цветов должно быть здание и какое освещение должно быть куда направлено — и все это только из базовой структуры здания!

Пусть не идеальный в оформлении интерьера, этот GAN, по крайней мере, значительно облегчает работу дизайнера. Редактировать (что-то не страшное) гораздо быстрее, чем создавать. То же самое относится и к примеру с одеждой, который вы видели в начале.

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

Ограничение

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

В свою очередь, «мошеннику» нужно будет увидеть, как многие базовые здания трансформируются в здания с интерьерами — чтобы он знал, как из простого скелета подготовить свой индивидуальный дизайн интерьера. Хотите верьте, хотите нет, но получить тысячи примеров зданий с интерьером и без — попарно — сложно. Следовательно, Ограничение

То же самое относится к любому типу объектов, которые создает этот GAN: чтобы он выглядел прилично, ему нужно много примеров.

№ 2. Генератор фронтального вида лица

По сути, учитывая вид сбоку на чье-то лицо, этот тип GAN может генерировать вид лица спереди:

Учитывая, что изображение справа было сгенерировано только на основе вида сбоку слева, результат очень впечатляет. Вам интересно посмотреть, как оригинальное лицо выглядит по сравнению с созданным ИИ?

Попробуйте угадать на этих примерах:

Как вы думаете, какая колонка содержит настоящие лица — колонка II или III?

Остановитесь здесь, если хотите подумать об этом…

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

Будущее

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

Представьте, что вы были полицейским и искали этого подозреваемого. Не было бы полезно иметь более четкое представление о них? Это действительно то, что этот тип GAN может сделать с достаточным количеством примеров — подробнее об этом в разделе Ограничение.

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

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

Я предсказываю, что такое программное обеспечение для сопоставления лиц, вероятно, не станет обычным явлением в следующем десятилетии, но эксперименты, безусловно, будут проводиться, особенно более авторитарными правительствами. Возможно, сначала это будет развернуто в Китае.

Ограничение

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

Решение?

Ты угадал.

Основным ограничением здесь является сбор достаточного количества человеческих лиц с большой вариативностью. «Мошенник» должен научиться подделывать фронтальное представление всех национальностей и углов. Это означает, что кому-то нужно будет изобразить вид сбоку и спереди людей из разных национальностей и под разными углами:

В любом случае, при наличии достаточного количества данных это, безусловно, возможно.

№3. Преобразование текста в изображение

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

Этот цветок имеет перекрывающиеся розовые заостренные лепестки, окружающие кольцо из коротких желтых нитей.

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

Довольно прилично. Не идеально с любой точки зрения, но это то, с чего можно начать.

Существует много таких типов GAN: способных преобразовать описание в визуализацию. Вот как этот же тип GAN работает с описаниями птиц:

Эта птица белая с черными пятнами на голове и крыльях, с длинным оранжевым клювом.

Будущее

Основное применение для этих типов GAN, вероятно, будет в качестве помощи проектировщику и заказчику.

Представьте, что вы делаете стул. «Я хочу, чтобы он был похож на авокадо», — можете подумать вы на начальных этапах. С чего начать? Существуют буквально сотни, если не больше, возможных дизайнов стульев, которые «напоминают авокадо».

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

Ну, в общем, нет. Вы делаете несколько базовых эскизов и отправляете их своему клиенту, который затем говорит вам, какой из них вам следует построить. Это как раз та проблема, которую могут решить эти GAN-ы — сделать десятки «базовых эскизов» для вашего клиента вместо вас:

стул, напоминающий авокадо

Идеальны ли полученные «базовые наброски»? Нисколько. Однако они гораздо более совершенны, чем ничего — и это главное. Обычно обдумывание базовой концепции дизайна является самым сложным, а наличие чего-то, что может сделать это для вас, значительно экономит время.

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

Ограничение

Чтобы эта ГАН могла создать изображение объекта — будь то сумка, птица, машина, стул — «мошенник» должен был бы много раз увидеть, как описание этого типа объекта транслируется в изображение.

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

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

Однако с достаточным количеством примеров преобразования текста в изображение можно визуализировать почти все. Это вопрос времени, когда кто-то умный извлечет из этого выгоду. Фактически, этот стартап уже извлекает выгоду из чего-то подобного:

Что бы вы придумали, если бы могли просто использовать свой голос?

Выводы

Вот так: пища для размышлений. Вы узнали что-то новое? Надеюсь на это, иначе я бы не выполнил своего намерения.

Если у вас есть минутка, дайте мне знать, что было хорошо, а что не очень — это очень помогает мне в создании этого веб-сайта!

Какое приложение GAN вы хотели бы увидеть первым? Дайте мне знать в комментариях ниже.

StAI умный!