Minha IBM Efetue login Inscreva-se

O que são modelos de difusão (diffusion models)?

 21 de agosto de 2024 

Autores

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

O que são modelos de difusão (diffusion models)?

Modelos de difusão são um tipo de rede neural de deep learning utilizados principalmente para a geração de imagens e tarefas de visão computacional. Eles aprendem a adicionar ruído a uma imagem, e aprendem posteriormente a reverter esse processo para reconstruir uma imagem limpa.

Os modelos de difusão estão entre as arquiteturas de redes neurais na vanguarda da IA generativa, representadas principalmente por modelos populares de conversão de texto em imagem, incluindo o Stable Diffusion da Stability AI, o DALL-E da OpenAI (começando com o DALL-E-2), o Midjourney e o Imagen do Google .

Eles melhoram o desempenho e a estabilidade de outras arquiteturas de aprendizado de máquina usadas para síntese de imagens, como autocodificadores variacionais (VAEs), redes adversárias generativas (GANs) e modelos autorregressivos, como o PixelCNN.

A intuição por trás dos modelos de difusão é inspirada na física, tratando os pixels como as moléculas de uma gota de tinta se espalhando em um copo de água ao longo do tempo.

Assim como o movimento aleatório das moléculas de tinta acabará por levar à sua dispersão uniforme no vidro, a introdução aleatória de ruído em uma imagem acabará resultando no que parece ser estática de TV. Ao modelar esse processo de difusão e, em seguida, aprender de alguma forma a revertê-lo, um modelo de inteligência artificial pode gerar novas imagens simplesmente “reduzindo o ruído” de amostras de ruído aleatório.

Os modelos de difusão são de forma mais proeminente associados à geração de imagens e outras tarefas de processamento de imagens, como pintura e superresolução, mas suas aplicações se estendem a outros domínios, incluindo geração de áudio, projeto de medicamentos e geração de moléculas. Para simplificar, este artigo se concentrará na geração de imagens.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

História e teoria dos modelos de difusão

Para explicar e entender os modelos de difusão, é importante primeiro observar que o processo generativo agora chamado de "difusão" foi descoberto de forma independente em duas ocasiões diversas por meio de duas abordagens matemáticas distintas.

Resumindo, existem várias maneiras pelas quais os modelos de difusão, que são conceitualmente simples, mas matematicamente complexos, podem "funcionar".

Desenvolvimentos subsequentes emprestaram ideias de ambas as abordagens, combinando as vantagens de cada uma para, eventualmente, produzir os modelos de difusão modernos que atualmente dominam o campo da geração de imagens. Uma breve revisão da história e da teoria dos modelos de difusão facilita, portanto, a compreensão não apenas de como os modelos de difusão funcionam, mas por que funcionam.

Modelos de deep learning inspirados na termodinâmica

Os modelos de difusão inspirados na física foram introduzidos pela primeira vez por Sohl-Dickstein et al em seu artigo de 2015, "Deep Unsupervised Learning using Nonequilibrium Thermodynamics". O algoritmo aplicou a dinâmica de Langevin , método para modelar o movimento de sistemas moleculares, para sustentar a premissa básica dos modelos de difusão: transforme dados em ruído, para que você possa transformar ruído em dados.

Nota sobre funções de densidade de probabilidade

Como a maioria dos modelos generativos, como autoencoders variacionais (VAEs), o algoritmo de Sohl-Dickstein modelou a densidade de probabilidade: a probabilidade relativa de uma variável amostrada aleatoriamente, x, cair dentro de um determinado intervalo de valores.

Essencialmente, modelar uma função de densidade de probabilidade para um conjunto de dados de treinamento permite que um algoritmo gere amostras com alta probabilidade de se ajustarem à distribuição de dados de treinamento. Ao gerar uma nova imagem, o modelo assume uma alta probabilidade de valores de pixel serem distribuídos dessa maneira específica, com base na distribuição de probabilidade que ele aprendeu a partir de padrões em dados de treinamento.

