(2024,密集量子电路,量子 U-Net,幺正单采样)量子去噪扩散模型

Quantum Denoising Diffusion Models

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

2. 相关工作

2.1. 扩散模型

2.2. 变分量子电路

2.3. 量子扩散模型

3. 量子去噪扩散模型

3.1. 密集量子电路

3.2. 量子 U-Net

3.3. 引导

3.4. 幺正单采样

4. 实验设置

4.1. 数据集

4.2. 指标

4.3. 基线

4.3. 模型训练和评估

5. 实验

6. 幺正单采样

7. 结论

9. 量子架构


0. 摘要

近年来,像 DALLE、Craiyon 和 Stable Diffusion 这样的机器学习模型因其能够从简明的描述中生成高分辨率图像的能力而受到重视。与此同时,量子计算正取得显著进展,特别是在量子机器学习方面,它利用量子力学来满足传统机器学习算法日益增长的计算需求。本文探讨了量子机器学习与变分量子电路的整合,以增强基于扩散的图像生成模型的有效性。具体而言,我们解决了经典扩散模型的两个挑战:它们的采样速度较低和广泛的参数要求。我们引入了两个量子扩散模型,并使用MNIST digits、Fashion MNIST 和 CIFAR-10 对它们的性能进行了基准测试,与它们的经典对应物相比,我们的模型在 FID、SSIM 和 PSNR 等性能指标上表现优异,并且引入了一种一致性模型的幺正单采样架构(unitary single sampling architecture),将扩散过程合并为一个步骤,实现快速的单步图像生成。

2. 相关工作

2.1. 扩散模型

扩散模型最初由 [44] 提出,呈现了一种训练生成模型的独特方法。与 GANs 中的对抗性对峙不同[11],扩散模型侧重于将噪声稳定地转化为有意义的数据。虽然这种技术的最初阶段显示出有望的结果 [7],但随后出现了一些改进,如去噪扩散隐式模型(DDIM)[17, 33, 45]。与传统扩散模型不同,传统扩散模型以马尔可夫链的方式采样每个中间步骤,而 DDIM 在较早的阶段识别并去除噪声,绕过了某些采样迭代 [45]。在本文中,我们主要遵循 Ho 等人的方法 [17]。

2.2. 变分量子电路

量子机器学习(Quantum machine learning,QML)旨在利用量子计算的能力,满足传统机器学习算法日益增长的计算需求 [3, 10]。变分量子电路(Variational quantum circuits,VQC)是 QML 的基础,类似于经典神经网络的函数逼近器。这些电路利用量子力学的原理,如叠加、纠缠和干涉,来利用量子比特(qubits)上的参数化幺正量子门(unitary quantum gates) [1]。这些门的参数来自旋转角度,可通过传统机器学习方法进行训练。VQC 的架构包括三个组件。

  • (编码)第一个组件将图像和引导数据嵌入到量子比特中。对于图像数据,我们采用幅度嵌入,该方法将 2^n 个特征(像素值)编码到 n 个量子比特中,将每个特征表示为量子态的归一化振幅 [32, 47]。对于标签嵌入,我们使用角度嵌入,它仅将 n 个特征编码到 n 个量子比特中,但使用更少的量子门 [55]。
  • (特征学习)第二个组件由多个变分层组成,类似于经典网络中的隐藏层。遵循 Schuld 等人的方法 [43],我们设计我们的电路具有强烈纠缠的层。我们还应用数据重新上传,在变分层之间重新嵌入输入的部分,这有助于更复杂的特征学习 [38]。
  • (获得输出分布)最后,我们通过测量量子系统来提取输出,导致叠加态塌缩(collapse)。鉴于 n 个量子比特,这使我们能够推导出输出状态的 2^n 联合概率。量子模拟器进一步支持提取电路的状态矢量,我们使用它来构建第 3.4 节中的组合幺正矩阵(combined unitary matrix)。

重要的是要强调,虽然 VQC 可以仅使用 log2 (N) 量子比特高效地处理高维输入 [28],但它们仍然在当前的有噪中间规模量子(Noisy Intermediate-Scale Quantum,NISQ)时代遇到问题,如高量子比特成本和错误率 [39]。然而,这些领域的预期进展对 QML 未来的关键作用充满了希望 [10, 39]。

2.3. 量子扩散模型

