Тест: Сможете распознать фейковые фото, созданные GAN?

10 декабря 2018
gan фейковые фотографии

Тест: Сможете распознать фейковые фото, созданные GAN?

В 2014 году Ян Гудфеллоу представил идею генеративно-состязательных сетей или GAN. Они называются «генеративными», потому что получают на выходе изображения, а «состязательными» — потому что представляют собой две сети, конкурирующие…

В 2014 году Ян Гудфеллоу представил идею генеративно-состязательных сетей или GAN. Они называются «генеративными», потому что получают на выходе изображения, а «состязательными» — потому что представляют собой две сети, конкурирующие друг с другом. Первая старается обмануть вторую, создавая примеры фото, а вторая пытается отличить настоящие изображения от поддельных. 

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

Тест

Сначала попробуйте самостоятельно распознать фальшивые фото с помощью этого теста. После этого возвращайтесь к чтению статьи.

фейковые фото DCGAN 2014
Фото, созданные DCGAN в 2014

Как видите, в 2014 GAN создавали изображения, которые легко отличить от реальных фотографий.

На изображении ниже примеры лиц, сгенерированных нейросетью в 2017:

фейковые фото twin-gan
Реалистичные фото знаменитостей, сделанные с помощью PGAN в 2017

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

Волосы выглядят размазанными или окрашенными

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

Непонятный текст

фейковые фото созданные нейросетью

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

Сюрреалистичный фон

фейковые фотографии людей gan

Данные для обучения GAN центрируются, чтобы лица выглядели правдоподобно, например, чтобы глаза и уши находились на своих местах. Фон, в свою очередь, может содержать что угодно, поэтому GAN просто генерирует “фоноподобные” текстуры.

Ассиметрия

как отличить реальные фото от фейковых сгенерированных нейросетью

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

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

Уши тоже могут быть разного размера и не совпадать по высоте.

Зубы

зубы на фейковых фото

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

Растрепанные волосы

волосы на фейковых фотографиях gan

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

Смешивание гендеров

ошибки gan на фотографиях

Эта GAN была обучена на датасете CelebA , который  содержит 200 000 изображений лиц 10 000 знаменитостей. В наборе данных не было примеров людей одновременно с волосами на лице, косметикой и серьгами, но GAN может смешивать подобные признаки.

Шум

артефакты на фотографиях GANНекоторые монохромные области демонстрируют непостоянный шум с горизонтальными или вертикальными полосами. В приведенных выше случаях сеть пытается имитировать текстуру ткани. Старые GAN чаще создают искажения в виде шахматной доски.

Переливы цвета

переливы цвета ganОбласти светлых цветов — одежда, воротники, шея, белки глаз, могут иметь цветные радужные переливы.

Примеры реальных изображений людей

реальные фото людей

Теперь посмотрите фото с реальными людьми. Обратите внимание на фон, симметрию, прически. Можно снова пройти тест и посмотреть, насколько уменьшилось количество ошибок.

Инструменты, которые позволят автоматизировать проверку фейкового контента, уже в разработке. Американские исследователи создали алгоритм, который распознаёт видео с фейками c 99% точностью, анализируя частоту морганий, а нейросеть от Adobe разоблачает поддельные фотографии, автоматически выявляя обработанные и измененные части изображения.

Нейросети от DeepMind удалось сделать прорыв в создании структуры молекулы белка

4 декабря 2018
создание молекулы белка

Нейросети от DeepMind удалось сделать прорыв в создании структуры молекулы белка

Команда разработчиков DeepMind создала новый метод предсказания трехмерной структуры белка, основываясь на его генетической последовательности. 3D-модели белков, созданные нейронной сетью AlphaFold намного точнее, чем модели предыдущих разработок. Технология поможет в…

Команда разработчиков DeepMind создала новый метод предсказания трехмерной структуры белка, основываясь на его генетической последовательности. 3D-модели белков, созданные нейронной сетью AlphaFold намного точнее, чем модели предыдущих разработок. Технология поможет в диагностике и лечении заболеваний, которые связаны с неправильным свертыванием белков — кистозный фиброз, болезни Альцгеймера, Паркинсона и Хантингтона.

Модель AlphaFold заняла первое место на конкурсе Critical Assessment of protein Structure Prediction (CASP), правильно предсказав структуру для 23 из 45 белков.

Структуры белка. Оригинальные (зеленые), предсказанные AlphaFold (голубые)

Использование нейронных сетей 

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

