Ge­ne­ra­tive Ad­ver­sa­rial Network (GAN) é um modelo moderno de apren­di­zado de máquina que utiliza duas redes neurais para gerar dados sin­té­ti­cos realistas. Essas redes são capazes de criar imagens, textos e até música. O conceito de Ge­ne­ra­tive Ad­ver­sa­rial Network tem diversas apli­ca­ções, como na geração de imagens e vídeos ou em áreas como arte, design e data aug­men­ta­tion.

O que significa Ge­ne­ra­tive Ad­ver­sa­rial Network?

Uma Ge­ne­ra­tive Ad­ver­sa­rial Network (rede ge­ne­ra­tiva ad­ver­sá­ria) é uma estrutura para a geração de dados sin­té­ti­cos, no campo do apren­di­zado de máquina, que é utilizada sobretudo para treinar redes na área de apren­di­zado não su­per­vi­si­o­nado. Esse modelo de apren­di­zado é formado por duas redes neurais ar­ti­fi­ci­ais – o gerador e o dis­cri­mi­na­dor – que trabalham em oposição uma à outra:

  • Gerador: A função do gerador é gerar novas ins­tân­cias de dados que pareçam en­ga­no­sa­mente reais – isto é, que sejam o mais se­me­lhan­tes possível ao conjunto de dados original. A rede neural ge­ne­ra­tiva começa com um ruído aleatório e, graças a um trei­na­mento contínuo, é pro­gres­si­va­mente apri­mo­rada. Nesse processo, a partir de um vetor, o gerador aprende a mapear variáveis latentes no espaço de re­sul­ta­dos es­pe­cí­fico, ou seja, a gerar re­sul­ta­dos de acordo com uma dis­tri­bui­ção definida. O objetivo final da rede ge­ne­ra­tiva é criar dados ar­ti­fi­ci­ais que consigam enganar o dis­cri­mi­na­dor.
  • Dis­cri­mi­na­dor: Uti­li­zando um conjunto de dados conhecido, esta rede é treinada para dis­tin­guir dados reais de dados sin­té­ti­cos, até alcançar um grau aceitável de precisão. Em seguida, o dis­cri­mi­na­dor avalia a au­ten­ti­ci­dade dos conjuntos de dados que lhe são apre­sen­ta­dos. Ou seja, ele determina se essas ins­tân­cias de dados podem ser atri­buí­das ao conjunto de dados original ou se cons­ti­tuem fal­si­fi­ca­ções.

O trei­na­mento das duas redes ad­ver­sá­rias ocorre si­mul­ta­ne­a­mente. O gerador continua “com­pe­tindo” com o dis­cri­mi­na­dor até gerar dados que este não consiga mais re­co­nhe­cer como falsos. Por meio de uma re­tro­pro­pa­ga­ção (back­pro­pa­ga­tion), os pesos de ambas as redes são oti­mi­za­dos em cada etapa do trei­na­mento. Ao longo desse processo, as duas redes neurais vão se apri­mo­rando mu­tu­a­mente. Assim, com tempo de trei­na­mento su­fi­ci­ente, a dis­tri­bui­ção gerada equipara-se à real. Após a conclusão do trei­na­mento, o gerador pode ser usado para criar dados ar­ti­fi­ci­ais com aspecto realista.

Nota

Ini­ci­al­mente, GANs eram usadas apenas como modelo para apren­di­zado não su­per­vi­si­o­nado, mas, com o passar do tempo, também se revelaram úteis para apren­di­zado se­mis­su­per­vi­si­o­nado, apren­di­zado su­per­vi­si­o­nado e apren­di­zado por reforço.

Di­fe­ren­ças entre GAN e outros modelos de apren­di­zado de máquina

Em vários aspectos, Ge­ne­ra­tive Ad­ver­sa­rial Networks são di­fe­ren­tes de outros métodos de apren­di­zado de máquina. GANs funcionam como modelos ge­ne­ra­ti­vos im­plí­ci­tos – isto é, não modelam uma função de ve­ros­si­mi­lhança (li­ke­lihood function) direta nem fornecem meios para encontrar a variável latente. Em vez disso, as GANs geram novas ins­tân­cias de dados por meio da com­pe­ti­ção entre as duas redes ad­ver­sá­rias.

Ao contrário de outras abor­da­gens, que geram dados in­cre­men­tal­mente, as GANs conseguem gerar uma amostra completa em uma única execução. Além disso, não há res­tri­ções quanto ao tipo de função utilizada pela rede.

Soluções de IA
Mais poder digital com In­te­li­gên­cia Ar­ti­fi­cial
  • Online em segundos
  • Aumente seu cres­ci­mento com marketing de IA
  • Economize tempo e recursos

Como a GAN é treinada?

