假设你是一位米其林餐厅的主厨,面前立着一块巨大的砧板,上面密密麻麻排了几千种食材——这就像数字图像里成千上万个像素。经典卷积神经网络(CNN)的做法,是拿一把固定大小的“取样勺”(卷积核),从砧板左上角开始一格一格平移,每次只舀一小勺看看,直到刮完一整块砧板。而量子卷积网络(QCNN)里的大厨掌握了“分身术”:借助量子叠加,他瞬间同时站在所有食材面前,一勺就同时尝到所有局部位置的味道。 但量子世界有一条怪规矩——大厨一旦“看”了某个食材(测量),分身通通消失,只能保留一个结果。所以聪明的量子大厨先“浓缩”再“品尝”:用一套不流失营养的“魔法保鲜术”(酉变换)把味道集中到少数几个“精华比特”上,每浓缩一轮就倒掉一半食材(池化),最后只需尝一小口浓缩汤,就能判断整道菜的类别。这就是 QCNN 的完整故事:把经典卷积的“滑窗扫描”和池化的“降维压缩”翻译成量子线路,用少得多的参数,完成图像分类、量子相变识别等模式识别任务。

岗位关联

学会 QCNN 的线路设计思想,你就站在了量子机器学习的交叉前沿——当经典数据挖掘越来越“卷”时,“用量子线路以更少参数解决高维模式识别问题”正是 AI 从业者的稀缺加分技能。

目录
  1. 可视化演示
  2. 基本思想 · 从滑窗到分身术
  3. 量子卷积 · 魔法保鲜术
  4. 量子池化 · 浓缩精华汤
  5. 数据编码 · 翻译成量子语
  6. 典型应用 · 两道拿手菜
  7. 经典对比 · 一勺顶十锅
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示量子卷积网络的分层架构,包括量子卷积层酉变换、池化层测量降维以及与经典CNN的参数效率对比。切换模式查看不同维度,拖动滑块调节量子比特数。

本节配有交互动效(进入视口后自动加载,约 3KB)。

QCNN分层架构 量子卷积层:参数化酉变换作用于相邻量子比特,提取局部量子特征 量子池化层:测量部分量子比特实现降维,保留关键信息 |ψ_out⟩ = U_pool · U_conv · |ψ_in⟩ 逐层降维直至输出层,参数量随比特数线性增长

基本思想 · 从滑窗到分身术

回到那块大砧板。经典大厨的“滑窗检查”有个天然瓶颈:食材越多,要看越多次。量子大厨的分身术却能“同时检查所有位置”。问题是,分身术如何变成能重复使用的菜谱?答案是把操作写成量子线路——像搭乐高积木,把一个个“量子门”拼接成固定的加工流水线。

QCNN 与经典 CNN 一一对应:卷积层扫出局部特征,对应量子线路中用“双比特酉门”把相邻比特的信息搅在一起;池化层缩小特征图,对应测量部分量子比特并丢弃;最后的全连接分类层,对应末端比特的测量读数。整条线路端到端可训练,所有参数就是各个旋转门的角度。

整条线路可写成卷积与池化交替作用的形式:$V_l(\theta_l)$ 是参数化酉门组成的卷积层,$P_l$ 是测量并丢弃比特的池化层。从右往左看,就是“先卷积、再池化、再卷积、再池化”的循环。需要说明的是,这一写法是示意性的——测量使整体不再是酉变换,而是更一般的量子通道。

于是量子厨房的流水线搭好了:每经过一轮“魔法烹饪加浓缩”,砧板上的食材(比特数)就少一半,精华却被完整保留。最后大厨只需尝一勺浓缩汤,就能拍板整道菜的归属——这就是 QCNN 的整体工作方式。