В основе метода — глубокие нейронные сети, которые обучались предсказывать свойства белка на основе его генетической последовательности. AlphaFold нужно было предсказать свойства молекул белка:

  • расстояния между парами аминокислот и
  • углы между химическими связями, которые соединяют эти аминокислоты.
Схема Alphafold
Схема алгоритма AlphaFold

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

Визуализация градиентного бустинга при предсказании структуры белка
Визуализация работы градиентного спуска для предсказания структуры белка

Где будут применять результаты AlphaFold

Использование ИИ для прогнозирования структуры снизит затраты и ускорит разработку эффективных лекарств. Технология также может помочь создавать новые структуры белка, которые будут бороться с загрязнениями: исследователи уже разрабатывают бактерии для секреции белков, которые сделают отходы (пластик, продукты нефтепереработки и др.) биологически разлагаемыми.

Исследователи MIT-IBM Watson AI Lab показали, что GAN понимает основы композиции

4 декабря 2018
GAN Paint Dissection

Исследователи MIT-IBM Watson AI Lab показали, что GAN понимает основы композиции

Генеративные нейросети (GAN) продемонстрировали способность создавать фотореалистичные изображения. Однако неизвестно, изучают ли сети композицию или работают за счет воспроизведения пиксельных паттернов. Компьютер может рисовать сцену двумя способами: самостоятельно составлять композицию…

Генеративные нейросети (GAN) продемонстрировали способность создавать фотореалистичные изображения. Однако неизвестно, изучают ли сети композицию или работают за счет воспроизведения пиксельных паттернов.

Компьютер может рисовать сцену двумя способами:

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

Приложение GAN Paint и метод GAN Dissection, разработанный исследователями MIT-IBM Watson AI Lab показали, что нейросети все-таки обучаются некоторым аспектам композиции:

GANpaint активирует и деактивирует наборы нейронов в глубокой сети, обученной генерации изображений. Каждая кнопка соответствует набору из 20 нейронов. Переключая нейроны напрямую, можно наблюдать структуру визуального мира, которую сеть научилась моделировать.

GAN Dissection

GAN Dissection использует сеть сегментации вместе с алгоритмом Network Dissecton, чтобы найти отдельные нейроны в генераторе, которые соответствуют классам объектов, например деревьям:

GANPaint
Схема работы алгоритма

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

Управление нейронами

Чтобы убедиться, что наборы нейронов управляют рисованием объектов, а не просто воспроизводят сцену, которую запомнили, исследователи вмешиваются в процесс и активируют и деактивируют нейроны напрямую.

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

ganpaint door
GAN Paint дорисовал дверь на всех изображениях

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

GAN PAint
На небе нейросеть дверь не рисует

Понимание того, как работают внутренние механизмы GAN поможет улучшить работу сети. Например, иногда GAN может генерировать нереалистичные изображения. Исследование показывает, что ошибки и визуальные артефакты могут быть вызваны конкретным набором нейронов. Обнаружив и удалив эти нейроны, можно добиться лучшего выходного изображения.

Попробуйте управлять нейронами в интерактивной версии приложения.

NVidia представили городскую среду, созданную генеративной нейронной сетью

3 декабря 2018
GAN - Nvidia sreda ai

NVidia представили городскую среду, созданную генеративной нейронной сетью

Команда Nvidia обучила генеративную нейросеть (GAN) рендерингу окружающей среды после обучения на реальных видео, снятых в разных городах. Этот прорыв позволит разработчикам и художникам создавать новые интерактивные 3D-миры в виртуальной…

Команда Nvidia обучила генеративную нейросеть (GAN) рендерингу окружающей среды после обучения на реальных видео, снятых в разных городах. Этот прорыв позволит разработчикам и художникам создавать новые интерактивные 3D-миры в виртуальной реальности, путем обучения нейронной сети на реальных видео. Это снизит затраты и время, необходимое для создания виртуальных миров.

Алгоритм был разработан командой исследователей NVIDIA во главе с Брайаном Катандзаро, Вице-президентом по прикладному глубокому обучению в NVIDIA.

«Одним из главных препятствий, с которыми сталкиваются разработчики при создании виртуальных миров, будь то разработка игр или других приложений — высокая стоимость создания контента. Этот метод позволяет художникам и разработчикам создавать 3D модели с гораздо меньшими затратами, используя ИИ, который обучается сам», — сказал Катандзаро.

Исследование в настоящее время демонстрируется на конференции NeurIPS в Монреале, на которую съехались самые известные исследователи искусственного интеллекта в мире. Исследовательская группа создала простую игру для NeurIPS, которая позволяет интерактивно перемещаться по среде, созданной AI.

