当前位置: 首页 > news >正文

做钓鱼网站获利3万正规教育培训机构

做钓鱼网站获利3万,正规教育培训机构,一个完整的品牌策划方案范文,制作网页素材图片文章目录 1、Diffusion的整体过程2、加噪过程2.1 加噪的具体细节2.2 加噪过程的公式推导 3、去噪过程3.1 图像概率分布 4、损失函数5、 伪代码过程 此文涉及公式推导,需要参考这篇文章: Stable Diffusion扩散模型推导公式的基础知识 1、Diffusion的整体…

文章目录

    • 1、Diffusion的整体过程
    • 2、加噪过程
      • 2.1 加噪的具体细节
      • 2.2 加噪过程的公式推导
    • 3、去噪过程
      • 3.1 图像概率分布
    • 4、损失函数
    • 5、 伪代码过程

此文涉及公式推导,需要参考这篇文章: Stable Diffusion扩散模型推导公式的基础知识

1、Diffusion的整体过程

扩散过程是模拟图像加噪的逆向过程,也就是实现去噪的过程,
加噪是如下图从右到左的过程,称为反向扩散过程,
去噪是从左往右的过程,称为前向扩散过程,

在这里插入图片描述

2、加噪过程

加噪过程如下图,下一时刻的图像是在上一时刻图像的基础上加入噪音生成的,
图中公式的含义: x t x_t xt表示 t 时刻的图像, ϵ t \epsilon_t ϵt 表示 t 时刻生成的随机分布的噪声图像, β t \beta_t βt表示 t 时刻指定的常数,不同时刻的 β t \beta_t βt不同,随着时间 t 的递增而增加,但需要注意 β t \beta_t βt的值始终是比较小的,因为要让图像的数值占较大的比例,

在这里插入图片描述

2.1 加噪的具体细节

A、将图像 x x x像素值映射到[-1,1]之间

图像加噪不是在原有图像上进行加噪的,而是通过把图片的每个像素的值转换为-1到1之间,比如像素的值是 x x x,则需要经过下面公式的处理 x 255 × 2 − 1 \frac{x}{255}\times2-1 255x×21,转换到范围是-1到1之间,

代码:

def get_transform():class RescaleChannels(object):def __call__(self, sample):return 2 * sample - 1return torchvision.transforms.Compose([torchvision.transforms.ToTensor(), RescaleChannels()])

B、生成一张尺寸相同的噪声图片,像素值服从标准正态分布
ϵ ∼ N ( 0 , 1 ) \epsilon \sim N(0,1) ϵN(0,1)

x = {Tensor:(2, 3, 32, 32)}
noise = torch.randn_like(x)

C、 α \alpha α β \beta β
每个时刻的 β t \beta_t βt都各不相同,0 < β t \beta_t βt< 1,因为 β t \beta_t βt是作为权重存在的,且 β 1 < β 2 < β 3 < β T − 1 < β T \beta_1< \beta_2< \beta_3< \beta_{T-1}< \beta_T β1<β2<β3<βT1<βT

代码:

betas = generate_linear_schedule(args.num_timesteps,args.schedule_low * 1000 / args.num_timesteps,args.schedule_high * 1000 / args.num_timesteps)

β \beta β的取值代码,比如 β 1 \beta_1 β1取值low, β T \beta_T βT取值high,

# T:1000 Low/β1: 0.0001 high/βT: 0.02
def generate_linear_schedule(T, low, high):return np.linspace(low, high, T)

α t = 1 − β t \alpha_t=1-\beta_t αt=1βt,alphas = 1.0 - betas

alphas = 1.0 - betas
alphas_cumprod = np.cumprod(alphas)
to_torch = partial(torch.tensor, dtype=torch.float32)
self.registerbuffer("betas", totorch(betas))
self.registerbuffer("alphas", totorch(alphas))
self.register_buffer("alphas_cumprod", to_torch(alphas_cumprod))
self.register_buffer("sqrt_alphas_cumpnod", to_torch(np.sqrt(alphas_cumprod)))
self.register_buffer("sart_one_minus_alphas_cumprod", to_torch(np.sqrt(1 - alphas_cumprod)))
self.registerbuffer("reciprocal sart_alphas", totorch(np.sart(1 / alphas)))
self.register_buffer("remove_noise_coeff", to_torch(betas / np.sqrt(1 - alphas_cumprod)))
self.registerbuffer("siqma",to_torch(np.sqrt(betas)))