ΦQCNN(θ)=PL VL(θL) PL−1 VL−1(θL−1) ⋯ P1 V1(θ1)\displaystyle \Phi_{\text{QCNN}}(\theta) = P_L \, V_L(\theta_L) \, P_{L-1} \, V_{L-1}(\theta_{L-1}) \, \cdots \, P_1 \, V_1(\theta_1)
这个式子像一份“加工流水线说明书”:从右读到左,先是第一轮“魔法烹饪”(卷积),紧接着“浓缩倒水”(池化),如此反复到最后。每一轮,砧板上的比特数减半。
  1. Φ_QCNN(θ) 整体映射整条线路从输入量子态到输出分类结果的完整变换,由卷积和池化交替堆叠而成
    ΦQCNN(θ)\Phi_{\text{QCNN}}(\theta)
  2. V_l(θ_l) 卷积层酉门第 l 层量子卷积层,由参数 θ_l 控制的可逆酉变换,保证信息总量不丢失
    Vl(θl)V_l(\theta_l)
  3. P_l 池化测量投影对部分量子比特执行测量并丢弃它们,等效于把信息浓缩到剩余比特上
    PlP_l
  4. 交替嵌套顺序从右到左依次作用——先卷积 V_1,再池化 P_1,然后 V_2、P_2……直到最外层输出
    VL(θL) PL−1 VL−1(θL−1)⋯P1 V1(θ1)V_L(\theta_L) \, P_{L-1} \, V_{L-1}(\theta_{L-1}) \cdots P_1 \, V_1(\theta_1)

量子卷积 · 魔法保鲜术

大厨的魔法保鲜术有一条铁律:真正的“烹饪”绝不能把营养成分弄丢——要么原样保留,要么优雅地重组。在量子世界里,这条铁律的名字叫酉变换。只要是可逆、不损失信息的量子操作,都必须是酉矩阵。

经典卷积核是一个数字矩阵,乘到图像上提取边缘、纹理;量子卷积核是一个酉矩阵 $U$,作用在相邻的量子比特对上,把二者的信息“搅”成新的叠加态。关键在于酉矩阵满足 $U^\dagger U = I$,就像魔法保鲜术承诺的“营养守恒”:态矢量的长度不变,信息永不消失,只是被重新组合。

最常用的量子卷积核是参数化双比特门。每个角度 $\theta$ 就是一个可训练参数。把同一个门作用在砧板(寄存器)的每一对相邻比特上,就实现了经典卷积核“滑动窗口”的效果,也天然带来了平移不变性——无论特征出现在画面角落还是中央,都能被同样的“味觉”捕捉到。

就像大厨的每一勺取样都遵循同一把勺子(同一参数门),平移不变性让 QCNN 无论特征在哪都能识别。而“营养守恒”的酉变换,保证了卷积过程不会偷工减料。

Vj,k(θ)=exp⁡ ⁣(−iθ2(XjXk+YjYk))\displaystyle V_{j,k}(\theta) = \exp\!\left(-\frac{i\theta}{2}\left( X_j X_k + Y_j Y_k \right)\right)
这个式子像“两两食材之间的秘密握手”:相邻两个比特按角度 θ 交换彼此的“激发”,从而纠缠在一起。θ 是可训练参数,相当于这盘菜里“加多少糖”。
  1. V_{j,k}(θ) 卷积门作用在相邻量子比特对 (j, k) 上的参数化酉门,等价于一个“量子卷积核”
    Vj,k(θ)V_{j,k}(\theta)
  2. 矩阵指数 exp(−iθH/2)表示沿着生成元 H 旋转 θ/2 弧度,是连续可微的参数化操作
    exp⁡(−iθ2H)\exp\left(-\frac{i\theta}{2}H\right)
  3. X_j X_k 与 Y_j Y_k两个泡利算符的张量积,合起来负责在 |01⟩ 与 |10⟩ 之间交换振幅
    XjXk+YjYkX_j X_k + Y_j Y_k
  4. 参数 θ训练中要学习的旋转角度,共享于所有相邻比特对,实现“平移不变”
    θ\theta

量子池化 · 浓缩精华汤

浓汤做好后,大厨不会把整锅端给食客——他先舀出一小杯精华,其余倒掉。量子池化就是这个“舀汤倒水”的动作:对部分量子比特执行测量,然后放弃它们。

测量的数学规则叫 Born 规则:测得某个结果 $m$ 的概率等于……一旦测量发生,叠加态就“坍缩”到对应的分支上,被测量比特的信息不可逆地丢失——这正是我们想要的降维,因为剩下的比特只携带最浓缩的“精华”。

实践中池化有两种常见做法:直接测量后丢弃(硬池化);或者根据测量结果对相邻保留比特做条件旋转(软池化,类似经典 CNN 的最大池化)。无论哪种,数学上都等价于对被丢弃的子系统做部分求迹 $\rho_{\text{out}} = \mathrm{Tr}_{\text{disc}}(\rho_{\text{in}})$。