Демонстрация стала возможной благодаря NVIDIA Tensor Core GPU и дает людям совершенно новый способ испытать интерактивную графику.

«До появления тензорных ядер такая демонстрация была бы невозможна», — сказал Катандзаро.

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

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

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

Для обучения команда использовала графические процессоры NVIDIA Tesla V100 на DGX-1 на PyTorch с ускорением cuDNN и тысячами видео из наборов данных Cityscapes и Apolloscapes.

PaGAN — новый метод создания анимированного аватара из селфи

27 ноября 2018
создание аватаров GAN

PaGAN — новый метод создания анимированного аватара из селфи

С ростом интереса к VR и персонализированному игровому опыту, набирают популярность приложения для создания 3D-аватаров. Команда приложения Pinscreen использует технологии машинного обучения, чтобы получать высококачественные анимированные аватары из одной фотографии.…

С ростом интереса к VR и персонализированному игровому опыту, набирают популярность приложения для создания 3D-аватаров. Команда приложения Pinscreen использует технологии машинного обучения, чтобы получать высококачественные анимированные аватары из одной фотографии.

Синтез изображения с помощью paGAN

Предыдущим методам для создания анимированного 3D-аватара требовалось несколько исходных фотографий человека с разных ракурсов. Новый подход позволяет создавать реалистичный аватар, используя одно селфи. Трекер VGPT захватывает лицо и обеспечивает точность определения модели головы в 3D и её положения относительно камеры. Затем генеративно-состязательная нейросеть paGAN рендерит фотореалистичный аватар на основе простой модели, захваченной трекером. Примеры работы алгоритма можно посмотреть на видео.

Ещё одна особенность разработки — сеть генерирует реалистичное отображение внутренней части рта и глаз. Эти динамические текстуры также используются для создания анимации областей рта и глаз.

Авторы применяют paGAN для создания 3D-аватаров для игр, дополненной и виртуальной реальности. Разработка будет представлена на конференции SIGGRAPH ASIA 2018, которая пройдет в Токио с 4 по 7 декабря.

GAN применили для подделки отпечатков пальцев

20 ноября 2018

GAN применили для подделки отпечатков пальцев

Учёные из Нью-Йоркского университета создали DeepMasterPrints — нейронную сеть, которая генерирует изображения отпечатков пальцев, подходящих большому количеству людей. Потенциально технология может подорвать работу биометрических систем контроля доступа, которые используют для…

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

Как работает DeepMasterPrints

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

В основе алгоритма — генеративно-состязательная нейросеть (GAN). Команда обучила сеть на 5400 реальных отпечатков из набора NISTАлгоритм генерирует изображения отпечатков, после чего ищет общие признаки, и выбирает отпечаток, который подойдет для максимального количества образцов из обучающего набора. При уровне допустимой погрешности в 1%, результат эффективен для 76% тестовых отпечатков.

Примеры реальных (слева) и сгенерированных отпечатков (справа)

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

Обучение нейросети с учителем, без учителя, с подкреплением — в чем отличие? Какой алгоритм лучше?

19 октября 2018
обучение с без учителя, с подкреплением

Обучение нейросети с учителем, без учителя, с подкреплением — в чем отличие? Какой алгоритм лучше?

Обучить нейронную сеть можно разными способами: с учителем, без учителя, с подкреплением. Но как выбрать оптимальный алгоритм и чем они отличаются? Есть несколько способов собрать мебель из IKEA. Каждый из…

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

Есть руководство по эксплуатации и все нужные детали? Просто следуйте инструкции. Ну как, получается? Можно выбросить руководство и работать самостоятельно. Но стоит перепутать порядок действий, и уже вам решать, что делать с этой кучей деревянных болтов и досок.

Все то же самое с глубоким обучением (deep learning). Разработчик предпочтет алгоритм с конкретным способом обучения, учитывая вид данных и стоящую перед ним задачу.

обучение без учителя
Результат обучения нейронной сети — кластеризация изображений

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

Обучение с частичным привлечением учителя представляет собой нечто среднее. Оно использует небольшое количество размеченных данных и большой набор неразмеченных. А обучение с подкреплением тренирует алгоритм при помощи системы поощрений. Агент получает обратную связь в виде вознаграждений за правильные действия. Похожим образом дрeссируют животных.

Для каждого способа обучения рассмотрим примеры подходящих для него данных и задач.

Обучение с учителем

Обучение с учителем (supervised learning) предполагает наличие полного набора размеченных данных для тренировки модели на всех этапах ее построения.

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

