Quando você busca por formas nas nuvens, frequentemente você encontra coisas que costuma ver no cotidiano: cães, pessoas, carros. E com “cérebros” artificiais acontece a mesma coisa. O Google chama esse fenômeno de “Inceptionism”, e nos dá uma boa ideia de quão avançadas as redes neurais artificiais realmente são.
Em um post feito em seu blog Google Research, a equipe de pesquisa de redes neurais artificiais do Google explicou como está fazendo para construir um tipo de sistema de visão computacional muito avançado que é capaz de identificar quando você está olhando para uma imagem de, digamos, uma laranja contra uma banana. O post completo é bem interessante e vale a pena ler por inteiro (ele está em inglês). Mas eis um resumo do que foi falado por lá.
Para começar, é bom saber um pouco sobre a estrutura de redes neurais. O Google explica como elas são feitas de camadas de neurônios artificiais, em muitos casos trinta de uma vez. Quando você envia uma foto através da rede, a primeira camada detecta informações de baixa importância, como as bordas da imagem. A camada seguinte pode preencher alumas informações sobre as formas em si, se aproximando um pouco mais do que é mostrado na imagem. “As últimas camadas montam tudo isso em uma interpretações completas – esses neurônios são ativados em resposta a coisas bastante complexas como prédios ou árvores,” explicam os engenheiros do Google.
O Google “treina” cada rede ao alimentá-las com toneladas de imagens – algumas vezes com foco em um tipo específico, como árvores ou animais. A equipe do Google descobriu que essas redes podem até gerar imagens de certos objetos se pedirem a elas:
Então o que acontece se você perguntar a uma única camada da rede para “melhorar” as coisas que ela detecta sobre uma certa imagem? Se, por exemplo, você pedir a uma camada encarregada das bordas da imagem para pegar aquela informação e reproduzir a imagem? Coisas estranhas começam a acontecer:
E a partir daqui tudo fica bem mais interessante. O Google pediu às camadas de neurônios de alto nível – as que identificam elementos específicos em imagens, não apenas formas e bordas – para construir o que eles detectam em uma imagem. Em um dos casos, eles alimentaram uma imagem de nuvens através de uma camada que já havia sido treinada para detectar animais em fotos:
De zoom na segunda imagem (clique aqui para ver em tamanho completo) e você verá o resultado da rede sonhando acordada com animais:
Sim. Essas são criaturas fantásticas criadas inteiramente por uma rede neural artificial que buscava animais em uma imagem de nuvens. O Google até criou o termo “Inceptionism” para isso.
E então a equipe foi um passo adiante: ela nos mostrou o que acontece quando uma rede é colocada em um loop infinito de feedback com uma imagem gerada por ela. Em outras palavras, se você perguntar para uma rede que é “especialista” em arcos arquitetônicos para criar uma imagem desses arcos – e então pedir para ela gerar mais com base nessa imagem – você consegue coiss que parecem criadas por M. C. Escher:
Ou então um Game of Thrones lisérgico:
Ou uma imagem que parece ter sido tirada dos livros Olho Mágico:
O Google chama isso de “sonho”. Sonhos criados por redes neurais artificiais.
Confira a galeria completa de sonhos “Inceptionism” criados por esses cérebros robóticos em fique impressionado.
[Google; h/t The Guardian]