大厨每“倒掉”一半汤,锅里的信息就浓缩一分;几次之后,满满一锅食材变成一汤匙大小的精华——这就是 QCNN 能在最后只用一个量子比特读出分类结果的秘密。

p(m)=⟨ψ∣Mm†Mm∣ψ⟩\displaystyle p(m) = \langle \psi | M_m^{\dagger} M_m | \psi \rangle
这句话的意思是:量子大厨“尝味”之前,并不知道浓汤是哪一种味道,只能算出“尝到味道 m”的概率;一旦尝了,一切就尘埃落定。
  1. p(m) 测量概率测量得到某个结果 m 的概率,是一个 0 到 1 之间的实数
    p(m)p(m)
  2. M_m 测量算符与结果 m 对应的测量算符,池化中通常是投影到某个比特状态的算子
    MmM_m
  3. M_m† 共轭转置与 M_m 成对出现,保证概率恒为非负实数
    Mm†M_m^{\dagger}
  4. |ψ⟩ 测量前状态浓缩汤在“尝味”前的完整量子态
    ∣ψ⟩|\psi\rangle
  5. 整体内积把三者按 ⟨ψ|M†M|ψ⟩ 排列,得到概率;所有可能结果的总和必然为 1
    ⟨ψ∣Mm†Mm∣ψ⟩\langle \psi | M_m^{\dagger} M_m | \psi \rangle

数据编码 · 翻译成量子语

量子大厨只听得懂“量子语”。经典世界的像素数值,在进厨房之前必须翻译成量子态的语言——这一步叫数据编码。

最简单的翻译是角度编码:把每个特征值 $x_i$ 当作旋转角度,作用一个 $R_y$ 旋转门在对应的量子比特上。比如一张 28×28 的手写数字图有 784 个像素,就准备 784 个量子比特(或先降维再编码),每个像素的灰度值被归一化后变成对应比特的旋转角。

更极致的是振幅编码:用 $2^n$ 个复振幅去装载 $n$ 个特征值,理论上指数级紧凑。但制备这样的态需要精心设计的线路,在含噪设备上代价高昂,优化也更容易陷入“贫瘠高地”。所以目前 QCNN 的主流仍是角度编码加可训练的特征映射线路。

就像大厨把文字菜谱翻译成自己熟悉的操作手势,角度编码把像素数值翻译成旋转角度。翻译得越贴切,后面的魔法烹饪越能发挥威力。

∣ϕ(x)⟩=⨂i=1nRy(xi) ∣0⟩⊗n\displaystyle |\phi(\mathbf{x})\rangle = \bigotimes_{i=1}^{n} R_y(x_i)\, |0\rangle^{\otimes n}
这个式子像“把一行菜谱翻译成一个个手势”:每个特征值 x_i 变成一次手腕翻转(R_y 旋转),所有翻转叠加起来,就组成量子大厨能听懂的开场动作。
  1. 张量积 ⊗表示 n 个量子比特合成一个整体系统
    ⨂i=1n\bigotimes_{i=1}^{n}
  2. R_y(x_i) 旋转门绕布洛赫球 Y 轴旋转 x_i 弧度的单比特门,是角度编码的核心动作
    Ry(xi)R_y(x_i)
  3. |0⟩ 初态每个比特都从基态出发,像一个待命的空砧板位
    ∣0⟩⊗n|0\rangle^{\otimes n}
  4. 整体量子态 |φ(x)⟩特征向量 x 被“翻译”后的量子初态,后面所有卷积池化都作用在它上面
    ∣ϕ(x)⟩|\phi(\mathbf{x})\rangle

典型应用 · 两道拿手菜

量子厨房有两道招牌菜:一道是“图像分类”,一道是“量子相变识别”。前者面向经典世界,后者面向量子世界。

图像分类中,QCNN 把图片像素编码成量子态,线路末端读出比特的测量概率就是各类别的置信度。训练时用交叉熵损失衡量预测与标签的差距,再用优化器更新各个旋转门的参数。在 MNIST 子集等简单任务上,QCNN 已能逼近经典 CNN 的精度。

量子相变识别则是“天作之合”:输入数据本身就是量子态(比如材料在临界点附近的基态),不需要编码翻译,直接让 QCNN 线路作用上去,用测量结果判断物质处于有序相还是无序相。这是经典 CNN 很难替代的场景——经典模型需要先做代价高昂的量子态重构,而 QCNN 可以“近水楼台先得月”。