пример обучения с учителем - классификация
Пример обучения с учителем — классификация (слева), и дальнейшее ее использование для сегментации и распознавания объектов

В основном обучение с учителем применяется для решения двух типов задач: классификации и регрессии.

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

А вот задачи регрессии связаны с непрерывными данными. Один из примеров, линейная регрессия, вычисляет ожидаемое значение переменной y, учитывая конкретные значения x.

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

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

Обучение без учителя

Идеально размеченные и чистые данные достать нелегко. Поэтому иногда перед алгоритмом стоит задача найти заранее не известные ответы. Вот где нужно обучение без учителя.

В обучении без учителя (unsupervised learning) у модели есть набор данных, и нет явных указаний, что с ним делать. Нейронная сеть пытается самостоятельно найти корелляции в данных, извлекая полезные признаки и анализируя их.

обучение без учителя кластеризация
Кластеризация данных на основе общих признаков

В зависимости от задачи модель систематизирует данные по-разному.

  • Кластеризация. Даже без специальных знаний эксперта-орнитолога можно посмотреть на коллекцию фотографий и разделить их на группы по видам птиц, опираясь на цвет пера, размер или форму клюва. Именно в этом заключается кластеризация — наиболее распространенная задача для обучения без учителя. Алгоритм подбирает похожие данные, находя общие признаки, и группируют их вместе.
  • Обнаружение аномалий. Банки могут обнаружить мошеннические операции, выявляя необычные действия в покупательском поведении клиентов. Например, подозрительно, если одна кредитная карта используется в Калифорнии и Дании в один и тот же день. Похожим образом, обучение без учителя используют для нахождения выбросов в данных.
  • Ассоциации. Выберете в онлайн-магазине подгузники, яблочное пюре и детскую кружку-непроливайку и сайт порекомендует вам добавить нагрудник и радионяню к заказу. Это пример ассоциаций: некоторые характеристики объекта коррелируют с другими признаками. Рассматривая пару ключевых признаков объекта, модель может предсказать другие, с которыми существует связь.
  • Автоэнкодеры. Автоэнкодеры принимают входные данные, кодируют их, а затем пытаются воссоздать начальные данные из полученного кода. Не так много реальных ситуаций, когда используют простой автоэнкодер. Но стоит добавить слои и возможности расширятся: используя зашумленные и исходные версии изображений для обучения, автоэнкодеры могут удалять шум из видеоданных, изображений или медицинских сканов, чтобы повысить качество данных.

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

Обучение с частичным привлечением учителя

Это золотая середина.

Обучение с частичным привлечением (semi-supervised learning) учителя характеризуется своим названием: обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод особенно полезен, когда трудно извлечь из данных важные признаки или разметить все объекты – трудоемкая задача.

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

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

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

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

обучение с частичным привлечением учителя
Как работает GAN: дискриминатору «D» показывают исходные изображения и данные, созданные генератором «G». Дискриминатор должен определить, какие изображения являются реальными, а какие поддельными.

Обучение с подкреплением

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

Обучение с подкреплением (reinforcement learning) действует по тому же принципу. Видеоигры — популярная тестовая среда для исследований.

обучение с подкреплением
Результат обучения с подкреплением — «агент» проходит трассу, не выезжая за ее пределы. Далее можно добивиться повышения скорости прохождения трассы.

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

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

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

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


Интересные статьи:

GAN не справляется с генерацией оптических иллюзий

16 октября 2018

GAN не справляется с генерацией оптических иллюзий

Нейронные сети хорошо показывают себя в задачах распознавания лиц и объектов на изображениях. Им под силу даже генерация реалистичных изображений. Ученые предположили, что это сработает и в случае с оптическими…

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

Датасеты

Механизм возникновения и восприятия оптических иллюзий плохо изучен, поэтому даже сбор данных для обучения представляет сложность. Ученые из Луисвиллского университета создали два датасета с оптическими иллюзиями. Первый собран с двух сайтов и содержит 6752 изображения. Второй содержит 500 вручную отобранных изображений. Датасеты упорядочены по категориям и классам и доступны к скачиванию в облачной платформе FloydHub.

Эксперимент и результаты

Исследователи протестировали генеративно-состязательную нейросеть после 7 часов обучения на видеокарте NVIDIA Tesla K80, однако не достигли никаких значительных результатов — изображения, которые генерирует нейросеть мало похожи на оптические иллюзии. Учёные предполагают, что результат можно незначительно улучшить, изменяя настройки гиперпараметров и обучив нейросеть на большем наборе данных.

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

