量子機器學習 (六) - 量子訓練概觀

作者:
劉宸銉
閱讀時間:
5
分鐘
# 量子機器學習 (六) - 量子訓練概觀 在前面的單元中,我們介紹了一般的量子機器學習(QML)的架構,包含資料編碼、參數化量子電路、古典前/後處理,以及參數更新方法。不過,一般的混合型 QML 會面臨一些問題,包含: 1. **無法有效編碼大規模數據**:目前的 QML 方法在處理高維度數據時存在古典資料編碼為量子態(data encoding)的瓶頸。常見的編碼方式,如 rotational angle encoding 與 amplitude encoding,都會導致量子電路深度過深,或是需要大量的 qubits,增加訓練難度與雜訊影響。 2. **推論階段依賴量子電腦,難以落地應用**:許多現有的 QML 方法,即使在訓練階段成功利用量子資源,在推論階段(應用時)仍然需要量子電腦執行量子電路。這是因為一個混合型的古典量子模型往往古典層與量子層同時存在,因此需要執行這種模型做日常使用還是需要量子電腦。這使得模型在 真實應用場景中難以部署,因為當前的量子硬體無法隨時提供穩定、可擴展的推論能力,且量子雲端服務的存取成本高,限制了商業應用的可行性。因此,現有 QML 方法難以適用於 即時推論 或 邊緣運算 場景,如金融交易預測、醫療診斷、物聯網設備等。 為了解決這兩個關鍵問題,[量子訓練(Quantum-Train)](https://arxiv.org/abs/2405.11304) 提出了一種 hybrid classical-quantum 學習方法,僅在訓練時使用量子計算,推論時保持 classical 運算。那這是怎麼做到的呢?Quantum-Train 的核心思想是透過**量子**計算來輔助**古典**模型參數更新,在訓練過程中利用 QNN 來**產生**古典機器學習模型的參數,在訓練時並不直接調整古典模型的參數,而是調整相應可以產生參數的 QNN 的參數。而訓練階段結束後,訓練結果是純粹的古典機器學習模型。這樣的設計確保模型可以在任何標準的古典 CPU 或 GPU 上運行。這樣的設計不僅減少了量子推論的成本,也大幅提高了 QML 的可擴展性,使其能夠真正進入產業應用場景。從本單元開始,我們會介紹一系列基於2024年提出的 "Quantum-Train" 的方法與應用。
白話:用 QNN 產生古典神經網路的參數,再透過一個 map 將 QNN 的參數轉換成 NN 的參數,作者將在下一篇提及這個 mapping
QT_scheme

Quantum Train 概觀

## 量子到古典的映射 Quantum-Train 方法的核心在於利用量子態來參數化 classical 神經網絡。給定一個 classical 神經網絡,其參數向量可表示為: \begin{align} \vec{\theta} = (\theta_1, \theta_2, …, \theta_M) \end{align} 其中 $M$ 是模型的參數數量。為了壓縮這些參數,Quantum-Train 將其映射到一個 $N$ qubits 的量子態: \begin{align} |\psi\rangle = \sum_{i=1}^{2^N} a_i |i\rangle \end{align} 其中 $N = \lceil \log_2 M \rceil$,表示 $M$ 個參數所需要的 qubits 數量,因為這時相對的 Hilbert space 大小為 $2^N\ge M$。量子態的測量機率 $| \langle i | \psi \rangle |^2$ 會與古典神經網絡的參數聯繫起來。我們透過一個映射函數 $G_{\vec{\gamma}}$ 來將測量結果轉換為古典參數: \begin{align} \theta_i = G_{\vec{\gamma}}(x_i) \space \forall i \in \{1,2,...,M\} \end{align} 其中 $x_i = (|i\rangle, | \langle i | \psi \rangle |^2)$ 是量子測量結果的資訊,包括 basis 對應的測量機率 $| \langle i | \psi \rangle |^2$,以及 basis 的二位元表示 $|i\rangle$。這個映射函數通常由另一個古典神經網絡構成,其中的可學習參數表示為 $\vec{\gamma}$。至此,我們從 $N$ 個 qubits 的量子態的測量機率資訊中產生了 $M$ 個古典神經網路參數。接下來我們會介紹量子態 $|\psi\rangle$ 的參數化。 ## 量子神經網絡(QNN)的構造 Quantum-Train 中的 QNN 由 parameterized rotation gates 和 entangling gates(如 CNOT)組成。我們使用 $R_y$ gates 旋轉量子態: \begin{align} R_y(\phi) = \begin{bmatrix} \cos(\phi/2) & -\sin(\phi/2) \\ \sin(\phi/2) & \cos(\phi/2) \end{bmatrix} \end{align} 其中 $\phi$ 是參數化角度。我們的量子態是: \begin{align} |\psi(\vec{\phi})\rangle= U(\vec{\phi})|0\rangle^{\otimes N} = \left(\prod_{i=1}^{N-1} \text{CNOT}^{i, i+1} \prod_{j=1}^{N} R_Y^j (\phi_{j}^{(L)}) \right)^L |0\rangle^{\otimes N}, \end{align} 其中 $U(\vec{\phi})$ 包含 $L$ 層 rotation 與 entangling gates 的參數化量子電路(PQC)。QNN 參數 $\vec{\phi}$ 的數量與模型的架構有關,假設我們僅有[多項式](https://www.entangletech.tw/lesson/basic-algorithm-05)數目的層數 $L = O(poly(N))$,QNN 參數數量僅需 $O({polylog}(M))$。透過設計,映射模型的參數 $\vec{\gamma}$ 也可在 $O(poly(N))$ 的數量,也就是說,透過 Quantum-Train,我們僅需 $O(polylog(M))$ 的訓練參數,就可以調整參數數量 $M$ 的古典神經網路模型,大幅減少了訓練參數數目。 至於如何更新量子神經網路以及映射模型的參數的內容,我們將留在下一單元。 ## 參考文獻 [1] [Quantum-Train: Rethinking Hybrid Quantum-Classical Machine Learning in the Model Compression Perspective](https://arxiv.org/abs/2405.11304) [2] [Training Classical Neural Networks by Quantum Machine Learning ](https://ieeexplore.ieee.org/document/10821200)
課程目錄