Skip to Content

量子核、噪声与示例

量子核适合小样本监督学习、聚类、降维和异常检测;噪声组件用于评估通道噪声与读出误差对模型的影响。本页同时给出可直接运行的示例入口。

量子核

import torch from unitarylab.library.qml.kernels import ( OverlapKernel, kernel_matrix, ) x = torch.tensor([ [0.0, 0.2], [0.3, -0.1], [0.8, 0.4], ], dtype=torch.float64) kernel = OverlapKernel(num_qubits=2) gram = kernel_matrix(x, kernel=kernel) print(gram)
能力接口
基础核OverlapKernel、StatevectorFidelityKernel、ProjectedQuantumKernel
监督学习QuantumKernelClassifier、QuantumKernelRegressor
无监督学习QuantumKernelKMeans、QuantumKernelPCA、QuantumKernelAnomalyDetector
矩阵工具kernel_matrix()、center_kernel()、closest_psd_matrix()、kernel_target_alignment()

训练 Gram 矩阵应为方阵;预测时交叉核矩阵的第二维必须对应训练样本。有限 shots 或数值误差可能使矩阵不完全对称正半定,可先对称化并使用 closest_psd_matrix() 修正。

噪声与读出误差

from unitarylab.library.qml.noise import ( DepolarizingChannel, NoiseModel, ReadoutErrorModel, mitigate_readout_probabilities, ) noise = NoiseModel() noise.add(DepolarizingChannel(probability=0.01), wires=(0, 1))

内置通道包括 BitFlipChannel、PhaseFlipChannel、AmplitudeDampingChannel 和 DepolarizingChannel。NoiseModel 将通道与线路位置或门条件关联;ReadoutErrorModel 描述测量混淆,mitigate_readout_probabilities() 用校准模型校正概率。

概率参数必须在有效区间内。误差缓解可能产生小的负分量或放大统计噪声,输出应检查归一化和物理范围。噪声模型不能替代真实设备标定;比较模型时应同时报告无噪声基线、shots 和随机种子。

PyTorch 集成示例

import torch from unitarylab.library.qml.examples.classification import build_classifier module = build_classifier("reuploading", seed=0) x = torch.zeros((2, 4), dtype=torch.float64) logits = module(x) print(logits.shape)

示例子包提供以下入口:

场景模块
分类qml.examples.classification
回归qml.examples.regression
生成建模qml.examples.generative
QGANqml.examples.qgan
连续变量 QNNqml.examples.cvqnn
异常检测qml.examples.anomaly_detection
小型数据集qml.examples.datasets

示例适合验证安装和工作流,不代表针对具体数据集的最优超参数。生产训练应独立划分验证集、记录实验配置,并逐步扩大数据量和线路规模。

常见错误

  • 特征数与编码层要求不一致:先缩放、选择或补齐特征。
  • PyTorch 输入与模型参数 dtype/device 不一致:在训练前统一转换。
  • 分类标签不是整数类别索引,或类别数与输出维度不一致。
  • shots 太小导致核矩阵和梯度波动过大。
  • 在测试集上选择核、噪声强度或模型超参数,造成数据泄漏。

相关页面

最后更新于