Como o Google Deep Dream transforma fotos em arte alucinógena

12

Os computadores não dormem. Eles apenas olham para os dados até que eles comecem a parecer algo totalmente diferente.

Enquanto estamos off-line, nossas máquinas estão ocupadas reinterpretando arquivos antigos e divulgando material novo e estranho. O motor por trás disso? Sonho profundo do Google. É um programa que procura padrões em imagens digitais, altera-os e fornece os resultados para julgarmos. Você pode ficar bobo. Você pode ser artístico. Ou você pode ter um pesadelo. Depende do que você alimenta e dos parâmetros definidos pelos funcionários do Google.

A única maneira real de entender o que o Deep Dream faz é experimentá-lo. O Google abriu seus servidores ao público. O objetivo era entender como o programa classifica e indexa imagens. Você carrega uma foto. Segundos depois, você obtém uma renderização fantástica baseada na foto original.

A saída é um híbrido bizarro. Imagine se Salvador Dali, Hieronymus Bosch e Vincent van Gogh organizassem uma festa de pintura selvagem que durasse a noite toda. Essa é a vibração. As folhas se transformam em redemoinhos coloridos. As rochas tornam-se retângulos repetitivos. As montanhas se dissolvem em graciosas linhas destacadas.

Uma paisagem vazia? Deep Dream o preenche. Pagodes. Carros. Pontes. Partes do corpo humano. Ele vê animais. Muitos deles.

Carregue um retrato de Tom Cruise. O programa transformará os vincos e espaços em cabeças de cachorro, peixes e outras criaturas familiares. Estes não são animais normais. São recriações fantásticas cruzadas com um caleidoscópio tingido de LSD. Eles são assustadoramente evocativos. Muitas vezes aterrorizante.

O Google não está fazendo elogios. Não está alimentando seus servidores com produtos químicos alucinógenos. Está orientando esses servidores a analisar imagens e depois regurgitá-las como novas representações do nosso mundo.

O modo como funciona nos diz algo sobre como construímos dispositivos digitais. Mostra como as máquinas digerem a quantidade inimaginável de dados em nosso mundo obcecado por tecnologia.

Neurônios em bits

Os computadores são máquinas frias e inorgânicas. Eles não dormem. Eles certamente não sonham. Ou assim pensamos.

Deep Dream mudou essa percepção. Não se tratava de dar um subconsciente a um computador. Tratava-se de expor a complexidade absoluta e bizarra que surge quando você alimenta dados do mundo humano em códigos cada vez mais emaranhados.

Os desenvolvedores do Google não começaram isso como um projeto de arte. Eles construíram o Deep Dream para o Desafio de Reconhecimento Visual em Grande Escala ImageNet. Este concurso começou em 2010. Todos os anos, dezenas de equipes competem para construir os melhores classificadores automáticos de imagens. O objetivo? Para detectar e classificar milhões de fotos sem ajuda humana. Após cada concurso, os perdedores (e vencedores) ajustam seus algoritmos. Eles tentam fazer isso mais rápido. Melhorar. Mais precisamente.

Aqui está o problema com essa missão. O reconhecimento de imagens está praticamente ausente do nosso kit de ferramentas padrão da Internet. Mecanismos de busca? Eles adoram palavras-chave. Digite “cat” e você obterá resultados de texto. Digite “cat.jpg” e você poderá obter um arquivo. Mas peça a um mecanismo de pesquisa para entender o que há em uma foto? Ele luta.

Nós mesmos marcamos nossas fotos. “Casa.” “Tommy.” “Pôr do sol.” Fazemos isso porque os computadores não conseguem analisar de forma confiável a desordem visual. A vida real é confusa. Não são vetores limpos. É barulho. E até recentemente, as máquinas tratavam esse ruído como dados inúteis.

Deep Dream foi uma tentativa de consertar essa cegueira.

Como funciona o sonho profundo

O molho secreto? Uma rede neural artificial (RNA).

Isto não é apenas código. É um sistema modelado a partir do cérebro humano. Pense nisso. Temos mais de 100 bilhões de neurônios. Eles disparam impulsos. Eles processam informações sensoriais. Eles nos ajudam a reconhecer um rosto em uma sala lotada.

