Executando verificação de segurança...
1

Generative Adversarial Network (GAN)

O campo da inteligência artificial (IA) está se movendo rapidamente e novos avanços são feitos regularmente.
Um dos termos mais recentes ganhando destaque é Generative Adversarial Network (GAN)
Mas o que isso significa?

O princípio por trás do GAN foi proposto pela primeira vez em 2014 e, em seu nível mais básico, descreve um sistema que coloca dois sistemas de IA (redes neurais) um contra o outro para melhorar a qualidade de seus resultados.

Para entender como eles funcionam, imagine um falsificador cego tentando criar cópias de pinturas de grandes mestres. Para começar, ele não tem ideia de como uma pintura deve ser - mas ele tem um amigo que tem uma memória fotográfica de todas as obras-primas que já foram pintadas.

Este amigo – um detetive – tem que determinar se as pinturas que seu amigo está exibindo correspondem às características daquelas criadas pelos verdadeiros grandes mestres ou são falsificações óbvias.

Essa é a ideia básica de como uma GAN opera – só que como IAs, tanto o falsificador quanto seu amigo são capazes de agir em supervelocidade, fazendo e detectando milhares de falsificações por segundo. Ambos então “aprendem” com o resultado para melhorar seu desempenho futuro. À medida que o detetive se torna melhor em detectar falsificações, o falsificador deve se tornar melhor em criá-las.

As GANs têm causado muito entusiasmo no campo do desenvolvimento de IA nos últimos anos, devido à sua capacidade de criar “novas” informações seguindo regras estabelecidas pelas informações existentes. Um exemplo pode ser escrever manuais de instruções. Ao treinar um GAN em milhares de manuais de instrução, um dia será possível criar um sistema que possa olhar para qualquer ferramenta, dispositivo ou software e criar instruções sobre como usá-lo.

Então, vamos ver como isso funciona com um pouco mais de profundidade. A rede “falsificadora” que cria dados falsos é denominada rede generativa e seu trabalho é ler e entender as propriedades dos dados de treinamento. Em seguida, tenta replicá-lo produzindo conjuntos de dados “candidatos” que seguem as mesmas regras.

A rede “detetive” encarregada de determinar se a rede generativa está gerando dados falsos (gerados artificialmente) ou dados reais (de treinamento) é conhecida como rede discriminativa. Por competir contra a rede generativa, o sistema como um todo é descrito como “adversário”.

Para um ótimo exemplo de trabalho de um GAN em ação, não procure mais do que a demonstração popular This Person Does Not Exist. A rede que alimenta o site aprendeu a produzir imagens ultrarrealistas de rostos humanos que, embora sigam todas as regras sobre a aparência de um rosto humano, não existem fora do programa de computador.

Embora você possa inicialmente presumir que o programa cria imagens de rostos reunindo peças de um banco de dados de olhos, orelhas, bocas e cabelos, esse não é o caso. Os dados de “entrada” para a rede generativa são simplesmente uma sequência de números – apenas a rede discriminativa vê os dados de treinamento. A rede generativa melhora sua saída com base inteiramente na saída da rede discriminativa.

Como o único feedback que a rede discriminativa fornece é sim/não “suposições” sobre se a saída generativa corresponde aos dados de treinamento, são necessárias muitas, muitas tentativas antes de começar a produzir uma saída que seja aceitavelmente próxima das saídas desejadas - neste caso, uma imagem realista de uma pessoa inexistente.

(Este exemplo realmente usa um modelo atualizado do GAN conhecido como proGAN que foi desenvolvido pela Nvidia no ano passado e funciona aumentando gradualmente a resolução da imagem que a rede gera, começando com uma imagem de resolução muito baixa de 4 pixels por 4 pixels .)

Os dados usados para treinar uma rede adversária não precisam ser rotulados, pois a rede discriminativa pode fazer julgamentos sobre a saída da rede generativa com base inteiramente nos recursos dos próprios dados de treinamento. Isso significa que as GANs têm aplicações no aprendizado não supervisionado, bem como no aprendizado supervisionado (onde os dados são rotulados) e por reforço.

Outro recurso útil dos GANs é que eles podem ser usados para criar conjuntos de dados de treinamento com eficiência para outros aplicativos de IA. A maioria das técnicas atuais de IA, em particular o Deep Learning, depende do acesso a grandes quantidades de dados para fins de treinamento.

As GANs podem gerar conjuntos de dados que seguem todas as regras dos conjuntos de dados “naturais” e, portanto, em teoria, podem ser usados para treinamento de modelos de aprendizado profundo. Um ótimo exemplo de onde isso seria útil pode ser imagens médicas, que podem ser caras e demoradas para serem coletadas de verdade – exigindo o consentimento do paciente e conhecimento médico para rotulá-las.

Os GANs podem ser usados para criar imagens, mover imagens de vídeo, texto e até música. Embora esteja claro que há muito hype em torno do conceito no momento, é claramente um dos novos conceitos mais interessantes que surgiram no campo da IA nos últimos anos, e podemos esperar ver muitos novos aplicativos interessantes baseados nele. no futuro próximo.

Carregando publicação patrocinada...