Variações do GAN

Os pesquisadores continuam a encontrar técnicas aprimoradas de GAN e novos usos para elas. Confira uma amostra de variações de GAN para ter uma ideia das possibilidades.

GANs progressivas

Em um GAN progressivo, as primeiras camadas do gerador produzem imagens de resolução muito baixa, e as camadas subsequentes adicionam detalhes. Essa técnica permite que o GAN seja treinado mais rapidamente do que GANs não progressivos semelhantes e produz imagens de maior resolução.

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

GANs condicionais

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

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

Para mais informações sobre GANs condicionais, consulte Mirza et al, 2014 (link em inglês).

Tradução de imagem para imagem

As GANs de traduçã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 usar uma imagem de máscara com uma mancha de cor no formato de um carro, e o GAN pode preencher a forma com detalhes fotorrealistas do carro.

Da mesma forma, é possível treinar um GAN de imagem para imagem para transformar esboços de bolsas em imagens realistas.

Uma tabela 3x3 de imagens de bolsas. Cada linha
mostra um estilo diferente de bolsa. Em cada linha, a imagem mais à esquerda é um desenho
simples de uma bolsa, a imagem do meio é uma foto de uma bolsa real e
a imagem mais à direita é uma fotorrealista gerada por uma GAN. As três
colunas são rotuladas como "Entrada", "Informações empíricas" e "Saída".

Nesses casos, a perda é uma combinação ponderada da perda normal baseada em discriminador e uma perda por pixel que penaliza o gerador por se afastar da imagem de origem.

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

CycleGAN

Os CycleGANs aprendem a transformar imagens de um conjunto em imagens que podem pertencer a outro conjunto. Por exemplo, um CycleGAN produziu a imagem da direita abaixo quando recebeu a imagem da esquerda como entrada. Ele pegou uma imagem de um cavalo e a transformou em uma imagem de uma zebra.

Uma imagem de um cavalo correndo 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 (neste caso, um conjunto de imagens de cavalos e um conjunto de imagens de zebras). O sistema não exige rótulos nem correspondências em pares entre imagens.

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

Síntese de texto para imagem

As 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 alimentando uma descrição de texto para um GAN.

"Essa flor tem pétalas amarelas com tons de laranja." 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

GANs de superresolução aumentam a resolução das imagens, adicionando detalhes onde necessário para preencher áreas desfocadas. Por exemplo, a imagem desfocada no meio abaixo é uma versão com amostragem reduzida da imagem original à esquerda. Dada a imagem borrada, um GAN produziu a imagem mais nítida à direita:

OriginalDesfocadoRestaurado com GAN
Uma pintura de uma menina usando uma
      indumentária elaborada. A faixa da indumentária é tricotada em um padrão
      complexo. Uma versão desfocada da
      pintura de uma menina usando uma indumentária elaborada. Uma pintura nítida e clara de uma
      menina usando uma indumentária elaborada. Essa pintura é quase idêntica
      à primeira imagem desta tabela, mas alguns dos detalhes dos padrões
      no adereço e na roupa dela são sutilmente diferentes.

A imagem gerada pelo GAN é muito semelhante à original, mas, se você olhar atentamente para a faixa, vai notar que o GAN não reproduziu o padrão de estrela do original. Em vez disso, ele criou seu próprio padrão plausível para substituir o padrão apagado pela redução de amostragem.

Para mais informações, consulte Ledig et al, 2017 (em inglês).

Retoque facial

As GANs foram usadas para a tarefa de retoque de imagem semântica. Na tarefa de pintura, partes de uma imagem são ocultadas e o sistema tenta preencher as partes ausentes.

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

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

Text-to-Speech

Nem todos os 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 et al, 2017.