O processo de trei­na­mento para Ge­ne­ra­tive Ad­ver­sa­rial Networks consiste de várias etapas. A seguir apre­sen­ta­mos, de forma resumida, como funciona cada uma delas:

  1. Ini­ci­a­li­za­ção: Primeiro, as duas redes neurais – o gerador e o dis­cri­mi­na­dor – são criadas e ini­ci­a­li­za­das com pa­râ­me­tros ale­a­tó­rios.
  2. Geração de dados falsos: O gerador recebe como input um vetor aleatório, que ele usa para gerar dados sin­té­ti­cos. Já que o trei­na­mento ainda não ocorreu, o resultado inicial é apenas um ruído.
  3. Avaliação pelo dis­cri­mi­na­dor: O dis­cri­mi­na­dor recebe tanto amostras de dados reais quanto conjuntos de dados criados pelo gerador. Sua tarefa é dis­tin­guir os dados legítimos dos falsos. No entanto, para operar com precisão, primeiro o dis­cri­mi­na­dor também deve ser treinado. Ou seja, o resultado inicial dessa rede também é impreciso.
  4. Feedback e atu­a­li­za­ção dos pesos: Os pa­râ­me­tros de ambas as redes são ajustados por re­tro­pro­pa­ga­ção. Enquanto o gerador vai apren­dendo a gerar dados mais realistas, o dis­cri­mi­na­dor aprimora sua ca­pa­ci­dade de dis­tin­guir as ins­tân­cias de dados reais das ar­ti­fi­ci­ais.
  5. Iteração: A Ge­ne­ra­tive Ad­ver­sa­rial Network vai repetindo as etapas 2, 3 e 4 até que o gerador gere dados tão realistas que o dis­cri­mi­na­dor não consiga mais iden­ti­ficá-los con­fi­a­vel­mente como sin­té­ti­cos, ou até que o modelo atinja a qualidade desejada.

Campos de aplicação da GAN

Dentro do segmento de in­te­li­gên­cia ar­ti­fi­cial (IA), as Ge­ne­ra­tive Ad­ver­sa­rial Networks já são usadas com sucesso em diversas áreas. Estes são alguns dos prin­ci­pais campos de aplicação:

  • Geração de imagens e vídeos: Ge­ne­ra­tive Ad­ver­sa­rial Networks são em­pre­ga­das na produção ci­ne­ma­to­grá­fica e no de­sen­vol­vi­mento de games, para criar imagens e sequên­cias de vídeo altamente realistas. Esse recurso também ajuda empresas a re­pre­sen­ta­rem vi­su­al­mente seus produtos, como sapatos ou roupas. Também é possível usar GANs para criar ambientes virtuais.
  • Medicina: No setor de ima­gi­o­lo­gia médica, GANs são uti­li­za­das tanto no trei­na­mento de pro­fis­si­o­nais, quanto para aprimorar processos de di­ag­nós­tico. Além disso, por questões de pri­va­ci­dade, muitos pes­qui­sa­do­res têm di­fi­cul­dade de obter imagens médicas para fins de pesquisa. Atu­al­mente, Ge­ne­ra­tive Ad­ver­sa­rial Networks são usadas para resolver esse problema.
  • Data aug­men­ta­tion (aumento de dados): A estrutura pode ser empregada para fornecer dados de trei­na­mento adi­ci­o­nais para modelos de apren­di­zado de máquina. Isso é es­pe­ci­al­mente prático em situações em que existem poucos exemplos reais.
  • Re­co­nhe­ci­mento e síntese de fala: Outra utilidade das GANs é gerar linguagem natural e otimizar sistemas de síntese de fala. Di­fe­ren­te­mente das im­ple­men­ta­ções con­ven­ci­o­nais de áudio e fala, as Ge­ne­ra­tive Ad­ver­sa­rial Networks são capazes de gerar novas amostras.
  • Ciência: Em contextos ci­en­tí­fi­cos, Ge­ne­ra­tive Ad­ver­sa­rial Networks também podem fornecer um apoio decisivo. Por exemplo, GANs permitem re­cons­ti­tuir os campos de ve­lo­ci­dade e campos escalares em fluxos tur­bu­len­tos de fluidos. Outro exemplo é o uso dessa estrutura para gerar novas moléculas para diversos alvos proteicos, re­la­ci­o­na­dos a doenças in­fla­ma­tó­rias, cânceres e fibroses.
  • Arte e design: Artistas e designers podem utilizar a ar­qui­te­tura GAN na criação de obras e produtos ino­va­do­res.

Vantagens e des­van­ta­gens da GAN

Gerando dados ar­ti­fi­ci­ais realistas, Ge­ne­ra­tive Ad­ver­sa­rial Networks inauguram pos­si­bi­li­da­des im­pres­si­o­nan­tes, sobretudo nas áreas de criação de imagens e vídeos. Uma grande vantagem dessas redes é sua ca­pa­ci­dade de gerar dados de alta qualidade sem modelos de pro­ba­bi­li­dade ex­plí­ci­tos, o que di­fe­ren­cia as GANs de muitos outros modelos ge­ne­ra­ti­vos de apren­di­zado. Além disso, diversas funções podem ser in­te­gra­das ao modelo, pos­si­bi­li­tando uma vasta gama de cenários de aplicação.

Por outro lado, um problema crucial é a es­ta­bi­li­dade do processo de trei­na­mento. Durante esse processo, existe o risco do chamado colapso de modo (mode collapse), um fenômeno que faz com que o gerador produza só uma pequena variedade de dados. O problema ocorre, prin­ci­pal­mente, quando o gerador é treinado com demasiada frequên­cia, sem uma atu­a­li­za­ção do dis­cri­mi­na­dor. Além disso, GANs também podem ser perigosas se usadas para fins ma­li­ci­o­sos – como criar deepfakes en­ga­na­do­res, semear de­sin­for­ma­ção ou para roubo de iden­ti­dade.

Vantagens Des­van­ta­gens
✓ Dados de alta qualidade ✗ Processo de trei­na­mento instável
✓ Modelo flexível ✗ Também pode ser usado para deepfakes e outras fraudes
✓ Útil em diversos cenários de aplicação
Ir para o menu principal