通过理解数据的力量来刻画机器学习中的量子优势
2020 年 11 月 13 日

由 Google/Caltech 的黄馨远、Google 的 Michael Broughton、Google 的 Jarrod R. McClean 和 Google 的 Masoud Mohseni 撰写。

数据驱动机器学习。大规模研究和生产 ML 都依赖于大量高质量的数据源,在这些数据源中,通常情况下 多多益善。训练数据的利用使得机器学习算法在识别照片、理解人类语言,甚至是在被誉为量子计算机的顶级应用的任务方面,例如 预测新分子的性质 用于 药物发现 和设计 更好的催化剂电池OLED。如果没有数据,这些机器学习算法就不会比传统算法更有用。

虽然现有的机器学习模型运行在经典计算机上,但量子计算机提供了设计 量子机器学习 算法的可能性,这些算法可以实现更好的性能,尤其是在对分子、催化剂或高温超导体等量子力学系统建模方面。由于量子世界允许指数级多个状态叠加,并在同一时间演化和干涉,而经典计算机难以完成此类任务,因此人们预计量子计算机在具有量子起源的机器学习问题上会具有优势。人们希望这种 量子优势(使用量子计算机而不是经典计算机的优势)扩展到经典领域的机器学习问题,如计算机视觉或自然语言处理。

TensorFlow image

从自然界获得的数据(例如,物理实验)中学习,可以使经典计算机解决一些对没有数据的经典计算机来说很困难的问题。但是,使用量子计算机可以解决更大类别的问题。如果我们假设自然界可以用量子计算机模拟,那么使用自然界中获得的数据的量子计算机将不会拥有进一步的计算能力。

为了理解量子计算机在机器学习问题中的优势,以下一些重大问题浮出水面

  1. 如果数据来自量子起源,例如来自开发新材料的实验,量子模型在预测方面总是比经典模型好吗?
  2. 我们能否评估量子计算机在对给定数据集进行建模时是否有帮助的可能性,无论该数据集来自经典起源还是量子起源?
  3. 是否可以找到或构建一个数据集,在这个数据集中,量子模型比它们的经典对应物具有优势?

我们在 最近的一篇论文 中,通过开发一个数学框架来比较经典建模方法(神经网络、树模型等)与量子建模方法,以理解在进行更准确的预测方面潜在的优势,从而解决了这些问题以及更多问题。这个框架既适用于数据来自经典世界(MNIST、产品评论等),也适用于数据来自量子实验(化学反应、量子传感器等)。

传统观点可能会认为,使用来自在经典环境中难以复制的量子实验的数据意味着量子优势的可能性。然而,我们表明情况并非总是如此。对于机器学习专家来说,可能并不奇怪,只要有足够的数据,就可以学习任意函数。事实证明,这同样适用于学习具有量子起源的函数。通过获取从自然界中获得的物理实验数据,例如探索新催化剂、超导体或药物的实验,经典 ML 模型可以实现一定程度的泛化,超出训练数据。这使得经典算法能够通过数据解决一些在没有数据的情况下,经典算法难以解决的问题(我们论文中对此断言进行了严格的论证)。

我们提供了一种方法,可以定量地确定从量子起源获得的数据集中进行准确预测所需的样本数量。也许令人惊讶的是,有时经典模型和量子模型所需的样本数量之间没有太大的区别。这种方法还提供了一种建设性的方法来生成一些经典模型难以学习的数据集。

TensorFlow study graphic

使用量子模型进行预测优势的实证演示,与不同训练数据 N 数量下,一系列常用经典模型中最好的模型相比。我们引入的投影量子核比测试过的最佳经典 ML 模型具有显著的优势。

我们继续使用这个框架来设计一些数据集,所有尝试过的传统机器学习方法都失败了,但量子方法却没有失败。上图中展示了这样一个数据集的例子。这些趋势在迄今为止最大规模的基于门的量子机器学习模拟中得到了实证检验,这得益于 TensorFlow Quantum,这是一个用于量子机器学习的开源库。为了在大型量子系统规模上进行这项工作,需要大量的计算能力。使用 TensorFlow 和 TensorFlow Quantum 编写的量子电路模拟(~300 TeraFLOP/s)和分析代码(~800 TeraFLOP/s)的组合能够轻松地达到高达 1.1 PetaFLOP/s 的吞吐量,这在量子计算和机器学习的交叉领域很少见(虽然对于经典 ML 来说这并不新鲜,经典 ML 已经达到了 艾级规模)。

在为 TensorFlow Quantum 中的量子机器学习研究准备分布式工作负载时,设置和基础设施应该与常规 TensorFlow 非常熟悉。在 TensorFlow 中处理分布式的一种方法是使用 tf.distribute 模块,该模块允许用户配置设备放置以及多机工作负载中的机器配置。在这项工作中,tf.distribute 被用来将工作负载分布到由 Kubernetes 管理的约 30 台 Google 云机器(一些包含 GPU)上。开发的主要阶段是

  1. 使用 TensorFlow 和 TensorFlow Quantum 开发一个功能正常的单节点原型。
  2. 对代码进行最少的更改,以便在手动配置的双节点环境中使用 MultiWorkerMirroredStrategy
  3. 创建一个包含步骤 2 中功能代码的 Docker 镜像,并将其上传到 Google 容器注册表
  4. 使用 Google Kubernetes 引擎,根据此处提供的生态系统模板启动一项作业 此处

TensorFlow Quantum 有一个教程展示了 步骤 1 的变体,您可以在其中创建一个经典神经网络无法触及的数据集(在模拟中)。

我们希望此处概述的框架和工具能够帮助 TensorFlow 社区探索需要量子计算机才能进行准确预测的数据集的前兆。如果您想开始使用量子机器学习,请查看 TensorFlow Quantum 网站 上的初学者教程。如果您是量子机器学习研究人员,您可以阅读 我们关于量子机器学习中数据力量的论文,以获取更详细的信息。我们很高兴看到社区使用 TensorFlow Quantum 可以进行哪些其他类型的更大规模的 QML 实验。只有通过扩大研究人员的社区,机器学习才能与量子计算机充分发挥其潜力。

下一篇文章
Characterizing quantum advantage in machine learning by understanding the power of data

由 Google/Caltech 的黄馨远、Google 的 Michael Broughton、Google 的 Jarrod R. McClean 和 Google 的 Masoud Mohseni 撰写。 数据驱动机器学习。大规模研究和生产 ML 都依赖于大量高质量的数据源,在这些数据源中,通常情况下 多多益善。训练数据的利用使得机器学习算法在识别照片、理解人类语言,甚至是在识别照片、理解人类语言,甚至是在被誉为量子计算机的顶级应用的任务方面,例如 预测新分子的性质 用于 药物发现 和设计 更好的催化剂电池OLED。如果没有数据,这些机器学习算法就不会比传统算法更有用。