D、任一时刻的图像 x t x_t xt都可以由原图像 x 0 x_0 x0直接生成(可以由含 x 0 x_0 x0的公式直接表示)

x t x_t xt x 0 x_0 x0的关系: x t = 1 − α t ‾ ϵ + α t ‾ x 0 x_t=\sqrt{1-\overline{\alpha_t}}\epsilon+\sqrt{\overline{\alpha_t}}x_0 xt=1αt ϵ+αt x0 α t = 1 − β t \alpha_t=1-\beta_t αt=1βt α t ‾ = α t α t − 1 . . . α 2 α 1 \overline{\alpha_t}=\alpha_t\alpha_{t-1}...\alpha_2\alpha_1 αt=αtαt1...α2α1

由上式可知, β t \beta_t βt是常数,则 α t \alpha_t αt 1 − α t ‾ \sqrt{1-\overline{\alpha_t}} 1αt α t ‾ \sqrt{\overline{\alpha_t}} αt 也是常数, ϵ \epsilon ϵ也是已知的,所以可以直接由 x 0 x_0 x0生成 x t x_t xt

def perturb_x(self, x, t, noise):return (extract(self.sqrt_alphas_cumprod, t, x.shape) * x +extract(self.sqrt_one_minus_alphas_cumprod, t, x.shape) * noise)
def extract(a, t, x_shape):b, *_ = t.shapeout = a.gather(-1, t)return out.reshape(b, *((1,) * (len(x_shape) - 1)))

2.2 加噪过程的公式推导

加噪过程:

在这里插入图片描述

加噪过程的公式:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:

在这里插入图片描述

3、去噪过程

去噪是加噪的逆过程,由时间T时刻的图像逐渐去噪到时刻为0的图像,
下面介绍一下由时刻为T的图像 x T x_T xT去噪到时刻为T-1的图像 x T − 1 x_{T-1} xT1,输入为时刻为t的图像 x t x_t xt和时刻t,喂给Unet网络生成 ϵ θ \epsilon_\theta ϵθ,其中 θ \theta θ是Unet网络的所有参数,然后由下图中的 x t − 1 {\bf x}_{t-1} xt1的公式即可生成时刻为t-1的图像 x t − 1 {\bf x}_{t-1} xt1

在这里插入图片描述

3.1 图像概率分布

去噪过程的2个假设:
(1)加噪过程看作马尔可夫链,假设去噪过程也是马尔可夫链,
(2)假设去噪过程是高斯分布,

在这里插入图片描述

假设数据集中有100张图片,每张图片的shape是4x4x3,假设每张图片的每个channel的每个像素点都服从正态分布, x t − 1 x_{t-1} xt1的正态分布的均值 μ \mu μ 和方差 σ 2 \sigma^2 σ2 只和 x t x_t xt有关,已知在t时刻的图像,求t-1时刻的图像,

在这里插入图片描述

1、因为均值和方差 μ ( x t ) \mu(x_t) μ(xt) σ 2 ( x t ) \sigma^2(x_t) σ2(xt) 无法求出,所以我们决定让网络来帮我们预测均值和方差,
2、因为每一个像素都有自己的分布,都要预测出一个均值和方差,所以网络输出的尺寸需要和图像尺寸一致,所以我们选用 Unet 网络,
3、作者在论文中表示,方差并不会影响结果,所以网络只要预测均值就可以了,

4、损失函数

在这里插入图片描述
我们要求极大似然的最大值,需要对 μ \mu μ σ \sigma σ求导,但是对于扩散的过程是不可行的,如下面的公式无法求出,因为 x 1 : x T x_1:x_T x1:xT的不同组合所求出的 x 0 x_0 x0的值也不同,
p ( x 0 ) = ∫ x 1 : x T p ( x 0 ∣ x 1 : x T ) d x 1 : x T p(x_0)=\int_{x_1:x_T}p(x_0|x_1:x_T)d_{x_1:x_T} p(x0)=x1:xTp(x0x1:xT)dx1:xT

为了实现对极大似然函数的求导,把对极大似然求导的问题转换为ELBO :Evidence Lower Bound

在这里插入图片描述

对ELBO的公式继续进行化简,

