Inceptionism: как видят нейронные сети


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

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

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

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

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

Слева: исходное фото Зачи Эвенора. Справа: обработано Гюнтер Ноак, инженер-программист
Переместите слои вверх, и фотография изменится, чтобы выявить особенности более высокого уровня, которые обнаруживает сеть. Результат действительно похож на галлюцинацию или сюрреалистическую картину:

Кормление изображениями облаков создает даже крайнюю версию того, что мы все склонны видеть, когда мечтаем, глядя на небо:

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

Есть ряд вещей, которые вы можете извлечь из этих экспериментов. Во-первых, нейронные сети действительно содержат достаточно информации, чтобы реконструировать многие из того, что им было показано. Крупномасштабные функции, которые используют сети, не соответствуют тому типу изящных прототипов, которые мы могли бы себе представить, а представляют собой беспорядочные части вещей, которые можно соединить способами, которых сеть никогда не видела — это воображение или творчество?
Работа также предлагает способ решения проблемы существования враждебных и вводящих в заблуждение изображений, которые мы ранее обсуждали в статье «Глубокий недостаток во всех нейронных сетях». Можно изменить классификацию изображения, добавив небольшие значения к большому количеству пикселей. Изображение выглядит одинаково для человека, но отличается от нейронной сети. Точно так же вы можете создавать изображения, которые не похожи на объекты, которые нейронная сеть утверждает.
Оба явления могут быть результатом того, что изображения не имеют статистического распределения значений, типичного для «естественных» изображений. Возможно, нейронные сети не встраивают это ограничение, потому что они не обязаны — каждое изображение, с которым они представлены, автоматически удовлетворяет этому условию. Ясно, что это следует расследовать.
Все фотографии, представленные здесь, взяты из галереи Inceptionism, в которой гораздо больше, и их стоит посмотреть.


Добавить комментарий