据我们所知,Dohun Kim 等人提出的 QDDPM 模型目前是唯一用于图像生成的量子扩散方法[20]。他们设计了一个单电路模型,其按时间步层分层,每次迭代采用独特的参数,并在所有迭代中保持一致的共享层。该模型在空间效率上表现出色,只需要 log2 (pixels) 量子比特,因此在图像生成中呈现对数空间复杂性。为了对抗梯度消失问题,他们限制了电路深度。对于纠缠,他们利用了特殊幺正(special unitary,SU)门,同时作用于两个量子比特。虽然 “SU(4)” 组提供了已知的例如微分的好处,但它们每个门的参数效率较低,因为它们每组使用 15 个参数。鉴于受限的电路深度,他们的模型生成的图像在某种程度上是可以识别的,但缺少原始图像的复杂性(参见图 1)。

3. 量子去噪扩散模型

3.1. 密集量子电路

在我们的工作中,我们采用了密集量子电路(或强纠缠电路)作为我们量子模型的基础组件。术语“密集” 指的是电路中量子比特之间的广泛纠缠。这个设计选择让人想起了经典深度学习中的命名法,其中术语 “密集” 或 “全连接” 描述了每个神经元与相邻层中的每个其他神经元相连接的层。

我们密集量子模型的架构如下。如第 2.2 节所述,由于幅度嵌入在空间效率上的优势,我们选择了幅度嵌入作为输入嵌入的方法。鉴于我们是在模拟器上进行训练,我们绕过了 [32] 中概述的初始预处理步骤,直接将归一化数据初始化到量子电路的状态。我们通过使用角度嵌入对归一化类别索引进行编码,以进行引导。这是通过添加一个额外的量子比特(辅助比特)并围绕 x 轴旋转一个角度,角度为:类别索引 × 2π / #类别(类别数)。我们的电路的变分组件由多个强纠缠层组成 [43],导致总共有 #层 × 3 × #量子比特 可训练参数。然后,我们计算量子子集的联合概率,测量输出在状态 |00 . . . 00〉 到 |11 . . . 11〉 的似然。如果我们的输出向量在大小上超过了输入向量,我们截断多余的部分,消除未使用的测得概率。为了将输出与输入数据的范围对齐,我们使用输入数据的欧几里得范数来缩放获得的概率。

3.2. 量子 U-Net

我们的量子 U-Net(QU-Net)灵感来自于经典 U-Net,特别是那些没有注意力层和上采样特征的U-Net(如图 2 所示)。

与众所周知的每个具有两个或更多经典卷积的块相反,我们每个块只包含一个量子卷积层,因为我们观察到使用更多卷积时执行时间较长。量子卷积是我们在量子机器学习中使用卷积灵活性的新颖方法,允许我们将形状为 c_in × k × k 的任何切片嵌入到一个密集的量子电路(第3.1节)中,具有

条线(图 2),并测量 c_out 个输出(其中 c 为输入和输出通道,k 为卷积核大小),因此与现有解决方案(如 Quanvolution [15] 和 Quantum CNNs [4, 35])不同。

3.3. 引导

扩散模型可以通过引导进行扩展,在训练和推断期间引入辅助数据。这个过程表示为 p_θ(x_(t−1) | x_t, c)(或 p_θ(ϵ_(t−1) | x_t, c)),使用 c 作为引导数据 [34]。

对于我们的密集量子电路,归一化的类别标签被嵌入为辅助量子比特的旋转角度,确保了不同的量子状态表示。例如,标签 0 和 1 对应于角度 0 和 π。

相反,由于其架构的原因,U-Net 为标签实施了掩码编码。这个掩码定义为

通过巧妙地放置像素值条纹,微妙地改变输入图像,以促进标签识别。对于量子 U-Net,尽管在量子卷积中需要归一化的输入,但这种掩码技术仍然有效。然而,具有广泛类别变化的数据集可能需要其他策略。

3.4. 幺正单采样

量子门和电路的幺正性质使我们能够将扩散步骤中 U^τ 的迭代应用合并为一个幺正矩阵 U(图3)。这使我们能够使用电路 U 的单样本创建合成图像,弥合了量子扩散模型和经典一致性模型 [46] 之间的差距。此外,这种方法可能比执行经典扩散模型的多次迭代或甚至比逐个执行每个门的速度更快,具体取决于转换过程和量子硬件。