Logicamente falando, as funções de densidade de probabilidade exigem que a probabilidade de todas as possibilidades somem 1. Em outras palavras, a chance percentual de todas as possibilidades deve somar exatamente 100%. Na prática, isso geralmente exige uma constante de normalização: um valor incorporado a uma função de probabilidade que reduz a probabilidade total a 1.

Calcular uma constante de normalização que funcione para todos os valores de variável possíveis é frequentemente intratável: tecnicamente solucionável, mas exigindo tempo infinito para calcular. Nesses casos, os modelos baseados em probabilidade devem ser restritos a arquiteturas de modelo específicas ou desenvolver soluções alternativas inteligentes que se aproximem da constante de normalização de uma forma tratável.

Modelos generativos baseados em pontuação

Independentemente do trabalho de Sohl-Dickstein, Yang Song e Stefano Ermon desenvolveram um tipo de modelo baseado em energia chamado rede de pontuação condicional de ruído no artigo de 2019, "Generative Modeling by Estimating Gradients of the Data Distribution." O algoritmo deles modelou o gradiente(∇x) do logaritmo (Log) da função de densidade de probabilidade p(X). O gradiente da função de densidade de probabilidade logarítmica, escrito como Xlogp(X)é chamado de pontuação de Stein ou simplesmente de "função de pontuação"."

Ao contrário das funções convencionais de densidade de probabilidade, as funções de pontuação não exigem uma constante de normalização porque não modelam diretamente a densidade de probabilidade (e, portanto, não precisam normalizar a probabilidade total para 1). Em vez disso, elas são treinadas por meio da correspondência de pontuação: parâmetros do modelo de aprendizado, θ, que produz um modelo pθ(x) cuja pontuação — em outras palavras, seu gradiente — corresponde à da distribuição de dados q(x) dos dados de treinamento.

Outro benefício desses modelos generativos baseados em pontuação (SGMs) é que, diferentemente dos modelos baseados em verossimilhança, eles não impõem muitas restrições à arquitetura do modelo de pθ (x).

Explorando maneiras de melhorar o desempenho de seu modelo, Song e Ermon coincidentemente chegaram às mesmas técnicas empregadas por Sohl-Dickstein et al. Seu artigo observou que "perturbar dados com ruído gaussiano aleatório torna a distribuição de dados mais receptiva à modelagem generativa baseada em pontuação". O modelo deles, construído usando a arquitetura U-Net, originalmente desenvolvida para segmentação de imagens, da mesma forma aplicou a dinâmica de Langevin para gerar amostras.

Modelos probabilísticos de difusão de redução de ruído (DDPMs)

Em 2020, Ho et al propuseram a utilização da abordagem de Sohl-Dickstein para gerar imagens de alta qualidade usando inferência variacional em seu artigo seminal, "Denoising diffusion probabilistic models" (DDPMs). O artigo mostrou que a maximização do limite inferior de evidência (ELBO), uma forma de reescrever problemas de otimização baseados em probabilidade para serem tratáveis, para treinar modelos de difusão é essencialmente equivalente à combinação de objetivos de correspondência de pontuação utilizados para treinar SGMs.

Implementando a abordagem de Sohl-Dickstein usando correspondência de pontuações, Ho et al demonstraram que modelos probabilísticos de difusão podem alcançar qualidade de imagem competitiva com GANs, que na época eram de última geração. Essas conexões foram exploradas ainda mais por Song, Ermon, Sohl-Dickstein e outros (incluindo Diederik P. Kingma, criador do VAE) em seu artigo de 2021, "Score-Based Generative Modeling through Stochastic Diferencial Equations".

Posteriormente naquele ano, Dhariwal e Nichol, aproveitando insights do artigo mencionado anteriormente, publicaram “Diffusion Models Beat GANs on Image Synthesis”, estabelecendo firmemente os modelos de difusão como os mais avançados existentes.

Os DDPMs, em vez dos SGMs, geralmente continuam sendo o modo dominante de modelos de difusão, embora com melhorias introduzidas por meio de pesquisas subsequentes. Por exemplo, o influente artigo de 2022 “High-Resolution Image Synthesis with Latent Diffusion Models” marcou avanços importantes em eficiência e relação custo/benefício.

