news 2026/9/7 21:52:04

续上篇(生成模型,前向反向过程,算法逻辑,CFG, CLIP,残差块,位置编码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
续上篇(生成模型,前向反向过程,算法逻辑,CFG, CLIP,残差块,位置编码)

Generative model(生成类模型):本质是一个probability distribution (这个分布会由很多高斯分布所构成,每个高斯分布都表示一个feature. eg.要描述一个人,他的age,height,weight... 就是他的feature),最后会根据这个distribution生成出这个distribution以外的feature信息。

x_0是没有noise的干净图,x_t是全是noise的噪声图

前向过程: 加噪, Forward process(q):(这是一项的公式,他的每一项是需要继承上一项的,所以要多次累乘和迭代,最后就会变成高斯函数N。)

多次后会变成:

的过程 ,是从所设的均值和方差所造出来的正态分布上取的一个数。

最后,因为加噪的过程具有继承性,所以就可以一步到位:

关键之处:在于这个,这样前向过程就是可以从任何位置(不一定的第一张图),加噪生成到达任何一张加噪图。

tips:这里的alpha = 1 - beta , 然后alpha主要决定的是noise的生成,只需要输入当前的时间步,ddpm采样器就会相应地生成对应的noise,而alpha相当于是model在生成过程中model自己需要调整的参数。

反向过程:去噪,Reverse process (p):

这里也是有继承性的,但是他是有目标的,需要将转为,而加噪的时候没有过于明确的目标,所以这是不能一步到位的。

均值:,方差:,二者与执行到哪一步有关(所以需要记录timestep),均值和方差通常都是需要训练和学习的(方差可以选择训练,也可以选择固定)。

问题:在训练一个参数(eg.,)时,需要用到x1,x2,x3....xt 无限多个参数。(不合理)

所以需要设置一个下限(lower bound),Evidence Lower Bound(ELBO)[相当于是the lower bound for the likehood of data distributuin)来控制效果就可以了,也就是说只需要model效果达到此下界,就可以停止使用参数了。

tips:在Reverse process去噪的第一步,需要告诉model应该如何去训练,去噪的方式是什么(也就是通过输入一个prompt提示词)。

具体的算法公式逻辑:


Algorithm | Training

1: repeat

2:take a sample from our dataset

3:generate a random number, between 1 and T(T is Maxmum ELBO)

4:sample some noise

5: Take gradient desent step on

这个是根据当下的阶段的timestep和noise的多少来生成(预测)这一步应该生成多少noise用于消去。

后面的第二个是告诉model已经给图像加了多少noise了

最后的t就是模型执行到哪一步(timestep)

而这一整个|| ||是Minmun loss用于最梯度下降的。

6: until converged


CFG(classifier-free guidance)无分类器引导 [Combine output]

对于提示词(prompt)的处理:

可以训练出一个没有、不同prompt的模型(主要是在ddpm采样器预测noise的时候),基于UNET.

step1: 在input里面输入prompt,生成一个output1

step2: 不在input里输入prompt,生成一个output2

这两个step都是在相同的步数,相同的Nois训练的

目的:让模型生成出来的output2不断趋近于output1,以后就可以不需要prompt(相当于Model了解了你的风格)

最后融合output1和output2

这个output可以综合有prompt和没prompt来进行合并输出的

A weight that indicates how much we want the model to pay attention to the conditioning signal(prompt) w越高,说明使用者越想接近prompt生成出来的东西,越看重prompt.

重点:其实正向prompt和反向prompt也是这个道理(公式都一样),模型就需要通过这个w权重去知道用户是看重正向prompt还是看重反向prompt.

CLIP(Contrastive Language-Image pre_training) 对比语言和图像的预训练

最右边的箭头是---原理:只让对角线上的损失函数or相关系数最大,而其他地方的系数为0(因为无关)。 就是要让这个对角线的数大一点好,因为是两个矩阵的点乘,所以方便,且合理,尽可能让自己设定的prompt与自己所给的图片贴合起来,如果不够贴合,模型会不断去修改这张image。本质就是一个让prompt文本与Input图像相结合,生成出二者贴合的output图像。

下面的整个image2image的流程,在enc嵌入层encoder前面,如果是text2image,就只需要下面 的CLIP,是不需要上面的encoder的。

残差块 (512,126)表示 通道数下降(从512根到126根),通道就是许多跟管子,这些管子可以从一张image 或 latent space中提取feature。

如果 image 或 latent space太小,就要用更多的通道去提取其中的feature,否则模型会“看不清”image长什么样子。反之image足够大,则不需要太多通道就可以“看清楚”image长什么样。

当然,通道数提高,就会提高模型的计算量,所以,一般image变大,通道变小。

positional encoding: 位置编码

i是维度下标,是向量维度

公式1对应的是PE(0,0),PE(0,2)....[偶数] , 公式2对应的是PE(0,1),PE(0,3).....[奇数]

这个位置编码只需要计算一次就可以了,然后直接在后面的句子中反复使用就ok了,因为每一个"块"就给一个位置序号就行,同一个位置的PE的相同的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 21:51:18

基于Flink的实时日志异常检测系统架构与实践

1. 为什么日志异常检测需要实时计算引擎 1.1 传统日志处理的瓶颈在哪里 先说一下我为什么会对这个题目感兴趣。之前在公司维护过一套基于ELK的日志平台,日志从应用服务器采集到Elasticsearch,再通过Kibana做可视化查询。这套链路在“事后排查”场景下很…

作者头像 李华
网站建设 2026/9/7 21:50:08

斜流增压风机技术解析与应用选型指南

1. 斜流增压风机技术背景解析斜流增压风机作为工业通风领域的特殊设备,在需要兼顾高压与大风量的场景中扮演着关键角色。与传统离心风机相比,其叶轮采用45倾斜设计,气流沿锥形流道运动,兼具轴流风机的大流量和离心风机的高压力特性…

作者头像 李华
网站建设 2026/9/7 21:45:30

多变量时序预测与概率区间预测的工程实践

1. 项目概述:多变量时序预测与概率区间预测的工程价值 在工业监控、金融量化、能源管理等需要处理复杂时序数据的领域,传统单点预测已无法满足风险控制需求。CPO-ELM-ABKDE这套组合算法,通过极限学习机(ELM)的快速建模…

作者头像 李华
网站建设 2026/9/7 21:45:19

绝缘栅器件真空共晶炉实操教程与要点解析

你敢信?半导体封装离不开这个“太空烤箱”! 嘿,朋友们,今天咱们聊聊一个听起来特别科幻的话题——半导体封装。🚀 你有没有想过,那些小小的芯片是怎么被封装起来的?就像给手机芯片“穿衣服”一样…

作者头像 李华
网站建设 2026/9/7 21:44:44

Excel乱码修复全指南:免费与商业工具横向对比与选择路径

“Excel乱码修复”这个关键词,你只要搜过一次,接下来几天就会被各种修复软件、付费工具、破解版广告轮番轰炸。我因为工作关系,前前后后处理过的乱码文件少说也有上千个,踩过免费工具的坑,也掏钱买过商业软件的授权&am…

作者头像 李华
网站建设 2026/9/7 21:44:13

VSCode集成大模型API开发指南与主流服务对比

1. 为什么开发者需要IDE集成大模型API 在代码编写过程中,开发者经常会遇到需要智能辅助的场景:调试报错时希望快速获得解决方案、编写重复代码时想要自动生成模板、学习新技术时需要实时解释代码含义。传统做法是手动复制代码到网页端与大模型交互&#…

作者头像 李华