大厨的这两道拿手菜,一道把“看得见的像素”翻译成量子味觉,一道直接品尝“量子食材”本尊。尤其后者,让 QCNN 在凝聚态物理中成了名副其实的“量子品酒师”。

L(θ)=−∑iyiln⁡y^i(xi;θ)\displaystyle \mathcal{L}(\theta) = -\sum_{i} y_i \ln \hat{y}_i(\mathbf{x}_i; \theta)
这是“惩罚公式”:预测越离谱,损失越大。量子大厨通过不断调整旋转角度(参数 θ),让“猜错罚单”越来越小。
  1. L(θ) 损失函数衡量 QCNN 在训练集上整体“猜错程度”的指标
    L(θ)\mathcal{L}(\theta)
  2. y_i 真实标签第 i 个样本的正确答案,图像中是类别,相变识别中是有序或无序
    yiy_i
  3. ln 自然对数把概率转换为“意外程度”——概率越小,意外越大
    ln⁡\ln
  4. ŷ_i(x_i;θ) 预测概率QCNN 对样本 x_i 输出的预测置信度
    y^i(xi;θ)\hat{y}_i(\mathbf{x}_i; \theta)
  5. 负号与求和把所有样本的“意外度”加起来并取负,使损失越小代表模型越好
    −∑i-\sum_i

经典对比 · 一勺顶十锅

食客总会问:量子大厨费这么大劲,到底比普通大厨强在哪?答案藏在“一勺顶十锅”——参数效率。经典 CNN 的参数数量随输入尺寸线性甚至平方增长;而 QCNN 因为卷积层共享参数、池化层每层比特减半,线路深度只随比特数对数增长。

当然,“少而精”不等于“必然赢”。表达能力上,QCNN 在浅层就能产生高度纠缠的特征表示,理论上可表达复杂非线性模式;但当前的 NISQ(含噪中等规模量子)硬件噪声大、比特少,实际精度未必反超经典 CNN。训练方面,随机初始化容易遇到“贫瘠高地”——梯度像沙漠一样平,优化器寸步难行。部署上更现实的做法是经典预处理加量子线路的混合推理。量子大厨的优势值得期待,但厨房设备还在装修期;对今天的数据工程师来说,与其奢求全面超越经典,不如先在“量子食材”最丰富的物理场景里,尝到第一口甜头。

PQCNN=O(log⁡N),PCNN=O(N)\displaystyle P_{\text{QCNN}} = O(\log N), \qquad P_{\text{CNN}} = O(N)
这句话是说:体系规模 N 越大,QCNN 省下的参数越惊人。比如 N=1000 时,经典要上千个参数,量子只需个位数级别的增长。
  1. P_QCNN 量子参数个数QCNN 中所有可训练旋转角的总数
    PQCNNP_{\text{QCNN}}
  2. O(log N) 对数增长随量子比特数 N 增加,参数只按对数缓慢增长
    O(log⁡N)O(\log N)
  3. P_CNN 经典参数个数经典卷积神经网络的可训练参数总数
    PCNNP_{\text{CNN}}
  4. O(N) 线性增长随输入规模 N 增加,参数线性膨胀
    O(N)O(N)
  5. 对比关系N 越大,QCNN 的参数节省优势越明显——这就是“一勺顶十锅”
    PQCNN≪PCNN(N→∞)P_{\text{QCNN}} \ll P_{\text{CNN}} \quad (N \to \infty)

AI 应用场景

场景一:量子材料研究中的相变点识别

阶段:特征提取与模式识别

解决的问题:凝聚态物理中判断材料是否发生量子相变,传统方法需要对哈密顿量做大规模数值模拟(如 DMRG、量子蒙特卡洛),计算量随体系尺寸指数增长;而且实验测得的量子态数据噪声大,经典模型要先做昂贵的态重构才能分类。QCNN 把“卷积-池化”直接作用在量子态上,用少量参数识别有序相与无序相的纠缠结构差异,无需完整重构。

具体案例:某量子材料研究团队在含噪量子原型机上运行一个 8 比特 QCNN,输入一维自旋链的基态,输出“顺磁/反铁磁”二分类标签,以约 20 个可训练参数达到 90% 以上的相变点识别准确率,而同等任务上经典 CNN 需要上千参数且对噪声更敏感。

场景二:边缘端 NISQ 图像分类推理