Mistura de Especialistas | Podcast

Decodificando a IA: resumo semanal das notícias

Junte-se a nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Como os modelos de difusão funcionam?

No treinamento, os modelos de difusão difundem gradualmente um ponto de dados com ruído aleatório, passo a passo, até que seja destruído, então aprendem a reverter esse processo de difusão e reconstruir a distribuição de dados original.

Um modelo de difusão treinado pode então gerar novos pontos de dados que se assemelham aos dados de treinamento, bastando eliminar o ruído de uma amostra inicial aleatória de ruído puro. Conceitualmente, isso é semelhante a um autocodificador de redução de ruído, no qual as imagens ruidosas atuam como variáveis latentes.

Transformar diretamente o ruído aleatório em uma imagem coerente é extremamente difícil e complexo, mas transformar uma imagem ruidosa em uma imagem um pouco menos ruidosa é relativamente fácil e simples. Portanto os modelos de difusão formulam o processo de difusão reversa como uma transformação incremental, passo a passo, de uma distribuição simples (como o ruído gaussiano) para uma distribuição mais complexa (como uma imagem coerente).

O processo de treinamento e, em seguida, a implementação de uma difusão pode ser dividido em três estágios principais:

  • O processo de difusão para a frente, em que uma imagem do conjunto de dados de treinamento é transformada em ruído puro, geralmente uma distribuição gaussiana.

  • O processo de difusão reversa, em que o modelo aprende o inverso de cada etapa anterior no processo de difusão original para a frente.

  • Geração de imagens, em que o modelo treinado coleta amostras de uma distribuição aleatória de ruído e as transforma em uma produção de alta qualidade usando o processo de difusão reversa, no qual ele aprendeu a eliminar o ruído de uma amostra aleatória de ruído gaussiano.

Processo de difusão para a frente

O objetivo do processo de difusão para a frente é transformar dados limpos do conjunto de dados de treinamento, como uma imagem ou amostra de áudio, em ruído puro. O método mais comum envolve a injeção iterativa de ruído gaussiano até que toda a distribuição de dados seja gaussiana.

Em termos matemáticos, esse processo passo a passo é formulado como uma cadeia de Markov: um tipo de processo estocástico, um processo aleatório que segue certas regras probabilísticas, para modelar dados sequenciais de séries temporais.

Em uma cadeia de Markov, o resultado em cada etapa de tempo é influenciado apenas pela etapa de tempo imediatamente anterior a ela. Simplificando: xt, o estado da cadeia de Markov x na etapa de tempo t, é diretamente influenciado apenas por xt-1. A função matemática que define a transição de qualquer xt para xt+1 é chamada de kernel de transição.

Em cada etapa de tempo t, uma pequena quantidade de ruído gaussiano é adicionada a xt-1 e a imagem é, então, redimensionada, para manter um tamanho de imagem constante, apesar da injeção contínua de pixels aleatórios. Nessa formulação, x0 é o ponto de dados limpos original; x1 é o ponto de dados após a primeira etapa de tempo, com uma pequena quantidade de ruído gaussiano adicionado a ele; xT é o estado final do processo de difusão para a frente. Se T for grande o suficiente (ou seja, após etapas suficientes), xT convergirá para ruído gaussiano puro.

Definimos cada etapa para a frente como q(Xt|Xt-1):prever o estado da distribuição de dados q (xt), dado q(xt-1). Em um DDPM padrão, esse processo para a frente não envolve nenhum aprendizado de máquina: o resultado final da cadeia de Markov será sempre uma distribuição gaussiana e, portanto, não requer otimização.

Adição de ruído

Em um DDPM, o ruído gaussiano adicionado em cada etapa na cadeia de Markov não é constante nem arbitrário. Em vez disso, o ruído é derivado da estrutura da imagem original, e a taxa na qual ele é adicionado aumenta constantemente a cada etapa consecutiva.

