社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

机器学习迈向量子化:范式转变惊鸿一瞥

集智俱乐部 • 3 年前 • 389 次点击  


导语


在本文,我们将介绍三种机器学习算法的量子变体,包括:迁移学习、k-means 和卷积神经网络,并尝试动用尽可能少的量子知识来科普机器学习量子化,以及在设计机器学习量子应用时需要考虑的一些重要事项。

Andre Ye | 作者

数据实战派 | 来源



量子计算近来成为一个高词频的流行概念,尽管它在大众认知及互联网社区中非常火热,但是它的能力目前仍然相当有限。


作为一个全新的领域,量子计算呈现出基于传统经典计算模式的范式转变。在量子计算中,0 或 1 的经典比特被持某种概率值的量子比特取代。


基于特殊的量子态性质,每当量子比特被测量时都以一定的概率进入 0 或 1 的状态。例如,如果一个量子比特处于 0.85:0.15 的状态,我们预计它在 85% 的情况下测量为零,在 15% 的情况下测量为 1。


量子计算固然还有很长的路要走,但机器学习已是一个特别有前景的潜在方向。下面的示例有助于大家简单了解量子计算可以提供的计算能力:


Ÿ 一个量子比特可以同时包含 0 和 1。因此,两个量子比特可以保存四个值状态:00,01,10 和 11 的值,三个量子比特可以达到八个,依次类推。


Ÿ 理论上,n 个量子比特信息相当于 2n 个经典比特。


除此之外,量子电路的流体概率性质(fluid probabilistic nature)可能为深度学习提供独特的优势,深度学习本身就受益于通过网络进行的概率流和信息转换。


量子机器学习的概念正在流行起来,例如,TensorFlow 是谷歌著名的深度学习框架,最近这个框架也有了其量子版本 ——“TensorFlow Quantum”。


而在本文,我们将介绍三种机器学习算法的量子变体,包括:迁移学习、k-means 和卷积神经网络,并尝试动用尽可能少的量子知识来科普机器学习量子化,以及在设计机器学习量子应用时需要考虑的一些重要事项。

 




量子迁移学习




迁移学习可能是深度学习最成功的方法之一。考虑到深度学习模型需要花费大量的时间进行训练,迁移学习提供了一种高效的方法来加快训练时间。此外,与从头开始训练相比,使用迁移方法的模型往往能得到更好的结果。


迁移学习的思路相对简单,即在一个通用任务上训练一个 “基模型”(base model),记为 A,然后在 A 的基础上再加一个层块,记作 B。通常在添加 B 之前,先把 A 的最后几层去掉。然后,在特定数据集上对模型进行 “微调”,其中 A(修改后的 A)为 B 提供了一个排序过滤器(a filter of sorts),以提取与特定任务相关的有意义信息。


我们可以建立一个用于迁移学习的 “混合神经网络”:


  •  在一个通用数据集上训练一个通用网络 A 来执行一个通用任务(预测一个特定的标签)


  • 取通用网络 A 的一个部分 A’,将一个新的块 B 附加到 A’上。A’是预先训练的,应该被冻结(不可训练),B 是可训练的。


  • 在特定的数据集上训练这个 A’B 混合模型来执行特定的任务。


假设有两个分量 A’和 B,每个分量都可以是一个经典或量子网络,那么混合神经网络就有四种可能的类型。


  •  Classical-to-classical(CC):传统的迁移学习理论范畴。


  • Classical-to-quantum(CQ):经典预训练网络充当量子网络使用的过滤器。这种方法的实用性值得关注。


  • Quantum-to-classical(QC):量子预训练网络充当经典网络使用的过滤器。也许在未来量子计算发展得更好时,这种类型将变得更加可信。


  •  Quantum-to-quantum(QQ):一个完全的量子混合网络。在现在的水平上可行性不高,但未来可能会很有希望。


Classical-to-quantum 网络特别有趣和实用,因为大量的输入样本经过预处理,只提取最重要的特征。这些信息特征可以通过量子电路进行后处理,在目前的发展阶段,量子电路提取的特征要比经典网络少得多。


另一方面,Quantum-to-classical 网络将量子系统作为特征提取器,利用经典网络对提取出来的特征进行后处理。QC 网络有两个用例:


  • 由量子态组成的数据集。例如,如果需要预测一个量子态的一些信息,量子特征提取器是处理输入信息的良好工具。此外,像分子和超导体这样的量子力学系统也可以从量子特征提取器中获益。


  •  优于经典特征提取器的高性能量子计算机。


在测试中,研究人员发现这些 “量子 -- 经典” 混合模型可以获得与标准经典网络相似的效果。考虑到量子计算还处于发展早期,未来前景广阔。




量子卷积神经网络(QCNN)




卷积神经网络(CNN)在图像识别以及信号处理等其他应用中很常见,这些网络的规模还在持续增长,量子计算可展现出比传统机器学习更快的速度。