Deep Dream imita isso. Ele usa neurônios artificiais para filtrar dados. Ele executa esses dados por meio de camadas. E camadas. E camadas. De novo e de novo.

A Arquitetura de um Sonho

Para o Deep Dream, a rede normalmente possui entre 10 e 30 camadas desses neurônios artificiais. São muitas etapas de processamento para uma imagem.

O sistema não “vê” apenas uma imagem. Isso quebra tudo. Ele procura padrões. Bordas. Curvas. Texturas. Ele refina sua interpretação em cada camada. A saída final é uma imagem. Mas não o original.

O resultado é uma alucinação.

Você alimenta uma foto de um parque. O computador vê árvores. Ele vê grama. Mas como a rede neural está hiperajustada para encontrar qualquer coisa que se pareça com um objeto conhecido, ela começa a amplificar recursos.

A grama vira pêlo. Os galhos das árvores viram pernas. O céu se torna um olho gigante.

Por que é importante para a pesquisa visual

Este não é apenas um protetor de tela alucinante. Ele destaca uma mudança na forma como processamos informações.

Durante anos, confiamos em metadados. Rotulamos nossas vidas digitais. Mas o Deep Dream mostrou que as máquinas poderiam aprender a interpretar dados visuais sem esses rótulos.

“O Deep Dream nos mostrou que se você deixar uma máquina olhar com atenção, ela encontrará padrões que não existem – ou melhor, encontrará padrões que nós não vemos.”

O computador não está sonhando no sentido humano. Está otimizando. Ele está empurrando pixels em direção ao que acha que pertence. E ao fazê-lo, revela as lacunas na sua própria compreensão.

Se uma máquina pode transformar uma bicicleta numa criatura feita de bicicletas,

As redes neurais não são espelhos mágicos que apenas refletem os dados para você. Eles não começam a identificar padrões automaticamente do nada. Eles exigem treinamento. Você tem que alimentá-los com conjuntos de dados para usar como pontos de referência. Sem esse trabalho pesado, eles simplesmente examinariam cegamente as informações, incapazes de entender qualquer uma delas.

Segundo o blog oficial do Google, o processo de treinamento depende de repetição e análise. Digamos que você queira treinar uma Rede Neural Artificial (RNA) para identificar uma bicicleta. Você não diz apenas “bicicleta”. Você mostra milhões de imagens de bicicletas. Você também especifica, em código de computador, a aparência real de uma bicicleta. Duas rodas. Um assento. Guidão.

Em seguida, os pesquisadores liberam a rede para ver o que ela encontra. Isso cometerá erros. O programa pode retornar uma série de imagens que incluem motocicletas e ciclomotores. Quando isso acontece, os programadores ajustam o código. Eles esclarecem ao computador que as bicicletas não possuem motores nem escapamentos. Eles executam o programa novamente. E novamente. Eles ajustam o software até que os resultados sejam satisfatórios.

“A equipe do Deep Dream percebeu que, uma vez que uma rede consegue identificar certos objetos, ela também pode recriar esses objetos por conta própria.”

A equipe do Deep Dream notou algo interessante. Uma vez que uma rede consegue identificar objetos, ela pode reproduzi-los sem mais informações. Uma rede que conhece uma bicicleta à vista pode gerar uma imagem de uma bicicleta a partir do zero. A ideia é que a rede gere novas imagens criativas simplesmente porque tem a capacidade de classificar e ordenar imagens.

Parece impressionante até você olhar para o resultado. Mesmo depois de examinar milhões de fotos de bicicletas, os computadores cometem erros críticos ao gerar suas próprias imagens. As bicicletas geradas podem apresentar mãos humanas parciais no guidão. Ou pés nos pedais. Isso acontece porque muitas das imagens de treinamento incluem pessoas. O computador eventualmente não consegue discernir onde terminam as peças da bicicleta e começam as partes humanas.

Esses tipos de erros acontecem por vários motivos. Os engenheiros de software não compreendem totalmente todos os aspectos das redes neurais que constroem. Mas saber como eles funcionam ajuda a compreender como essas falhas ocorrem.

A Arquitetura do Incepcionismo

