第 27 课 · QML II——量子核、混合网络与贫瘠高原 · 模块四:应用与前沿专题

演示:PennyLane 训练 QNN 拟合 $\sin(x)$

  • 代码卡片(逐行高亮):
  dev = qml.device("default.qubit", wires=2)

  @qml.qnode(dev)
  def quantum_neural_net(params, x):
      qml.RY(x, wires=0)                     # 编码层
      qml.RX(params[0], wires=0)             # 模型层
      qml.RY(params[1], wires=0)
      qml.CNOT(wires=[0, 1])
      qml.RX(params[2], wires=1)
      qml.RY(params[3], wires=1)
      return qml.expval(qml.PauliZ(0))       # 测量层
  • 装配卡片:square_loss 均方误差;AdamOptimizer(stepsize=0.1);50 轮训练循环(优化器自动用参数平移算梯度)
  • 输出卡片:每 10 轮打印成本、逐轮下降;多数随机初始化下最终损失接近 0,红色预测曲线拟合 $\sin(x)$
  • 彩蛋演算卡(电路输出的解析式逐项代入):
    1. 解析式:$f(x) = -\sin(\theta_1) \cdot \sin x + \cos(\theta_0) \cdot \cos(\theta_1) \cdot \cos x$
    2. 取 $\theta_1 = 3\pi/2$:$\sin(3\pi/2) = -1$,$\cos(3\pi/2) = 0$
    3. 代入:$f(x) = -(-1) \cdot \sin x + \cos(\theta_0) \cdot 0 \cdot \cos x = \sin x$ ✓——零损失的全局最优确实存在
  • 标注:演示节点 1(现场运行 PennyLane 脚本)
类型code-walkthrough