量子计算和人工智能(AI)的交叉有望成为整个科技史上最引人注目的工作之一。量子计算的出现可能会迫使我们重新设想几乎所有现有的计算范式,人工智能也不例外。然而,量子计算机的计算能力也有可能加速人工智能的许多领域,这些领域目前仍不实用。人工智能和量子计算协同工作的第一步是将机器学习模型重新构想为量子架构。最近,谷歌开源TensorFlow Quantum框架,用于构建量子机器学习模型。
TensorFlow Quantum的核心思想是将量子算法和机器学习程序都交织在TensorFlow编程模型中。谷歌将这种方法称为量子机器学习,并能够通过利用一些最新的量子计算框架(如谷歌Cirq)来实现它。
量子机器学习
当谈到量子计算和人工智能时,我们需要回答的第一个问题是后者如何从量子架构的出现中获益。量子机器学习(QML)是一个广义的术语,指的是可以利用量子特性的机器学习模型。第一个QML应用程序专注于重构传统的机器学习模型,这样它们就能够在一个状态空间上执行快速的线性代数,这个状态空间随着量子位的数量呈指数增长。然而,由于量子硬件计算能力的提高,量子硬件的发展拓宽了QML的视野,逐渐发展为可以进行经验研究的启发式方法。此过程类似于GPU的创建如何使机器学习向深度学习范例发展。
在TensorFlow Quantum的上下文中,可以将QML定义为两个主要组件:
a)量子数据集
b)混合量子模型
量子数据集
量子数据是在自然或人工量子系统中出现的任何数据源。这可以是来自量子力学实验的经典数据,也可以是由量子设备直接生成然后作为输入输入到算法中的数据。有一些证据表明,量子-经典混合机器学习应用于“量子数据”可以提供比纯经典机器学习更大的量子优势,原因如下所述。量子数据表现出叠加和纠缠,导致联合概率分布,这可能需要指数数量的经典计算资源来表示或存储。
混合量子模型
就像机器学习可以从训练数据集推广模型一样,QML也可以从量子数据集推广量子模型。然而,由于量子处理器仍然相当小和有噪声,量子模型不能只用量子处理器一般化量子数据。混合量子模型提出了一种方案,其中量子计算机将最有用作为硬件加速器,与传统计算机共生。这个模型非常适合TensorFlow,因为它已经支持跨cpu、gpu和TPUs的异构计算。
Cirq框架
建立混合量子模型的第一步是能够利用量子操作。为了做到这一点,TensorFlow Quantum依靠Cirq,这是一个用于在近期设备上调用量子电路的开源框架。Cirq包含基本结构,如量子位、门、电路和测量操作符,这些都是指定量子计算所必需的。Cirq背后的想法是提供一个简单的编程模型,抽象出量子应用的基本构建块。当前版本包括以下主要构建模块:
- 电路(Circuits):在Cirq中,Cirquit代表量子电路的最基本形式。一个Cirq电路被表示为一个力矩的集合,其中包含了在一些抽象的时间滑动期间可以在量子位上执行的操作。
- 调度和设备(Schedules 、 Devices):调度是量子电路的另一种形式,它包含有关闸的时间和持续时间的更详细信息。从概念上讲,一个调度是由一组调度操作和运行调度的设备描述组成的。
- 门(Gates):在Cirq中,门对量子位的集合进行抽象运算。
- 模拟器(Simulators):Cirq包含一个Python模拟器,可用于运行电路和调度。模拟器架构可以跨多个线程和cpu进行扩展,这允许它运行相当复杂的电路。
TensorFlow Quantum
TensorFlow Quantum(TFQ)是一个用于构建QML应用程序的框架。TFQ允许机器学习研究人员在单个计算图中构造量子数据集、量子模型和经典控制参数作为张量。
从架构的角度来看,TFQ提供了一个抽象与TensorFlow、Cirq和计算硬件的交互的模型。顶部是要处理的数据。经典数据由TensorFlow自动处理;TFQ增加了处理量子数据的能力,包括量子电路和量子算子。下一层是TensorFlow中的Keras API。因为TFQ的一个核心原则是与核心TensorFlow的本地集成,特别是与Keras模型和优化器的集成,所以这个级别跨越了堆栈的整个宽度。在Keras模型抽象的下面是我们的量子层和微分器,当与经典TensorFlow层连接时,它们可以实现混合量子经典自动分类。在层和区分符之下,TFQ依赖于TensorFlow操作,该操作实例化数据流图。
从执行角度来看,TFQ遵循以下步骤来训练和构建QML模型。
- 准备量子数据集:量子数据作为张量加载,指定为在Cirq中编写的量子电路。张量由TensorFlow在量子计算机上执行,生成量子数据集。
- 评估量子神经网络模型:在这一步中,研究人员可以使用Cirq创建一个量子神经网络的原型,他们稍后将该模型嵌入到TensorFlow计算图中。
- 样本或平均值:此步骤利用方法计算涉及步骤(1)和(2)的多个运行的平均值。
- 评估一个经典的神经网络模型:这一步使用经典的深度神经网络来提取在前面步骤中提取的测量值之间的相关性。
- 评估代价函数:与传统机器学习模型类似,TFQ使用这一步评估代价函数。这可能基于如果量子数据被标记,模型执行分类任务的准确性,或者如果任务不受监督,则基于其他标准。
- 评估梯度和更新参数——在评估成本函数后,管道中的自由参数应该按照预期的降低成本的方向进行更新。
TensorFlow和Cirq的结合使TFQ具有一系列功能,包括一个更简单和熟悉的编程模型,以及同时训练和执行多个量子电路的能力。
连接量子计算和机器学习的相关努力仍处于非常初级的阶段。当然,TFQ代表了这一领域最重要的里程碑之一,它利用了量子和机器学习中一些最好的IP。更多关于TFQ的信息,请浏览官网 https://www.tensorflow.org/quantum
作者:Jesus Rodriguez
原文地址:https://jrodthoughts.medium.com/tensorflow-quantum-is-an-open-source-stack-that-show-us-how-the-future-of-quantum-and-machine-d1435593660
deephub翻译组译