Os neurônios artificiais da rede operam em pilhas. O Deep Dream pode usar apenas 10 camadas ou até 30. Cada camada capta vários detalhes de uma imagem. As camadas iniciais detectam itens básicos como bordas e arestas. Outra camada pode identificar cores e orientações específicas.

Outras camadas procuram formas específicas que se assemelham a objetos como uma cadeira ou uma lâmpada. As camadas finais reagem apenas a objetos mais sofisticados, como carros, folhas ou edifícios.

Os desenvolvedores do Google chamam esse processo de incepcionismo. Refere-se a esta arquitetura de rede neural específica. Eles até postaram uma galeria pública para mostrar exemplos do trabalho do Deep Dream. É um vislumbre de como a máquina vê.

Depois que a rede tiver identificado vários aspectos de uma imagem, inúmeras coisas podem ocorrer. Com o Deep Dream, o Google decidiu mandar a rede fazer novas imagens. Não apenas analisa. Ele cria.

Escuridão no limite

Os engenheiros do Google não deixaram apenas o Deep Dream escolher quais partes de uma imagem identificar. Basicamente, eles disseram aos computadores para pegar esses aspectos da imagem e enfatizá-los.

Se o Deep Dream vir o formato de um cachorro no padrão de tecido do seu sofá, isso acentuará os detalhes desse cachorro.

Cada camada adiciona mais à aparência do cachorro. Pelagem. Olhos. O nariz. O que antes era um paisley inofensivo em seu sofá se torna uma figura canina completa com dentes e olhos.

Deep Dream aumenta um pouco o zoom a cada iteração de sua criação. Acrescenta cada vez mais complexidade à imagem. Pense em cachorro dentro de cachorro dentro de cachorro.

Um ciclo de feedback começa quando Deep Dream interpreta e enfatiza excessivamente cada detalhe de uma imagem. Um céu cheio de nuvens se transforma de uma cena idílica em uma cheia de gafanhotos espaciais, formas psicodélicas e carros com as cores do arco-íris. E cachorros.

Há uma razão para a superabundância de cães nos resultados do Deep Dream. Quando os desenvolvedores selecionaram um banco de dados para treinar essa rede neural, eles escolheram um que incluía 120 subclasses de cães, todas classificadas habilmente. Portanto, quando o Deep Dream sai em busca de detalhes, é muito provável que ele veja rostos e patas de cachorrinhos em todos os lugares que procura.

O Deep Dream nem precisa de uma imagem real para criar imagens. Se você alimentá-lo com uma imagem em branco ou cheia de estática, ele ainda “verá” partes da imagem, usando-as como blocos de construção para imagens cada vez mais estranhas.

É a tentativa do programa de revelar significado e forma a partir de dados que de outra forma seriam sem forma. Isso corresponde à ideia por trás de todo o projeto – tentar encontrar melhores maneiras de identificar e contextualizar o conteúdo das imagens espalhadas em computadores em todo o mundo.

Então, os computadores podem realmente sonhar? Eles estão ficando espertos demais para seu próprio bem? Ou será que o Deep Dream é apenas uma forma fantasiosa de imaginarmos a forma como a nossa tecnologia processa dados?

É difícil saber exatamente o que controla a produção do Deep Dream. Ninguém está orientando especificamente o software para concluir tarefas pré-programadas. É seguir algumas instruções bastante vagas (encontrar detalhes e acentuá-los repetidamente) e concluir os trabalhos sem orientação humana evidente.

As imagens resultantes são uma representação desse trabalho. Talvez essas representações sejam obras de arte criadas por máquinas. Talvez seja uma manifestação de sonhos digitais, nascidos do silício e dos circuitos. E talvez seja o início de um tipo de inteligência artificial que tornará os nossos computadores menos dependentes das pessoas.

Você pode temer o surgimento de computadores sencientes que dominarão o mundo. Mas, por enquanto, esses tipos de projetos beneficiam diretamente qualquer pessoa que use a Web. No espaço de apenas alguns anos, o reconhecimento de imagens melhorou dramaticamente, ajudando as pessoas a examinar imagens e gráficos mais rapidamente para encontrar as informações de que necessitam. No ritmo atual de avanço, você pode esperar grandes saltos no reconhecimento de imagens em breve, em parte graças aos computadores dos sonhos do Google.