Психоделика 21 века: инцепционизм или картины нейронных сетей.
"Страх и Ненависть в Лас-вегасе", ван Гога и многое другое прогнали через экспериментальную программу Google.
Герои фильма "Страх и Ненависть в Лас-вегасе" предстали в сюрреалистическом виде в отрывке из картины, модифицированном с помощью системы Deep Dream, которую создали специалисты Google для визуализации работы нейронных сетей.
Работу Deep Dream ранее иллюстрировали с помощью статических изображений. Когда системе предлагают для анализа некий материал, - картину или фотографию, - она усиливает на изображении особенности, напоминающие ей что-то знакомое. Таким образом можно увидеть, как работают различные уровни нейросети. Слои нижнего уровня находят в исходнике простые геометрические черты вроде наклонных линий и кругов, а слои высокого уровня отыскивают в увиденном сходство со знакомыми им изображениями людей или животных. Процесс получения новых изображений авторы Deep Dream инцепционизмом назвали.
В блоге Google опубликован рассказ группы исследователей о том, как искусственные нейронные сети научили писать свои картины. Для этого использовались нейросети, предназначенные для распознавания изображений, состоящих из 10-30 связанных слоев, которые работают последовательно: получив картинку, они анализируют ее и "Сообщают" результаты анализа следующему слою. Например, первые слои могут искать на изображении края и углы, средние - интерпретировать наборы особенностей в отдельные объекты (например, двери или листья. Наконец, финальные слои объединяют все эти интерпретации воедино и делают выводы о том, что изображено на картинке - например, здание или дерево.
Чтобы получать "Картины", исследователи заставляют работать нейронные сети задом наперед: они показывают сети случайный шум и просят "улучшить" его таким образом, чтобы на выходе получилась определенная интерпретация. Например, если попросить нейросеть "Найти" в шуме банан, муравья или морскую звезду, та действительно подкорректирует изображение, чтобы в нем проявились узнаваемые черты.
Цель этого процесса - понять, правильно ли нейросеть интерпретирует те или иные объекты. Дело в том, что нейронные сети обучаются на большом количестве примеров. Можно показать им тысячу фотографий вилок, чтобы они определили нужные характеристики (ручка, четыре зубчика) и научились игнорировать лишние (цвет, форма, положение.
По словам исследователей, нейронной сети можно вообще не говорить, что именно нужно "Нарисовать" - пусть решает сама. В таком случае ей на вход подают случайную картинку или фотографию, выбирают один из слоев нейросети и просят ее улучшить то, что этот слой найдет. Так как у каждого слоя свой уровень абстракции, то каждый раз получаются разные картинки.