首页 > 其他分享 >Diffusion Model

Diffusion Model

时间:2023-05-25 11:35:26浏览次数:40  
标签:Diffusion 生成 Model pixel 输入 图片

1. 概述

图像生成任务:给定一段文字,模型根据文字描述产生图片

image-20230525094930332

1.1 图像生成方式

  • 一次生成一个pixel

    像Transformer接龙那样,一次生成一个pixel,然后作为下一个pixel的输入,这样依次生成一张图像的所有pixel

  • 一次生成整张图片的所有pixel

    每一个pixel独立绘制,但存在四不像的问题,每个pixel(或者每个局部的一组pixel)都有自己的想法

    左上角的一片pixel想要生成哈士奇

    右上角的一片pixel想要生成柯基

    左下角的一片pixel想要生成边牧

    右下角的一片pixel想要生成金毛

    最后生成的图片就是四不像

    image-20230525110428907

1.2 解决四不像问题

对于图像生成模型,添加一个输入,保证一次生成全部的pixel目标统一,劲往一处使

添加的这个输入就是从一个分布(正太分布)中,采样出来的一个多维向量,模型要学会将分布中的采样出来的每一个向量对应到一个具体的图像

image-20230525110845733

常用的图像生成模型有

  • VAE,Variational Auto-encoder
  • Flow-based Generative Model
  • Diffusion Model
  • GAN,Generative Adversarial Network

2. Diffusion Model

arxiv:2006.11239

2.1 预测过程

对于Diffusion Model,给定文字输入,从某一分布(高斯分布)中采样一个高维向量作为输入,经过多次降噪操作,生成可识别的图片

image-20230525111742927

2.2 训练过程

Denoise模块内部结构如下

image-20230525094539028
  • input

    当前步数、当前步待降噪的图片(后面会将text也作为输入)

  • noise predictor

    预测当前步的噪音,输入图片除去预测噪音产生输出降噪后的图片

  • output

    降噪后的图片

如何训练noise predictor

在给图片加噪音的过程中,就已经产生noise predictor的训练数据了

以第2步加噪音的操作为例,步数2加完噪音的图片作为输入,我们想要noise predictor的输出是第2步加的噪音是什么,而这个噪音图我们是知道的,作为ground truth

image-20230525095839101

对模型加上文字输入后的的表示如下

image-20230525100909906

3. Stable Diffusion

整体结构

image-20230525101013835

预测过程,如上图所示

训练过程

3.1 Text Encoder

将输入的文字转换成向量,可以理解为让通过Encoder将文字转化为语义信息,参考Transformer中Encoder的理解,Text Encoder生成向量的质量直接影响了生成图片的质量。对于图像生成模型有2个衡量标准FIDCLIP

FID

  • 将图片送入CNN进行特征的提取,最后得到一个代表图像特征的向量(或特征图)

  • 对生成图片和真实图片求特征图

  • 求两个高斯分布之间的距离FID,越小代表生成的图片和真实图片越相近

image-20230525102159241

CLIP

  • 输入文字送入Text Encoder产生一个向量
  • 将生成的图像送入Image Encoder产生一个向量
  • CLIP代表输入文字和生成图片的对应关系,值越大越好
image-20230525102903826

3.2 Generation Model

Generation Model的任务是根据输入的语义向量产生中间产物,可以使用Diffusion Model变化版

Diffusion Model输出是图片,而Generation Model输出是中间产物,因此只是处理的对象发生了变化,基本原理是不变的,下图上半部分是Diffusion Model加噪音的处理过程,下半部分是Generation Model加噪音的处理过程

image-20230525103709663

加噪音的过程产生了训练noise predictor的训练数据,可以对其进行训练,下图表示了noise predictor的训练数据

image-20230525104116331

Generation Model生成中间产物的过程如下

image-20230525104247331

3.3 Decoder

Decoder的任务是将Generation Model生成的中间产物(人眼不可识别)转化为可识别的图片。

要训练Decoder就需要(中间产物,可识别图片)这样的数据集,采用的做法是引入一个Encoder,输入的真实图片,输出中间产物,这样就产生了训练Decoder的数据集,进而可以对Decoder进行训练