训练单一采样模型要求使用一种替代的损失计算方法。与典型的测量概率不同,我们对电路后(post-circuit)的量子态感兴趣。目前直接在量子计算机上进行训练是不可行的,因为用于状态重构的量子态层析成像(tomography)随系统规模呈指数级增长 [5]。因此,我们使用一个无噪声的量子模拟器。通过比较电路后的状态

和较少噪声的图像 |x_t〉 ,两者都表示为长度为 2n 的复向量,使用诸如平均绝对误差(MAE)之类的指标来评估损失。

为了进行高效的采样,我们使用串联电路 U^n 中的训练参数。或者,我们可以从 U^n 的矩阵形式确定一个单一的 U_diffusion 矩阵。预先计算这个矩阵可以实现更流畅的采样 [46]。

4. 实验设置

4.1. 数据集

MNIST digits [6], Fashion MNIST [54], and a grayscale version of CIFAR-10 [22].

4.2. 指标

Fr´echet Inception Distance (FID) [16, 27], the Structural Similarity Index Measure (SSIM) [53], and the Peak Signal-to-Noise Ratio (PSNR).

4.3. 基线

Deep Convolutional Networks (DCNs), UNets, and Quantum Denoising Diffusion Probabilistic Models (QDDPM).

4.3. 模型训练和评估

我们使用 PennyLane 框架 [2] 构建我们的量子模型。为了训练我们的量子模型,我们使用PennyLane 的 PyTorch 集成,它便于对于旋转角度的梯度进行经典反向传播。在实际的量子硬件上,参数偏移微分通过使用扰动参数重新评估电路来计算梯度 [31, 42]。为了增强收敛性并稳定训练,参数重新映射将值限制在范围 [−π, π] 或 [0, 2π] 内 [24]。我们使用了经典优化算法 Adam [21],最小化由噪声增强的训练数据集产生的生成图像 p_θ(x_t) = ^x_(t−1) 与 x_(t−1) 之间的均方误差(MSE)。值得注意的是,对于幺正单采样模型,我们采用平均绝对误差(MAE),因为它对于复杂张量具有原生的 PyTorch 实现。所有运行都在相同的硬件上进行,使用 Intel Core ® i9-9900 CPU 和 64 GB RAM。在我们的两个初步研究中(第 8 节),我们探讨了模型超参数和指标之间的关系。此外,我们进行了一个关注学习率和批大小的超参数搜索。每个模型的详细超参数设置可在第 10 节中找到。关于我们的图像修补任务 [29, 37],我们评估了没有专门针对此目的进行训练的模型,使用 MSE 来评估图像的保真度。当掩蔽隐藏了重要特征时,面临一些挑战:未引导的模型主要依赖于现有像素,而引导的模型受益于标签指导。 

5. 实验

我们使用均方误差(MSE)来评估具有约 1000 个参数的模型的修补能力,测试在多种情景下使用各种掩蔽和噪声条件,如图 5 所示。值得注意的是,密集量子电路生成了在保持高整体质量的同时产生视觉上一致的样本,只有一些小的伪影。尽管在 FID 得分上表现更好,但深度 QU-Net 相比其较浅的对应物表现较差。 

在检查样本(图 7)时,密集量子电路生成了具有明显噪声的清晰图像,而经典 U-Net 生成了噪声较少但辨识度较低的形状。量子模型在 SSIM 上获得了更高的分数,侧重于总体结构,而 FID 对噪声敏感,提供了不一致的结果,因此在小型密集量子电路和 U-Net 之间的性能比较中得出了不确定的结论。PSNR 分数反映了 SSIM 的结果,但也突显了量子 U-Net 的较低性能,尤其是较小的 QU-Net 在图像边缘处受到了明显的伪影影响。有关密集量子电路存在的问题的潜在解决方案的讨论可在第 7 节中找到。 

6. 幺正单采样

7. 结论

在我们的研究中,我们探索了量子去噪扩散模型,引入了 Q-Dense 和 QU-Net 架构。此外,我们引入了一个称为幺正单采样的量子一致性模型,它将扩散过程整合成一个幺正矩阵,实现了一步图像生成。我们使用 MNIST digits、Fashion MNIST 和 CIFAR10 等数据集,在无引导、有引导和图像修补任务上对我们的模型进行了基准测试,采用了 FID、SSIM 和 PSNR 等度量标准。我们在质量上与最先进量子网络、经典深度卷积网络和 U-Net 进行了比较。

