资讯动态

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

发布时间:2026/9/7 21:52:09 来源:尧图企业网站定制
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 | Training1: repeat2:take a sample from our dataset3:generate a random number, between 1 and T(T is Maxmum ELBO)4:sample some noise5: Take gradient desent step on这个是根据当下的阶段的timestep和noise的多少来生成预测这一步应该生成多少noise用于消去。后面的第二个是告诉model已经给图像加了多少noise了最后的t就是模型执行到哪一步timestep)而这一整个|| ||是Minmun loss用于最梯度下降的。6: until convergedCFG(classifier-free guidance)无分类器引导 [Combine output]对于提示词prompt)的处理可以训练出一个没有、不同prompt的模型(主要是在ddpm采样器预测noise的时候基于UNET.step1: 在input里面输入prompt,生成一个output1step2: 不在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的。残差块 512126表示 通道数下降从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的相同的。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价