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)$
- 彩蛋演算卡(电路输出的解析式逐项代入):
- 解析式:$f(x) = -\sin(\theta_1) \cdot \sin x + \cos(\theta_0) \cdot \cos(\theta_1) \cdot \cos x$
- 取 $\theta_1 = 3\pi/2$:$\sin(3\pi/2) = -1$,$\cos(3\pi/2) = 0$
- 代入:$f(x) = -(-1) \cdot \sin x + \cos(\theta_0) \cdot 0 \cdot \cos x = \sin x$ ✓——零损失的全局最优确实存在
- 标注:演示节点 1(现场运行 PennyLane 脚本)