複合式量子機器學習

分享至

複合式量子機器學習

撰文/陳奕廷

量子優勢從何而來?

量子演算法可以大約分為三類:量子傅立葉變換、量子搜尋和複合式量子計算。量子傅立葉變換擅長解決具有週期性的問題,例如質因數分解和破解RSA加密。量子搜尋能尋找一個函數的解答。粗略來說,這兩種方法利用量子力學中的疊加特性,將所有變數疊加一併計算,能在一次運算中獲得所有變數的資訊。做一次運算就有嘗試多次運算的效果,因此能比古典電腦效率還高。但是現階段的量子電腦還仍有許多限制,包含量子位元數目不足、錯誤率高和量子態維持時間過短等問題,難以將這兩個方法應用在現實問題中。以破解RSA-2048加密為例,這需要上百萬個量子位元,而當今的世界記錄只有幾十個。

因應這個限制,複合式量子電腦(Hybrid Quantum Computer)被認為是未來十年量子計算的核心架構。在這個架構下,運算問題被拆解成許多重複的小問題。量子電腦每解決一個的小問題,就把答案傳給古典電腦,而古典電腦繼續分配下一個小問題給量子電腦。如此一來,量子電腦不需要紀錄太多資訊,能解決量子態維持時間很短和量子位元數低的困難。雖然古典和量子電腦合作,但是困難的計算是在量子電腦上做的,整體的計算能力是量子電腦的。這樣的複合式架構是近三年內學界和業界研究和應用的重點。

圖一、複合式量子電腦示意圖。

支援向量機

支撐向量機(support vector machine,SVM)是模式辨識和分類問題中常見的古典機器學習方法。它的具體作法是在變數空間內,用一個線性函數(例如:二維中的直線、三維中的平面等)把兩個分類分開。以圖二A為例,醫生發現某個疾病和膽固醇及體脂肪有關。醫生用比較昂貴的醫療設備診斷了50位病人,幫每位病人標記藍點(有疾病)或紅點(健康)。有了這些資料後,醫生可以畫出一條直線區分疾病和健康。如果有一位新的看診人,他只要畫出這位看診人的體脂肪和膽固醇落在圖中哪一個區域,不用做昂貴的醫療檢測也能預測看診人是否有疾病。

在比較複雜的情況(圖二B),藍點和紅點無法被一條直線切開。這時候可以使用擴充維度:除了膽固醇和體脂肪外,再額外製造第三個維度z=(膽固醇)2+(體脂肪)2。如圖二C所示,加上擴充維度後,藍點和紅點可以被一個平面畫開。但隨著分類的複雜度升高,擴充維度會越來越複雜,計算難度將大幅提升[註]。這正是量子電腦介入的時候!

圖二、(A) 簡單的分類問題。(B)稍難的分類問題。(C)擴充空間讓支援向量機分類更容易。

支援向量機的量子化

不同於古典位元的0和1,量子位元是0和1的疊加。不僅如此,量子位元像波動一樣,除了強度之外,還有相位這個特性。單一個量子位元的資訊密度比古典位元高,因此對複雜函數的表現力(expressive power)高,很適合用來建構擴充空間。圖三A是量子支援向量機的架構,將資料輸入量子電腦,它能建構出複雜的擴充維度。再把結果傳給古典電腦,讓古典電腦在擴充空間中畫出一個平面,把資料分成兩類。圖三B是參考資料1中的分類結果,白點和黑點分別是兩個分類。如果只用古典電腦,恐怕很難把白點和黑點分開,但是量子電腦卻能把它們正確分類(紅藍兩個區域)。

這個量子支援向量機只是複合式量子機器學習的其中一個方法,在參考資料1中有提到其他架構。機器學習相對量子電腦發展成熟,很多機器學習的技術能直接引入量子電腦,增加量子計算的效能。但是古典電腦和量子電腦的運算原理仍有許多差異,有很多不能直接參考古典電腦的部分。這些部分有待物理學家和電腦科學家投入研究。

圖三、(A) 複合式量子支援向量機的架構。(B) 在量子電腦中的擴充平面能解決複雜的分類問題。

 

[註]「擴充維度」在英文的文獻中翻譯比較接近「內核方法(kernel method)」。參考資料

  1. Vojtěch Havlíček et al., Supervised learning with quantum-enhanced feature spaces, Nature volume 567, pages 209–212 (2019)
  2. Jarrod R. McClean et al., Barren plateaus in quantum neural network training landscapes, Nature Communication 9, Article number: 4812 (2018)

(本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯)

(Visited 96 times, 1 visits today)

分享至
views