ddpm Denoising Diffusion Probabilistic Model 学习笔记

目录

Stable Diffusion

文章的贡献抽象出来就两个

潜空间上做扩散生成

ddpm(Denoising Diffusion Probabilistic Model)学习笔记

算法原理

unet预测噪声

unet推理过程

重参数化技巧

(1)利用前一时刻的 xt-1 得到任意时刻的噪声图片 xt(重参数化技巧)


Stable Diffusion

文章的贡献抽象出来就两个

:1)提出可以在潜空间上用diffusion学特征分布,而不是直接让diffusion 学图像,降低了diffusion模型的难度;2)可以用 cross-attention 方法给模型加条件搞条件生成,在 cross-attention 中,q来源于与上一步,k和v来源于条件编码。

潜空间上做扩散生成

之前的DM(diffusion model)大多是直接对图像做去噪扩散,生成出来的图像细节不太好,如果想生成高清大图又需要非常大的计算量。所以这里作者提出了一种在潜空间上做扩散生成的方式,另外还增加了文本条件生成。这些操作使得模型最终可以生成非常高清的图,而且跟像素级的DMs模型相比大大降低了计算量。

作者的贡献有:

1)与以往纯transformer的结构不同,作者的模型可以更优雅地扩展到更高纬度的数据,因此此工作可以(a)在压缩了的级别上提供更可靠更具体的重建细节,(b)可以更有效地生成百万像素高清图像。

ddpm(Denoising Diffusion Probabilistic Model)学习笔记

算法原理

一文弄懂 Diffusion Model(DDPM)+ 代码实现-CSDN博客

unet预测噪声

无论在前向过程还是反向过程,Unet的职责都是根据当前的样本和时间 t 预测噪声。

  • 训练阶段是一步预测出从0到t加的噪声noise
  • 推理阶段是根据模型算出该t时刻的噪声,然后用x_t减去该时刻的噪声noise得到x[t-1]

unet推理过程

训练时:给定原图和时间t,加上噪声,然后用unet预测噪声。

推理时,给定随机噪声和时间t,预测噪声,然后减去噪声,然后就是图像

重参数化技巧

