Os modelos de difusão são um uso fascinante do aprendizado profundo para simular a evolução gradual dos dados ao longo do tempo. O conceito por trás da geração usando o modelo de difusão é transformar iterativamente um ponto de dados de um ruído em uma distribuição alvo que é a distribuição de dados original. Essa transformação é realizada através de uma série de etapas discretas. O estágio de treinamento envolve difusão direta e difusão retrógrada.
No processo de difusão direta, adicionamos gradualmente ruído gaussiano aos dados para um número aleatório de intervalos de tempo 't' ('t' menor ou igual ao número total de intervalos de tempo predeterminados), resultando em uma imagem com ruído. No processo de difusão reversa, começamos com a imagem com ruído (ruído para etapas 't' na difusão direta) e treinamos um modelo UNet, que auxilia na redução do nível de ruído, prevendo o ruído adicionado à imagem original.
Para gerar novas imagens, simplesmente realizamos a difusão reversa iterativamente. Para fazer isso, primeiro amostramos o ruído de uma gaussiana padrão e prevemos e removemos o ruído gradualmente ao longo do número predeterminado de intervalos de tempo, o que resulta na produção de uma imagem que se assemelha à distribuição original dos dados.