车辆重识别(2020NIPS去噪扩散概率模型)论文阅读2024/9/27

[2] Denoising Diffusion Probabilistic Models
作者:Jonathan Ho Ajay Jain Pieter Abbeel
单位:加州大学伯克利分校
摘要:
我们提出了高质量的图像合成结果使用扩散概率模型,一类潜变量模型从非平衡热力学的考虑启发。我们的最佳结果是通过根据扩散概率模型和与Langevin动力学匹配的去噪分数之间的一种新的联系设计的加权变分界进行训练得到的,并且我们的模型自然地承认一个渐进的有损解压方案,可以解释为自回归解码的一个推广。在无条件的CIFAR10数据集上,我们获得了9.46的Inception分数和3.17的最先进的FID分数。在256x256LSUN上,我们得到了与ProgressiveGAN类似的样本质量。
主要贡献:
我们表明,扩散模型实际上能够生成高质量的样本,有时比其他类型的生成模型的发布结果更好。此外,我们证明了扩散模型的某种参数化揭示了与训练过程中多个噪声水平上的去噪分数匹配以及采样过程中退火朗之万动力学的等价性。我们使用这个参数化得到了我们最好的样本质量结果。
创新点:
为了指导我们的选择,我们在扩散模型和去噪得分匹配之间建立了一个新的显式联系,从而得到了一个简化的、加权的扩散模型变分界限目标。我们忽略了前向过程方差β t可以通过重新参数化学习的事实,而是将它们固定为常量。因此,在我们的实现中,近似后验q没有可学习的参数,因此LT在训练过程中是一个常数,可以忽略。
简介:
近年来,各种深度生成模型在各种数据模态中都展示了高质量的样本。生成式对抗网络( GAN )、自回归模型、流和变分自编码器( VAEs )合成了引人注目的图像和音频样本,并且在基于能量的建模和得分匹配方面取得了显著进展,产生了与GAN 相当的图像。本文介绍了扩散概率模型的研究进展。
框图:


[2] Ho, J., Jain, A., & Abbeel, P. (2020). Denoising diffusion probabilistic models. In Proceedings of the 34th Conference on Neural Information Processing Systems (NeurIPS 2020).

采样过程差不多是x→A→B→C→z*σ+μ
x代表输入的数据,有可能是随机数的个数和范围,通过A输出相应的随机数数据,这些随机数通过B函数的处理,得到符合N(0,1)的数据,然后这些数据再经过参数重整化,得到最终数据。这样做的好处就是把数据和σ、μ结合起来,使得能够接入到网络中。
说一下扩散模型的两个过程:
一, 扩散过程

对于一个初始数据的概率分布q(x),我们从这个概率分布中采样一些数据,记作x0。然后,我们在T个轮次中,不断向其加入高斯噪声(其实加入高斯噪声指的就是对于每一步的xt,对其参数重整化,也就是说让xt*σ+μ,当然这里的σ和μ都不是一个简单的值,使得经过处理之后的xt符合相应的高斯分布),使得最终的xT变成了一个各向独立的高斯分布。
通过上述的一个公式推导,能得到什么样的信息:①对于每一个轮次或者说是时刻的xt都能够算出来,因为
是和β有关的一个项,而β是初始给出的参数。x0也是初始数据,z是每次从N(0,1)采样出来的数据,这些都是可获得的,所以xt能得到。②因为q(xt|x0)是知道的,所以q(xt|x0)*q(x0)这个式子对x0求积分,得到的是q(xt)的概率分布,而我们想要使得最终的分布是各向独立的高斯分布,只需令此时的分布均值为0,方差为1就行了。
二,逆扩散过程

通过一系列的公式推导,我们最终得到xt-1的公式,最终可以得到x0的结果。



前面的扩散过程已经解释清楚了,然后,对于训练过程,就是让一个神经网络使得Lsimple这个公式的值最小,也就是说对于每一步都要使得预测的噪声与真实噪声的差异最小,对于每一轮都要训练完。
最后的逆扩散过程就是,从N(0,1)中随机采样出xT,对于T个轮次,从N(0,1)随机采样出z,然后带入公式逐步得到x0.



