当前位置: 首页 > 科技观察

继“量子优越性”之后,谷歌强势开源量子版TensorFlow

时间:2023-03-20 22:44:34 科技观察

谷歌于2019年10月在《Nature》上发表验证“量子优越性”的论文后,3月9日,谷歌再次讨论“量子优越性”。”做一个新版本。这个版本是开源的“量子版TensorFlow”:TensorFlowQuantum(TFQ)。谷歌强大的开源量子版TensorFlow”>简单来说,类似于TensorFlow,TFQ,作为一个开源库,将直接降低量子机器学习的门槛,让我们能够快速构建量子机器学习模型。TensorFlowQuantum专注于处理量子数据,并构建混合量子经典模型。它集成了Cirq中设计的量子计算算法和逻辑,并提供兼容现有TensorFlowAPI的量子计算原语,以及高性能的量子电路模拟器。注:Cirq是谷歌为NISQ算法创建的框架,它允许开发人员为特定的量子处理器编写量子算法。1.量子机器学习在介绍TFQ之前,我们首先要了解什么是“量子机器学习”;要理解量子机器学习,首先必须理解两个概念:量子数据和量子-经典混合模型。在我们日常的理解中,数据(以二进制数据为例)似乎总是“非(1)非(0)”。然而,当我们细想一下,就会发现,我们日常生活中对于“是”与“否”并不是完全清楚的。往往“是”中有“否”,“否”中有“是”,“是”或“非”只是情况的两个极端。量子思维就是这样。“状态”(它是希尔伯特空间中的一个向量)通常在量子力学中用来描述一个系统。例如,经典的信息输入序列01可以用量子力学的语言描述为|01>。在经典数据中,状态与状态(向量与向量)只能是正交的。比如|01>和|00>不能同时出现,本质上是一个“是”或“否”的观点。显然,对这些正交状态的操作也必须是正交变换。谷歌强开源量子版TensorFlow》>但是,在量子数据中,扩展了经典数据原有的局限性。例如,两位量子数据的状态表示如下:谷歌强开源量子版TensorFlow">即可能同时是四个经典数据中的任意一个(根据前面的系数,可以简单理解为四个相互正交的向量的叠加),而不是非此即彼。当我们将这种量子数据而不是经典数据输入网络时会发生什么?如下图:谷歌强势开源量子版TensorFlow》>来源:知乎[4]在经典的感知器中,我们输入一个由0和1组成的向量,但是如果是量子感知器,它输入的是由许多|φ>=c1|0>+c2|1>组成的一个向量,这个向量的每个元素可能都是0和1。但是,在现实中,由于目前的量子处理器仍然存在,尽管很小但仍然非几乎可以忽略不计的噪声,这使得单独使用量子处理器来学习量子数据几乎是不可能的。所以我们只能退而求其次。谷歌的NISQ处理器需要与传统处理器配合才能有效抑制噪声这种硬件协同作用也产生算法协同作用,因此出现了量子-经典混合模型,其中模型的量子部分在量子处理器上处理,经典部分在经典处理器上处理。谷歌强大的开源量子版本TensorFlow”>谷歌研究人员表示在可预见的未来,量子计算机最有用的功能可能是硬件加速器,即它不作为单独的设备存在,而是作为CPU、GPU等传统处理器的加速辅助。因此,有必要提供设计量子-经典混合模型的工具。值得一提的是,与机器学习一样,量子机器学习也经历了两代人的发展。对应第一代机器学习(以支持向量机、k-means聚类等为代表),第一代量子机器学习主要是一些量子加速线性代数方法。随着以深度学习为代表的第二代机器学习的发展,由于量子计算机计算能力的提高,量子机器学习也进入了第二代,其特点是启发式方法(类似于深度学习)。2.TensorFlowQuantum简单来说,TensorFlowQuantum是一个基于TensorFlow的机器学习库,旨在设计量子-经典混合机器学习模型。更直接一点,相关量子算法的研究可以调用TFQ内部的计算框架,然后使用Python编程完成计算。或者,可以使用标准Keras函数进行训练。谷歌强大的开源量子版TensorFlow》>在具体设计上,TFQ实现了将TensorFlow与量子计算硬件集成所需的组件,并创建了两个数据类型原语。这两个原语是:Quantumcircuit:representation定义的量子电路通过Cirq在TensorFlow中创建不同大小的circuitbatches,类似于不同实值数据点的batch;Paulisum:表示Cirq中定义的Pauli算子的张量积的线性组合。像一个circuit,创建一批不同规模的算子。谷歌强大的开源量子版TensorFlow》>上图是TFQ的软件栈,展示了它与TensorFlow、Cirq和计算硬件的交互。栈顶是要处理的数据。经典数据由TensorFlow原生处理;TFQ增加了处理量子数据的能力,包括量子电路和量子算子。堆栈的下一层是TensorFlow中的KerasAPI。由于TFQ的核心原则是与TensorFlow内核集成,尤其是与Keras模型和优化器集成,因此这一级别涵盖了整个堆栈的宽度。在Keras模型抽象之下是量子层和微分器,当它们连接到经典张量流层时,可以实现混合量子-经典自动微分。在这些层和微分器之下,有TFOps,它实例化数据流图;和TFQOps,它控制量子电路的执行。这些电路可以通过调用qsim或Cirq以仿真模式运行,或者最终在QPU硬件上执行。根据Google的白皮书[2],目前可用的TFQ包括用于量子分类、量子控制和量子逼近优化的监督学习。此外,高级应用程序可以使用TFQ来解决高级量子学习任务,包括元学习、哈密顿学习和热采样。AITechnologyReview简单介绍几个应用:量子-经典卷积神经网络混合分类器。在量子数据的情况下,隐藏的经典参数可以嵌入到量子系统的非局部子系统或子空间中,然后研究人员必须执行一些展开的量子变换,以便从非局部子空间中提取信息。谷歌强势开源量子版TensorFlow》>注:CNN用于检测簇态的结构经典神经网络往往具有平移不变性,具有平移对称性的量子数据种类繁多,此类量子数据往往是簇态(clusterstates).量子-经典卷积神经网络混合分类器可以解决簇状态错误的检测问题,具体方法是将其看成是一个有监督的分类任务,但是用于训练的数据会由各种正确的和正确准备的簇状态,每个状态都与它们的标签配对。量子控制中的混合机器学习。为了充分利用神经网络的优化能力,无论计算开销如何,都需要具有广泛的神经网络表示更深入地了解不同类型的量子控制动力学之间的联系。谷歌的强开源量子版TensorFlow》>注:Architectureofhybridquantum-classicalneuralnetworkmodelsforlearningquantumcontroldecomposition要实现这个目标,TFQ需要集成几个功能:混合量子-经典网络模型;批量量子电路模拟器;基于量子期望的反向传播;基于梯度和非基于梯度的快速经典优化器。量子近似优化算法(简称QAOA)。QAOA最初是用来解决最大割问题的。目前的QAOA框架一直在寻找高阶哈密顿量和连续变量哈密顿量等类似问题。3.如何使用?TFQ允许研究人员在单个计算图中将量子数据集、量子模型和经典控制参数构建为张量。当然,与经典机器学习一样,量子机器学习的关键挑战是对“噪声数据”进行分类。谷歌强大的开源量子版TensorFlow》>图注:TFQ计算步骤的抽象概述。然而,要构建和训练这样的模型,研究人员必须做以下工作:准备一个量子数据集,每个量子数据张量指定为A由Cirq编写的实时生成量子数据的量子电路。评估一个量子神经网络模型,该模型本质上解开传入的量子数据,留下以经典相关性编码的隐藏信息,使其可用于局部测量(localmeasurements)和经典后置处理(经典后处理)。样本或期望值。量子态的测量从经典随机变量中提取样本中的信息。随机变量值的分布通常取决于量子态本身以及测量的可观察量.由于许多变分算法依赖于测量的均值,TFQ提供了寻找期望值的方法r涉及步骤(1)和(2)的多次运行。评估经典神经网络模型。一旦提取了经典信息,其格式就适合进一步的经典后处理,并且由于提取的信息可能仍然编码为测量期望之间的经典相关性,因此可以应用经典深度神经网络来提取此类相关性。评估损失函数。基于经典后处理的结果,评估损失函数。评估梯度和更新参数。在对损失函数进行评估后,自由参数应该朝着预期减少损失的方向更新。这通常通过梯度下降来执行。从代码来看。基本的安装和调用与Python中的其他深度学习库没有区别。例如安装:pipinstall-qtensorflow-quantum导入相关模块:importtensorflowastfimporttensorflow_quantumastfqimportcirqiimportsympyimportnumpyasnp#visualizationtools%matplotlibinlineimportmatplotlib.pyplotaspltfromcirq.contrib.svgimportSVGCircuit谷歌强大的开源量子版TensorFlowstep-by-step教程》>详细介绍请看以下链接使用TFQhttps://www.tensorflow.org/quantum/tutorials/hello_many_worlds在具体的算法层面,谷歌也在白皮书中放出了代码介绍,例如在量子-经典卷积神经网络混合分类器算法部分代码介绍如下:谷歌强大的开源量子版TensorFlow">4,SoWhat?Reddit社区迅速响应了Google的开源TFQ。有网友表示:谷歌强势开源量子版TensorFlow”>是的,量子机器学习平台的开源与我们无关?然而,正如物理学家RichardFeynman所说,“自然界不是经典的。如果你想模拟自然界,最好使用一套量子机制。“在过去的几年里,虽然以深度学习为代表的机器学习方法对很多问题产生了深远的影响。但是,从长远来看,就像牛顿经典力学无法准确描述自然界一样,如果我们想模拟自然界世界上,经典机器学习方法会显得力不从心,但量子机器学习方法将成为必然。如今,众多科技巨头纷纷布局量子计算。也可以看出,未来10到20年,量子计算和量子机器学习必将成为社会发展的重要推动力。现在或及时开始TFQ。展望未来,我们如何推动增长?量子计算可能是我们工具箱中的一个工具。5到10年后,我们将面临前所未有的挑战。量子计算将破解我们今天拥有的所有加密,但我们可以找到绕过它的方法。任何不断发展的技术都会遇到一些挑战,但人工智能和量子技术的结合将帮助我们解决目前最大的一些问题。