TensorFlow Quantum 发布:一个用于量子机器学习的开源库
2020 年 3 月 9 日
发布者:Alan Ho,产品负责人和 Masoud Mohseni,谷歌研究技术负责人

与 Google AI 博客 联合发布。

“自然不是经典的,该死,所以如果你想对自然进行模拟,你最好让它成为量子力学的。” -物理学家 理查德·费曼

机器学习 (ML) 虽然它并不完全模拟自然界中的系统,但它有能力学习系统的模型并预测系统的行为。在过去的几年里,经典的 ML 模型在解决具有挑战性的科学问题方面展现出了希望,并在 癌症检测的图像处理地震余震预测预测极端天气模式检测新的系外行星 等方面取得了进展。随着近年来 量子计算的发展,新的量子 ML 模型的开发可能会对 世界上最大的问题产生深远的影响,从而在医药、材料、传感和通信领域取得突破。然而,迄今为止,一直缺乏研究工具来发现有用的量子 ML 模型,这些模型可以处理量子数据并在当今可用的量子计算机上执行。

今天,我们与 滑铁卢大学X大众 合作发布了 TensorFlow Quantum (TFQ),这是一个用于快速原型化量子 ML 模型的开源库。TFQ 提供了将量子计算和机器学习研究社区聚集在一起以控制和模拟自然或人工量子系统的必要工具;例如,具有约 50-100 个量子位的 噪声中级规模量子 (NISQ) 处理器。

在幕后,TFQ 将 CirqTensorFlow 集成,并通过提供与现有 TensorFlow API 兼容的量子计算原语以及高性能量子电路模拟器,为判别性和生成性量子经典模型的设计和实现提供高级抽象。

什么是量子 ML 模型?

量子模型能够用量子力学起源来表示和概括数据。然而,要理解量子模型,必须介绍两个概念——量子数据混合量子经典模型

量子数据表现出 叠加纠缠,导致联合概率分布,表示或存储这些分布可能需要指数级的经典计算资源。量子数据可以在量子处理器/传感器/网络上生成/模拟,包括 化学模拟量子物质量子控制量子通信网络量子计量学 等等。

一个技术但关键的见解是,NISQ 处理器生成的量子数据是有噪声的,并且通常在测量发生之前处于纠缠状态。然而,将量子机器学习应用于有噪声的纠缠量子数据可以最大程度地提取有用的经典信息。受这些技术的启发,TFQ 库提供了用于开发模型的原语,这些模型可以解开和概括量子数据中的相关性,从而为改进现有量子算法或发现新的量子算法提供了机会。

要介绍的第二个概念是混合量子经典模型。由于近期的量子处理器仍然相当小且存在噪声,因此量子模型不能单独使用量子处理器——NISQ 处理器需要与经典处理器协同工作才能变得有效。由于 TensorFlow 已经支持跨 CPU、GPU 和 TPU 的异构计算,因此它是一个试验混合量子经典算法的自然平台。

TFQ 包含基本结构,例如量子位、门、电路和测量算子,这些结构是指定量子计算所必需的。然后,用户指定的量子计算可以在模拟或真实硬件上执行。Cirq 还包含大量机制,可以帮助用户为 NISQ 机器设计高效算法,例如编译器和调度器,并允许实现混合量子经典算法以在量子电路模拟器上运行,并最终在量子处理器上运行。

我们已经将 TensorFlow Quantum 用于混合量子经典卷积神经网络、用于量子控制的机器学习、用于量子神经网络的分层学习、量子动力学学习、混合量子态的生成性建模,以及通过经典循环神经网络学习使用量子神经网络进行学习。我们在 TFQ 白皮书 中回顾了这些量子应用;每个示例都可以通过 Colab 从我们的 研究库 中的浏览器运行。

TFQ 的工作原理

TFQ 允许研究人员将量子数据集、量子模型和经典控制参数构造为单个计算图中的张量。通过 TensorFlow 操作 获得量子测量的结果,从而导致经典概率事件。训练可以使用标准 Keras 函数完成。