QCNN 算法与经典 CNN 算法很相似。其他一些赋能量子方法的想法或改变也很有趣:


首先,量子电路需要量子随机存取存储器(QRAM),这就像 RAM 一样,但是地址和输出寄存器由量子比特组成而不是原来的经典比特,插入、更新或删除内存中任何条目的时间复杂度为 O(log2 (n))


量子卷积神经网络卷积块与经典卷积神经网络相似,但略有不同:


  • 执行量子卷积。这就是量子运算发生的地方,是在 QRAM 中完成的,并应用了非线性方式。


  • 量子抽样。执行一个采样,如果它们的准确值已知的概率很高,就可以获得所有的位置和值。因此,概率量子比特值被 “转换” 为经典形式,这就是 “量子断层成像技术”。


  •  QRAM 更新和池化。QRAM 需要更新和池化,就像卷积一样在 QRAM 结构中完成。


采样步长是经典步长和量子步长之间的主要区别。在量子算法中,为了性能(考虑量子计算的易变性和敏感性)和速度,通常需要采样步长。


与经典卷积神经网络相比,量子卷积神经网络的前向传递速度特点为:


  • 核的数量呈指数增长。


  •  输入的维数是二次的。


这是一个很大的速度提升!


然而,这个采样步骤的非线性函数必须是有界的,特别是在量子世界中很难从无限大的可能空间中采样。因此,ReLU 函数可以被重新定义成上限为 y = 1,这样它看起来更像是扁平化的 sigmoid 函数。这确实是采样的一个缺点,也是折中使用量子算法的一个有趣的示例。

 




Q-Means




未标记的数据正以前所未有的速度充斥着数据空间。标签化处理成本是昂贵的,需要以高效的方式处理未标记数据。与传统的无监督学习算法相比,量子计算可以实现显著的加速,对于处理这种无监督信息流有很大意义。


聚类操作通常采用传统经典的 k-means 算法。通过两步之间的重复交替,算法返回 “质心”(centroids,每个簇的中心)的位置:


  • 标签分配。每个数据点都被赋予最近质心的标记。(质心位置最初是随机设置的)


  •  质心估算。将每个质心更新为分配给相应簇的数据点的平均值。


δ-k-means 被认为是 k-means 的一个有噪声的经典版本。假设 δ 为预设参数,该算法在相同的两步之间交替并添加一些噪声:


  • 标签分配。为每个数据点分配一个距离小于 δ 的随机质心。也就是说,任何离数据点的距离小于阈值的质心都有相等的分配机会。


  •  质心估算。在计算各质心位置时,加入 δ/2 高斯噪声。


最后介绍一下 q-means,它是 k-means 的一个真正的量子变体。与传统情况不同,考虑到量子比特包含概率的先决条件,它们很容易受到测量误差和环境噪声的影响:


  • 标签分配。通过量子方法估计每个数据点和质心之间的距离,由于噪声的存在,这种量子距离估算将会有一定程度的噪声。然后,将每个数据点分配给一个质心。


  •  质心估算。使用与 QCNN 中相同的量子断层成像思想,将可被准确测量的状态 “转换” 为经典形式,但是在这个操作中同样存在一定程度的噪声。


q-means 和 k-means 非常相似,不同之处在于噪音,δ-k-means 可看作捕获了噪声元素的的 q-means。q-means 的设计者证明了分析 δ-k-means 可以揭示 q-means 算法如何运行的:


例如,δ-k-means 算法在选择 δ(非零)值时,通常收敛到与 k-means 算法相似(如果不是更好的话)的聚类。虽然在选择量子变量中的噪声量时没有那么大的自由度,但可以预期 q-means 的表现要比 k-means 好。


类似地,δ-k-means 算法的运行时间是多元对数的,因此 q-means 算法也是多对元对数的,通过引入一些误差并放宽的计算要求,其比 k-means 算法更快。


目前,q-means 过于复杂,量子模拟器和量子计算机无法测试。但是通过 δ-k-means 算法,有实验证据表明 q-means 可以达到与 k-means 相似的水平。


量子集群的目的是什么?进一步的研究可能实现量子态或数据的聚集,以及分子空间聚集等其他重要的微观研究任务。总的来说,量子方法似乎在传统任务上也有超越经典方法的潜力。


Reference:

https://towardsdatascience.com/machine-learning-goes-quantum-a-glance-at-an-exciting-paradigm-shift-a80253cc577?gi=ba2c9e615dfc



复杂科学最新论文


集智斑图顶刊论文速递栏目上线以来,持续收录来自Nature、Science等顶刊的最新论文,追踪复杂系统、网络科学、计算社会科学等领域的前沿进展。现在正式推出订阅功能,每周通过微信服务号「集智斑图」推送论文信息。扫描下方二维码即可一键订阅:



推荐阅读


点击“阅读原文”,追踪复杂科学顶刊论文

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/114154
 
389 次点击