Variar a quantidade de ruído melhora a estabilidade do treinamento do modelo e melhora o desempenho geral, ao equilibrar duas prioridades concorrentes. Conforme observado por Yang Song na postagem no seu blog sobre modelos generativos baseados em pontuação:

  • Um ruído maior melhora a capacidade do modelo de aprender com precisão em regiões de "baixa densidade" de dados de treinamento (categorias e conceitos visuais que têm menos representação nos dados de treinamento) ao preencher essas regiões com dados ruidosos. Mas também pode corromper dados em excesso, reduzindo a precisão geral.

  • Um ruído menor causa menos corrupção da distribuição de dados original, mas produz um desempenho ruim em regiões de baixa densidade.

  • Portanto, para alcançar o melhor dos dois mundos, os modelos de difusão usam várias escalas de ruído no treinamento.

Lembre-se de que qualquer distribuição gaussiana (normal) tem uma média, μ , e uma variância, Σ . Outro parâmetro, β, serve como um fator de escala para a média e variância do ruído gaussiano no kernel de transição que define cada etapa na cadeia de Markov para a frente. Alterar o valor de β em uma determinada etapa resulta na alteração do ruído gaussiano adicionado nessa etapa. β1 é a variância na etapa de tempo 1; βt é a variância na etapa de tempo t e assim por diante, até βT.

O valor da taxa de β em cada etapa é, por sua vez, determinado pela tabela de variâncias.

Tabela de variâncias

Em cada etapa t, a imagem é ligeiramente deslocada de sua iteração na etapa anterior (pela média), e é adicionado ruído a essa versão deslocada da imagem (de acordo com a variância). A magnitude de cada deslocamento e a adição de ruído são determinadas pelo valor de βt: à medida que  βt  aumenta de acordo com a tabela de variâncias, a taxa de difusão aumenta constantemente como resultado. β é sempre um valor entre 0 e 1: portanto, 0 < β1 < β2 < … < βT < 1.

Escolher uma tabela de variâncias específica para β é uma consideração importante. Geralmente é definida manualmente como um hiperparâmetro, seja fixado a um valor constante ou procedendo de acordo com alguma fórmula com um valor inicial e final predeterminados para β. No artigo do DDPM, Ho et al usaram uma tabela linear com 1.000 etapas em que β1 = 10-4 e βT = 0,02. Pesquisas posteriores encontraram melhorias no desempenho e eficiência com outros tipos de cronogramas, como um cronograma de cosseno[1], ou tornando o próprio cronograma mais um parâmetro aprendido.[2]

O valor de βt determina a média e a variância do ruído gaussiano adicionado na etapa t.

  • A média μ do ruído gaussiano adicionado na etapa de tempo t, μt, é calculada como μt=(1-βt)Xt-1. Em linguagem simples, a média do ruído adicionado em cada etapa t é simplesmente uma versão em escala da imagem da etapa anterior, xt-1. O tamanho de βt determina o quanto essa média se desvia da etapa anterior: quando βt é muito pequeno, esse deslocamento é muito pequeno, pois (1-βt)(1-0)1— e o ruído adicionado, assim, se assemelharão muito à imagem original. À medida que o valor de βt aumenta, esse deslocamento se torna mais significativo.

  • A variância do ruído gaussiano adicionado na etapa de tempo t é calculada como Σt=βtI, onde I é a matriz identidade. Um βt maior resulta em mais ruído. Um βt muito pequeno resulta em ruído insignificante.

Resumindo, em cada etapa t, a imagem é ligeiramente deslocada de sua iteração na etapa anterior (de acordo com a média), e o ruído é adicionado a essa versão deslocada da imagem (de acordo com a variância). A magnitude de cada deslocamento e a adição de ruído são determinadas pelo valor de βt: à medida que βt aumenta de acordo com a tabela de variâncias, a taxa de difusão aumenta constantemente como resultado.

Como a adição de ruído gaussiano começa gradualmente, e o ruído em si é sempre derivado da estrutura essencial da imagem original na etapa anterior, as qualidades essenciais da imagem original são retidas por muitas etapas. Isso permite que o modelo aprenda de forma significativa os padrões e a estrutura da distribuição de dados original durante o processo de difusão reversa.

O truque da reparametrização