image-20230525103458389

参考:李宏毅2023机器学习课程

标签:Diffusion,生成,Model,pixel,输入,图片
From: https://www.cnblogs.com/dctwan/p/17430640.html

相关文章

  • 论文解析 -- A Survey of Large Language Models
     什么是语言模型?生成式,完成语言接龙或填空Technically,languagemodeling(LM)isoneofthemajorapproachestoadvancinglanguageintelligenceofmachines.Ingeneral,LMaimstomodelthegenerativelikelihoodofwordsequences,soastopredictthepro......
  • .Net使用第三方onnx或ModelBuilder轻松接入AI模型
    ML.Net - 开源的跨平台机器学习框架支持CPU/GPU训练轻松简洁的预测代码可扩展其他的机器学习平台跨平台1.使用Visual Studio的Model Builder训练和使用模型Visual Studio默认安装了Model Builder插件,可以很快地进行一些通用模型类型的训练和部署,提高接入机器学......
  • R语言如何做马尔可夫转换模型markov switching model|附代码数据
    全文链接:http://tecdat.cn/?p=6962最近我们被客户要求撰写关于马尔可夫转换模型的研究报告,包括一些图形和统计输出。假设有时间序列数据,如下所示。经验表明,目标变量y似乎与解释变量x有关。然而,乍一看,y在水平中间波动,所以它似乎并不总是有稳定的关系(背后有多个状态)上面的样本......
  • Paper Reading: forgeNet a graph deep neural network model using tree-based ensem
    目录研究动机文章贡献本文方法图嵌入深度前馈网络forgeNet特征重要性评估具体实现模拟实验合成数据生成实验评估实验结果真实数据应用BRCA数据集microRNA数据Healthyhumanmetabolomics数据集优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重......
  • AGIEval: A Human-Centric Benchmark for Evaluating Foundation Models
    AbstractEvaluatingthegeneralabilitiesoffoundationmodelstotacklehuman-leveltasksisavitalaspectoftheirdevelopmentandapplicationinthepursuitofArtificialGeneralIntelligence(AGI).Traditionalbenchmarks,whichrelyonartificialdat......
  • CVPR 2023 | Collaborative Diffusion 怎样让不同的扩散模型合作?
    前言 CVPR2023有哪些亮点?CollaborativeDiffusion提供了一种简单有效的方法来实现不同扩散模型之间的合作。本文转载自我爱计算机视觉作者|HuangZiqi仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV......
  • Combining Label Propagation and Simple Models Out-performs Graph Neural Networks
    目录概符号说明C&S代码HuangQ.,HeH.,SinghA.,LimS.andBensonA.R.Combininglabelpropagationandsimplemodelsout-performsgraphneuralnetworks.ICLR,2021.概将预测概率作为信号进行传播.符号说明\(G=(V,E)\),图;\(|V|=n\);\(X\in\mathbb{R}......
  • 本地Stable Diffusion AI 绘画 (四)
    本地StableDiffusionAI绘画(四)前面讲过了如何把StableDiffusion本地化,自己搭建自己的本地AI绘画。0基础绘画小白,今天就给大家画一种现实美女风。今天出几张美女写真集,嘿嘿。那么我们就按照这个风格格调,来出几张类似风格的图。Lora:<lora:cuteGirlMix4_v10:1>,Embeddin......
  • Django Model 定义语法
    简单用法fromdjango.dbimportmodelsclassPerson(models.Model):first_name=models.CharField(max_length=30)last_name=models.CharField(max_length=30)fromdjango.dbimportmodelsclassPerson(models.Model):first_name=models.CharField(max_......
  • 本地Stable Diffusion AI 绘画 (三)
    本地StableDiffusionAI绘画(三)前面讲过了如何把StableDiffusion本地化,自己搭建自己的本地AI绘画。0基础绘画小白,今天就给大家画一种漫画写实风。在画绘画漫画写实风之前,我们先了解一下什么是漫画写实风,简单的做一个科普:写实通常被定义为现实主义手法,不仅仅局限于画风上......