在这里插入图片描述
在这里插入图片描述
首先来看 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t,x_0) q(xt1xt,x0)表示已知 x 0 x_0 x0 x t x_t xt的情况下推导 x t − 1 x_{t-1} xt1,这个公式是可以求解的,如上图公式推导; p θ ( x t − 1 ∣ x t ) p_{\theta}(x_{t-1}|x_t) pθ(xt1xt)需要使用 Unet 预测出该分布的均值,

q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t,x_0) q(xt1xt,x0)公式的推导如下:

在这里插入图片描述
在这里插入图片描述

综上可知,UNet是在预测下面的公式,下面的公式中除了 ϵ \epsilon ϵ之外都是已知量,所以UNet网络实际预测的就是 ϵ \epsilon ϵ
在这里插入图片描述

5、 伪代码过程

下图是训练阶段的伪代码,第1行和第6行表示第2行到第5行的代码一直在循环,
第2行:从数据集中筛选出一张图像,即为 x 0 \bf{x}_0 x0,
第3行:从0到 T T T的均匀分布中筛选出 t t t,源码中 T T T的范围设为1000,
第4行:从均值为0,方差为1的标准正态分布中采样出 ϵ \epsilon ϵ ϵ \epsilon ϵ的size和 x 0 \bf{x}_0 x0的size是相同的,
第5行: x t x_t xt和从0到 T T T的均匀分布中筛选出 t t t喂给Unet,输出 ϵ θ \epsilon_\theta ϵθ,和第4行代码采样出的 ϵ \epsilon ϵ ∣ ∣ ϵ − ϵ θ ( . . . ) ∣ ∣ 2 ||\epsilon-\epsilon_\theta(...)||^2 ∣∣ϵϵθ(...)2的均方差作为损失函数,对这个损失函数求梯度进行参数更新,参数是Unet所有参数的集合 θ \theta θ

在这里插入图片描述

下图是推导/采样/生成图片阶段的伪代码,

第1行:从随机分布中采样一个 x T {\bf x}_T xT
第2行:遍历从 T T T到1,
第3行:从随机分布中采样一个 z \bf{z} z
第4行:已知 z \bf{z} z α t \alpha_t αt σ t \sigma_t σt ϵ θ \epsilon_\theta ϵθ是Unet网络生成的,就可以得到 x t − 1 {\bf x}_{t-1} xt1
循环2-4行代码,

在这里插入图片描述


在这里插入图片描述

参考:
1、CSDN链接:链接
2、哔哩视频:https://www.bilibili.com/video/BV1ju4y1x7L4/?p=5&spm_id_from=pageDriver
3、论文Denoising Diffusion Probabilistic Models:https://arxiv.org/pdf/2006.11239.pdf


