![44908f1ea6b240d5eb43f59b72e3e8a0.png](https://i-blog.csdnimg.cn/blog_migrate/e5f655c069d9000178f4f93f19a82cd1.jpeg)
2020 年 3 月 11 日,TensorFlow Dev Summit 峰会通过线上直播的方式与各位开发者见面。会上,谷歌介绍了近期宣布开源的一款用于训练量子模型的机器学习库 TensorFlow Quantum(简称 TFQ)。谷歌表示,该量子机器学习模型能够处理量子数据,并能够在量子计算机上执行。
机器学习(ML)虽然不能精确模拟自然界中的系统,但却能够学习系统模型并预测系统行为。在过去几年,经典的 ML 模型解决了科学领域诸多难题,在癌症检测、地震余震预测、极端天气预测以及系外行星探测等方面发挥了巨大作用。
近年来,随着量子计算技术的发展,在量子机器学习模型上的新发现将对世界级重大问题产生深远影响,从而带来医学、材料、传感和通信领域的突破。但是,迄今为止我们遇到的瓶颈是,缺乏研究工具来发现有用的、可以处理量子数据并能在计算机上使用的量子机器学习模型。
基于此,谷歌最神秘的部门 Google X 与滑铁卢大学和大众汽车公司等合作,联合发布 TensorFlow Quantum(TFQ),这是一个用于快速建立量子 ML 模型原型的开源库。TFQ 为量子计算和机器学习研究社区的结合提供了必要工具,从而控制 / 建模自然或人工量子系统,比如内含大约 50~100 量子比特的噪声中级量子处理器(NISQ)。
在底层,TFQ 集成了 NISQ 算法的开源框架 Cirq(Cirq 是 Google 专为 NISQ 算法打造的框架, 允许开发者为特定的量子处理器编写量子算法)和 TensorFlow,通过提供与现有 TensorFlow API 兼容的量子计算原语和高性能量子电路模拟器,为鉴别、生成量子经典模型的设计实现,提供高层次的抽象。
量子机器学习模型是什么?量子模型能用量子力学原点表示和概括数据。但是,要了解量子模型,必须引入两个概念:量子数据模型和混合量子经典模型。
量子数据模型表现出量子叠加和量子纠缠的特性,导致联合概率分布,这可能需要成倍数量的经典计算资源来表示或存储。能够在量子处理器 / 传感器 / 网络上生成 / 模拟的量子数据包括化学物质和量子物质的模拟、量子控制、量子通信网络、量子计算学等。
但一个不容忽视的问题是,NISQ 处理器生成的量子数据是嘈杂的,通常在测量发生之前就被纠缠了。但是,将量子机器学习应用于嘈杂的纠缠量子数据上,可以最大程度地提取有用的经典信息。基于这种技术的启发,TFQ 库为模型的开发提供了基元(该模型可分解和概括量子数据中的关联),从而为改进现有量子算法或发现新的量子算法提供了可能。
引入的第二个概念是混合量子经典模型。由于近期的量子处理器仍然很小且嘈杂,因此量子模型不能单独使用量子处理器,NISQ 处理器需要与经典处理器协同工作才有效。由于 TensorFlow 已经支持跨 CPU、GPU 和 TPU 的异构计算,因此它是试验混合量子经典算法的天然平台。
TFQ 包含了特定量子计算所需的基本结构,例如量子比特、门、电路和测量运算符。用户指定的量子计算然后可以在模拟或真实硬件上执行。Cirq 也包含了大量机器,可帮助用户为 NISQ 机器(例如编译器和调度程序)设计出高效算法,并且能使混合量子经典算法的实现在量子电路模拟器上运行,并最终在量子处理器上运行。
如今,谷歌已经将 TFQ 应用到了混合量子经典卷积神经网络、量子控制的机器学习、量子神经网络的分层学习、量子动态学习、混合量子态的生成建模以及通过经典递归神经网络来学习量子神经网络等方面。以及通过经典循环神经网络,来学习量子神经网络等等方面。
谷歌团队在 TFQ 白皮书中放出了这些量子应用的示例,并能在浏览器中通过 Colab 运行(项目地址:https://github.com/tensorflow/quantum/tree/research)。
TFQ 的工作原理TFQ 能够帮助研究人员在单个计算图中构建量子数据集、量子模型和作为张量的经典控制参数。导致经典概率事件的量子测量结果可通过 TensorFlow Ops 获得,可用标准 Keras 函数进行训练。
为直观地阐述如何使用量子数据,可以考虑使用量子神经网络对量子状态进行监督分类。正如经典 ML 一样,量子 ML 面临的关键问题是如何对“噪音数据”进行分类。为了建立和训练这种模型,研究人员需要做的工作有:
准备一个量子数据集
量子数据被加载为张量(数字的多维数组)。每个量子数据张量都指定为用 Cirq 编写的量子电路,该电路可实时生成量子数据。张量由 TensorFlow 在量子计算机上执行以生成量子数据集。
评估量子神经网络模型
研究人员可以使用 Cirq 设计量子神经网络原型,然后将其嵌入 TensorFlow 计算图中。基于对量子数据结构的认知,可以从几大类中选择参数化的量子模型。该模型的目标是执行量子处理,以提取隐藏在典型纠缠状态下的信息。换言之,量