Uma rede adversarial generativa (GAN) é um modelo de IA composto por duas redes neurais: o gerador e o discriminador, que competem para melhorar suas funções; o gerador cria dados falsos que se assemelham ao conjunto de treinamento, enquanto o discriminador tenta determinar se os dados são autênticos.
A IA generativa (GenAI) representa um dos avanços mais significativos da inteligência artificial nos últimos anos. Para quem vê de longe, esse salto para frente pode parecer que aconteceu da noite para o dia, transformando o mundo com a introdução de soluções de IA potentes, capazes e amplamente disponíveis. No entanto, a realidade é que os novos recursos generativos da IA são a culminação de décadas de pesquisa e desenvolvimento em várias tecnologias de suporte. O conceito de rede adversarial generativa, ou GAN, é uma inovação que tem desempenhado um papel fundamental na formação do cenário da inteligência artificial.
Origens da GAN
As GANs foram concebidas pela primeira vez por Ian Goodfellow e vários colegas em 2014. O problema que enfrentavam era a questão de como desenvolver um sistema de computador capaz de produzir "fotografias" originais e realistas com base nos dados fornecidos. Quando confrontada com a perspetiva assustadora do enorme esforço matemático que seria exigido, Goodfellow pensou o seguinte: Por que não simplesmente executar uma rede com a criação das imagens, e outra com a detecção de falhas nas imagens? Eles então trabalharam em conjunto, apresentando iterativamente novas versões e identificando erros até que as imagens falsas pudessem passar na inspeção.
A primeira rede adversarial generativa nasceu dessa ideia. Como proposto, essa estrutura inovadora envolve dois sistemas opostos que competem entre si, em que o ganho de um é a perda do outro. Ao longo do tempo, as duas redes aprimoram os recursos, levando a uma geração de dados cada vez mais sofisticada.
As redes adversariais generativas despertaram um interesse considerável devido à sua capacidade exclusiva de gerar dados realistas e de alta qualidade em vários domínios, desde a criação de ilustrações geradas por IA e imagens sintéticas ou vídeos até a assistência na personalização de produtos e na modelagem de distribuição probabilística. Simplificando, o que começou como um experimento de pensamento improvisado cresceu em uma tecnologia comprovada que carrega aplicações práticas significativas. Isso transformou a forma como as máquinas aprendem e criam e como as empresas podem se beneficiar delas.
Há várias vantagens atraentes no uso de soluções de GAN em aplicações de negócios. Considere o seguinte:
As GANs se destacam na geração de novos dados que imitam distribuições de dados reais. Isso é incrivelmente útil para o aumento de dados, aprimorando modelos de aprendizado de máquina sem dados reais adicionais. Isso também permite uma detecção eficaz de anomalias e promove a criatividade na geração de novos designs e conceitos.
Conhecidas por produzir resultados realistas e de alta fidelidade, as GANs são cruciais em campos que exigem síntese detalhada de imagens e vídeos. Seja para gerar ambientes realistas em sistemas virtuais ou criar novas sequências de áudio na música, a qualidade das saídas de GAN é muitas vezes indistinguível de gravações ou de imagens reais. Isso também é transferido para dados que não são de mídia; o processo de GAN pode refinar informações sintéticas de todos os tipos até que correspondam à qualidade dos conjuntos de dados reais.
Um dos recursos de destaque das GANs é a capacidade de aprender sem conjuntos de dados rotulados. Isso é muito valioso em cenários em que os dados rotulados são limitados ou caros de obter. A autonomia das GANs elimina uma das principais barreiras que, de outra forma, poderia impedir que certas organizações ou indivíduos trabalhassem dentro da estrutura.
As GANs têm a capacidade exclusiva de imitar, de forma autônoma, distribuições de dados complexas, permitindo a produção eficiente de conjuntos de dados altamente específicos. Esse recurso é particularmente útil em casos de uso que exigem a geração rápida de grandes volumes de dados, reduzindo significativamente a necessidade de criação manual dos dados.
Ao automatizar partes dos processos de geração e aprimoramento de dados, as GANs podem reduzir significativamente o tempo associado a essas tarefas. Essa redução do trabalho não só reduz os custos, mas também permite que os recursos humanos sejam redirecionados para atividades mais estratégicas, otimizando assim a alocação da força de trabalho e aumentando a produtividade.
Como abordado, as redes adversariais generativas são compostas por dois modelos de rede neural principais que são treinados simultaneamente por meio de processos adversariais. Essas redes opostas são chamadas de modelo discriminador e modelo gerador.
A principal tarefa do gerador é criar dados que sejam indistinguíveis dos dados genuínos. Ele usa uma entrada de ruído aleatória para gerar saídas de dados por meio de uma rede de camadas desenvolvida para refinar progressivamente os detalhes e a qualidade dos dados. O gerador melhora ao longo do tempo, guiado pelas informações do discriminador sobre a autenticidade dos resultados, com o objetivo final de produzir dados tão convincentes que pode enganar o discriminador a pensar que é genuíno.
O discriminador atua como um juiz na configuração GAN. Ele avalia os dados para determinar se eles são reais (do conjunto de dados real) ou falsos (do gerador). O objetivo do discriminador é classificar com precisão os dados de entrada, dando informações críticas ao gerador sobre a qualidade dos resultados. Esse modelo ajuda a refinar o gerador, pressionando-o a ara produzir resultados melhores e mais realistas.
Na última década, as redes generativas adversárias evoluíram para diversas variantes distintas, cada uma adequada para diferentes aplicações e desafios. Embora muitas dessas variações sejam especificamente adaptadas para a geração de imagens, elas também podem ser aplicadas a outros usos.
Os tipos comuns de GANs incluem:
Vanilla GAN
É a forma mais simples de GAN, em que o gerador e o discriminador são redes neurais simples. Vanilla GANs estabelecem a arquitetura fundamental para modelos mais complexos, mas podem não ser suficientes para tarefas de alta complexidade.GAN condicional (cGAN)
Essas GANs condicionam tanto o gerador quanto o discriminador com informações adicionais, permitindo que o modelo gere dados específicos para rótulos ou tags fornecidos. Essa abordagem possibilita a geração de dados mais direcionada e relevante.GAN convolucional profunda (DCGAN)
Integrando redes neurais convolucionais, as DCGANs são particularmente eficazes em tarefas que envolvem imagens. Elas utilizam camadas convolucionais e convolucionais-transpostas no gerador e discriminador, melhorando a qualidade da geração de imagens.GAN de pirâmide laplaciana (LAPGAN)
A LAPGAN usa uma série de GANs dispostos em uma estrutura de pirâmide para gerar imagens brutas e refiná-las. Cada nível da pirâmide refina os detalhes da imagem, possibilitando a geração de saídas de maior resolução.GAN de super resolução (SRGAN)
Focada na conversão de imagens de baixa resolução em imagens de alta resolução, as SRGANs aplicam treinamento adversarial para aprender um mapeamento de baixa resolução para alta resolução, o que ajuda a recuperar texturas foto-realistas de imagens com amostragem reduzida.
As GANs funcionam por meio de um processo dinâmico e competitivo entre o modelo gerador e o discriminador. Esse processo garante que os resultados gerados melhorem progressivamente em qualidade e nível de realismo. Aqui está uma descrição das etapas envolvidas:
Inicialização
O gerador e o discriminador são inicializados com parâmetros de treinamento aleatórios para eliminar o risco de viés em relação a qualquer resultado específico. Esses "pesos" são ajustados ao longo do processoO gerador apresenta dados sintéticos
O gerador cria dados a partir de uma entrada de ruído aleatória, tentando imitar a distribuição de dados real.O discriminador avalia e responde
Este modelo avalia dados reais e os dados sintéticos do gerador. Ele tenta classificar corretamente quais dados são reais e quais são falsos.As recompensas são fornecidas à medida que os dados são identificados e as informações são geradas
As recompensas no treinamento de GANs se referem aos ajustes feitos nos parâmetros do modelo com base no desempenho do discriminador. Se o discriminador identificar corretamente dados reais ou falsos, ele será "ignorado" por ter menos ajustes necessários nos parâmetros. Por outro lado, se ele falhar, mudanças mais significativas serão feitas para melhorar a precisão. O gerador também é ajustado com base no sucesso dele em enganar o discriminador.O processo de aprendizado iterativo continua
O processo é repetido com trocas contínuas entre o gerador e o discriminador, melhorando ao longo de cada ciclo até que o discriminador não possa mais distinguir os dados sintéticos dos dados reais de forma confiável.
A implementação de GANs envolve vários processos essenciais desenvolvidos para garantir que a rede funcione de forma eficaz e eficiente. Cada um dos itens a seguir é parte integrante da arquitetura e função das GANs:
Importação das bibliotecas necessárias
Configurar o ambiente de codificação importando as bibliotecas de software necessárias fornece as ferramentas e as funções necessárias para o aprendizado de máquina e o processamento de dados.Definição da transformação
As transformações são usadas para pré-processar os dados em um formato adequado para a rede neural, garantindo que os dados de entrada sejam normalizados ou aumentados para melhorar o treinamento.Carregamento do conjunto de dados
Envolve a preparação e o carregamento dos dados com os quais a GAN vai aprender, que podem ser imagens, textos ou qualquer outra forma de dados aplicável ao problema.Definição de parâmetros que serão usados em processos posteriores
Estabelecer parâmetros principais, como taxa de aprendizado, número de épocas e tamanhos de lote ajuda a determinar como o modelo treina.Definição de uma classe de utilitário para criar o gerador
Essa classe engloba a arquitetura do gerador, detalhando as camadas e suas funções cruciais para a geração de novos dados.Definição de uma classe de utilidade para criar o discriminador
Semelhante ao gerador, essa classe descreve a estrutura do discriminador, que vai julgar a autenticidade dos dados gerados.Criação da GAN
Envolve a integração do gerador e do discriminador em uma estrutura de modelo único e pronta para treinamento.Treinamento da GAN
O elemento vê o discriminador e o gerador treinados por meio das dinâmicas adversárias, cada qual melhorando em resposta ao desempenho do outro.
As redes adversariais generativas são ferramentas de IA potentes que ajudaram a estabelecer a base para soluções generativas modernas, mas não são livres de falhas. As GANs apresentam vários desafios que podem afetar a eficácia e a aplicação. Os seguintes obstáculos possíveis exigem uma consideração ponderada e abordagens personalizadas para garantir que as GANs sejam usadas de forma eficaz e responsável:
As GANs são propensas a instabilidades durante o treinamento, o que pode fazer com que o gerador e o discriminador não aprendam de forma eficaz. Para lidar com isso, os pesquisadores costumam modificar as funções de perda e otimizar a arquitetura para melhor atender às necessidades da rede.
Embora as GANs possam ajudar as organizações a economizar dinheiro em termos de horas de trabalho e aumento de produtividade, os investimentos computacionais significativos necessários para o treinamento de GANs, especialmente com conjuntos de dados grandes e complexos, podem ser um impeditivo. Usar projetos de rede mais eficientes e aproveitar as acelerações de hardware para gerenciar essas demandas pode oferecer uma solução.
Como muitos modelos de aprendizado de máquina, as GANs podem se ajustar demais aos dados de treinamento (especialmente quando a diversidade de dados é baixa), o que os torna menos eficazes em dados novos e não vistos. Técnicas de regularização, aumento de dados e aumento da diversidade de conjuntos de dados podem ajudar a mitigar esse risco.
Há sempre o perigo de as GANs reproduzirem ou ampliarem vieses que estão presentes nos dados de treinamento, levando a questões de injustiça ou discriminação. Para combater isso, organizações e pesquisadores têm que priorizar vários conjuntos de dados de treinamento e, ao mesmo tempo, implementar algoritmos projetados para identificar e corrigir possíveis vieses.
A natureza de "caixa preta" das GANs pode dificultar a interpretação dos processos de tomada de decisões, o que pode ser especialmente problemático em certas aplicações confidenciais. Desenvolver métodos para rastrear, entender e explicar melhor os comportamentos das GANs é essencial para garantir a responsabilização e a confiança das suas aplicações.
Como uma tecnologia fundamental da GenAI moderna, as redes adversariais generativas demonstraram potencial significativo em diversos setores e campos, do aumento de dados e geração de dados sintéticos a aplicações mais complexas, como aprendizado não supervisionado. Essas redes oferecem perspectivas promissoras para empresas que buscam aprimorar a veracidade e a diversidade dos dados.
A Now Platform® da ServiceNow incorpora recursos avançados de IA que são ideais para dar suporte às GANs e outras iniciativas orientadas por IA. Ela oferece recursos como compreensão de linguagem natural, análise preditiva e automação inteligente, simplificando a tomada de decisões e as eficiências operacionais para que as empresas possam dedicar mais tempo e recursos ao crescimento. Além disso, a capacidade da plataforma de lidar com tarefas complexas de IA de forma segura e em escala garante que as empresas possam aproveitar todo o potencial das tecnologias de GenAI sem comprometer o desempenho ou a segurança.
Veja como a ServiceNow e a IA podem transformar seus negócios. Faça uma demonstração da ServiceNow hoje mesmo!