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

news/2024/9/28 21:39:06 标签: 人工智能, 深度学习, 计算机视觉

[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.请添加图片描述
请添加图片描述
请添加图片描述


http://www.niftyadmin.cn/n/5681892.html

相关文章

二、初步编写drf API

2.1基于django #settings.py urlpatterns [path(admin/, admin.site.urls),path(auth,views.auth) #创建一个路由 ]#views.py from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt# Create your views here.c…

ML 系列:机器学习和深度学习的深层次总结(06)— 提升数据质量

一、说明 在AI数据挖掘中,对原始数据的预处理是必须的技术手段,本篇将对数据预处理的一系列注意事项进行展示。 二、关于数据预处理 注意: 在本章中,讨论的技术和方法基于 Roy Jafari 的《Hands-On Data Preprocessing in Pyth…

C#:动态为Object对象添加新属性的方法

在C#中,object 类型本身是一个基础类型,它不支持直接添加属性,因为 object 并不具备定义属性的能力(它不支持任何接口或基类中的属性,除非通过类型转换)。然而,有几种方法可以在运行时模拟给对象…

Linux学习之路 -- 线程 -- 条件变量与生产消费模型

前面我们已经提过线程互斥的相关概念&#xff0c;但是我们在前文的抢票逻辑中&#xff0c;我们其实很容易发现一个问题。那就是票可能被一直被一个人抢&#xff0c;这里我们就需要引入条件变量的概念。 目录 1、条件变量 <1>线程同步 <2>相关概念 <3>相…

解决Android中使用jdk 9以上中的某个类(AbstractProcessor)但是无法导入的问题

前景提要 今天在使用jdk中的AbstractProcessor类的时候&#xff0c;怎么都找不到&#xff0c;网上各种搜索&#xff0c;加什么依赖都没用&#xff0c;看了下依赖确实有这个类但是就是无法正常导入 然后翻了下android.jar&#xff0c;发现没有这个类 疑问 但是你尝试一下发…

滚珠丝杆如何安装滚珠?

滚珠丝杆安装滚珠是一门非常专业的知识&#xff0c;其安装过程需要细致且精确&#xff0c;这样才能确保其后续运行的顺畅与稳定。以下是安装滚珠的详细步骤&#xff1a; 一、准备工作 确保工作区域清洁无尘&#xff0c;准备合适的螺丝刀、扳手等工具&#xff0c;以及适量的润滑…

gcc选项-fno-access-control 使用

背景&#xff1a; 在进行eigen库进行移植时&#xff0c;总是报编译错误&#xff1a; error: struct std::basic_stringbuf<_CharT, _Traits, _Alloc>::__xfer_bufptrs redeclared with different access struct __xfer_bufptrs &#xff0c;单独写一个测试程序使用eig…

物理学基础精解【30】

这里写目录标题 微分导数一、导数的定义二、导数的几何意义三、导数的计算四、导数的应用 微分的定义一、基本概念二、数学定义三、具体形式四、几何意义五、与导数的关系 可微性与连续性一、连续性的定义二、可微性的定义三、可微性与连续性的关系四、结论 反函数的导数和隐函…