Нейросеть меняет местами день и ночь

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

Нейросеть NVIDIA

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

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

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

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

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

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

Принцип работы

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

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

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

Описание проекта и код нейросети доступны на GitHub

ПОХОЖИЕ СТАТЬИ

Новые статьи