news 2026/4/16 9:08:58

Week 33: 量子深度学习入门:参数化量子电路与混合模型构建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Week 33: 量子深度学习入门:参数化量子电路与混合模型构建

文章目录

  • Week 33: 量子深度学习入门:参数化量子电路与混合模型构建
    • 摘要
    • Abstract
    • 1. 理论基础:量子神经元
      • 1.1 从比特到量子比特 (Qubit)
      • 1.2 参数化量子电路
    • 2. 量子梯度下降
      • 2.1 量子电路的训练?
    • 3. 构建经典-量子混合网络
      • 3.1 环境配置与电路定义
      • 3.2 混合模型架构
    • 4. 量子模拟的意义与瓶颈
      • 4.1 GPU模拟的可行性
      • 4.2 表达能力
      • 4.3 贫瘠高原问题
    • 总结

Week 33: 量子深度学习入门:参数化量子电路与混合模型构建

摘要

本周初探了量子机器学习领域。利用GPU对量子电路进行了模拟。本周理解并构建参数化量子电路,通过将其视为一个可微的“量子层”嵌入到经典神经网络中,实现了经典-量子混合模型的端到端训练。

Abstract

This week, I made initial forays into the field of quantum machine learning. Utilising GPUs, I simulated quantum circuits. I gained an understanding of and constructed parameterised quantum circuits, embedding them as differentiable ‘quantum layers’ within classical neural networks to achieve end-to-end training of classical-quantum hybrid models.

1. 理论基础:量子神经元

1.1 从比特到量子比特 (Qubit)

经典深度学习的基础是比特(0 或 1),而量子计算的基础是 Qubit。一个 Qubit 的状态∣ ψ ⟩ |\psi\rangleψ可以表示为基态∣ 0 ⟩ |0\rangle∣0∣ 1 ⟩ |1\rangle∣1的线性叠加:
∣ ψ ⟩ = α ∣ 0 ⟩ + β ∣ 1 ⟩ |\psi\rangle = \alpha |0\rangle + \beta |1\rangleψ=α∣0+β∣1
其中α , β ∈ C \alpha, \beta \in \mathbb{C}α,βC∣ α ∣ 2 + ∣ β ∣ 2 = 1 |\alpha|^2 + |\beta|^2 = 1α2+β2=1。这不仅仅是概率分布,而是复数概率幅,意味着量子态之间可以发生干涉 (Interference)——这是量子计算算力的核心来源。

1.2 参数化量子电路

在深度学习中,我们通过调整权重W WW来拟合函数。在量子计算中,我们通过调整量子门 (Quantum Gates) 的旋转角度θ \thetaθ来演化量子态。

一个典型的 PQC 包含三个阶段:

  1. 编码:将经典数据x xx转化为量子态∣ ψ x ⟩ |\psi_x\rangleψx(例如使用 Rotation Encoding)。
  2. 演化 (Ansatz):应用一系列带参数θ \thetaθ的旋转门(如R x ( θ ) , R y ( θ ) R_x(\theta), R_y(\theta)Rx(θ),Ry(θ))和纠缠门(如 CNOT),将量子态变换为∣ ψ ( θ , x ) ⟩ |\psi(\theta, x)\rangleψ(θ,x)⟩。这等价于经典网络中的前向传播。
  3. 测量:对量子态进行测量,计算期望值⟨ Z ⟩ \langle Z \rangleZ,将量子信息坍缩回经典数值输出。

数学上,这个过程是:
f ( x ; θ ) = ⟨ 0 ∣ U † ( x ) V † ( θ ) O ^ V ( θ ) U ( x ) ∣ 0 ⟩ f(x; \theta) = \langle 0| U^\dagger(x) V^\dagger(\theta) \hat{O} V(\theta) U(x) |0\ranglef(x;θ)=0∣U(x)V(θ)O^V(θ)U(x)∣0
这就构建了一个量子神经元。

2. 量子梯度下降

2.1 量子电路的训练?

要将量子电路嵌入 PyTorch,必须能够计算梯度∂ f / ∂ θ \partial f / \partial \thetaf/θ
对于常用的旋转门(如R x ( θ ) = e − i θ X / 2 R_x(\theta) = e^{-i\theta X/2}Rx(θ)=eiθX/2),我们使用参数平移规则 (Parameter-Shift Rule) 来计算解析梯度:

∂ f ∂ θ = f ( θ + π 2 ) − f ( θ − π 2 ) 2 \frac{\partial f}{\partial \theta} = \frac{f(\theta + \frac{\pi}{2}) - f(\theta - \frac{\pi}{2})}{2}θf=2f(θ+2π)f(θ2π)

这非常神奇:它意味着我们不需要深入量子态的内部(那通常是指数级复杂的),只需要在两个不同的参数点运行电路,就能精确算出梯度。这使得 PQC 可以无缝接入 Backpropagation 算法。

3. 构建经典-量子混合网络