为了提供一些关于如何使用量子数据的直觉,可以考虑使用量子神经网络对量子态进行监督分类**。与经典 ML 一样,量子 ML 的一个关键挑战是分类“有噪声的数据”。要构建和训练这样的模型,研究人员可以执行以下操作
  1. 准备量子数据集 - 量子数据以张量 (多维数字数组) 的形式加载。每个量子数据张量都被指定为用 Cirq 编写的量子电路,该电路可以动态生成量子数据。张量由 TensorFlow 在量子计算机上执行,以生成量子数据集。

  2. 评估量子神经网络模型 - 研究人员可以使用 Cirq 原型设计一个量子神经网络,他们将在以后将其嵌入到 TensorFlow 计算图中。参数化量子模型可以选择多个基于量子数据结构知识的广泛类别。该模型的目标是执行量子处理,以提取通常隐藏在纠缠态中的信息。换句话说,量子模型本质上解开了输入量子数据,将隐藏信息编码到经典相关性中,从而使其可用于局部测量和经典后处理。

  3. 采样或平均 - 量子态的测量以来自经典随机变量的样本形式提取经典信息。此随机变量的值的分布通常取决于量子态本身以及测量的可观察量。由于许多变分算法依赖于测量的平均值,也称为期望值,因此 TFQ 提供了用于对涉及步骤 (1) 和 (2) 的多次运行进行平均的方法。

  4. 评估经典神经网络模型 - 一旦提取了经典信息,它就处于适合进一步经典后处理的格式。由于提取的信息可能仍然以测量期望值之间的经典相关性形式编码,因此可以应用经典深度神经网络来提取这些相关性。

  5. 评估成本函数 - 给定经典后处理的结果,评估成本函数。这可以基于模型在量子数据被标记的情况下执行分类任务的准确性,或者如果任务是无监督的,则基于其他标准。

  6. 评估梯度和更新参数 - 评估完成本函数后,应在预期会降低成本的方向上更新管道中的自由参数。这最常通过梯度下降来执行。
TFQ 中用于量子数据的混合量子经典判别模型的端到端管道推断和训练中涉及的计算步骤的高级抽象概述。要查看端到端示例的代码,请查看 “Hello Many-Worlds” 示例、量子卷积神经网络 教程以及我们的 指南
TensorFlow Quantum 的一个关键特性是能够同时训练和执行多个量子电路。这是通过 TensorFlow 的跨计算机集群并行计算的能力以及在多核计算机上模拟相对较大的量子电路的能力来实现的。为了实现后者,我们还宣布发布 qsim (github 链接),一个新的高性能开源 量子电路模拟器,它已证明能够在单个 Google Cloud 节点 (n1-ultramem-160) 上以 111 秒的速度模拟一个具有 14 个门深度的 32 量子位量子电路(有关详细信息,请参阅 本文)。模拟器针对多核英特尔处理器进行了特别优化。与 TFQ 结合使用,我们已证明在单个 Google Cloud 节点 (n2-highcpu-80) 上以 60 分钟的速度对 20 量子位量子电路进行 100 万次电路模拟,门深度为 20。有关更多信息,请参阅 TFQ 白皮书,第二节 E 部分,关于使用 qsim 进行量子电路模拟。

展望未来

目前,TensorFlow Quantum 主要用于在经典的量子电路模拟器上执行量子电路。未来,TFQ 将能够在 Cirq 支持的实际量子处理器上执行量子电路,包括 Google 自有的处理器 Sycamore。要了解更多关于 TFQ 的信息,请阅读我们的 白皮书 并访问 TensorFlow Quantum 网站。我们相信,将 ML 和量子社区联系起来将带来激动人心的新发现,并加速发现新的量子算法来解决世界上最具挑战性的问题。

致谢

这个开源项目由 Google AI Quantum 团队领导,并由滑铁卢大学、Alphabet 的 X 和大众汽车共同开发。特别感谢滑铁卢大学,他们的学生通过在 Google AI Quantum 实验室的多项实习项目为这个开源软件做出了重大贡献。
下一篇文章
Announcing TensorFlow Quantum: An Open Source Library for Quantum Machine Learning

发布者:Alan Ho,产品主管和 Masoud Mohseni,技术主管,Google Research

与 Google AI 博客 联合发布。

“自然不是经典的,该死的,所以如果你想对自然进行模拟,你最好让它成为量子力学的。” - 物理学家 理查德·费曼

机器学习 (ML),虽然它并没有完全模拟自然界的系统,但它能够学习一个系统的模型并预测…