车辆重识别(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,产生最终结果。

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

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

相关文章

Nagle 算法:优化 TCP 网络中小数据包的传输

1. 前言 在网络通信中,TCP(传输控制协议)是最常用的协议之一,广泛应用于各种网络应用,如网页浏览、文件传输和在线游戏等。然而,随着互联网的普及,小数据包的频繁传输成为一个不容忽视的问题。…

智能手表(Smart Watch)项目

文章目录 前言一、智能手表(Smart Watch)简介二、系统组成三、软件框架四、IAP_F411 App4.1 MDK工程结构4.2 设计思路 五、Smart Watch App5.1 MDK工程结构5.2 片上外设5.3 板载驱动BSP5.4 硬件访问机制-HWDataAccess5.4.1 LVGL仿真和MDK工程的互相移植5…

malloc源码分析之 ----- 你想要啥chunk

文章目录 malloc源码分析之 ----- 你想要啥chunktcachefastbinsmall binunsorted binbin处理top malloc源码分析之 ----- 你想要啥chunk tcache malloc源码,这里以glibc-2.29为例: void * __libc_malloc (size_t bytes) {mstate ar_ptr;void *victim;vo…

【PHP陪玩系统源码】游戏陪玩系统app,陪玩小程序优势

陪玩系统开发运营级别陪玩成品搭建 支持二开源码交付,游戏开黑陪玩系统: 多客陪玩系统,游戏开黑陪玩,线下搭子,开黑陪玩系统 前端uniapp后端php,数据库MySQL 1、长时间的陪玩APP源码开发经验,始终坚持从客户…

CentOS 替换 yum源 经验分享

视频教程在bilibili:CentOS 替换 yum源 经验分享_哔哩哔哩_bilibili问题原因 解决方法 1. 进入镜像目录 [rootlocalhost ~]# cd /etc/yum.repos.d/ 2.备份文件 [rootlocalhost yum.repos.d]# rename repo bak * 3.寻找阿里镜像源复制 https://developer.aliyun.com/mirror/ …

【pytorch】张量求导4

再再接上文,看到作者有一个关于向量乘矩阵的描述。 经过搜索发现,现在的pytorch已经修复了这一问题,提供了mv()和matmul()两种方式实现矩阵和一维向量的乘积,可以参看这篇文章。 经过查阅pytorch的文件,找到了cuda侧…

【重学 MySQL】五十三、MySQL数据类型概述和字符集设置

【重学 MySQL】五十三、MySQL数据类型概述和字符集设置 MySQL数据类型概述MySQL字符集设置注意事项 MySQL数据类型概述 MySQL是一个流行的关系型数据库管理系统,它支持多种数据类型,以满足不同数据处理和存储的需求。理解并正确使用这些数据类型对于提高…

SpringBoot整合异步任务执行

同步任务: 同步任务是在单线程中按顺序执行,每次只有一个任务在执行,不会引发线程安全和数据一致性等 并发问题 同步任务需要等待任务执行完成后才能执行下一个任务,无法同时处理多个任务,响应慢,影响…

linux中缓存,在kafka上应用总结

linux中的缓存 页缓存 pagecatch(读缓存用于提供快速读)块缓存(用于提供其他设备快速写)当对读缓存读的时候,修改了读的数据,页缓存就会被标记为脏数据,等到写的时候它会向块缓存同步数据&…

Azure DevOps Server:不能指派新增的用户

Contents 1. 概述2. 解决方案 1. 概述 近期和微软Azure DevOps项目组解决了一个“无法指派开发人员”的问题,在此分享给大家。问题描述: 在一个数据量比较大的Azure DevOps Server的部署环境中,用户发现将新用户的AD域账户添加到Azure DevOps…

搭建shopify本地开发环境

虽然shopify提供了在线编辑器的功能,但是远不及本地编辑器方便高效,这篇文章主要介绍如何在本地搭建shopify开发环境: 1、安装nodejs 18.2 2、安装git 3、安装shopify cli ,使用指令: npm install -g shopify/clilatest 4、安装ruby 5、…

【MAUI】CollectionView之 垂直网格

App主页或者导航页面中动态按钮的垂直网格布局 在 XAML 中,CollectionView 可以通过将其 ItemsLayout 属性设置为 VerticalGrid,在垂直网格中显示其项: <CollectionView ItemsSource="{Binding Monkeys}"ItemsLayout

TS(type,属性修饰符,抽象类,interface)一次性全部总结

目录 1.type 1.基本用法 2.联合类型 3.交叉类型 2.属性修饰符 1.public 属性修饰符 属性的简写形式 2.proteced 属性修饰符 3.private 属性修饰符 4.readonly 属性修饰符 3.抽象类 4.interface 1.定义类结构 2.定义对象结构 3.定义函数结构 4.接口之间的继…

C语言 动态数据结构的C语言实现内存映像

C程序的内存映像 C程序中变量的内存分配方式  C程序中变量的内存分配方式  从静态存储区分配  全局变量和静态变量 C程序中变量的内存分配方式  从静态存储区分配  全局变量和静态变量  在栈上分配  存放函数参数值&#xff0c;局部变量值等  …

已解决:AttributeError: ‘str‘ object has no attribute ‘decode‘

已解决&#xff1a;AttributeError: ‘str’ object has no attribute ‘decode’ 文章目录 写在前面问题描述报错原因分析 解决思路解决办法1. 确保只对 bytes 对象调用 decode()2. 将 Python 2 的旧代码迁移到 Python 33. 检查数据来源4. 处理编码不一致的问题5. 使用 six 库…

pygame--超级马里奥(万字详细版)

超级马里奥点我下载https://github.com/marblexu/PythonSuperMario 1.游戏介绍 小时候的经典游戏&#xff0c;代码参考了github上的项目Mario-Level-1&#xff0c;使用pygame来实现&#xff0c;从中学习到了横版过关游戏实现中的一些处理方法。原项目实现了超级玛丽的第一个小…

利用vue-capper封装一个可以函数式调用图片裁剪组件

1. 效果 const cropData await wqCrop({prop:{img,autoCrop: true, // 是否开启截图框maxImgSize: 600,autoCropWidth: 30,canMove: true, // 图片是否可移动canMoveBox: true, // 截图框是否可移动fixedBox: false, // 截图框是否固定}});console.log(cropData);使用wqCrop会…

virtualbox配置为NAT模式后物理机和虚拟机互通

virtualbox配置为 NAT模式后&#xff0c;虚拟机分配到的 IP地址一般是 10.xx网段的&#xff0c;虚拟机可以通过网络地址转换访问物理机所在的网络&#xff0c;但若不做任何配置&#xff0c;则物理机无法直接访问虚拟机。 virtualbox在提供 NAT配置模式时&#xff0c;也提供了端…

重置linux后vscode无法再次使用ssh连接

如果你使用过vscode ssh远程连接了一个Linux系统&#xff0c;但该系统被重置了&#xff0c;并且关键配置没有改变。再次使用vscode连接时&#xff0c;vscode可能无法连接。 原因&#xff1a;vscode远程连接后会在C:\Users{{你的用户名}}.ssh下的known_hosts和known_hosts.old。…

osg 矩阵相关

下面结果是一样的 osg::Matrix mtrixx;mtrixx.makeRotate(90 / 180.f * osg::PI, osg::Vec3(1, 0, 0));osg::Matrix mtrixx12 osg::Matrix::rotate(90 / 180.f * osg::PI, 1, 0, 0); 下面结果是一样 osg::Matrix m1;m1.makeTranslate(osg::Vec3(18, 12,3));osg::Matrix m2 os…