量子機器學習 (八) - 基於量子訓練的影像辨識

作者:
劉宸銉
閱讀時間:
5
分鐘
## 量子機器學習 (八) - 基於量子訓練的影像辨識 在前面的單元中,我們提到了 Quantum-Train 的基本概念。接下來,我們應該舉一些例子來讓讀者們更好理解 Quantum-Train 可以怎麼樣被應用,以及可以得出什麼樣的結果。在機器學習中一個最基本的應用是影像分類,在一般的 QML 中,就像我們在一開始的單元提到的,需要透過 angle encoding 等等方法將影像資料輸入進 QNN 中。以 MNIST 資料集為例,每張黑白的手寫數字圖片為 $28 \times 28 \times 1$ 形狀的資料,如果在不考慮做資料壓縮的情況下,需要 784 個 rotating gate 角度才可以輸入進 QNN。也就是說,這樣的 encoding 架構,可能需要很多的 qubits 數量以及適中的電路深度,或是適中的 qubits 數量以及很深的量子電路深度(總之相乘要等於 784)。聰明的讀者們可能發現這在目前的 [NISQ](https://www.entangletech.tw/lesson/popular-08) 時代沒那麼適用。如果考慮到做資料前處理壓縮,又有可能有資訊喪失的問題。 既然最簡單的黑白手寫辨識就有如此挑戰,那更不用說彩色圖片(有 RGB 三個 channel)資料集,例如 CIFAR-10,每張圖片為形狀 $32 \times 32 \times 3$ 的資料。 不過,在Quantum-Train 的框架下,由於沒有輸入資料 encoding 的問題,這樣的挑戰從一開始就不存在。
QT

接續前面提到的 Quantum-Train 框架,在影像辨識的任務中,我們僅需要把損失函數設定為影像辨識中常用的交叉熵函數(Cross-entropy loss), \begin{equation} l_{CE} = -\frac{1}{N_{\text{d}}}\sum_{n=1}^{N_{\text{d}}}\left[y_n \log \hat{y}_n + (1-y_n)\log(1-\hat{y}_n) \right] \end{equation} 而 classical NN 的部分我們選擇的是卷積神經網路(CNN)架構。在 MNIST與 FashionMNIST 的例子中,我們使用一個 6690 個參數的 CNN,由前面的計算可知,這樣的參數數目對應的 Quantum-Train 需要 $\lceil \log_2 6690 \rceil = 13$ 個 qubits。調整不同的 QNN 參數層深度,可以得出以下結果:
MNIST
資料集為 MNIST

FashionMNIST
資料集為 FashionMNIST

從這些結果中,可以觀察到 Quantum-Train 的確可以透過更少的 QNN+映射模型參數,來達到差不多的測試準確度(儘管會有一些損失)。接下來,如果要測試 CIFAR-10 資料集,由於每張圖片的形狀比較大($32 \times 32 \times 3$),所以也需要一個比較大的 CNN。在 CIFAR-10 例子下的 CNN 的參數數目為 285226,以 Quantum-Train 的架構需要 19 個 qubits。
CIFAR-10
資料集為 CIFAR-10

可以發現,如果使用 Quantum-Train,甚至只需要 23258 (少於10%)的訓練參數就可以有 60.69% 的測試準確度,相比於 285226 個參數下 62.5% 的測試準確度。而且,就像我們前面提過的,Quantum-Train 不僅沒有 data encoding 的問題,這個訓練的結果也是一個古典模型,所以在推論或者說使用階段,並不需要使用量子電腦。這樣的性質大大的提升了 QML 的實用性。在論文本文中,還有探討一些泛化誤差,以及與一般混合古典量子機器學習模型的比較,這些細節就留給有興趣的讀者去探索了。 ## 參考文獻 [1] [Quantum-Train: Rethinking Hybrid Quantum-Classical Machine Learning in the Model Compression Perspective](https://arxiv.org/abs/2405.11304)
課程目錄