De uma vitória contra os melhores jogadores humanos de Go, por exemplo, até mais recentemente, a previsão do tempo com precisão sem precedentes, os avanços na IA continuam a surpreender. Um resultado ainda mais desconcertante é a geração de imagens surpreendentemente realistas, alimentando uma certa confusão entre o verdadeiro e o falso. Mas como essas imagens são geradas automaticamente?
Os modelos de geração de imagens dependem de aprendizado profundo, ou seja, redes neurais muito grandes que podem atingir vários bilhões de parâmetros. Uma rede neural pode ser considerada como uma função que associará dados de entrada com previsões de saída. Esta função é composta por um conjunto de parâmetros (valores numéricos) inicialmente aleatórios que a rede aprenderá a fixar por aprendizagem.
Para dar uma ordem de grandeza, o modelo de Difusão Estável , capaz de gerar imagens realistas, é composto por 8 bilhões de parâmetros e seu treinamento custou US$ 600.000.
Esses parâmetros devem ser aprendidos. Para explicar seu aprendizado, podemos analisar o caso mais simples de detecção de objetos a partir de imagens. Uma imagem é apresentada como entrada para a rede e a rede deve prever possíveis rótulos de objetos (carro, pessoa, gato, etc.) como saída.
Aprender então consiste em encontrar uma boa combinação de parâmetros que permita a previsão mais correta possível dos objetos presentes nas imagens. A qualidade do aprendizado dependerá principalmente da quantidade de dados rotulados, do tamanho dos modelos e do poder computacional disponível.
No caso da geração de imagens, é de certa forma o processo inverso que queremos fazer: a partir de um texto que descreve uma cena, espera-se que a saída do modelo crie uma imagem correspondente a essa descrição, o que é consideravelmente mais complexo do que prever um rótulo.
Destruir para criar
Primeiro, vamos esquecer o texto e focar apenas na imagem. Se gerar uma imagem é um processo complexo até mesmo para um ser humano, destruir uma imagem (o problema inverso) é um problema trivial. Concretamente, a partir de uma imagem composta por pixels, mudar a cor de certos pixels aleatoriamente constitui um método simples de alteração.
Podemos apresentar uma rede neural com uma imagem ligeiramente alterada como entrada e pedir que ela preveja a imagem original como saída. Podemos então treinar o modelo para aprender como reduzir o ruído das imagens, o que é um primeiro passo para a geração de imagens. Assim, se partirmos de uma imagem com muito ruído e repetirmos a chamada do modelo sequencialmente, obteremos a cada chamada uma imagem cada vez menos ruidosa até obtermos uma imagem completamente sem ruído.
Se exagerarmos o processo, poderíamos começar com uma imagem composta inteiramente de ruído (uma nuvem de pixels aleatórios), ou seja, uma imagem do nada, e repetir as chamadas para nosso modelo "denoiser" para terminar com uma imagem como a mostrada abaixo:
Temos então um processo capaz de gerar imagens, mas de interesse limitado porque, dependendo do ruído aleatório, pode, após várias iterações, acabar gerando qualquer coisa como imagem de saída. Então, precisamos de um método para orientar o processo de redução de ruído e o texto será usado para essa tarefa.
Do ruído à imagem
Para o processo de redução de ruído, precisamos de imagens, elas vêm da internet e nos permitem constituir o conjunto de dados de treinamento. Para o texto necessário para orientar a redução de ruído, são utilizadas simplesmente as legendas das imagens encontradas na Internet. Junto com o aprendizado da redução de ruído na imagem, uma rede que representa o texto é associada. Então, quando o modelo aprende a reduzir o ruído de uma imagem, ele também aprende a quais palavras essa redução de ruído está associada. Uma vez concluído o treinamento, obtemos um modelo que, a partir de um texto descritivo e ruído total, irá, por iterações sucessivas, eliminar o ruído para convergir para uma imagem que corresponda à descrição textual.
O processo elimina a necessidade de etiquetagem manual específica. Ele se alimenta dos milhões de imagens associadas às suas legendas já presentes na web. Por fim, uma imagem vale mais que mil palavras, por exemplo, a imagem acima foi gerada a partir do seguinte texto: "flores de ovos fritos no jardim de bacon" pelo modelo Stable Diffusion.
Christophe Rodrigues , professor-pesquisador em ciência da computação, Pôle Léonard de Vinci
Este artigo foi republicado do The Conversation sob uma licença Creative Commons. Leia o artigo original .