Uma falha desse processo passo a passo é que ele é complicado e computacionalmente caro: para cada imagem em um conjunto de dados de treinamento que pode conter milhares ou milhões de imagens, o processo para a frente exigiria dezenas ou centenas de etapas individuais.

Em vez de adicionar ruído repetidamente, a fórmula para o processo para a frente pode ser reescrita de forma inteligente, reparametrizando a expressão de  1βt como um novo parâmetro,  αt. Por meio de uma "propriedade agradável" das cadeias de Markov, esse novo parâmetro pode ser estendido ainda mais para um parâmetro adicional, α¯t, derivado da multiplicação iterativa de αt em cada etapa progressiva da cadeia até aquele ponto. Este parâmetro adicional reflete essencialmente a relação sinal/ruído (SNR) de xt: em outras palavras, quanto da imagem original permanece na etapa de tempo t.

Por exemplo, em x1, uma pequena quantidade de ruído foi adicionada uma vez. O valor de α¯t é próximo de 1, o que significa que a imagem ainda retém a maior parte do seu "sinal" original. Em uma etapa posterior, como x50, o ruído foi adicionado muitas vezes. Porque αt=1βt, o valor de αt é sempre menor que 1. Desde α¯50=α1α2...α49α50, o valor de α¯t na etapa 50 estará muito mais próximo de 0, o que significa que uma maior parte da imagem original foi substituída por ruído. Na etapa de tempo T, xT é totalmente ruído e o valor de α¯t se aproxima de 0.

Embora a derivação complexa da equação esteja além do escopo deste artigo, há duas conclusões importantes para entender a importância desse truque de reparametrização:

  • O estado de x em qualquer etapa de tempo t agora pode ser definido como Xt=α¯tX0+1-α¯tε0, onde ε0 é o ruído adicionado na primeira etapa. Como o valor de α¯t diminui a cada etapa, a influência de x0 diminui, e a influência de ε0 aumenta.

  • Porque α¯t é derivado de 1βt e o valor de βt é determinado pela tabela de variâncias; reescrever a fórmula dessa forma permite o cálculo direto de xt em qualquer etapa de tempo t sem ter que passar por todo o processo passo a passo para a frente.

Processo de difusão reversa

Nos modelos de difusão, o processo de difusão reversa é onde ocorre o aprendizado de máquina real. Ao aprender a executar a reversão das etapas de ruído do processo para a frente, o modelo está essencialmente aprendendo a reduzir o ruído gaussiano puro em uma imagem limpa. Uma vez que a rede neural tenha sido treinada, essa capacidade pode ser usada para gerar novas imagens a partir do ruído gaussiano por meio de difusão reversa passo a passo.

Em teoria, a tarefa do modelo pode ser considerada o simples reverso da difusão para a frente. O processo para a frente, começando com o ponto de dados x0 amostrado da distribuição real de dados q(x) do conjunto de dados de treinamento, é definido como q(Xt|Xt-1): isto é, dado q(Xt-1), calcular  q(Xt). Seu oposto, difusão reversa, seria definido como q(Xt-1|Xt). Mas, na prática, a computação q(Xt-1|Xt) é intratável.

Em vez disso, a tarefa de treinamento é formulada por meio de duas soluções alternativas:

  • Conforme descrito anteriormente, q(x) é aproximado com uma rede neural pθ(x) que constitui o próprio modelo de difusão real. O objetivo do treinamento é aprender os parâmetros do modelo θ que fazem com que a produção de pθXt-1|Xt ), corresponda à produção de qXt-1|Xt ).

  • Esse modelo, pθ(x), não prevê diretamente Xt-1, nem mesmo o ruído específico adicionado entre xt-1 e xt. Em vez disso, prevê todo o ruído presente in xt, em seguida, remove uma fração desse ruído (com base no estado da tabela de variâncias nessa etapa) para chegar a xt-1. O artigo original do DDPM simplificou ainda mais esse processo, estimando apenas a média do ruído gaussiano, embora modelos posteriores também prevejam a variância.