阶段:模型推理与部署

解决的问题:在传统嵌入式设备上,图像分类模型参数动辄百万级,内存和功耗受限;QCNN 使用角度编码把降维后的像素特征映射到旋转门,经量子卷积、池化后以单比特读出分类,整个推理只需数十个参数,适合部署在量子协处理器的“边缘推理”流程中。

具体案例:某实验团队对手写数字 MNIST 的子集(如区分 0 与 1)做 PCA 降维到 4 维,再映射到 4 个量子比特上跑 QCNN,在模拟器上达到 95% 准确率,在真实超导芯片上因噪声降到 85%,但仍验证了“超少参数推理”的可行性。

Python 演示

python95 行
# -*- coding: utf-8 -*-# QCNN 教学演示: 3 量子比特振幅向量模拟 + 随机搜索训练import cmathimport mathimport random  def apply_ry(state, k, theta):    # Ry(theta) 单比特酉门    n = len(state).bit_length() - 1    mask = 1 << k    c, s = math.cos(theta / 2.0), math.sin(theta / 2.0)    for i in range(1 << n):        if (i & mask) == 0:            j = i | mask            a, b = state[i], state[j]            state[i] = c * a - s * b            state[j] = s * a + c * b  def apply_rzz(state, a, b, theta):    # Rzz(theta) 纠缠门: 按两比特奇偶性施加相位    n = len(state).bit_length() - 1    ma, mb = 1 << a, 1 << b    for i in range(1 << n):        phase = -theta / 2.0 if (i & ma) and (i & mb) else theta / 2.0        state[i] *= cmath.exp(1j * phase)  def measure_zero(state, k):    # 测量比特 k 并投影到 |0>, 返回概率    n = len(state).bit_length() - 1    mask = 1 << k    prob = 0.0    for i in range(1 << n):        if (i & mask) == 0:            prob += abs(state[i]) ** 2    if prob < 1e-12:        return None    scale = 1.0 / math.sqrt(prob)    for i in range(1 << n):        state[i] = state[i] * scale if (i & mask) == 0 else 0.0    return prob  def prob_zero(state, k):    # 读出概率 P(比特 k = 0)    n = len(state).bit_length() - 1    mask = 1 << k    return sum(abs(state[i]) ** 2 for i in range(1 << n) if (i & mask) == 0)  def qcnn_forward(x1, x2, conv, mid, read):    # 一条迷你 QCNN: 编码 -> 卷积 -> 池化 -> 读出    n = 3    state = [0j] * (1 << n)    state[0] = 1.0 + 0j    apply_ry(state, 0, x1)          # 角度编码: x1 -> 旋转角    apply_ry(state, 1, x2)          # 角度编码: x2 -> 旋转角    apply_rzz(state, 0, 1, conv)    # 量子卷积: 纠缠相邻比特    apply_rzz(state, 1, 2, conv)    # 量子卷积: 共享参数    if measure_zero(state, 1) is None:        return 0.5                  # 池化坍缩后概率为 0    apply_ry(state, 0, mid)         # 池化后中间旋转    apply_ry(state, 0, read)        # 读出层旋转    return prob_zero(state, 0)      # 得分 = P(比特0 = 0)  def main():    random.seed(2024)    samples = []    for _ in range(24):        x = random.uniform(-1.0, 1.0)        y = random.uniform(-1.0, 1.0)        label = 1.0 if x * x + y * y < 0.55 else 0.0        samples.append((x, y, label))    best_ac, best_c, best_m, best_r = 0.0, 0.0, 0.0, 0.0    for _ in range(1000):        conv = random.uniform(-math.pi, math.pi)        mid = random.uniform(-math.pi, math.pi)        read = random.uniform(-math.pi, math.pi)        hit = 0        for x, y, label in samples:            p = qcnn_forward(x, y, conv, mid, read)            if (p >= 0.5) == (label >= 0.5):                hit += 1        acc = hit / float(len(samples))        if acc > best_ac:            best_ac, best_c, best_m, best_r = acc, conv, mid, read    print("best accuracy = %.3f" % best_ac)    print("conv=%.3f mid=%.3f read=%.3f" % (best_c, best_m, best_r))  if __name__ == "__main__":    main()
目的:用振幅向量模拟一个 3 量子比特的迷你 QCNN——依次完成角度编码、量子卷积(纠缠)、量子池化(测量投影)和读出测量,用随机搜索训练参数做“圆内/圆外”二维二分类。
  1. state = [0j] * (1 << n)把 $2^n$ 个复数振幅全部初始化为 0
  2. state[0] = 1.0 + 0j线路从全 0 基态 |000⟩ 出发
  3. apply_ry(state, 0, x1)角度编码:把第一个特征值变成比特 0 的旋转角
  4. apply_rzz(state, 0, 1, conv)量子卷积:让相邻比特 0 和 1 产生纠缠
  5. if measure_zero(state, 1) is None:量子池化:测量比特 1 并让它“下线”
  6. apply_ry(state, 0, read)读出层:对幸存比特做最后一次旋转
  7. return prob_zero(state, 0)以比特 0 测得 0 的概率作为分类得分
  8. label = 1.0 if x * x + y * y < 0.55 else 0.0构造“圆内圆外”二分类数据集

