Melhorando a Qualidade da Imagem em Modelos de Difusão
Resolvendo problemas de barulho pra ter resultados melhores na geração de imagens.
― 7 min ler
Índice
Modelos de difusão são ferramentas usadas pra criar Imagens a partir de certos inputs. Eles ficaram populares pela capacidade de produzir uma variedade de imagens de alta qualidade. Mas, tem falhas na forma como esses modelos lidam com Ruído, o que afeta o desempenho deles.
Um grande problema é como esses modelos aplicam o ruído ao longo do tempo. Um método comum não garante que o último passo do processo tenha a remoção completa da informação da imagem original. Isso significa que, quando o modelo é treinado, ele ainda retém algumas características da imagem original. Por exemplo, o último passo deveria fornecer apenas ruído aleatório, mas devido a falhas no método, ele acaba com informações restantes que o modelo aprende a usar. Isso cria uma desconexão entre como o modelo aprende e como ele funciona quando é solicitado a criar uma imagem.
Quando testados, muitos modelos, incluindo uma versão bem conhecida chamada Stable Diffusion, têm dificuldades em criar imagens que são muito escuras ou muito claras. Em vez disso, eles tendem a produzir imagens de Brilho médio. Isso acontece mesmo quando os prompts de entrada pedem claramente por extremos, como "um fundo preto" ou "um fundo branco". Os resultados não só são insatisfatórios, mas também mostram que o modelo não consegue seguir instruções simples.
Por que isso acontece
O problema volta à forma como o ruído é adicionado às imagens durante o processo de Treinamento. O objetivo é adicionar ruído gradualmente até que a informação original não seja reconhecível. Porém, se o último passo ainda tiver alguma informação original, o modelo aprende a depender dela.
No final do processo de ruído, o modelo recebe ruído aleatório puro pela primeira vez durante o uso real. Como esse novo ruído tem um valor médio de zero, isso limita o modelo, fazendo com que ele gere imagens que ficam em torno do brilho médio, sem muita variedade.
Pra enfrentar esses desafios, sugerimos várias melhorias simples:
Ajustar o cronograma de ruído: Isso significa mudar como o ruído é adicionado pra garantir que o último passo resulte em total aleatoriedade sem informações restantes.
Treinar o modelo de forma diferente: Mudar pra um método que foque em prever o ruído diretamente em vez de tentar restaurar a imagem pode ser benéfico.
Sempre começar do último passo ao amostrar: Isso garante que o modelo opere de uma forma que se alinha com como foi treinado.
Melhorar a Orientação: Adicionar ajustes em como o modelo é guiado durante a criação de imagens pode ajudar a reduzir problemas com imagens excessivamente brilhantes.
Essas mudanças podem alinhar os processos de treinamento e criação de imagens do modelo, permitindo que ele gere saídas que refletem melhor os prompts de entrada.
O papel do ruído na criação de imagens
Pra explicar melhor, vamos olhar pra como o ruído funciona nesses modelos. O processo começa com o modelo recebendo uma imagem e adicionando ruído gradualmente, dificultando a identificação da imagem original. Isso é feito pra ensinar o modelo a remover o ruído e recuperar a imagem original durante a criação.
No entanto, se a última fase desse processo não estiver completamente cheia de ruído, isso pode confundir o modelo. Em vez de aprender a lidar com ruído aleatório, o modelo aprende a focar nas partes da imagem original que ainda estão presentes. Isso leva a um problema onde, na prática, o modelo produz imagens que não variam muito em brilho.
Melhorias propostas
Ajustando o cronograma de ruído
Uma solução é mudar como o ruído é adicionado ao longo do processo. Garantindo que o último passo contenha apenas ruído, o modelo não terá sinais restantes da imagem original pra se apoiar. Isso torna o treinamento e a produção real de imagens mais consistentes, levando a resultados que se encaixam melhor nas descrições de entrada.
Mudando o método de treinamento
Trocar pra um método de treinamento diferente, focando em prever o ruído em vez de restaurar uma imagem clara, pode ajudar a melhorar o desempenho do modelo. Isso permitiria que o modelo aprendesse a trabalhar com o ruído de uma forma que se alinha mais de perto com suas tarefas de criação de imagens.
Começando do último passo
É também essencial que, ao criar imagens, o modelo comece seu processo do último passo da adição de ruído. Quando os modelos começam a partir desse ponto, eles usam o método que foram treinados, reduzindo confusão e permitindo melhores resultados.
Reescalando a orientação
Outro problema é que o modelo pode ter dificuldades em criar imagens com um nível apropriado de detalhe ou brilho devido à orientação que recebe durante a criação. Ajustar como essa orientação é escalada pode ajudar a evitar que as imagens fiquem muito brilhantes ou percam detalhes importantes.
Os benefícios das mudanças
Implementando essas mudanças sugeridas, a capacidade do modelo de criar imagens melhora drasticamente. As imagens resultantes não são só mais vibrantes, mas também se alinham melhor com os prompts solicitados.
Quando testados, modelos que aplicaram essas correções conseguiram gerar imagens com uma gama completa de brilho como pretendido. Por exemplo, imagens que deveriam ser muito escuras ou brilhantes foram alcançadas sem dificuldade. Isso significa que os modelos agora conseguem seguir melhor prompts simples e criar imagens que atendem às expectativas dos usuários.
Comparando técnicas
Diferentes métodos podem ser usados pra selecionar níveis de ruído durante esse processo. Por exemplo, alguns métodos distribuem uniformemente os passos, enquanto outros focam em começar pelo final. As abordagens mais novas mostraram ser mais eficazes na produção de imagens atraentes com menos passos, encontrando um melhor equilíbrio entre qualidade e velocidade.
Usar métodos que garantam que o último passo de ruído seja incluído pode aprimorar a saída do modelo. Quando testados contra métodos tradicionais que não consideravam isso, as mudanças claramente levaram a melhores imagens.
Entendendo o impacto das mudanças
As mudanças não só melhoram a qualidade das imagens, mas também garantem que o modelo pode gerar uma variedade maior de imagens, permitindo uma gama mais ampla de criatividade. Os usuários agora podem fornecer prompts específicos e esperar resultados mais precisos.
Em contraste, modelos anteriores frequentemente retornavam imagens que eram muito semelhantes ou falhavam em representar adequadamente os pedidos dos usuários, especialmente quando níveis extremos de brilho estavam envolvidos.
Conclusão
Em resumo, ao abordar as falhas nos cronogramas de ruído e garantir que o modelo opere de forma consistente desde o treinamento até a criação real de imagens, podemos alcançar melhorias significativas na qualidade das imagens geradas. Ajustes simples na forma como o ruído é aplicado, assim como mudanças na orientação fornecida durante a criação de imagens, podem fazer uma enorme diferença.
Essas melhorias não só ajudam o modelo a produzir melhores imagens, mas também garantem que ele se alinhe mais de perto com as intenções dos usuários. À medida que a tecnologia continua a avançar, refinamentos adicionais nesses processos podem levar a resultados ainda mais impressionantes no mundo da geração de imagens.
Título: Common Diffusion Noise Schedules and Sample Steps are Flawed
Resumo: We discover that common diffusion noise schedules do not enforce the last timestep to have zero signal-to-noise ratio (SNR), and some implementations of diffusion samplers do not start from the last timestep. Such designs are flawed and do not reflect the fact that the model is given pure Gaussian noise at inference, creating a discrepancy between training and inference. We show that the flawed design causes real problems in existing implementations. In Stable Diffusion, it severely limits the model to only generate images with medium brightness and prevents it from generating very bright and dark samples. We propose a few simple fixes: (1) rescale the noise schedule to enforce zero terminal SNR; (2) train the model with v prediction; (3) change the sampler to always start from the last timestep; (4) rescale classifier-free guidance to prevent over-exposure. These simple changes ensure the diffusion process is congruent between training and inference and allow the model to generate samples more faithful to the original data distribution.
Autores: Shanchuan Lin, Bingchen Liu, Jiashi Li, Xiao Yang
Última atualização: 2024-01-22 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2305.08891
Fonte PDF: https://arxiv.org/pdf/2305.08891
Licença: https://creativecommons.org/licenses/by-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.