之前对扩散模型的运行流程存在一些错误,现在解释一下正确的运行步骤:
从q(x)中采样x0,作为初始数据,开始加噪声,那么怎么加呢?从标准正太分布中采样得到z1,给出β1的值,对x0进行参数重整化,得到x1的值,形式上来看就是x1=x0+噪声,然后向参数网络中输入x0,t等数据,进行网络训练,使得所输出的预测噪声尽量和加入的噪声z1有较小的差距,一边扩散一边训练参数网络,直到结束。然后在逆扩散过程中,xt-1根据参数网络预测的各个噪声,逐步算出,直到算出x0,产生最终结果。
相关文章:
车辆重识别(2020NIPS去噪扩散概率模型)论文阅读2024/9/27
[2] Denoising Diffusion Probabilistic Models 作者:Jonathan Ho Ajay Jain Pieter Abbeel 单位:加州大学伯克利分校 摘要: 我们提出了高质量的图像合成结果使用扩散概率模型,一类潜变量模型从非平衡热力学的考虑启发。我们的最…...
基于深度学习的任务序列中的快速适应
基于深度学习的任务序列中的快速适应是指模型在接连处理不同任务时,能够迅速调整和优化自身以适应新任务的能力。这种能力在动态环境和多任务学习中尤为重要,旨在减少训练时间和资源需求。以下是这一主题的关键要素: 1. 快速适应的背景 动态…...
虚拟机三种网络模式详解
在电脑里开一台虚拟机,是再常见不过的操作了。无论是用虚拟机玩只有旧版本系统能运行的游戏,还是用来学习Linux、跑跑应用程序都是很好的。而这其中,虚拟机网络是绝对绕不过去的。本篇文章通俗易懂的介绍了常见的虚拟网络提供的三种网络链接模…...
[leetcode]674_最长连续递增序列
给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l < i < r,都有 nums[i] < nums[i 1] &am…...
【无人机设计与技术】四旋翼无人机,UAV仿真,轨迹跟踪PID控制
摘要 本文探讨了四旋翼无人机(UAV)在轨迹跟踪中的PID控制仿真方法。通过设计三轴方向的PID控制器,调节无人机的姿态与位置,使其能够准确跟踪预设轨迹。本文使用MATLAB/Simulink进行了建模与仿真,验证了PID控制算法在无…...
回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测
回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测 文章目录 一、基本原理原理流程总结 二、实验结果三、核心代码四、代码获取五、总结 回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提…...
javaScript基础知识汇总
一、基础语法 1、区分大小写:无论是变量、函数名还是操作符,都区分大小写。 2、标识符:就是变量、函数、属性或函数参数的名称。标识符可以由一个或多个字符构成,但需要满足以下条件: 第一个字符必须是一个字母、下…...
《动手学深度学习》笔记2.2——神经网络从基础→进阶 (参数管理-每层的权重/偏置)
目录 0. 前言 正文:参数管理 1. 参数访问 1.1 [目标参数] 1.2 [一次性访问所有参数] 1.3 [从嵌套块收集参数] 2. 参数初始化 2.1 [内置初始化] 2.2 [自定义初始化] 2.3 [参数绑定-共享参数] 3. 小结(第2节) 4. 延后初始化 (原书第…...
双端之Nginx+Php结合PostgreSQL搭建Wordpress
第一台虚拟机:安装 Nginx 更新系统包列表: sudo apt update安装 Nginx及php扩展: sudo apt install nginx php-fpm php-pgsql php-mysqli -y启动 Nginx 服务: sudo systemctl start nginx检查 Nginx 是否正常运行: xdg-open http://localhost注意:终端命令打开网址 …...
Another redis desktop manager使用说明
Another redis desktop manager使用说明 概述界面介绍图示说明连接界面设置界面查看操作日志主界面信息进入redis-cli控制台更多 概述 Another Redis Desktop Manager是一个开源的跨平台 Redis 客户端,提供了简洁易用的图形用户界面(GUI)&am…...
【git】配置 Git 的换行符处理和安全性||安装 Ruby
配置 Git 的换行符处理和安全性: git config --global core.autocrlf input:这个设置确保在提交代码时,Git 会将 CRLF(Windows 的换行符)转换为 LF(Unix 的换行符),但在检出代码时不…...
VMware ESXi 8.0U3b macOS Unlocker OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布
VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布 VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 8.0U3 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、IEIT SYSTEMS (浪潮信息)、Cisco …...
Unity 代码裁剪(Strip Engine Code)
文章目录 0.IL2CPP 打包运行闪退问题1.什么是代码裁剪2.为什么要使用代码裁剪3.代码裁剪设置与级别4.强制保留代码4.1 使用[Preserve]标签4.2 使用Link.xml文件 5.Strip中遇到的问题及解决方法6.注意事项 0.IL2CPP 打包运行闪退问题 Google Play要求从2019年8月1日起apk必须支…...
单目3d重建DUSt3R 笔记
目录 DUSt3R 三维重建 报错RecursionError: maximum recursion depth exceeded in comparison 报错 numpy.core.multiarray failed to import 报错Numpy is not available 解决 升级版mast3r 速度变慢 修改了参数设置脚本: 测试效果 操作技巧 DUSt3R 三维重…...
AI驱动TDSQL-C Serverless 数据库技术实战营-与AI的碰撞
目录 一、简介 二、实验介绍 三、结果展示 四、实操指导 4.1 系统设计 4.2 环境搭建(手把手教程) 4.3 应用构建 4.4 效果展示 4.5 踩坑避雷总结 五、清理资源 5.1 删除TDSQL-C Serverless 5.2 删除 HAI 算力 六、实验总结归纳 一、简介 本…...
C++之String类(上)
片头 嗨!好久不见~ 今天我们来学习C的Sting类,不过,在学习它之前,我们先来对STL库有一个简单的了解。 STL(standard template library--标准模板库),是C标准库的重要组成部分,不仅是…...
kubernets基础-ingress详细介绍
文章目录 什么是IngressIngress详细说明Ingress示例 Ingress控制器Ingress控制器的工作原理Ingress控制器的特点常见的Ingress控制器 Ingress关联Ingress控制器一、Ingress资源对象二、Ingress控制器三、Ingress与Ingress控制器的关联方式四、注意事项 多实例部署一、Ingress多…...
jenkins部署Maven和NodeJS项目
在 Java 项目开发中,项目的编译、测试、打包等是比较繁琐的,属于重复劳动的工作,浪费人力和时间成本。以往开发项目时,程序员往往需要花较多的精力在引用 jar 包搭建项目环境上,跨部门甚至跨人员之间的项目结构都有可能…...
在unity资源中发现无效引用
本文主要解决在不打开unity的情况下搜索出无效引用的资源的方法 1. 概述 一般只要遍历一下目录里所有资源,判空一下就好了但有些情况下,不希望打开unity, 尤其希望是在资源整合时,想更快验证资源的合法性, 这对合并提交及出包验证时,都要较大的需求 2. 简单的验证方法 简单来…...
C#知识|基于反射和接口实现抽象工厂设计模式
哈喽,你好啊,我是雷工! 01 应用场景 在项目的多数据库支持上、业务的多算法封装、以及各种变化的业务中; 02 抽象工厂组成 抽象工厂包括抽象产品(即业务接口,可以通过抽象类或抽象接口设计)…...
microeco:微生物组学分析工具的终极指南,让数据分析变得简单快速
microeco:微生物组学分析工具的终极指南,让数据分析变得简单快速 【免费下载链接】microeco An R package for downstream data analysis of microbiome omics data 项目地址: https://gitcode.com/gh_mirrors/mi/microeco 面对海量的微生物组学数…...
白起、项羽、黄巢杀降时的第三选择
白起、项羽、黄巢,他们都曾站在“杀降”这个决策悬崖上。与其说这是他们个人的暴虐,不如说他们当时都陷入了一个由战争逻辑、资源短缺和恐惧心理共同构筑的绝境。在那个系统里,他们几乎无法做出别的选择。🎲 那场被逼到墙角的困兽…...
2026年最新英语单词AI辅助工具 帮英语学习者轻松提升背词效率
英语单词学习的核心痛点拆解我们团队做英语学习工具测评快5年了,后台收到最多的提问就是「有没有能真的提升背词效率的工具」,拆解下来行业的共性痛点其实很明确:第一是资源错配,80%的背词时间都花在已经掌握的词汇上,…...
Java——Character
Character1、Unicode基础2、检查code point和char3、code point与char的转换4、按code point处理char数组或序列5、字符属性6、字符转换1、Unicode基础 Unicode给世界上每个字符分配了一个编号,编号范围为0x000000~0x10FFFF。编号范围在0x0000ÿ…...
AI时代开发者必备:生成式AI应用与核心工程能力双螺旋进阶
1. 项目概述:当AI成为你的新同事最近和几个带团队的朋友聊天,发现一个挺有意思的现象:团队里那些能熟练把AI工具“用起来”的开发者,和那些还在“观望”甚至“抵触”的开发者,在项目交付效率、问题解决深度上ÿ…...
Rust与Godot引擎集成:使用gdext构建高性能游戏模块
1. 项目概述:当Rust遇上Godot 如果你是一名游戏开发者,同时又对Rust语言的安全性、性能和现代特性着迷,那么你很可能和我一样,曾经在两个优秀的工具之间感到难以抉择。一边是上手快、生态繁荣的Godot引擎,另一边是能让…...
3个步骤,用PCL2启动器彻底告别Minecraft配置烦恼
3个步骤,用PCL2启动器彻底告别Minecraft配置烦恼 【免费下载链接】PCL Minecraft 启动器 Plain Craft Launcher(PCL)。 项目地址: https://gitcode.com/gh_mirrors/pc/PCL 你是否遇到过这样的场景:好不容易下载了心仪的模组…...
多核架构下的实时高性能计算优化与实践
1. 多核架构下的实时高性能计算革命五年前还需要超级计算机才能解决的计算密集型问题,如今在嵌入式多核处理器上就能实时完成。这一技术突破正在彻底改变工程计算的格局。作为从业十余年的高性能计算工程师,我见证了从传统集群计算到现代多核实时计算的演…...
S2C如何以FPGA原型验证方案破解中国芯片设计团队的验证痛点
1. 从EDA巨头东迁,看一个被忽视的蓝海市场最近业内有个不大不小的新闻,Altium这家知名的电子设计自动化(EDA)公司把总部搬到了中国。这事儿引起了不少讨论,但说实话,它既不是第一个这么干的,也未…...
别再只会用Matplotlib画基础热力图了!这5个高级定制技巧让你的图表更专业
别再只会用Matplotlib画基础热力图了!这5个高级定制技巧让你的图表更专业 热力图是数据可视化中最直观的展示方式之一,但大多数数据分析师止步于基础用法。当你的图表需要出现在学术论文、商业报告或投资人演示中时,默认参数生成的热力图往往…...
