量子机器学习入门教程¶
教程概述¶
本教程全面介绍了量子机器学习(Quantum Machine Learning, QML)的基础知识和实践应用,使用 DeepQuantum 框架实现各种量子神经网络。
教程信息¶
- 文件名:
量子机器学习入门.ipynb - 难度等级: ⭐⭐⭐⭐ (高级)
- 预计时长: 2-3 小时
- 前置知识:
- 量子计算基础(量子比特、量子门、测量)
- 机器学习基础(神经网络、反向传播)
- PyTorch 基础
教程内容¶
1. 量子机器学习简介¶
- 什么是量子机器学习
- QML 的主要方向(QNN、量子核方法等)
- 应用场景
- 难度评估
2. 理论基础¶
- 量子神经网络(QNN):参数化量子电路、数据编码、测量
- 量子残差网络(QResNet):残差连接、跳跃连接
- 变分量子电路:训练过程、参数优化
3. 环境准备¶
- 导入必要的库(DeepQuantum、PyTorch、scikit-learn)
- DeepQuantum 基础示例
- 环境配置验证
4. 构建量子神经网络(QNN)¶
- 简单 QNN 实现
- 改进的 QNN(支持批量处理)
- 前向传播和反向传播
5. 量子残差网络(QResNet)¶
- QResNet 理论基础
- 残差块实现
- 完整 QResNet 架构
- 与 ResNet 的对比
6. 分类任务示例¶
- 圆形数据集:生成和可视化
- 训练函数:完整的训练循环
- 模型训练:QNN 和 QResNet
- 性能评估:准确率、损失曲线
- 可视化:训练过程、决策边界
7. 与经典机器学习的对比¶
- 经典神经网络实现
- 性能对比分析
- 混淆矩阵可视化
- 分类报告
- 参数效率对比
8. DeepQuantum 高级特性¶
- 量子卷积神经网络(QCNN):内置实现
- 矩阵乘积态(MPS):内存优化
- MPS vs 标准表示的对比
- 内存效率分析
9. 实战案例分析¶
- 半月形数据集:更复杂的分类任务
- 多模型训练和对比
- 决策边界可视化:理解模型行为
10. 总结与展望¶
- 关键要点总结
- 优势与挑战
- 实用建议
- 未来发展方向
- 学习资源推荐
11. 练习题¶
8 个实践练习,涵盖: - 不同的编码方式 - 自定义量子电路 - 多分类问题 - 回归任务 - 超参数优化 - 真实数据集应用 - 量子卷积网络 - MPS 加速
主要特色¶
1. 全面性¶
- 从理论到实践的完整覆盖
- 多种量子神经网络架构
- 与经典方法的详细对比
2. 实用性¶
- 可运行的完整代码示例
- 真实数据集应用
- 可视化训练过程
3. 深入性¶
- 残差网络的高级概念
- MPS 优化技术
- DeepQuantum 框架深度使用
4. 对比分析¶
- QNN vs QResNet vs 经典 NN
- 不同编码方式
- 各种优化策略
技术亮点¶
实现的模型¶
- SimpleQNN:基础量子神经网络
- ImprovedQNN:支持批量处理的改进版
- QResidualBlock:量子残差块
- QResNet:完整的量子残差网络
- ClassicalNN:经典神经网络(对比基准)
使用的技术¶
- 角度编码(RY, RZ 门)
- 变分层设计
- 残差连接
- 批量训练
- 混合量子-经典架构
DeepQuantum 特性¶
- QubitCircuit:量子电路构建
- QuantumConvolutionalNeuralNetwork:内置 QCNN
- MPS 表示:内存优化
- 自动微分:梯度计算
- 测量和期望值计算
学习成果¶
完成本教程后,你将能够:
- 理解量子机器学习的核心概念
- 实现各种量子神经网络架构
- 训练和优化量子机器学习模型
- 对比量子与经典方法
- 使用 DeepQuantum 框架解决实际问题
- 设计自己的量子机器学习算法
运行要求¶
环境依赖¶
# Python 版本
Python >= 3.8
# 主要依赖
PyTorch >= 1.10
DeepQuantum (本项目的 deepquantum 目录)
NumPy >= 1.20
Matplotlib >= 3.3
scikit-learn >= 0.24
Seaborn >= 0.11
安装 DeepQuantum¶
# 确保 DeepQuantum 在 Python 路径中
import sys
sys.path.insert(0, 'E:/02_Projects/turingQ/deepquantum/src')
import deepquantum as dq
使用说明¶
-
启动 Jupyter Notebook:
-
按顺序执行所有单元格:
- 从上到下依次运行
- 每个代码块都有详细注释
-
观察输出和可视化结果
-
实验和修改:
- 尝试不同的超参数
- 修改网络架构
-
使用自己的数据集
-
完成练习题:
- 教程末尾有 8 个练习题
- 巩固所学知识
- 提升实践能力
预期输出¶
训练过程¶
- 损失逐渐下降
- 准确率稳步提升
- 测试准确率通常 > 85%
可视化结果¶
- 训练曲线图
- 决策边界可视化
- 混淆矩阵热力图
- 性能对比柱状图
参考资源¶
论文¶
- Mitarai et al., "Quantum circuit learning" (2018)
- Schuld et al., "Evaluating analytic gradients on quantum hardware" (2019)
- Grant et al., "Hierarchical quantum classifiers" (2018)
框架文档¶
常见问题¶
Q1: 训练很慢怎么办?¶
- 减少训练轮数
- 使用 MPS 表示加速模拟
- 减少批量大小
- 使用更少的量子比特
Q2: 如何提高准确率?¶
- 增加电路层数
- 调整学习率
- 使用更好的数据编码
- 尝试不同的优化器
Q3: 可以使用更多量子比特吗?¶
- 可以,但会显著增加模拟时间
- 建议使用 MPS 表示
- 考虑使用实数量子设备
贡献者¶
- TuringQ 团队
- 版本: 1.0
- 日期: 2024
许可证¶
本教程遵循项目的许可证条款。
祝你学习愉快!探索量子机器学习的奇妙世界! 🚀