使用了PennyLane库并配合 PyTorch 接口可以利用 GPU 加速模拟(模拟量子门本质上是矩阵乘法。

3.1 环境配置与电路定义

importpennylaneasqmlimporttorchimporttorch.nnasnn# 定义量子设备 (使用 default.qubit 模拟器)n_qubits=4dev=qml.device("default.qubit",wires=n_qubits)@qml.qnode(dev,interface="torch")defquantum_circuit(inputs,weights):""" inputs: 经典输入数据 (Batch, n_qubits) weights: 可训练参数 """# 1. 编码层: 将经典数据映射到量子态 (Angle Encoding)# 类似于 input layerqml.AngleEmbedding(inputs,wires=range(n_qubits))# 2. 变分层 (Ansatz): 类似于 hidden layers# BasicEntanglerLayers 包含了一层旋转门和一层纠缠门qml.BasicEntanglerLayers(weights,wires=range(n_qubits))# 3. 测量层: 输出每个 qubit 的 Pauli-Z 期望值return[qml.expval(qml.PauliZ(wires=i))foriinrange(n_qubits)]

3.2 混合模型架构

我们将上述量子电路包装成一个QuantumLayer,夹在两个经典 Linear 层之间,构建一个用于 MNIST 分类的混合模型。

classHybridModel(nn.Module):def__init__(self):super().__init__()# 经典预处理层: 将 28x28 图片降维到 4 (对应 Qubit 数)self.clayer_1=nn.Linear(28*28,n_qubits)# 量子层参数初始化# 2层结构,每层每个qubit有一个旋转参数weight_shapes={"weights":(2,n_qubits)}self.qlayer=qml.qnn.TorchLayer(quantum_circuit,weight_shapes)# 经典后处理层: 将量子输出映射到 10 类self.clayer_2=nn.Linear(n_qubits,10)defforward(self,x):# x shape: (batch, 1, 28, 28)x=x.view(-1,28*28)x=self.clayer_1(x)x=torch.tanh(x)# 将数据压缩到 [-1, 1] 或 [0, pi] 供量子编码# 进入量子层# 输入是经典的,内部演化是量子的,输出又是经典的x=self.qlayer(x)x=self.clayer_2(x)returnx# 之后可以像训练普通 CNN 一样使用 CrossEntropyLoss 和 SGD 训练此模型

4. 量子模拟的意义与瓶颈

4.1 GPU模拟的可行性

真正的量子计算机(QPU)目前噪音很大(NISQ 时代),且访问昂贵。
但在 GPU 上模拟量子电路,本质上是在进行大规模的复数矩阵乘法。

  • N NN个 Qubits 的状态向量大小是2 N 2^N2N
  • 对于N < 30 N < 30N<30,现代 GPU (如 A100) 可以极快地进行全状态向量模拟。
    这让我们可以在没有量子计算机的情况下,验证量子算法的逻辑和梯度下降的可行性。

4.2 表达能力

研究表明,PQC 的表达能力与量子纠缠(Entanglement)密切相关。纠缠门(如 CNOT)让 Qubit 之间产生关联,这在数学上类似于经典网络中的非线性激活函数。没有纠缠的量子电路,仅仅是线性变换,表达能力有限。

4.3 贫瘠高原问题

这是 QML 领域的“梯度消失”问题。当量子电路过深或 Quibit 过多时,损失函数的梯度方差会指数级衰减至 0。这使得训练深层量子网络极其困难。这也解释了为什么目前的 QML 架构多采用 “浅层量子 + 深层经典” 的三明治结构。

总结

本周对参数化量子神经网络进行了初步的了解,这周的学习让我明白,QML 不是要取代经典深度学习,而是作为一种高性能的Kernel或特征提取器,与经典网络协同工作。接下来的学习将进一步了解如何设计更好的 Ansatz,以捕捉数据中经典方法难以察觉的相关性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 16:02:05

浙大权威团队《大模型基础》教材,小白入门必看!

浙江大学DAILY实验室团队编写的《大模型基础》教材是大语言模型入门优质资源&#xff0c;涵盖从传统语言模型到大模型架构、提示工程等核心技术。特色是将技术内容融入动物背景&#xff0c;降低理解门槛。读者可通过扫码添加微信免费获取教材、600篇LLM论文及大模型系列课程。此…

作者头像 李华
网站建设 2026/4/5 19:32:28

LLM智能体时代来临:2026大模型核心技能与职业发展路径,建议收藏

LLM智能体时代来临&#xff1a;2025大模型核心技能与职业发展路径&#xff0c;建议收藏 本文详细解析了2025年大模型技术的发展趋势和就业市场需求&#xff0c;介绍了LLM从静态提示词到企业级智能平台的四个演进阶段&#xff0c;分析了三大核心技能要求&#xff1a;RAG私有知识…

作者头像 李华
网站建设 2026/4/3 14:09:08

编写一个Buildroot 内核驱动

编写一个Buildroot 内核驱动 PS:内核驱动只能在/kernel/drivers/目录下 Makefile文件的编写 主要注意Makefile文件的编写&#xff08;路径&#xff0c;包含&#xff09; 在该路径下先新建一个用户内核驱动文件夹&#xff0c;用于存放用户编写的驱动 user_rk3566_-kernel-driver…

作者头像 李华
网站建设 2026/4/11 8:49:40

Python+django的基于学生行为的在线教育 学习选课成绩分析系统可视化统计图没有

目录基于学生行为的在线教育学习选课成绩分析系统可视化统计图摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于学生行为的在线教育学习选课成绩分析系统可视化统计图摘要 该系统采用…

作者头像 李华
网站建设 2026/4/15 20:31:58

智能学术写作:AI平台评测与文本润色服务优化

AI论文工具对比分析 工具名称 处理速度 降重幅度 独特优势 aicheck 极快 高&#xff08;40%→7%&#xff09; 精准保留专业术语 askpaper 快 中高&#xff08;45%→8%&#xff09; 上下文逻辑完整 秒篇 较快 高&#xff08;38%→6%&#xff09; 简化操作界面 a…

作者头像 李华