Деформирующие автоэнкодеры

2 октября 2018
DAE-deforming-autoencoders-e1537543914660

Деформирующие автоэнкодеры

В настоящее время генеративные модели привлекают к себе огромное внимание в мировой среде машинного обучения. Этот тип моделей имеет практическое применение в различных сферах. Одни из самых эффективных и широко…

В настоящее время генеративные модели привлекают к себе огромное внимание в мировой среде машинного обучения. Этот тип моделей имеет практическое применение в различных сферах. Одни из самых эффективных и широко используемых типов данной модели – это Вариационные Автоэнкодеры (Variational Autoencoders – VAE) и Генеративные состязательные нейросети (Generative Adversarial Networks – GAN).

Деформирующие автоэнкодеры

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

Другой тип автоэнкодеров, называемых Вариационными Автоэнкоднерами, может решить эту проблему, так как их скрытое пространство вследствие своего устройства является непрерывным и позволяет легко производить случайную выборку и интерполяцию. Это делает VAEs столь популярными в применении ко многим задачам, особенно в области компьютерного зрения. Однако, управление глубокими нейронными сетями и, в особенности, глубокими автоэнкодерами – сложная задача, ключевая особенность которой — строгий контроль процесса обучения.

Ранние работы

Проблема выявления признаков (feature disentanglement) давно была рассмотрена в литературе на примере обработки изображений и видео, а также анализа текстов. Выявление факторов вариации играет важную роль для управления глубокими нейросетями и понимания их принципа работы.

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

Деформирующий автоэнкодер

Не так давно, Zhixin Shu и коллеги представили новые Деформирующие Автоэнкодеры, или коротко – DAEs (Deforming autoencoders). DAE представляет собой генеративную модель анализа изображений, которая выделяет признаки без дополнительных подсказок. В своей работе, исследователи предлагают способ выделения признаков, предполагая создавать экземпляры объектов посредством деформации «шаблонного» объекта. Это означает, что вариативность объекта может быть разделена на уровни, связанные с пространственными трансформациями формы объекта. Несмотря на простоту идеи, это решение, основанное на глубоких автоэнкодерах и самостоятельном обучении нейросети, доказало свою эффективность в ряде задач.

Описание метода

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

Архитектура предлагаемого деформирующего автоэнкодера
Рис 1. Архитектура предлагаемого деформирующего автоэнкодера

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

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

Архитектура предлагаемого Деформирующего Автоэнкодера с заданной классификацией
Рис.2. Архитектура предлагаемого Деформирующего Автоэнкодера с заданной классификацией

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

Структура Встроенного Деформирующего Автоэнкодера
Рис.3. Структура встроенного Деформирующего Автоэнкодера

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

Результаты

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

Результаты восстановления MNIST изображений Деформирующим Автоэнкодером
Рис.4. Результаты восстановления MNIST изображений Деформирующим Автоэнкодером

Помимо качественной оценки, архитектура энкодера оценивалась количественно на основе точности локализации. Метод прошел испытания на:

  1. Наложении изображений без учителя.
  2. Изучении семантически важных множеств для формы и внешнего вида объектов.
  3. Внутренняя декомпозиция без учителя.
  4. Детектирование локализации без учителя.
Результаты восстановления MNIST изображений Деформирующим Автоэнкодером с заданной классификацией.
Рис.5. Результаты восстановления MNIST изображений Деформирующим Автоэнкодером с заданной классификацией.
Наложение изображений ладоней без учителя
Рис.6. Наложение изображений ладоней без учителя. (а) – Входные изображения. (b) – восстановленные изображения. (c) – изображения текстур, деформированные с использованием среднего декодированной деформации. (d) – среднее входное изображение. (e) – средняя текстура.

defermation interpolation

Smooth interpolation of the latent space representation
Рис.7. Гладкая интерполяция представлений скрытого пространства

Видео, показывающее возможности Деформирующих Автоэнкодеров:

Сравнение с другими современными методами

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

Сравнение результатов работы Деформирующего Автоэнкодера и метода Thewlis и коллег
Рис.8. Сравнение результатов работы Деформирующего Автоэнкодера и метода Thewlis и коллег

Заключение

Lighting interpolation with Intrinsic-DAE
Рис.9. Интерполяция освещения с помощью встроенного DAE

Приведение изображений в каноническую систему координат облегчает оценку альбедо и затенения без дополнительных исследований. Авторы ожидают, что это приведет в будущем к полноценному выявлению признаков (disentanglement) в нормалях, освещении и 3D геометрии.

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