我们的结果表明,我们的模型远远超过了 Dohun Kim 等人提出的唯一其他量子去噪模型 [20]。此外,我们的量子模型性能超过了大小相似的经典模型,并与两倍大小的模型相匹敌。然而,在修补任务中,经典模型仍然具有优势。我们展示了第一个可行的幺正单采样模型的一步生成能力,既在量子模拟器上,也在 IBMQ 硬件上。

在未来的研究中,我们的目标是通过使用缓存矩阵来简化模拟,从而提高变分量子电路的效率,实现更快的 GPU 并行执行。采用 16 位浮点精度可以显著减少 RAM 使用 [14, 51],考虑到在经典机器学习中已经取得的成功和 FP16 的 GPU 广泛支持。我们还热衷于探索扩散修补 [30],该方法利用像素邻域作为通道,这种方法可能会显著提高执行速度,特别是在 RGB 图像中。对比经典模型,对最佳数据嵌入方法(第 3.3 节)进行更深入的探讨可能会为量子知识表示提供深刻见解。此外,通过使用定制的纠缠电路来改进密集量子电路,可能会提供更优越的空间局部性。最后,在我们的模型中引入经典组件进行后处理可能是规避量子状态规范化约束并增强整体性能的途径。 

9. 量子架构

在这项工作中,我们介绍了两种用于去噪扩散模型的量子架构。如图 13 所示,每种架构都有引导和无引导的变体。所有引导变体都利用了一个额外的量子比特,称为 “辅助比特”,这是标签的嵌入。图 13b 详细说明了如何使用 R_X 旋转(角度嵌入)嵌入标签,以及随后的变分层如何延伸到辅助量子比特。两种变体都使用强纠缠层作为变分层。

在图 12 中,我们描绘了多个强纠缠层的示例,每个可训练参数 θ^j_i 都与第 i 个量子比特和第 j 个旋转门相关联,其中 j 的范围是 {0, 1, 2}。为了清晰起见,在图形表示中省略了表示层的索引。强纠缠的 CNOT 门以位置 (i+L) mod n 为目标,其中 L 是层号。该方案确保了在第一层(L = 1)中的循环纠缠,控制比特和目标比特相邻,除了完成循环的最后一个 CNOT 门。在第二层(L = 2)中,控制比特和目标比特相隔一个比特。例如,在这一层中,第一个量子比特(i = 0)的目标比特是第三个量子比特(i = 2)。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS 转场动画 ForEach控制

本文 我们继续说组件的专场特效 上文 HarmonyOS 转场动画 我们通过if控制了转场效果 本文 我们通过 ForEach 控制它的加载和删除 这时候就有人会好奇 ForEach 怎么控制删除呢? 很简单 循环次数不同 例如 第一次 10个 第二次 5个 那么后面的五个就相当于删除啦 我们…

JVM垃圾回收机制及思维导图

一、Java垃圾回收机制 在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内…

【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南

