首页 > 其他分享 >李宏毅Diffusion课程

李宏毅Diffusion课程

时间:2024-03-07 20:12:04浏览次数:28  
标签:Diffusion 训练 李宏毅 生成 课程 Decoder Model 图片

 

“雕像其实本来就已经在大理石里面,我只是把不要的部分拿掉”:米开朗琪罗

 Denoise Model除了要输入 要被输入的那张图片,还要输入这是第几张图片。(即Noise严重的程度)

Denoise Model内部实际上是在干什么呢:

 

1、Denoise Preidcter除了吃要还原的图片,还要吃一个步骤的数字。 输出一张噪声的图片,即预测出在这张图片中噪声应该长成什么样子。

2、使用要还原的图片,减去预测出来的噪声,得到Denoise后的图片。Noise Predicter学习的是噪声。(学习这张图片中的噪声是比较简单的。直接端到端,学习加噪之后的猫,其实是非常困难的)

如何训练一个Noise Predictor

从database 中取一张图片,自己加噪音进去,从Random 噪声中选择采用一组噪音出来加进去。

 

 这样加噪之后,你就有Noise Predictor的训练资料了。

 

 文生图

 

文生图,在denoise的步骤中 每一步增加一个输入。

 训练过程

 DDPM的algorithm。

 

 

Stable diffusion

 

 三个比较重要的model 对于 文生图

1、Text Encoder  (一个比较好的文本嵌入)

2、Generation Model   (一个比较好的,中间生成模型, 生成压缩后的版本)

3、Decoder   (一个比较好的Decoder,从输出的图片的压缩版本,还原回图片)

通常来说 这三个Model是分开训练,然后组合起来的

 

先有一个Encode去处理输入的东西,右侧部分。

 

 

 DALL-E 系列 Generation Model 可以考虑使用AR模型或者Diffusion模型

 Imagen系列的模型,generation model 部分会产生一个人可以辨识的小图,在Decoder的模块,再过一层Diffusion Model去生成最后的图片。

 

 Stable diffusion

 文字Encoder

 FID越小 生成的效果越好。CLIP Score 越大越好。总之 越往右下角越好。随着使用的Encoder越来越大,他生成的效果越来越好。

文字的Encoder对于生成结果的影响 非常的大。

U-Net大小 指的是Noise Predicter模型的大小。按图说明,增加Diffusion model对于结果影响不大。

 

 

 

上面这个CNN是Pre-Train过的,

上面蓝色的点,代表生成的图片经过CNN  model之后所产生的representation.红色的点,代表真实图片经过CNN model之后所产生的representation,

这两个representation相隔的越接近,说明生成的影像和原始的影像越接近。

这两个representation 离得越远,说明生成的影像和原始影像隔得越远。

怎么看两组representation 之间的距离呢。

使用了比较粗暴的方法:

假设这两组distribution 都是高斯distribution, 就是算这两个Gaussian distribution 的distance.

做法看起来很粗糙 但是Imagen仍然使用的是FID这个评价指标。

他需要sample 很多张的图片 来计算FID,

CliP Score 用于计算你输入的文字和图片含义之间的距离

 

 

 Decoder的训练 不需要 影像和文字匹配的数据。

 如果中间产物是小图

那么Decoder的训练非常的简单,你只需要把你手上的影像都拿出来,然后变成小图, 你就有成对的资料,你就可以把小图变成大图。

如果中间产物是Latent Representation

我们如何训练一个Decoder把 Larent Representation 当成输入,把这些Latent Represention还原成一张图片。

训练一个Auto-encoder  使得输入X 经过AE尽可能的还原出X。

 

 

 训练完成之后,我们就可以把Decoder拉出来用,给予一个Latent Representation ,就可以还原出X。

 

 

 把噪音加入latent reprezatation.

 

 

 

标签:Diffusion,训练,李宏毅,生成,课程,Decoder,Model,图片
From: https://www.cnblogs.com/patterndream/p/18057476