(1)利用前一时刻的 xt-1 得到任意时刻的噪声图片 xt(重参数化技巧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode2215找出两数组的不同

题目描述 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中:answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组…

Linux poweroff命令教程:如何实现一键关机(附实例详解和注意事项)

Linux poweroff命令介绍 poweroff命令是用来关闭系统的。当你执行这个命令时,它会发送一个信号给系统,告诉系统关闭所有的进程,然后关闭系统。这个命令非常有用,特别是在你需要远程关闭系统,或者你的系统没有图形用户…

Autosar架构

蓝框那种叫component,绿框的叫function cluster。 接口 有三种接口,RTE跟SWC之间链接的叫Autosar Interface,RTE跟BSW的Components链接是Standardized Interface,RTE跟BSW的services链接的是Standardized Autosar Interface。 St…

项目部署到线上proxytable代理失效nginx报404的问题

我的项目是在vue的config文件夹中的index.js中配置了接口地址 ,本地跑的时候都能访问,放到线上就报404; module.exports {dev: {// PathsassetsSubDirectory: static,assetsPublicPath: /,proxyTable: {/xxx: {target: http://xxxxxxxx:xxx…

分享四种CAD图纸加密方法,严防盗图

在数字化时代,cad图纸的盗用和非法传播问题日益突出。对于企业和设计师来说,保护设计成果的安全性和原创性,采取有效的cad加密方法至关重要。本文将分享四种cad加密方法,帮助您严防盗图,保护图纸安全。 使用cad软件内…

网络协议的分类

1.概要 网络协议可以分为三类: 封装协议路由协议功能类协议 2.分类说明 OSPF报文直接调用_ IP协议__协议进行封装,以目的地址_244.0.0.5 __发送到所有的OSPF路由器? 244.0.0.1 所有主机;244.0.0.2 所有路由器;244.0.0.6 指定…

【前端每日一题】day5

JS 实现继承的几种方式 在JavaScript中,实现继承的几种方式包括原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承和组合式继承。 原型链继承: function Parent() {this.name Parent; } Parent.prototype.sayHello function() {console.…

当它还是幼生期的时候,及早离开它!

当我们有丰富的精神生活时,充实的知识吸收储备时,为自己的每一点进步而欣慰时,我们就不会有失败的忧虑。也不会有孤单的自怜。 没有人是弱者,每个人都有自己活着的方式,当你内心强大时,你会尊重每一个“弱者…

Vue+springboot的批量删除功能

vue前台 <div style"margin-bottom: 10px"><el-button type"primary" plain click"handleAdd">新增</el-button><el-button click"delBatch" type"danger" plain style"margin-left: 5px"…

Spring Cloud 背后技术详解

Spring Cloud 是基于 Spring Boot 的一套微服务架构解决方案。它为开发者提供了一系列的工具&#xff0c;用于快速构建分布式系统中的一些常见模式&#xff08;例如配置管理、服务发现、断路器等&#xff09;。Spring Cloud 利用 Spring Boot 的自动配置和独立运行能力&#xf…

C语言例题41、八进制转换为十进制

#include<stdio.h>void main() {int x;printf("请输入一个8进制整数&#xff1a;");scanf("%o", &x);printf("转换成十进制后的整数为%d\n", x); }运行结果&#xff1a; 本章C语言经典例题合集&#xff1a;http://t.csdnimg.cn/FK0Qg…

Java基础(33)Java Web拦截器作用和用法

Java Web拦截器&#xff08;Interceptor&#xff09;是Java Web开发中一个重要的概念&#xff0c;它允许开发者在处理HTTP请求和响应之前或之后执行特定的代码&#xff0c;从而实现如权限检查、日志记录、事务管理等功能。拦截器可以作用于Java EE的Servlet、Spring框架、Strut…

redis试题按知识点归类(四)

十六、实战应用 1.如何使用 Redis 存储用户会话&#xff1f; 2.Redis 在电子商务平台中的应用是什么&#xff1f; 3.如何使用 Redis 进行实时数据分析&#xff1f; 十七、面试题综合 1.描述一次你解决 Redis 性能问题的经历。 2.你如何理解 Redis 中的“单线程”模型&…

Java入门基础学习笔记21——Scanner

在程序中接收用户通过键盘输入的数据&#xff1a; 需求&#xff1a; 请在程序中&#xff0c;提示用户通过键盘输入自己的姓名、年龄、并能在程序中收到这些信息&#xff0c;怎么解决&#xff1f; Java已经写好了实现程序&#xff0c;我们调用即可。 API&#xff1a;Applicat…

2024 年中国大学生程序设计竞赛全国邀请赛(郑州)暨第六届CCPC河南省大学生程序设计竞赛 problem K. 树上问题

//先找一个美丽的树&#xff0c;然后遍历树找节点,分析是否符合条件。 //画几个图&#xff0c;思考下。 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c[n],d,l,r,k,w,an; vector<int>t[n]; void dfs(int x,int…

MLT剪辑sample

#include <framework/mlt.h> int main(int argc, char **argv) { // 初始化MLT mlt_factory factory mlt_factory_init(NULL); // 加载素材&#xff08;这里假设我们有一个名为"video.mp4"的视频文件&#xff09; mlt_profile profile mlt_prof…

什么是页分裂、页合并?

数据组织方式 在InnoDB存储引擎中&#xff0c;表数据都是根据主键顺序组织存放的&#xff0c;这种存储方式的表称为索引组织表(index organized table IOT)。 行数据&#xff0c;都是存储在聚集索引的叶子节点上的。而我们之前也讲解过InnoDB的逻辑结构图&#xff1a; 在I…

61、内蒙古工业大学、内蒙科学技术研究院:CBAM-CNN用于SSVEP - BCI的分类方法[脑机二区还是好发的]

前言&#xff1a; 之前写过一篇对CBAM模型改进的博客&#xff0c;在CBAM中引入了ECANet结构&#xff0c;对CBAM中的CAM、SAM模块逐一改进&#xff0c;并提出ECA-CBAM单链双链结构&#xff0c;我的这个小的想法已经被一些同学实现了&#xff0c;并进行了有效的验证&#xff0c;…

快速对比 找出2个名单不同之处

import pandas as pd# 读取两个Excel文件 df1 pd.read_excel(1.xlsx) df2 pd.read_excel(2.xlsx)# 检查两个DataFrame的列是否相同 if list(df1.columns) ! list(df2.columns):print("两个Excel文件的列不一致。")print("文件1的列&#xff1a;", df1.co…

AI智能体|手把手教你申请一个Kimi(Moonshot)的API KEY

大家好&#xff0c;我是无界生长。 今天分享一下如何申请一个Kimi(Moonshot)的API KEY&#xff0c;为后面Kimi(Moonshot)接入微信机器人做铺垫。学会了的话&#xff0c;欢迎分享转发&#xff01; 前提 拥有一个Kimi(Moonshot)账号 使用手机号注册即可&#xff0c;新用户可免费…