这里写目录标题 EasyExcel教程Maven依赖 EasyExcel API分析介绍EasyExcel 注解通用参数ReadWorkbook(理解成excel对象)参数ReadSheet(就是excel的一个Sheet)参数注解参数通用参数 WriteWorkbook(理解成excel对象&#…

k8s学习-Deployment

Kubernetes通过各种Controller来管理Pod的生命周期 。 为了满足不同业 务 景 , Kubernetes 开发了Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job等多种Controller。我们⾸先学习最常用Deployment。 1.1 Kubectl命令直接创建 第一种是通过kubectl命令直接…

java读取配置文件数据

在实际开发中,项目中难免会有一些秘钥或者不经常使用到的配置信息,此时,就可以将这些配置信息统一写到配置文件中。随后使用Value注解读取配置文件的值来向Spring中Bean的属性设置值。 例如,一些系统环境变量信息,数据…

路飞项目--02

补充:axios封装 # 普通使用:安装 ,导入使用 const filmListreactive({result:[]}) axios.get().then() async function load(){let responseawait axios.get()filmList.resultresponse.data.results } # 封装示例:请求发出去之前…

让代码运行得更快:深入理解进程、线程和协程

让代码运行得更快:深入理解进程、线程和协程 什么是执行体 在深入探讨进程、线程和协程之前,我想先介绍下执行体这个概念。 执行体这个词语是我从七牛云创始人许式伟大佬的专栏中学到的,它代表操作系统中程序执行的载体,涉及到…

makefile,make,gcc/g++ 编译流程分析

文章目录 makefile,make,gcc/g 编译流程分析 makefile,make,gcc/g 编译流程分析 C实现加减乘除四个运算 // // Created by qiufh on 2024-01-17. //#include "add.h"int add(int a, int b) {return a b; } // // Cre…

C++的命名空间域

一、域作用限定符 :: 即是域作用限定符,它的作用是指明一个标识符(变量、函数或类)来自哪一个作用域范围 二、编译器搜索变量、函数等的原则 1.先搜索局部变量,2.再搜索全局变量,3.最后搜索指定的命名空间域 三、…

python数字图像处理基础(十)——背景建模

目录 背景建模背景消除-帧差法混合高斯模型 背景建模 背景建模是计算机视觉和图像处理中的一项关键技术,用于提取视频中的前景对象。在视频监控、运动检测和行为分析等领域中,背景建模被广泛应用。其基本思想是通过对视频序列中的像素进行建模&#xff…

构建中国人自己的私人GPT—限时免费部署

在现实生活中,很多公司或个人的资料是不愿意公布在互联网上的,但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢?于是我们构建自己或公司的本地专属GPT变得非常重要。 先看效果: 解方程,24小…

用友GRP-U8 obr_zdybxd_check.jsp SQL注入漏洞复现

0x01 产品简介 用友GRP-U8R10行政事业内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8R10行政事业内控管理软件 obr_zdybxd_check.jsp 接口处存在SQL注入漏洞…

day-13 拿出最少数目的魔法豆

思路 将beans的每个数值当做袋子最后豆子剩余数,选择取豆子最少的一种方案 解题方法 //从小到大,将每个beans[i]作为剩余豆子数 //对于beans[i],i之前的全为零,i之后的全变为beans[i] ansMath.min(ans,sum-(beans.length-i)*bean…

esp32-idf eclipse 定时器的使用demo

esp32定时器的使用demo 1、介绍 ESP32芯片包含两个硬件定时器组。每组有两个通用硬件定时器。它们都是基于16位预分频器和64位自动重载功能的向上向下计数器的64位通用定时器。 2、API接口函数 创建定时器函数: esp_timer_create(); esp_err_t esp_timer_create …

动态pv(nfs方式挂载)

1、定义 发布pvc之后可以生成pv,还可以在共享服务器上直接生成挂载目录 pvc直接绑定和使用pv 2、动态pv依赖两个组件 (1)provisioner卷插件:k8s本身支持的动态pv创建不包括nfs,需要声明和安装一个外部插件provisio…

16.鸿蒙HarmonyOS App(JAVA)滑块组件Slider与评级组件Rating

16.鸿蒙HarmonyOS App(JAVA)滑块组件Slider与评级组件Rating ability_main.xml <?xml version"1.0" encoding"utf-8"?> <DirectionalLayoutxmlns:ohos"http://schemas.huawei.com/res/ohos"ohos:height"match_parent"oh…

「优选算法刷题」:盛最多水的容器

一、题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器…

第29关 阿里云开源的k8s容器秒级事件监控软件-Kube-eventer

------> 课程视频同步分享在今日头条和B站 大家好&#xff0c;我是博哥爱运维。这节课给大家分析一款K8S上宝藏级秒级事件监控报警的开源软件kube-eventer&#xff0c;它是由阿里云开源的&#xff0c;并且难得的还一直有在更新。 天下武功&#xff0c;唯快不破。对于报警监…

ClickHouse学习笔记(六):ClickHouse物化视图使用

文章目录 1、ClickHouse 物化视图2、物化视图 vs 普通视图3、物化视图的优缺点4、物化视图的用法4.1、基本语法4.2、准备表结构4.3、准备数据4.4、查询结果 1、ClickHouse 物化视图 ClickHouse 的物化视图是一种查询结果的持久化&#xff0c;它的存在是为了带来查询效率的提升…

鸿蒙OS4.0兼容性测试

背景 OpenHarmony兼容性测评主要是验证合作伙伴的设备和业务应用满足OpenHarmony开源兼容性定义的技术要求&#xff0c;确保运行在OpenHarmony上的设备和业务应用能稳定、正常运行&#xff0c;同时使用OpenHarmony的设备和业务应用有一致性的接口和业务体验。 OpenHarmony兼容…