Curionautas: Quando um Computador do Google Sonha - Software de Inteligência Artificial Cria Imagens Psicodélicas e Estranhas
Apesar de que ultimamente as redes de neurônios artificiais derivaram em importantes avanços em técnicas de reconhecimento de imagens e de voz, o conhecimento sobre seu funcionamento exato é bastante limitado. Em uma tentativa de cobrir essas lacunas, um grupo de cientistas obteve resultados surpreendentes.
Uma rede de neurônios artificiais treina gerando milhões de exemplos e ajustando pouco a pouco seus parâmetros até chegar a classificação necessária. A rede costuma estar composta de 10 a 30 camadas de neurônios artificiais. Cada imagem é introduzida na camada de entrada que depois se comunica com a seguinte e assim sucessivamente, até obter o resultado final.
Uma maneira de visualizar o que ocorre em cada nível, consiste em iniciar um processo oposto e pedir à rede que melhore uma imagem de entrada de tal forma que permita obter uma interpretação particular. Por exemplo, para saber que tipo de imagem resultaria em uma "banana", seria preciso começar com uma imagem cheia de ruído aleatório e depois modificá-la até o que a rede considere uma banana.
Surpreendentemente, as redes de neurônios artificiais que foram treinadas para diferenciar entre diferentes tipos de imagens, também contam com suficiente informação para gerar imagens. Isto é apreciado nos seguintes exemplos de imagens de gnus, copo para medidas, formigas, estrelas do mar, peixe-das-anémonas, bananas, paraquedas e parafusos.
As redes praticam com um grande número de exemplos que lhes permitem extrair a essência de uma coisa e aprender a distinguir os elementos que não são importantes. O processo descrito acima ajuda precisamente a compreender se a rede aprende as caraterísticas corretas. Por exemplo, na seguinte imagem, a rede desenhou halteres junto de um braço, provavelmente porque em nenhum dos exemplos de treinamento que haviam lhe mostrado, apareciam em separados. Este resultado ajudaria a corrigir erros similares de treinamento.
Em lugar de prescrever que caraterística desejar que a rede classifique, é possível permitir à rede que decida por si só. Não obstante, o resultado vai depender em grande parte da camada da rede em que for feita a prova. Por exemplo, as camadas básicas, que determinam as bordas e sua posição na imagem, vão sobrepor os traços e ornamentos simples.
No seguinte exemplo, se vê o resultado obtido nas camadas mais superiores que procuram objetos inteiros nas imagens. "Qualquer coisa que você veja, nós queremos mais disso", dizem os desenvolvedores à rede. Como resultado, por exemplo, pode acabar encontrando pássaros inexistentes em nuvens.
Segundo mostram os resultados, inclusive uma rede de neurônios relativamente simples pode ser usada para interpretar com exagero uma imagem. A seguinte rede, por exemplo, foi treinada principalmente com base em imagens de animais, consequentemente, tende a interpretar formas como animais.
A técnica pode ser aplicada a qualquer tipo de imagem. Nos exemplos seguintes se pode apreciar como as montanhas se convertem em torres, árvores em edifícios, e plantas em pássaros.
Para conseguir alguns quadros realmente interessantes, os pesquisadores deram um passo além, introduzindo uma imagem na rede e depois, agregando o resultado e assim sucessivamente aplicando um "zoom" em cada etapa. É possível inclusive, utilizar uma imagem com ruído aleatório como principal, de modo que o resultado pertença exclusivamente à rede de neurônios artificiais, como ocorre nas seguintes imagens.
As técnicas descritas, além de nos ajudar a compreender melhor o funcionamento das redes de inteligência artificial, também nos fazem pensar se essas redes poderiam ser convertidas em uma ferramenta para artistas, ou talvez lançar um pouco de luz sobre a origem do processo criativo de modo geral.