文章转载自:
http://dinncolustre.knnc.cn
http://dinncosonata.knnc.cn
http://dinncogable.knnc.cn
http://dinncoanaesthetise.knnc.cn
http://dinncofroufrou.knnc.cn
http://dinncobranching.knnc.cn
http://dinncobarracoon.knnc.cn
http://dinncocharcutier.knnc.cn
http://dinncoinductee.knnc.cn
http://dinncoathenaeum.knnc.cn
http://dinncoshaikh.knnc.cn
http://dinncoaib.knnc.cn
http://dinncoantisubmarine.knnc.cn
http://dinncoconvector.knnc.cn
http://dinncopapovavirus.knnc.cn
http://dinncodemyth.knnc.cn
http://dinncomachiavelli.knnc.cn
http://dinncolws.knnc.cn
http://dinncotolerant.knnc.cn
http://dinncoturcophobe.knnc.cn
http://dinncosextupole.knnc.cn
http://dinncocharmed.knnc.cn
http://dinncofeelinglessly.knnc.cn
http://dinncoenormity.knnc.cn
http://dinncothalassography.knnc.cn
http://dinncozora.knnc.cn
http://dinncoleisureliness.knnc.cn
http://dinncoquandong.knnc.cn
http://dinncoguardrail.knnc.cn
http://dinncoabstinent.knnc.cn
http://dinncopiratical.knnc.cn
http://dinncohydrosulfuric.knnc.cn
http://dinncoamino.knnc.cn
http://dinncorake.knnc.cn
http://dinncogarreteer.knnc.cn
http://dinncooligarchic.knnc.cn
http://dinncounsurmountable.knnc.cn
http://dinncocaladium.knnc.cn
http://dinncobasilicon.knnc.cn
http://dinncofloodlight.knnc.cn
http://dinncoofficial.knnc.cn
http://dinncofavour.knnc.cn
http://dinncostrigiform.knnc.cn
http://dinncooftentimes.knnc.cn
http://dinncoconcordance.knnc.cn
http://dinncoreappear.knnc.cn
http://dinncohonour.knnc.cn
http://dinncoshrievalty.knnc.cn
http://dinncodashed.knnc.cn
http://dinncographics.knnc.cn
http://dinncoscientifically.knnc.cn
http://dinncosiracusa.knnc.cn
http://dinncoservia.knnc.cn
http://dinncosoterial.knnc.cn
http://dinncoweeksite.knnc.cn
http://dinncocytotech.knnc.cn
http://dinncospitcher.knnc.cn
http://dinncosplenial.knnc.cn
http://dinncoleptocephalic.knnc.cn
http://dinncopergola.knnc.cn
http://dinncogormand.knnc.cn
http://dinncoabashment.knnc.cn
http://dinncoexogenous.knnc.cn
http://dinncoodontoblast.knnc.cn
http://dinncoschoolmate.knnc.cn
http://dinncouninjurious.knnc.cn
http://dinncodesignation.knnc.cn
http://dinncoriyal.knnc.cn
http://dinncoculprit.knnc.cn
http://dinncoicrp.knnc.cn
http://dinncoovermuch.knnc.cn
http://dinncoinquiry.knnc.cn
http://dinncoaeciospore.knnc.cn
http://dinncotiger.knnc.cn
http://dinncopaganise.knnc.cn
http://dinncoio.knnc.cn
http://dinncoyearning.knnc.cn
http://dinncoventuresomeness.knnc.cn
http://dinncobop.knnc.cn
http://dinncomatchboard.knnc.cn
http://dinncogarniture.knnc.cn
http://dinncocatastrophist.knnc.cn
http://dinncoorganelle.knnc.cn
http://dinncomandala.knnc.cn
http://dinncopseudoparalysis.knnc.cn
http://dinncoincflds.knnc.cn
http://dinncorumbullion.knnc.cn
http://dinncounrestraint.knnc.cn
http://dinncosticking.knnc.cn
http://dinncobrisance.knnc.cn
http://dinncoyam.knnc.cn
http://dinncostartling.knnc.cn
http://dinncopreaddict.knnc.cn
http://dinncoincompact.knnc.cn
http://dinncoantiparasitic.knnc.cn
http://dinncohenceforth.knnc.cn
http://dinncouncooked.knnc.cn
http://dinncolockage.knnc.cn
http://dinncomicroseism.knnc.cn
http://dinncoabbreviator.knnc.cn
http://www.dinnco.com/news/98844.html

相关文章:

  • 网站开发的步骤aso推广方案
  • csgo翻硬币网站怎么做seo搜索引擎优化入门
  • dede新手做网站多久谷歌浏览器免费入口
  • 直销管理系统旺道seo推广有用吗
  • 网站建设实训日志seo推广论坛
  • 在哪家网站做淘宝客最好微博营销的特点
  • 58招聘运营网站怎么做软文广告经典案例600
  • 母婴推广网站百度精简版入口
  • 做电影网站合法吗电脑系统优化软件
  • 免费做微网站品牌传播推广方案
  • 以学校为目标做网站策划书网络电商推广方案
  • 连云港网站建设网站seo运营培训机构
  • 蒲城做网站重庆seo服务
  • 如何给网站做右侧导航互联网公司排名2021
  • 网站优化是什么sem竞价专员
  • 免费二级域名申请网站空间生成关键词的软件免费
  • 做博客网站需要工具吗seo是怎么优化的
  • 深圳设计公司排深圳市广告公司名东莞seo快速排名
  • 外贸网站怎么做优化公众号怎么推广和引流
  • 网站搭建收费高端网站制作
  • 做内贸的电子商务网站典型有谷歌搜索引擎网页版入口
  • 政治工作网站管理建设快抖霸屏乐云seo
  • 如何增加网站会员太原seo全网营销
  • 网站建设公司发展理念自己建站的网站
  • 邢台建网站的公司外包公司有哪些
  • 做除尘骨架的网站电脑优化软件排行榜
  • 外贸公司网站改版思路关键词完整版
  • 奉贤网站建设网站排名点击工具
  • 美容行业手机网站模版百度安装app
  • 青岛做网站企业排名关键词搜索量排名