0

0

量子CNN对数据集的测试准确率高,但存在局限性

王林

王林

发布时间:2023-04-14 14:10:07

|

1118人浏览过

|

来源于51CTO.COM

转载

在10月4日公布的2022年诺贝尔奖中,Alain Aspect 、John F. Clause 和 Anton Zeilinger 三位科学家凭借量子纠缠获得物理学奖项,引起了外界对量子研究领域的关注和讨论。

其中,以量子计算为代表的研究投资近几年迎来显著增加,人们开始探索从安全、网络通信等领域出发,用量子方法来颠覆现有的经典计算技术。

有研究人员认为,量子计算的核心在于“通过计算成本更低的技术解决经典难题”,而随着近年来深度学习和量子计算的研究并行发展,不少研究者也开始关注到这两个领域的交叉点:量子深度学习。

近日,Xbox 游戏工作室 Rare 洞察主管 Holly Emblem 在新的文章“Quantum Deep Learning: A Quick Guide to Quantum Convolutional Neural Networks”中,就量子深度学习的现有研究和应用进行介绍,并重点讨论了量子卷积神经网络 (QCNN)与经典计算方法相比存在的优势和局限性。

经典计算和量子计算的区别

首先介绍一个关于经典计算和量子计算区别的重要概念。在经典计算机上执行程序时,编译器会将程序语句转换为二进制位;而在量子计算中,与经典计算机上的位在任何时候都代表 1 或 0 的状态不同,量子位能够在这两种状态间“悬停”,只有当它被测量时,量子比特才会崩溃到它的两个基态之一,即 1 或 0。

这种属性称为叠加,在量子计算任务中有至关重要的作用。通过叠加,量子计算机可以并行执行任务,而不需要完全并行的架构或 GPU 来执行。其原因在于,当每个叠加状态对应一个不同的值,如果对叠加状态进行操作,则该操作同时在所有状态上执行。

这里举一个叠加量子态的例子:

量子态的叠加是指数的,a 和 b 指概率幅度,其给出了一旦执行测量就投射到一个状态的概率。其中,叠加量子态是通过使用量子逻辑门来创建的。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

图注:Ragsxl 在芬兰埃斯波的 IQM 量子计算机

纠缠和贝尔态

叠加在量子物理学中十分重要,而另一个关键的原理则是纠缠。

纠缠指在两个或多个粒子之间、以某种方式产生或引起相互作用的行为,这意味着这些粒子的量子态不再能彼此独立地描述,即使相隔很远也是如此。当粒子被纠缠时,如果一个粒子被测量,与之纠缠的另一个粒子将立即测量为相反的状态(这些粒子没有局部状态)。

随着对量子比特和纠缠的理解的发展,继而来讨论贝尔态,下面展示了量子比特的最大纠缠态:

|00⟩ → β → 1 √ 2 (|00⟩ + |11⟩) = |β00⟩,

|01⟩ → β → 1 √ 2 (|01⟩ + |10⟩) = |β01⟩

|10⟩ → β → 1 √ 2 (|00⟩ - |11⟩) = |β10⟩

|11⟩ → β → 1 √ 2 (|01⟩ - |10⟩) = |β11⟩

使用量子电路创建贝尔态:

图片

图注:Perry 量子计算神殿的贝尔态电路

在所显示的贝尔态电路中,其接受量子位输入并应用 Hadamard 门和 CNOT 门创来建一个纠缠的贝尔态。

目前,贝尔态已被用于开发一系列量子计算应用程序;其中,Hegazy、Bahaa-Eldin 和 Dakroury 就提出了贝尔态和超密集编码可用于实现“无条件安全”的理论。

卷积神经网络和量子卷积神经网络

François Chollet 在 Python 深度学习中指出,卷积神经网络 (CNN) 在图像分类等任务中很受欢迎,其原因在于它们能构建模式层次结构,例如先表示线条、再表示这些线条的边缘,这使得 CNN 能够建立在层之间的信息上,并表示复杂的视觉数据。

CNN 具有卷积层,由过滤器组成,这些过滤器会在输入中“滑动”并产生“特征图”,允许检测输入中的模式。同时,CNN 可使用池化层来减小特征图的大小,从而减少学习所需的资源。

图片