Lembre-se novamente de que a média do ruído gaussiano adicionado na difusão para a frente não é arbitrária: embora seja de fato aleatória, a estrutura do ruído é inicialmente derivada da estrutura da imagem original x0. Portanto, ao aprender a prever com precisão o ruído por meio da difusão reversa, o modelo não apenas aprende a reduzir o ruído da imagem, mas também aprende implicitamente a estrutura de x0.

Função de perda para treinamento de modelos de difusão

O objetivo de treinamento específico utilizado em modelos de difusão está intimamente relacionado ao termo de perda de reconstrução utilizado para otimizar autocodificadores variacionais (VAEs). Assim como os VAEs, os modelos de difusão são otimizados maximizando o limite inferior variacional (VLB), também chamado de limite inferior de evidência (ELBO), de uma combinação de vários termos de perda.

A maximização do VLB é usada na inferência variacional para aproximar a função de pontuação intratável Xlog(p(X)): em vez de minimizar diretamente o erro, reformula a equação como maximizando a estimativa mínima (ou limite inferior) da precisão das previsões do modelo.

Os termos de perda usados refletem a divergência de Kullback-Leibler (ou "divergência KL", geralmente denotada como DKL) entre os resultados das etapas de difusão para a frente de q e as etapas reversas previstas por pθ. A divergência KL é usada para medir a diferença entre duas distribuições de probabilidade — por exemplo, entre a distribuição dos valores de pixels em uma imagem e a distribuição dos valores de pixels em outra.

Especificamente, a função de perda para modelos de difusão combina três termos de perda: LT, Lt e L0.

  •  LT reflete a divergência KL entre q(XT|X0) e pθ(xT). Em outras palavras, a diferença entre o resultado final totalmente ruidoso do processo para a frente q e o ponto de partida do processo reverso. Esse termo geralmente pode ser ignorado, pois xT é gaussiano e q não tem parâmetros que possam ser aprendidos.

  • Lt reflete a divergência KL entre q(Xt-1|Xt,X0) e pθ(Xt-1|Xt) em cada etapa. Em outras palavras, a precisão de cada uma das previsões de redução de ruído de pθ durante a difusão reversa, em comparação com cada etapa de ruídocorrespondente durante o processo de difusão para a frente da imagem original, x 0.

  • L0 medidas -logpθ(X0|X1). Em outras palavras, L0 reflete a probabilidade logarítmica negativa da previsão do modelo da imagem totalmente sem ruído x0. O gradiente de L0 é o termo de correspondência de pontuação descrito anteriormente no artigo. O termo de perda é negativo, de modo que minimizar a função de perda se torna o equivalente a maximizar a probabilidade das previsões do modelo.

Embora sua derivação matemática complexa esteja além do escopo deste artigo, o VLB pode ser simplificado para o erro médio quadrático (MSE) entre o ruído previsto pelo modelo, εθ e o verdadeiro ruído adicionado no processo para a frente, ε, em cada etapa de tempo. Isso explica por que a produção do modelo é uma previsão de ruído em cada etapa, em vez da própria imagem sem ruído.

Calculando o gradiente da função de perda durante a retropropagação e, em seguida, ajustando os pesos do modelo para minimizar a função de perda por meio do gradiente descendente, as previsões do modelo em todo o conjunto de dados de treinamento se tornarão mais precisas.

Geração de imagens com modelos de difusão

Depois que o modelo de difusão tiver aprendido a estimar com precisão o ruído a ser subtraído em cada etapa, ele poderá ser usado para gerar novas imagens por amostragem a partir de uma imagem ruidosa aleatória xT da distribuição de dados que aprendeu e eliminando-a por T etapas. Semelhante aos VAEs, introduzir um pequeno elemento de aleatoriedade no processo de amostragem permite que os modelos de difusão produzam novas imagens que se assemelham aos dados de treinamento, em vez de reproduzir diretamente as imagens de treinamento.

Ao contrário do processo de treinamento de difusão reversa, a quantidade de etapas no processo de geração não precisa corresponder à quantidade de etapas usadas no processo para a frente. Isso é possível porque o modelo é treinado para prever todo o ruído em cada etapa da imagem, em vez da quantidade específica de ruído a ser removida nessa etapa.