常见误区

误区我看了论文,QCNN 的参数是 O(log N) 级别的,那以后图像分类直接上量子卷积就行,肯定比经典 CNN 更准。

正解参数效率说的是“理论上用同样多的参数表达更丰富的模式”,不等于“实测精度自动反超”。当前真实量子硬件噪声大、比特数少(几十比特),线路一深噪声就淹没信号;而在经典图像上,成熟 CNN 加 GPU 依然是实际王者。参数少是“天赋”,不是“战绩”。

为何常见:人容易把“理论上更高效”直接等同于“实际更强”,忽略了硬件噪声、编译开销和部署成本这些中间变量。

误区酉矩阵能保持信息不丢,那干脆把所有层都换成酉变换,网络一定更强。

正解酉变换只是“长度守恒的线性变换”——线性!它做不了非线性激活、加不了偏置、不能缩放特征幅度。QCNN 能解决非线性分类,靠的是测量带来的坍缩、量子比特离散化,以及数据编码本身引入的弯曲几何。把酉门当万能激活函数,必然翻车。

为何常见:量子线路里见到的门全是酉矩阵,容易让人把“所有量子操作”误解为“所有可训练操作”,忽略了测量这个关键的非线性来源。

误区池化就是把多余的比特量一下丢掉,对线路设计没什么影响,放哪都一样。

正解测哪个比特、在哪一层测、测完是否条件旋转,直接决定剩余比特携带的信息量和纠缠结构。部分求迹告诉我们,测量会不可逆地丢失信息,放错位置的测量等于把精华也一起倒掉。QCNN 的“何时池化”是精心设计的艺术,不是可有可无的收尾动作。

为何常见:经典 CNN 里池化只是降采样的“小工具”,初学者容易把这种轻视原封不动地带进量子域。

误区量子比特能装数据,我把每个像素对应一个比特、直接设成它的值不就行了?

正解量子态必须归一化,振幅编码和角度编码各有代价;角度编码的取值要匹配到合适的旋转区间,编码方式还直接影响梯度能否被有效优化。更现实的是,当前硬件只有几十比特——一张 28×28 的图像有 784 个像素,不先做经典降维或特征筛选,QCNN 根本上不了桌。

为何常见:“量子计算很神奇”的直觉让人误以为它可以无视数据规模、归一化约束和硬件容量。

面试题

Q1. 酉矩阵 $U$ 的核心性质是什么?

单选题 · easy

  • A.满足 U†U=I,不改变量子态长度← 正确答案
  • B.满足 U=U†,矩阵必为对称阵
  • C.行列式必为 0,矩阵不可逆
  • D.所有矩阵元素必须为实数

答案:A。酉矩阵的所有列向量正交且归一,U†U=I 保证态矢量范数不变,这正是 QCNN 卷积层“信息守恒”的数学保障。B 是厄米矩阵的性质,C 是奇异矩阵的特征,D 错误——酉矩阵元素可以是复数。

Q2. QCNN 的池化层在量子线路中对应哪个操作?

单选题 · easy

  • A.增加量子比特数目以扩大容量
  • B.测量部分量子比特并丢弃它们← 正确答案
  • C.用经典滤波器消除高频噪声
  • D.复制量子态以扩充训练样本

答案:B。池化做降维,对应“测量部分比特→坍缩→丢弃”,量子比特数因此减半;A 是扩容与降维相反,C 是经典信号处理,D 违背量子不可克隆定理。就像大厨倒掉一半汤,而不是往锅里加水。

