Ở phần này, mình sẽ đi sau vào Quantum machine learning (QML) một xíu, chúng ta sẽ làm quen với model khá phổ biến: CNN và phiên bản nâng cấp Quantum CNN/ Quanvolutional NN.

1. Lý thuyết về CNN

Các khái niệm cần nắm về CNN:

  • CNN được dùng ở đâu?
  • Input, output của CNN là gì?
  • Các thành phần trong CNN: convolutional layer, neural layer, fully connected layer.
  • Thủ tục sử dụng CNN: bao gồm thu thập / chuẩn bị dataset, training / validation model và testing model.
  • Tìm hiểu về gradient và các cập nhật weight trên model.
  • Các thành phần phụ trong thủ tục: tìm hiểu ít nhất hai optimizer (SGD, Adam), Drop-out, Batch normalization, Initalize weight strategy.
  • Một số kiến trúc CNN (từ dễ đến khó): Lenet $\rightarrow$ VGG $\rightarrow$ Resnet.

Bài tập:

  • Sử dụng Python/Keras để implement Lenet và VGG-16 (chỉ sử dụng những thành phần cơ bản có sẵn như $Conv2D, Flatten, Dense$)
  • Tiến hành train/test trên hai tập dữ liệu MNIST và CIFAR10, mỗi tập chỉ lấy 1000 item, trong đó 100 item được dùng để test.
  • Thu thập số liệu sau khi đánh giá bao gồm: loss value, accuracy, precision, recall, f1-score, confusion matrx. ___

    2. Lý thuyết về Quatum CNN

Các khái niệm cần nắm:

  • Các tính gradient trên parameterized quantum circuit (parameter-shift rule). Đọc các nguồn [1][2][3].
  • Entangled topology: chain-topology, alternating-topology, all-to-all-topology
  • Entangled quantum state: GHZ và W.
  • Mô hình Quantum CNN: định nghĩa, cách implement các thành phần convolutional, fully connected.

Bài tập:

  • Implement mô hình Quantum CNN from scratch.

Hướng dẫn quy trình thí nghiệm:

B1. Học cách sử dụng terminal để gọi thực thi file.

B2. Tổ chức code thành danh sách các hàm và lớp. Sử dụng jupyter notebook *.ipynb để kiểm thử tính chính xác của code mình viết nhanh hơn.

B3. Sau khi đảm bảo hàm / lớp chính xác, tổ chức chúng vào các file *.py để dễ debug.

B4. Nhớ lưu các kết quả thí nghiệm bằng hình ảnh (sử dụng matplotlib) hoặc file csv (sử dụng numpy / pandas).

B5. Commit code lên repository Github để lưu lại toàn bộ lịch sử.

Tham khảo

[1] https://arxiv.org/abs/1811.11184 [2] https://pennylane.ai/qml/glossary/parameter_shift [3] File PDF được yêu cầu