Variações do GAN

Os pesquisadores continuam encontrando novas técnicas e novos usos para as GANs. Veja uma amostra das variações de GAN para dar uma ideia das possibilidades.

GANs progressivos

Em uma GAN progressiva, as primeiras camadas do gerador geram imagens de resolução muito baixa, e as camadas subsequentes adicionam detalhes. Essa técnica permite que a GAN seja treinada mais rapidamente do que as GANs não progressivas comparáveis e produz imagens de resolução maior.

Para mais informações, consulte Karras et al, 2017.

GANs condicionais

As GANs condicionais são treinadas em um conjunto de dados rotulados e permitem que você especifique o rótulo para cada instância gerada. Por exemplo, uma GAN MNIST incondicional produziria dígitos aleatórios, enquanto uma GAN condicional do MNIST permitiria especificar qual dígito a GAN deve gerar.

Em vez de modelar a probabilidade conjunta P(X, Y), as GANs condicionais modelam a probabilidade condicional P(X | Y).

Para mais informações sobre GANs condicionais, consulte Mirza et al, 2014.

Tradução de imagem para imagem

As GANs de conversão de imagem para imagem usam uma imagem como entrada e a mapeiam para uma imagem de saída gerada com propriedades diferentes. Por exemplo, podemos capturar uma imagem de máscara com um blob colorido no formato de um carro, e a GAN pode preencher a forma com detalhes do carro fotorrealista.

Da mesma forma, é possível treinar uma GAN imagem-imagem para pegar esboços de bolsas e transformá-las em imagens fotorrealistas de bolsas.

Uma tabela 3 x 3 de fotos de bolsas. Cada linha
mostra um estilo de bolsas diferente. Em cada linha, a imagem mais à esquerda é um desenho de linha
simples de uma bolsa, a imagem do meio é uma foto de uma bolsa real, e
a imagem mais à direita é uma foto realista gerada por uma GAN. As três
colunas são identificadas como "#39;Input', 'Ground Truth' e 'output'.

Nesses casos, a perda é uma combinação ponderada da perda comum baseada em discriminação e uma perda em pixels que penaliza o gerador de partida da imagem de origem.

Para mais informações, consulte Isola et al, 2016.

GAN do Cycle

As CycleGANs aprendem a transformar imagens de um conjunto em imagens que possam pertencer a outro conjunto. Por exemplo, uma CycleGAN produziu a imagem à direita abaixo quando recebe a imagem à esquerda como entrada. Ele pegou a imagem de um cavalo e a transformou na imagem de uma zebra.

A imagem de um cavalo em execução e uma segunda
imagem idêntica em todos os aspectos, exceto que o cavalo é uma zebra.

Os dados de treinamento do CycleGAN são simplesmente dois conjuntos de imagens (nesse caso, um conjunto de imagens de cavalos e de zebra). O sistema não requer rótulos ou correspondências pares entre imagens.

Para mais informações, consulte Zhu et al, 2017, que ilustra o uso do CycleGAN para realizar a conversão de imagem para imagem sem dados pareados.

Síntese de texto em imagem

GANs de texto para imagem usam texto como entrada e produzem imagens plausíveis e descritas pelo texto. Por exemplo, a imagem de flor abaixo foi produzida ao enviar uma descrição de texto para uma GAN.

"Esta flor tem pétalas amarelas com tons laranjas." Uma flor com pétalas amarelas com tons de laranja.

Nesse sistema, a GAN só pode produzir imagens de um pequeno conjunto de classes.

Para mais informações, consulte Zhang et al, 2016.

Super-resolução

As GANs de super-resolução aumentam a resolução de imagens, adicionando detalhes quando necessário para preencher áreas desfocadas. Por exemplo, a imagem do meio desfocada abaixo é uma versão reduzida da imagem original à esquerda. Considerando a imagem desfocada, uma GAN produziu a imagem mais nítida à direita:

DadosDesfocadaRestaurado com GAN
Pintura de uma menina com um encanto elaborado. A faixa de cabeça do cocar é tricotada em um padrão
 complexo. Uma versão desfocada da
      pintura de uma menina usando um encanto elaborado. Uma pintura clara e clara de uma
      menina usando um encanto elaborado. Esta pintura é quase idêntica
 à primeira imagem desta tabela, mas alguns dos detalhes dos padrões
 de vestimenta e roupa dela são sutilmente diferentes.

A imagem gerada pela GAN é muito semelhante à imagem original. No entanto, se você olhar atentamente para a faixa de cabelo, verá que a GAN não reproduziu o padrão de burst diretamente da original. Em vez disso, ele criou o próprio padrão plausível para substituir o padrão apagado pela amostragem de baixo.

Para mais informações, consulte Ledig et al, 2017.

Pintura facial

As GANs foram usadas para a tarefa de pintura semântica de imagens. Na tarefa de pintura, os blocos de uma imagem ficam ocultos, e o sistema tenta preencher os blocos ausentes.

Yeh et al, 2017 usou uma GAN para superar outras técnicas para pintar imagens de rostos:

EntradaSaída GAN
Quatro imagens. Cada imagem é
                                     a foto de um rosto, com algumas áreas substituídas
                                     por preto. Quatro imagens. Cada imagem é
                                     a foto de um rosto idêntico a uma das
                                     imagens na coluna 'Input' exceto
                                     que não há áreas pretas.

Text-to-Speech

Nem todas as GANs produzem imagens. Por exemplo, os pesquisadores também usaram GANs para produzir fala sintetizada a partir de entrada de texto. Para mais informações, consulte Yang etal, 2017.