quantum
Google 开源的量子机器学习框架,将 Cirq 量子电路与 TensorFlow 深度集成,支持量子层作为 Keras 层无缝接入神经网络训练流程。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Google 开源的量子机器学习框架,将 Cirq 量子电路与 TensorFlow 深度集成,支持量子层作为 Keras 层无缝接入神经网络训练流程。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,博士生肖然盯着屏幕上反复报错的代码——他想把量子电路的输出接入 TensorFlow 做混合训练,但光是处理量子态的梯度计算就耗尽了他的周末。TensorFlow 不认识量子门,Cirq 不支持自动微分,两套生态之间的"翻译"工作占去了他 80% 的时间。
这正是 TensorFlow Quantum(TFQ) 要解决的核心问题:让量子计算和经典机器学习真正"说同一种语言",无需研究者在两种框架之间反复横跳。
TensorFlow Quantum 由 Google Quantum AI 团队于 2020 年正式发布,论文《TensorFlow Quantum: A Software Framework for Quantum Machine Learning》至今在 arXiv 上引用量可观。项目的背后是 Google 在量子计算领域多年的积累——从 Cirq 量子编程框架到 Sycamore 量子处理器,TFQ 是 Google 量子生态面向机器学习社区的关键接口。
和多数学术原型不同,TFQ 从一开始就定位为生产级工具:它被设计为 TensorFlow 计算图的一等公民(1st-class citizen),量子操作以 C++ Ops 的形式直接嵌入 TF 的计算图,而非外部模拟器包装。这带来了显著的性能优势——在模拟数百万个中等规模量子电路时,TFQ 的吞吐远超纯 Python 实现。
TFQ 允许用户用 Google 自研的 Cirq 语法定义量子电路,然后将其无缝嵌入 Keras 模型:
# 定义一个参数化量子电路
qnn = tfq.layers.PQC(circuit, observables)
# 像普通 Keras 层一样使用
model = tf.keras.Sequential([qnn, tf.keras.layers.Dense(10)])
这种设计让量子层与经典Dense层、Conv层拥有完全一致的训练接口——反向传播自动穿越量子边界,开发者不需要写一行梯度计算代码。
量子电路的梯度计算是出了名的难题(因为测量操作不可微分)。TFQ 实现了**参数移位法(Parameter Shift Rule)和伴随梯度法(Adjoint Gradient)**两种梯度计算方案:
这两者的取舍取决于硬件类型和电路规模,是目前量子 ML 领域的核心研究方向之一。
TFQ 集成 Google 自研的 qsim 高速量子模拟器,能在 CPU/GPU 上快速模拟中等规模量子电路。qsim 采用高度向量化的实现,在多核 CPU 和 NVIDIA GPU 上都能发挥出不错的并行性能。对于没有真实量子硬件的研究者来说,这是 TFQ 相比纯 Cirq 模拟的核心优势。
量子卷积神经网络(QCNN)结构示意:量子层与经典层交替堆叠
TFQ 的典型工作流:量子数据 → 量子电路编码 → 量子+经典混合训练
TFQ 的代码库分为核心模块:
tensorflow_quantum/core/ops/:C++ 实现的 TensorFlow 自定义算子,包括电路模拟(tfq_simulate_*)、参数替换(tfq_ps_*)、梯度计算(tfq_adj_grad_*)等tensorflow_quantum/python/layers/:Keras 风格的量子层封装(tfq.layers.PQC、tfq.layers.Expectation)tensorflow_quantum/python/differentiators/:参数移位法、有限差分等梯度方案的抽象tensorflow_quantum/python/optimizers/:适配 TF 的量子优化器tensorflow_quantum/datasets/:预置量子数据集(Cluster State、Spin System)从架构看,TFQ 是一个深度集成型框架,而非独立运行的量子模拟器——它必须依赖 TensorFlow 的计算图机制才能工作。
TFQ 的核心价值不在于单独使用,而在于它证明了量子计算和经典深度学习可以联合训练。在 NISQ(含噪中等规模量子)时代,真正的量子优势(Quantum Advantage)尚未实现,但 TFQ 为研究者提供了探索这一方向的统一工具链。
从增长趋势看,量子机器学习(QML)领域近年来论文数量持续攀升,TFQ 作为 Google 主导的标杆项目,是该方向的必学工具之一。但也要看到——量子硬件尚不成熟,TFQ 的实际应用场景仍以科研探索为主,短期内不太可能在工业界大规模落地。
docs/tutorials/ 目录下有完整的 MNIST 分类、噪声模拟、QCNN 等示例,从 hello_many_worlds.ipynb 开始是最佳路径