Q3. 角度编码把特征值 $x_i$ 翻译成什么?

单选题 · easy

  • A.量子比特的测量结果数值
  • B.神经网络的权重初始值
  • C.一个旋转门的旋转角度← 正确答案
  • D.泡利算符的特征根值

答案:C。角度编码用 R_y(x_i) 把特征值映射为旋转角度,因此特征需要先归一化到合适的区间;A 是末端读数的产物,B 是经典训练的概念,D 是 |+1⟩ 与 |−1⟩ 的取值。

Q4. QCNN 参数效率高的主要原因是?

单选题 · mid

  • A.每个比特都能存指数级参数
  • B.使用复数而非实数表示权重
  • C.梯度更新只用一次反向传播
  • D.卷积门共享且比特逐层减半← 正确答案

答案:D。卷积层把同一个参数化酉门作用在每对相邻比特上(参数共享),池化层每层丢弃一半比特,两件事叠加使参数随规模对数增长;A 描述的是振幅编码的数据存储,B 不是参数高效的原因,C 与事实不符——QCNN 同样需要多轮迭代优化。

Q5. 量子卷积层的“平移不变性”是如何实现的?

单选题 · mid

  • A.对每对相邻比特应用相同的酉门← 正确答案
  • B.每次迭代随机改变门的参数
  • C.门参数随位置不同而分别设定
  • D.在全部比特上执行一次全局测量

答案:A。平移不变等于“同一把勺子滑过所有位置”,即同一参数门作用在每一对相邻比特上;B 的随机化会破坏不变性,C 是位置相关的做法,D 属于池化而非卷积。

Q6. 部分求迹 $\mathrm{Tr}_B(\rho_{AB})$ 在 QCNN 池化中扮演什么角色?

单选题 · hard

  • A.对整条线路执行一次酉对角化
  • B.把泡利算符展开成矩阵指数
  • C.对丢弃的子系统求迹得到压缩态← 正确答案
  • D.将经典梯度投影到量子参数上

答案:C。测量后丢弃比特,在数学上等价于对被丢弃的子系统 B 求部分迹,剩余系统成为携带精华的混合态;A 是线路分解问题,B 是参数化门的定义方式,D 是梯度下降中的投影思想。

Q7. 为什么说量子相变识别与 QCNN 是“天作之合”?

单选题 · extreme

  • A.量子线路一定能跑得比经典模拟器更快
  • B.输入数据本身是量子态,无需编码直接处理← 正确答案
  • C.相变识别只需要一个量子比特就够了
  • D.经典 CNN 在该任务上完全无法工作

答案:B。量子相变的输入是量子基态,本身就在“量子语言”里,QCNN 可以直接作用,避免经典方法昂贵的态重构;A 在 NISQ 上并不保证,C 过度简化了任务,D 的说法太绝对。

Q8. 量子卷积层通常包含哪些要素?

多选题 · mid

  • A.参数化的双比特纠缠门← 正确答案
  • B.对部分比特的测量降维
  • C.相邻比特间的参数酉变换← 正确答案
  • D.经典卷积核的浮点乘法

答案:AC。量子卷积层由参数化酉门和纠缠门构成,作用在相邻比特之间;B 属于池化层,D 是经典 CNN 的操作,不会出现在量子线路里。

Q9. 关于 QCNN 池化层的说法,正确的是?

多选题 · hard

  • A.通过测量使信息坍缩到剩余比特上← 正确答案
  • B.被测量的比特不再参与后续线路← 正确答案
  • C.等价于对丢弃子系统做部分求迹← 正确答案
  • D.一定会让分类准确率持续上升

答案:ABC。A、B、C 分别从坍缩、丢弃、求迹三个视角描述了池化;D 错误——池化会损失信息,放错位置可能降低精度,设计时需要权衡。

Q10. 与经典 CNN 相比,QCNN 的特点包括?

多选题 · mid

  • A.参数个数随体系规模对数增长← 正确答案
  • B.天然适合处理量子态形式的数据← 正确答案
  • C.在含噪设备上一定优于经典模型
  • D.线路深度受当前硬件噪声限制← 正确答案

答案:ABD。A 是参数效率优势,B 是量子数据的天然匹配,D 是 NISQ 时代的现实约束,三者都是 QCNN 的真实特点;C 过于绝对,噪声环境下实测精度不一定赢过经典模型,参数少≠一定强。