Menos etapas implicam maior velocidade e menores demandas computacionais, com uma possível compensação em detalhes finos; mais etapas normalmente melhoram a precisão, embora ao custo de diminuição da velocidade e aumento dos custos computacionais.

Modelos de difusão guiada

Enquanto um modelo de difusão padrão pode produzir variações de alta qualidade de imagens de treinamento de forma aleatória, a maioria dos usos práticos de um modelo de geração de imagens exige algum controle sobre a saída do modelo. Os modelos de difusão guiada permitem que um usuário condicione as imagens geradas com uma orientação específica.

A forma mais comum de modelo de difusão guiada é um modelo de difusão de texto para imagem que permite aos usuários condicionar a produção com um prompt de texto, como "uma girafa usando uma cartola". Isso envolve o emparelhamento de um modelo de difusão com um grande modelo de linguagem (LLM) separado para interpretar o prompt de texto, introduzido pela primeira vez pelo Google no artigo "Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding".

Os modelos de difusão Standard visam prever a função de pontuação incondicional ∇xlogp(x): em outras palavras, o gradiente do logaritmo da probabilidade de que a imagem gerada pelo modelo p se ajuste aos dados de treinamento x. Os modelos de difusão guiada introduzem uma categoria visual específica, y—por exemplo, “girafa”—e preveem a função de pontuação condicional ∇xlogp(x|y): em outras palavras, a probabilidade da imagem x, dado que ela deve se enquadrar na categoria y.

Os métodos de difusão guiada podem ser separados em duas categories:

  • A difusão baseada em classificador necessita de um modelo de classificador separado para aprender incorporações vetoriais para cada categoria para a qual o modelo de difusão será treinado para produzir recursos visuais. Essa incorporação vetorial é então utilizada para condicionar a saída em cada passo t. O modelo de difusão não exige treinamento extra, mas só poderá condicionar os resultados das categories específicas aprendidas pelo classificador.

  • A orientação livre de classificadores não exige um modelo separado, mas exige um modelo de difusão em dois estágios para ser treinado especificamente para orientação condicional. Isso normalmente envolve um modelo de dois estágios: no primeiro estágio, um algoritmo de incorporação como o CLIP  gera um de incorporação para o prompt. No segundo estágio, um modelo de difusão utiliza essa incorporação para condicionar sua produção. Apesar da sobrecarga de treinamento extra, isso tem o benefício de permitir a orientação zero-shot para categorias de imagens não vistas.

Modelos de difusão latente

Apesar de sua capacidade de ponta de gerar imagens de alta qualidade, os modelos de difusão convencionais têm duas desvantagens importantes: são lentos e computacionalmente caros.

Essas desvantagens foram muito reduzidas pelo advento dos modelos de difusão latente, começando pelo Stable Diffusion.

A premissa por trás dos modelos de difusão latente é simples, baseando-se mais uma vez na conexão com autocodificadores variacionais (VAEs). Em vez de aplicar o processo de difusão em um espaço de pixelsde alta dimensão (ou seja, diretamente nas imagens de input), o modelo pode primeiro projetar o input para o espaço latentede menor dimensão e, em seguida, aplicar o processo de difusão lá.

Em essência, os modelos de difusão latente empregam uma arquitetura de autocodificador semelhante ao VAE para treinar um codificador para produzir representações latentes z dos dados de input x. Essas representações latentes são então usadas como input para um modelo de difusão padrão, normalmente usando a arquitetura U-Net. Como o modelo de difusão está trabalhando com dados de menor dimensão, sua produção é então alimentada em uma rede de decodificadores para aumentar a amostragem até o tamanho final da imagem desejado.

Soluções relacionadas

Soluções relacionadas

IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Serviços de IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

OBSERVAÇÃO: todos os links são externos a ibm.com.

[1] "Improved Denoising Diffusion Probabilistic Models", arXiv, 18 de fevereiro de 2021
[2] "Variational Diffusion Models", arXiv, revisado pela última vez em 14 de abril de 2023