文 / 产品主管 Alan Ho 和技术主管 Masoud Mohseni
Google Research
“自然界并不像经典物理学描述的那样,真见鬼。要想模拟自然,最好是用量子力学。”
—— 物理学家理查德·费曼(Richard Feynman)
随着量子计算发展的最新进展,新的量子机器学习模型的开发可能会对全球最严峻的问题产生深远影响,从而在医药、材料、传感和通信领域取得突破。然而,我们至今仍缺乏研究工具,来发现有用的量子机器学习模型,即既可以处理量子数据又能在当今可用的量子计算机上执行的模型。
今天,我们宣布与滑铁卢大学、X 和大众汽车联合推出可快速建立量子机器学习模型原型的开源库——TensorFlow Quantum (TFQ)。TFQ 提供了必要的工具,可将量子计算和机器学习研究界聚集在一起,以控制和建模自然或人工量子系统,例如有噪声的中规模量子(Noisy Intermediate Scale Quantum,NISQ)处理器,具有约 50-100 量子位。
TFQ 将开源框架 Cirq 与 TensorFlow 集成在一起,通过提供与当前 TensorFlow API 兼容的量子计算原语 (Primitives) 以及高性能量子电路模拟器,为判别型和生成型量子-经典模型的设计和实现提供高层的抽象。
什么是量子机器学习模型?
量子模型能够用量子力学原点来表示和泛化数据。然而,要理解量子模型,必须明确两个概念:量子数据 和 量子-经典混合模型 (Hybrid Quantum-Classical Model)。
量子数据 具有叠加 (Superposition) 和纠缠 (entanglement) 特性,因此其联合概率分布可能需要指数量级的经典计算资源进行表示或存储。量子数据可以在量子处理器、传感器、网络上生成和模拟,如:化学物质模拟和量子物质模拟、量子控制、量子通信网络、量子计量等。
从技术上来看,很关键的一点是,由 NISQ 处理器生成的量子数据包含噪声,而且通常在测量之前就会发生纠缠。不过,若将量子机器学习应用于嘈杂并且发生纠缠的量子数据,这将能最大限度提取有用的经典信息。受这些技术的启发,TFQ 库提供了开发模型的原语,这些模型可用于解纠缠和泛化量子数据中的相关性,从而为改进现有量子算法或发现新的量子算法提供了机会。
要明确的第二个概念是 量子-经典混合模型。近期的量子处理器仍然很小且十分嘈杂,这使得量子模型无法仅依赖量子处理器,所以 NISQ 处理器需要与经典处理器协同工作才能更高效。TensorFlow 现已支持跨 CPU、GPU 和 TPU 的异构计算,因此可作为进行量子-经典混合算法实验的天然平台。
TFQ 包含指定量子计算所需的基本结构,例如量子比特、门、电路和测量算子。有了基本结构后,就可以在模拟环境或真实的硬件上执行用户指定的量子计算。Cirq 还包含大量机制,可帮助用户为编译器和调度程序等 NISQ 机器设计高效的算法,使得量子-经典混合算法能够在量子电路模拟器上运行,并最终在量子处理器上运行。
我们已将 TensorFlow Quantum 用于量子-经典混合卷积神经网络、量子控制机器学习、量子神经网络逐层学习、量子动力学学习和混合量子态的生成式建模,并学着通过经典循环神经网络学习量子神经网络。我们在 TFQ 白皮书中对这些量子应用进行了回顾,您可以从我们的研究代码库中获取相应代码,并通过 Colab 在浏览器中运行每个示例。
TFQ 的工作原理
研究人员可使用 TFQ 在单个计算图中以张量的形式构建量子数据集、量子模型和经典控制参数。导致经典概率事件的量子测量结果是通过 TensorFlow 算子实现的。您可以使用标准 Keras 函数完成训练。
上图针对 TFQ 中的量子数据展示了量子-经典混合判别模型的推理和训练端到端流水线,并对所涉及的计算步骤进行了高层抽象概述。要查看端到端示例的代码,请参阅“Hello Many-Worlds”示例、量子卷积神经网络教程和我们提供的指南
TensorFlow Quantum 的关键特性是能够同时训练并执行多个量子电路。这是因为 TensorFlow 能够在计算机集群间执行并行计算,并能在多核计算机上模拟体量相对较大的量子电路。
为实现后者,我们还宣布推出了 Qsim (github),这是一款全新的高性能开源量子电路模拟器,经证明能够在单个 Google Cloud 节点 (n1-ultramem-160) 上模拟门深 14、量子比特为 32 的量子电路,且用时不超过 111 秒(详情请参阅本论文)。该模拟器还专门针对多核 Intel 处理器进行了优化。
通过结合使用 TFQ,我们已在 Google Cloud 节点 (n2-highcpu-80) 上对门深 20、量子比特为 20 的量子电路进行了 100 万次电路模拟,用时不超过 60 分钟。如需了解更多信息,请参阅 TFQ 白皮书第 II E 节:使用 Qsim 进行量子电路模拟。
未来展望
TensorFlow Quantum 目前主要用于在经典量子电路模拟器上执行量子电路。放眼未来,TFQ 将能在 Cirq 支持的实际量子处理器(包括 Google 自有的处理器 Sycamore)上执行量子电路。
要了解有关 TFQ 的详情,请阅读我们的白皮书,并访问 TensorFlow Quantum 网站。我们相信,连接机器学习社区和量子社区将会带来全面而又令人兴奋的新发现,同时也有助于加快发现新的量子算法以解决世界上最棘手的问题。
致谢
本开源项目由 Google AI Quantum 团队领导,并由滑铁卢大学、Alphabet’s X 和大众汽车共同开发。在此特别感谢滑铁卢大学,该校学生在 Google AI Quantum 实验室进行了多个实习项目,为这款开源软件做出了重要贡献。
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
TensorFlow Quantum 网站
https://tensorflow.google.cn/quantum
TFQ 白皮书
https://arxiv.org/abs/2003.02989
癌症检测的图像处理
https://ai.googleblog.com/2018/10/applying-deep-learning-to-metastatic.html
地震余震预测
https://www.blog.google/technology/ai/forecasting-earthquake-aftershock-locations-ai-assisted-science/
极端天气模式预测
https://www.youtube.com/watch?v=p45kQklIsd4
新系外行星检测
https://ai.googleblog.com/2018/03/open-sourcing-hunt-for-exoplanets.html
量子计算发展的最新进展
https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html
对全球最严峻的问题产生深远影响
https://www.youtube.com/watch?v=eh78EUTas34
Cirq
https://ai.googleblog.com/2018/07/announcing-cirq-open-source-framework.html
Cirq Github
https://github.com/quantumlib/Cirq
TensorFlow
https://tensorflow.google.cn/
化学物质模拟
https://ai.googleblog.com/2018/03/reformulating-chemistry-for-more.html
量子物质
https://www.nature.com/articles/nphys4035
量子控制
https://ai.googleblog.com/2019/10/improving-quantum-computation-with.html
量子通信网络
https://arxiv.org/abs/1805.08654
量子计算
https://www.nature.com/articles/s41534-019-0193-4
研究代码库
https://github.com/tensorflow/quantum/tree/research
TensorFlow 算子
https://tensorflow.google.cn/guide/create_op
Hello Many-Worlds
https://tensorflow.google.cn/quantum/tutorials/hello_many_worlds
量子卷积神经网络教程
https://tensorflow.google.cn/quantum/tutorials/qcnn
指南
https://tensorflow.google.cn/quantum/overview
QSIM github
https://github.com/quantumlib/qsim
量子电路模拟器
https://arxiv.org/abs/1807.10749
本论文
https://arxiv.org/pdf/1910.11333.pdf
Sycamore
https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html