图注:Cecbur 展示的卷积神经网络

定义了经典的 CNN 后,我们就可以探索量子 CNN (量子卷积神经网络,QCNN)是如何利用这些传统方法、并对其进行扩展。

Garg 和 Ramakrishnan 认为,开发量子神经网络的一种常见方法,是开发一种“混合”方法,引入所谓的“量子卷积层”,这是一种基于随机量子电路的变换,在经典 CNN 中作为附加组件出现。

下面展示了由 Yanxuan Lü 等研究人员开发、并在MNIST 手写数字数据集上进行测试的混合 QCNN:

研究人员在论文“A Quantum Convolutional Neural Network for Image Classification”中,采用了量子电路和纠缠作为经典模型的一部分来获取输入图像,并生成预测作为输出。

Winston AI
Winston AI

强大的AI内容检测解决方案

下载

图片

在这种方法中,QCNN 将图像数据作为输入,并将其编码为量子态 |x>,然后使用量子卷积和池化层对其进行转换来提取特征;最后,使用强纠缠电路的全连接层进行分类,并通过测量得到预测。

其中,优化是通过随机梯度下降(SGD)处理的,可用于减少训练数据标签与 QCNN 预测标签之间的差异。聚焦于量子电路,量子卷积层中使用的门如下所示,其中包括了旋转算子和 CNOT 门。

在池化层测量量子位的一个子集,所得出的结果会决定是否对其临近的位应用单量子位门:

全连通层由“通用单量子位门”和产生纠缠态的CNOT门组成,为了将 QCNN 与其他方法进行比较,研究人员使用了带有模拟 QCNN 的 MNIST 数据集。按照典型的方法,我们创建了一个训练/测试数据集,并开发了一个由以下层组成的 QCNN:

  • 2个量子卷积层
  • 2 个量子池层
  • 1个量子全连接层

该 QCNN 对数据集的测试集准确率达到了 96.65%,而根据 Papers with Code 的数据进行测试后,该数据集在经典 CNN 中的最高准确度得分可达到 99.91%。

要注意的是,该实验只有两类 MNIST 数据集被分类,这也就意味着将其与其他 MNIST 模型性能完全比较会存在局限性。

可行性评估和总结

虽然研究人员在 QCNN 开发了方法,但目前该领域的一个关键问题是,实现理论模型所需的硬件还不存在。此外,混合方法在经典 CNN 计算中同时引入量子演化层的测试方法,也面临着挑战。

如果我们考虑量子计算的优势之一,是可以解决“通过计算成本更低的技术解决经典棘手的问题”,那么这些解决方案中的一个重要方面就在于“量子加速”。有研究人员认为,量子机器学习与经典实现相比,其优势在于预计量子算法可具有多项式、甚至指数级的加速时间。

然而,上文中展示的 QCNN 方法存在一个局限性是,当我们需要对经典数据和测量进行一致解码/编码的算法(如 QCNN )时,“量子加速”增益是有限的;而目前,关于如何设计出最好的编码/解码和需要最小测量的协议、使其能够受益于“量子加速”的信息并不多。

纠缠已被证明是量子机器学习的一个重要性质,本文所提到的关于 QCNN 利用强纠缠电路,可以产生纠缠态作为其全连通层的研究,使模型能够进行预测。不仅如此,纠缠也在其他领域中被用于辅助深度学习模型,例如使用纠缠从图像中提取重要特征,以及在数据集中使用纠缠、可能意味着模型能够从比之前预期更小的训练数据集中学习等等。

本文提供了经典深度学习方法和量子深度学习方法的比较,并讨论了利用量子层(包括强纠缠电路)生成预测的 QCNN ,分析量子深度学习的好处和局限性,并介绍了纠缠在机器学习中更普遍的应用,这也意味着我们可以开始考虑量子深度学习的下一步,特别是 QCNN 在更多领域中的应用。除此之外,量子硬件也在不断进步,PsiQuantum 等公司更是提出了开发百万量子比特的量子处理器目标。

随着深度学习和量子计算领域研究的继续进行,我们可以期待看到量子深度学习的进一步发展。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

713

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

625

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

738

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1235

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

574

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

696

2023.08.11

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 7.6万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.1万人学习

Rust 教程
Rust 教程

共28课时 | 3.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号