Как работает Google Deep Dream

Как работает Google Deep Dream
Как работает Google Deep Dream
Изображение
Изображение

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

Deep Dream - это компьютерная программа, которая находит и изменяет шаблоны, которые она идентифицирует в цифровых изображениях. Затем он показывает эти радикально измененные изображения человеческому глазу. Результаты варьируются от глупых до художественных и кошмарных, в зависимости от входных данных и конкретных параметров, установленных руководством сотрудников Google.

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

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

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

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

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

Нейроны в битах

Изображение
Изображение

Компьютеры - это неорганические продукты, поэтому маловероятно, что они будут мечтать в том же смысле, что и люди. Тем не менее, Deep Dream - это отдельный пример того, насколько сложными становятся компьютерные программы в сочетании с данными из мира людей.

Разработчики программного обеспечения Google изначально задумали и создали Deep Dream для конкурса ImageNet Large Scale Visual Recognition Challenge, ежегодного конкурса, который стартовал в 2010 году. Каждый год десятки организаций соревнуются в поиске наиболее эффективных способов автоматического обнаружения и классификации миллионов изображений. После каждого события программисты пересматривают свои методы и работают над их улучшением.

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

Благодаря таким проектам, как Deep Dream, наши машины лучше видят окружающий мир. Чтобы заставить Deep Dream работать, программисты Google создалиискусственную нейронную сеть (ИНС) - разновидность компьютерной системы, способной обучаться самостоятельно. Эти нейронные сети смоделированы по функциональности человеческого мозга, который использует более 100 миллиардов нейронов (нервных клеток), которые передают нервные импульсы, обеспечивая все наши телесные процессы.

В нейронной сети искусственные нейроны заменяют биологические, фильтруя данные множеством способов, снова и снова, пока система не достигнет какого-то результата. В случае с Deep Dream, который обычно имеет от 10 до 30 слоев искусственных нейронов, конечным результатом является изображение.

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

Компьютерные мозги и велосипеды

Изображение
Изображение

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

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

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

Команда Deep Dream поняла, что как только сеть сможет идентифицировать определенные объекты, она сможет воссоздавать их самостоятельно. Таким образом, сеть, которая распознает велосипеды с первого взгляда, может затем воспроизвести изображение велосипедов без дополнительных входных данных. Идея состоит в том, что сеть генерирует новые креативные изображения благодаря своей способности классифицировать и сортировать изображения.

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

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

Искусственные нейроны в сети работают в стеках. Deep Dream может использовать от 10 до 30. Каждый слой улавливает различные детали изображения. Начальные слои могут обнаруживать такие основы, как границы и края изображения. Другой может определить определенные цвета и ориентацию. Другие слои могут искать определенные формы, которые напоминают объекты, такие как стул или лампочка. Последние слои могут реагировать только на более сложные объекты, такие как автомобили, листья или здания.

Разработчики Google называют этот процессинцепционизмом в связи с конкретной архитектурой нейронной сети. Они даже разместили общедоступную галерею, чтобы показать примеры работ Deep Dream.

Как только сеть определила различные аспекты изображения, может произойти что угодно. С помощью Deep Dream Google решил попросить сеть делать новые изображения.

Тьма на краю

Изображение
Изображение

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

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

Петли обратной связи начинаются, когда Deep Dream чрезмерно интерпретирует и подчеркивает каждую деталь изображения. Небо, полное облаков, превращается из идиллической сцены в сцену, наполненную космическими кузнечиками, психоделическими фигурами и машинами радужного цвета. И собаки. Есть причина переизбытка собак в результатах Deep Dream. Когда разработчики выбрали базу данных для обучения этой нейронной сети, они выбрали ту, которая включала 120 подклассов собак, классифицированных экспертами. Поэтому, когда Deep Dream отправляется на поиски деталей, он, скорее всего, увидит щенячьи мордочки и лапы везде, где будет искать.

Deep Dream даже не нужно настоящее изображение для создания картинок. Если вы отправите ему пустое белое изображение или изображение, заполненное статикой, он все равно будет «видеть» части изображения, используя их в качестве строительных блоков для все более и более странных картинок.

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

Так могут ли компьютеры мечтать? Не становятся ли они слишком умными для своего же блага? Или Deep Dream - это просто причудливый способ представить, как наша технология обрабатывает данные?

Трудно точно сказать, что контролирует вывод Deep Dream. Никто специально не направляет программное обеспечение для выполнения заранее запрограммированных задач. Это требует довольно расплывчатых инструкций (находить детали и подчеркивать их снова и снова) и выполнять работу без явного руководства со стороны человека.

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

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

Часто задаваемые вопросы

Что такое операция DeepDream?

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

Генератор DeepDream бесплатный?

Да, генератор DeepDream можно использовать бесплатно.

Примечание автора. Как работает Google Deep Dream

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