Як Google Deep Dream перетворює фотографії на галюциногенне мистецтво

1

Комп’ютери не сплять. Вони просто дивляться на дані, поки ті не починають виглядати інакше.

Поки ми офлайн, наші машини зайняті переосмисленням старих файлів та генерацією дивних нових матеріалів. Двигун цього процесу? Google Deep Dream. Це програма, яка шукає закономірності у цифрових зображеннях, змінює їх та видає результати для нашої оцінки. Можна отримати смішні результати, художні або жахливі. Все залежить від того, що ви подаєте їй і які параметри задають співробітники Google.

Єдиний спосіб по-справжньому зрозуміти, що робить Deep Dream – спробувати його самому. Google відкрила сервери для публіки. Мета полягала в тому, щоб зрозуміти, як програма класифікує та індексує зображення. Ви завантажуєте фотографію. За кілька секунд ви отримуєте фантастичне зображення на основі вихідного знімка.

Результат – дивна гібридизація. Уявіть, якби Сальвадор Далі, Ієронім Босх та Вінсент Ван Гог влаштували шалену вечірку художників, яка тривала всю ніч. Саме така атмосфера. Листя перетворюється на барвисті завихрення. Камені стають прямокутниками, що повторюються. Гори розчиняються у витончених виділених лініях.

Порожній краєвид? Deep Dream заповнює його. Пагоди. Автомобілі. Мости. Частини тіла людини. Вона бачить тварин. Багато тварин.

Завантажте портрет Тома Круза. Програма переробить складки та простори на собачі голови, риб та інших знайомих істот. Це не звичайні тварини. Це фантастичні реконструкції, переплетені з LSD-подібним калейдоскопом. Вони дуже виразні. Часто лякають.

Google не влаштовує рейви. Вона не подає своїм серверам галюциногенні хімікати. Вона спрямовує ці сервери на аналіз зображень та його подальше відтворення у вигляді нових уявлень нашого світу.

Те, як це працює, розповідає нам дещо про те, як ми створюємо цифрові пристрої. Це показує, як машини перетравлюють неймовірну кількість даних у нашому технологічно одержимому світі.

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

Комп’ютери – холодні, неорганічні машини. Вони не сплять. Вони точно не бачать снів. Або так нам здавалося.

Deep Dream змінив це сприйняття. Йшлося не про те, щоб дати комп’ютеру підсвідомість. Йшлося про те, щоб оголити вражаючу, дивну складність, яка виникає, коли ви подаєте дані людського світу в все більш заплутаний код.

Розробники Google не розпочинали це як художній проект. Вони створили Deep Dream для конкурсу ImageNet Large Scale Visual Recognition Challenge. Цей конкурс розпочався у 2010 році. Щороку десятки команд змагаються у створенні найкращих автоматичних класифікаторів зображень. Ціль? Розпізнавати та сортувати мільйони фотографій без участі людини. Після кожного конкурсу ті, хто програв (і переможці), допрацьовують свої алгоритми. Вони намагаються робити це швидше. Краще. Точніше.

Ось у чому проблема цього пошуку. Розпізнавання зображень значно відсутнє у нашому стандартному інтернет-інструментарії. Пошукові системи? Вони полюбляють ключові слова. Введіть «кішка» і ви отримаєте текстові результати. Введіть “cat.jpg”, і ви можете отримати файл. Але попросіть пошукову систему зрозуміти, що знаходиться на фотографії? Вона відчуває труднощі.

Ми самі помічаємо наші фотографії. «Будинок». “Томмі”. «Захід сонця». Ми робимо це тому, що комп’ютери не можуть надійно обробляти візуальний шум. Реальне життя хаотичне. Це не чисті вектори. Це шум. І донедавна машини вважали цей шум сміттєвими даними.

Deep Dream був спробою виправити цю сліпоту.

Як працює Deep Dream

Секретний інгредієнт? Штучна нейронна мережа (ІНС).

Це не просто код. Це система, змодельована за образом людського мозку. Подумайте про це. У нас понад 100 мільярдів нейронів. Вони передають імпульси. Обробляють сенсорні дані. Допомагають нам пізнавати обличчя в натовпі.

Deep Dream імітує це. Він використовує штучні нейрони для фільтрації даних. Він пропускає ці дані через шари. І верстви. І верстви. Знову і знову.

Архітектура сну

Для Deep Dream мережа зазвичай має від 10 до 30 шарів цих штучних нейронів. Це багато етапів обробки одного зображення.

Система не просто “бачить” зображення. Вона розбиває його на частини. Вона шукає закономірності. Краї. Криві. Текстура. Вона уточнює свою інтерпретацію кожному шарі. Підсумковий результат – це зображення. Але не вихідне.

Результатом стає галюцинація.

Ви подаєте фотографію парку. Комп’ютер бачить дерева. Він бачить траву. Але оскільки нейронна мережа гіперналаштована на пошук “всього”, що схоже на відомий об’єкт, вона починає посилювати ці ознаки.

Трава стає хутром. Гілки дерев – ногами. Небо стає величезним оком.

Чому це важливо для візуального пошуку

Це не просто шалена заставка. Це демонструє зрушення у тому, як ми обробляємо інформацію.

Протягом багатьох років ми покладалися метадані. Ми розмічали наше цифрове життя. Але Deep Dream показав, що машини можуть навчитися інтерпретувати візуальні дані без цих міток.

“Deep Dream показав нам, що якщо дати машині досить уважно подивитися, вона знайде закономірності, яких немає – або, точніше, знайде закономірності, які ми не бачимо”.

Комп’ютер не бачить снів у людському розумінні. Він оптимізує. Він штовхає пікселі туди, куди вони належать. І тим самим він виявляє прогалини у своєму розумінні.

Якщо машина може перетворити велосипед на істоту, що складається з велосипедів,

Нейронні мережі – це не чарівні дзеркала, які просто відображають дані назад. Вони не починають автоматично виявляти закономірності з нізвідки. Їм потрібне навчання. Їх необхідно годувати наборами даних, які будуть відправними точками. Без цієї важкої роботи вони просто наосліп перебирали б інформацію, не в змозі зрозуміти жодного її фрагмента.

Згідно з офіційним блогом Google, процес навчання базується на повторенні та аналізі. Припустимо, ви хочете навчити штучну нейронну мережу (ІНС) розпізнавати велосипед. Ви не просто кажете їй «велосипед». Ви показуєте їй мільйони зображень велосипедів. Ви також вказуєте в комп’ютерному коді, як виглядає велосипед: два колеса, сидіння, кермо.

Потім дослідники дають мережі можливість працювати самостійно, щоб побачити, що вона виявить. Вона помилятиметься. Програма може повернути серію зображень, що включають мотоцикли та мопеди. Коли це відбувається, програмісти коригують код. Вони уточнюють комп’ютеру, що велосипеди не мають двигунів або вихлопних систем. Вони знову запускають програму. І знову. Вони тонко налаштовують програмне забезпечення, доки результати не стануть задовільними.

«Команда Deep Dream зрозуміла, що як тільки мережа може розпізнавати певні об’єкти, вона може відтворювати ці об’єкти самостійно».

Команда 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.