跳转至

量子机器学习入门教程

教程概述

本教程全面介绍了量子机器学习(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
  • 不同编码方式
  • 各种优化策略

技术亮点

实现的模型

  1. SimpleQNN:基础量子神经网络
  2. ImprovedQNN:支持批量处理的改进版
  3. QResidualBlock:量子残差块
  4. QResNet:完整的量子残差网络
  5. ClassicalNN:经典神经网络(对比基准)

使用的技术

  • 角度编码(RY, RZ 门)
  • 变分层设计
  • 残差连接
  • 批量训练
  • 混合量子-经典架构

DeepQuantum 特性

  • QubitCircuit:量子电路构建
  • QuantumConvolutionalNeuralNetwork:内置 QCNN
  • MPS 表示:内存优化
  • 自动微分:梯度计算
  • 测量和期望值计算

学习成果

完成本教程后,你将能够:

  1. 理解量子机器学习的核心概念
  2. 实现各种量子神经网络架构
  3. 训练和优化量子机器学习模型
  4. 对比量子与经典方法
  5. 使用 DeepQuantum 框架解决实际问题
  6. 设计自己的量子机器学习算法

运行要求

环境依赖

# 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

使用说明

  1. 启动 Jupyter Notebook

    jupyter notebook "E:\02_Projects\turingQ\教程\06-高级应用\量子机器学习入门.ipynb"
    

  2. 按顺序执行所有单元格

  3. 从上到下依次运行
  4. 每个代码块都有详细注释
  5. 观察输出和可视化结果

  6. 实验和修改

  7. 尝试不同的超参数
  8. 修改网络架构
  9. 使用自己的数据集

  10. 完成练习题

  11. 教程末尾有 8 个练习题
  12. 巩固所学知识
  13. 提升实践能力

预期输出

训练过程

  • 损失逐渐下降
  • 准确率稳步提升
  • 测试准确率通常 > 85%

可视化结果

  • 训练曲线图
  • 决策边界可视化
  • 混淆矩阵热力图
  • 性能对比柱状图

参考资源

论文

  1. Mitarai et al., "Quantum circuit learning" (2018)
  2. Schuld et al., "Evaluating analytic gradients on quantum hardware" (2019)
  3. Grant et al., "Hierarchical quantum classifiers" (2018)

框架文档

常见问题

Q1: 训练很慢怎么办?

  • 减少训练轮数
  • 使用 MPS 表示加速模拟
  • 减少批量大小
  • 使用更少的量子比特

Q2: 如何提高准确率?

  • 增加电路层数
  • 调整学习率
  • 使用更好的数据编码
  • 尝试不同的优化器

Q3: 可以使用更多量子比特吗?

  • 可以,但会显著增加模拟时间
  • 建议使用 MPS 表示
  • 考虑使用实数量子设备

贡献者

  • TuringQ 团队
  • 版本: 1.0
  • 日期: 2024

许可证

本教程遵循项目的许可证条款。


祝你学习愉快!探索量子机器学习的奇妙世界! 🚀