【Diffusion模型】Cold Diffusion: 无噪声反转任意图像变换

server/2024/11/19 9:03:09/

Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise

        标准的扩散模型涉及图像变换--添加高斯噪声和反转这种退化的图像复原算子。我们观察到,扩散模型的生成行为与图像降级的选择并无密切关系,事实上,通过改变这种选择,可以构建整个生成模型系列。即使使用完全确定性的退化(如模糊、遮蔽等),扩散模型所依据的训练和测试时间更新规则也可以很容易地概括为生成模型。这些完全确定性模型的成功使人们对扩散模型的理解产生了质疑,因为扩散模型依赖于梯度朗格文动力学或变分推理中的噪声,这也为反转任意过程的广义扩散模型铺平了道路

Introduction

        扩散模型最近已成为生成建模的强大工具[Ramesh 等人,2022]。扩散模型有多种类型,但都是围绕随机噪音去除的概念而建立的;一个模型训练一个图像修复/去噪网络,该网络接受一个被高斯噪音污染的图像,并输出一个去噪图像。在测试时,去噪网络使用更新规则将纯高斯噪声转换为逼真的图像,更新规则在应用去噪器和添加高斯噪声之间交替进行。当应用正确的更新序列时,就能观察到复杂的生成行为。

        扩散模型的起源,以及我们对这些模型的理论理解,在很大程度上基于高斯噪声在训练和生成过程中的作用。扩散被理解为利用朗温动力学围绕图像密度函数的随机行走,每一步都需要高斯噪声。行走开始时处于高温(重噪声)状态,然后慢慢退火到几乎没有噪声的 "冷 "状态。另一种方法是利用高斯先验的变分推理来推导去噪网络的损失。 

        在这项工作中,我们研究了扩散模型在实践中是否需要高斯噪声或任何随机性。我们考虑的广义扩散模型,跳出了扩散模型产生的理论框架。我们不局限于围绕高斯噪声建立的模型,而是考虑围绕任意图像变换建立的模型,如模糊、降采样等。我们使用简单的 "p 损失 "训练修复网络来反转这些变形。当我们在测试时应用一系列更新,交替使用图像修复模型和图像降级操作时,就会出现生成行为,从而获得逼真的图像。 

        在训练或测试过程中不需要高斯噪声(或任何随机性)的冷扩散的存在,提出了我们对扩散模型的理论理解的局限性的问题。同时,它也为我们打开了一扇门,让我们可以找到与传统扩散模型截然不同的新型生成模型。

Background

        生成模型适用于自然语言和图像等一系列模态,并可扩展用于解决图像复原等重要问题 。虽然 GANs一直是图像合成的首选工具,但扩散模型 最近在某些应用中变得具有竞争力,甚至更胜一筹 。 

        扩散模型的朗格文动力学解释和变分推理解释都依赖于训练和采样管道中使用的高斯噪声的特性。从分数匹配生成网络的角度来看,训练过程中的噪声被认为是将低维训练分布的支持扩展到环境空间中的一组全量噪声还被认为是一种数据增量,可改善低密度区域的分数预测,允许随机梯度朗格文动力学(SGLD)采样中的模式混合。通过在 SGLD 的早期阶段注入大量噪声,并在后期阶段逐渐减少噪声,可以在采样过程中进一步改善低密度区域的梯度信号

        Kingma 等人提出了一种学习噪声调度的方法,从而加快了优化速度。Kadkhodaie 和 Simoncelli 利用一个经典的统计结果,展示了在确定性线性逆问题中,去除加性高斯噪声与噪声信号密度对数梯度之间的联系。在此,我们将通过反演问题和图像生成应用中的理论和经验结果,阐明噪声在扩散模型中的作用

        迭代神经模型已被用于各种逆问题。最近,扩散模型被应用于去模糊、去噪、超分辨率和压缩传感等问题。

        虽然这不是他们的研究重点,但之前关于扩散模型的研究包括确定性图像生成实验和选定逆问题实验。在这里,我们明确表明,噪声在扩散模型中并非必要,而且我们观察了去除噪声对一些逆问题的影响

        尽管近年来关于生成模型的研究成果颇丰,但探究所学分布特性和测量它们与真实训练数据接近程度的方法绝非研究的禁区。已有人提出并在一定程度上采用了间接特征空间相似性度量,如初始得分(Inception Score)、模式得分(Mode Score)、弗雷谢特初始距离(Frechet incepti


http://www.ppmy.cn/server/143134.html

相关文章

举例矢量路由协议-RIP

前言 基于距离的矢量算法协议,跳数作为度量来衡量到达目的网络的距离. RIP主要应用与规模较小的网络中. 路由信息协议-RIP RIP是一种简单的内部网关协议.基于距离矢量的贝尔曼-福特算法(Bellman-Ford)来计算到达目的网络的最佳路径. RIP协议的开发时间较早,宽带,配置,管理方面…

柯桥生活英语口语学习“面坨了”英语怎么表达?

“面坨了”英语怎么表达? 要想搞清楚这个表达,首先,我们要搞明白“坨”是啥意思? 所谓“坨”就是指,面条在汤里泡太久,从而变涨,黏糊凝固在一起的状态。 有一个词汇,很适合用来表达这…

css 使用图片作为元素边框

先看原始图片 再看效果 边框的四个角灭有拉伸变形,但是图片的中部是拉伸的 代码 border-style: solid;/* 设置边框图像的来源 */border-image-source: url(/static/images/mmwz/index/bk_hd3x.png);/* 设置如何切割图像 */border-image-slice: 66;/* 设置边框的宽度 */border…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《基于改进容积卡尔曼滤波的含光伏配电网动态状态估计》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

用 Python 从零开始创建神经网络(五):损失函数(Loss Functions)计算网络误差

用损失函数(Loss Functions)计算网络误差 引言1. 分类交叉熵损失(Categorical Cross-Entropy Loss)2. 分类交叉熵损失类(The Categorical Cross-Entropy Loss Class)展示到目前为止的所有代码3. 准确率计算…

【leetcode】LCR150.彩灯装饰记录Ⅱ

cpp实现 #include<vector> using namespace std; #include<queue> #include<iostream>//* Definition for a binary tree node. struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode…

使用 .NET 创建新的 WPF 应用

本教程介绍如何使用 Visual Studio 创建新的 Windows Presentation Foundation &#xff08;WPF&#xff09; 应用。 使用 Visual Studio&#xff0c;可以向窗口添加控件以设计应用的 UI&#xff0c;并处理这些控件中的输入事件以与用户交互。 在本教程结束时&#xff0c;你有一…

已有docker增加端口号,不用重新创建Docker

已有docker增加端口号&#xff0c;不用重新创建Docker 1. 整体描述2. 具体实现2.1 查看容器id2.2 停止docker服务2.3 修改docker配置文件2.4 重启docker服务 3. 总结 1. 整体描述 docker目前使用的非常多&#xff0c;但是每次更新都需要重新创建docker&#xff0c;也不太方便&…