相关文章

  • 《任职资格体系建设与标杆实践》课程大纲
    【课程背景】当众多的企业面对业务发展和竞争的巨大压力时,往往最头疼的是员工能力不能达成管理要求。而员工面对公司发展的同时,也在思考自身的发展道路在哪里?以结果为导向的绩效管理正在将HR管理引入某种意义上的死胡同,而一般意义上的培训发展无法本质解决员工的能力提升。诸多......
  • 27.8k star!微软开源了免费的AI课程
    GitHub上的项目"microsoft/AI-For-Beginners"是由微软发起的一个旨在教育和引导初学者学习人工智能(AI)的资源库。根据提供的链接信息,这个项目提供了一个为期12周、包含24课的课程计划,旨在让所有人能够学习AI。github地址:https://github.com/microsoft/AI-For-Beginners这个项......
  • 李宏毅2022机器学习HW4 Speaker Identification下
    TaskSampleBaseline模型介绍classClassifier(nn.Module): def__init__(self,d_model=80,n_spks=600,dropout=0.1): super().__init__() #Projectthedimensionoffeaturesfromthatofinputintod_model. self.prenet=nn.Linear(40,d_model) #transfo......
  • 李宏毅2022机器学习HW4 Speaker Identification上(Dataset &Self-Attention)
    Homework4Dataset介绍及处理Datasetintroduction训练数据集metadata.json包括speakers和n_mels,前者表示每个speaker所包含的多条语音信息(每条信息有一个路径feature_path和改条信息的长度mel_len或理解为frame数即可),后者表示滤波器数量,简单理解为特征数即可,由此可知每个.pt......
  • 【李宏毅机器学习2021】(四)Self-attention
    引入Self-attention前面学到的内容输入都是一个向量,假如输入是一排向量,又应如何处理。来看下有什么例子需要将一排向量输入模型:当输入是一排向量时,输出有三种类型:输入和输出的长度一样,每一个向量对应一个label,如词性标注、音标识别、节点特性(如会不会买某件商品)。一......
  • Stable Diffusion 解析:探寻 AI 绘画背后的科技神秘
    AI绘画发展史在谈论StableDiffusion之前,有必要先了解AI绘画的发展历程。早在2012年,华人科学家吴恩达领导的团队训练出了当时世界上最大的深度学习网络。这个网络能够自主学习识别猫等物体,并在短短三天时间内绘制出了一张模糊但可辨识的猫图。尽管这张图片很模糊,但它展示......
  • 超简单stable_diffusion + novelai一键部署教程
    视频教程地址:超简单stable_diffusion+novelai一键部署教程个人的启动命令:sudodockerrun-it--rm-eNVIDIA_DISABLE_REQUIRE=1-eNVIDIA_DRIVER_CAPABILITIES=all-v/home/devil/stable_diffusion/:/home/user/stable-diffusion-webui/models/Stable-diffusion-p786......
  • 2050 并行课程 III
    原题链接题解:拓扑排序+动态规划我们首先根据给定的先修课程关系,构建出一个有向无环图。已知每个结点的时间都是time[i-1]+其入度结点的最大值。最后比较出最大的出度为零的结点的时间code classSolution{public:staticconstintN=5e4+5;inthead[N],Next[N]......
  • 【李宏毅机器学习2021】(二)Tips for training
    这一节主要讲解机器学习、类神经网络训练不起来怎么办?讲解一些训练的tips。先来回顾下机器学习的步骤:接下来将介绍在机器学习过程中,遇到问题时如何判断原因并解决:在训练数据上Loss值很大ModelBias在训练数据上Loss值很大,有可能是发生了Model问题。问题原因:模型太......
  • 【李宏毅机器学习2021】(一)引入机器学习和深度学习
    引入机器学习MachineLearning概括来说就是LookingforFunction,即让机器具备找一个函数的能力这些函数显然非常复杂,要依靠机器自动找出该函数。随着要找的函数不同,机器学习有不同的类别:Regression,回归:函数输出的是数值。Classification,分类:函数从给定选项(类别)中选择一个......