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.
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.
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." |
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:
Dados | Desfocada | Restaurado com GAN |
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:
Entrada | Saída GAN |
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.