將量子運算結合機器學習,Google 開源 TensorFlow Quantum 訓練框架

圖片來源:TensorFlow Quantum

【為什麼我們要挑選這篇文章】量子電腦硬體技術不斷突破,也帶動相關軟體的發展。近日 Google 開源量子機器學習模型的訓練框架 TensorFlow Quantum,讓開發者能藉此開發量子電腦與機器學習應用。

此外,近期 Honeywell 宣布推出量子電腦,微軟發表 Azure Quantum,再加上 Intel、IBM 的競爭,Google 此時推出 Tensorflow Quantum 框架,向市場宣告自己的量子實力。(責任編輯:郭家宏)

近日,Google 宣佈推出量子機器學習開源庫 TensorFlow Quantum。

這一開源庫整合了 Google 之前開源的量子計算框架 Cirq 和機器學習框架 TensorFlow。Cirq 提供了一個軟體模擬器來運行量子演算法,不要求開發者必須有一台真實的量子電腦。而 TensorFlow 是一個封裝了底層深度學習模型的軟體庫。簡言之,不管是 Cirq 還是 TensorFlow,都是為了降低新技術門檻而生。借助這些開源工具,開發者可以更快更省地打造量子計算或機器學習應用。

Google 現在把兩者結合了起來,能讓開發者利用古典或者量子數據,快速打造一個混合的量子-古典模型原型,以期推動量子計算和機器學習社區,發現更能發揮量子優勢的新演算法。

雖然量子計算和機器學習都是技術熱詞,但分屬完全不同的領域。兩者為什麼能結合在一起?量子計算能給機器學習帶來什麼?一切要從古典數據和量子數據的區別說起。

跳出 2 位元侷限,量子電腦的運算速度遠大於傳統電腦

所謂古典數據和古典模型,都是相對於量子而言。現在流行的電腦被稱為傳統電腦,資訊量的基本單位是位元,在二進制中,值不是 0 就是 1。

而遵循量子力學規律打造的電腦被稱為量子電腦,資訊量的基本單位是量子位元,在取值前處於不確定狀態,即疊加態。也就是說,量子位元可以同時處於 0 和 1 的狀態。

有人做過一個比喻:傳統位元是「開關」,只有開和關兩個狀態(0 和 1),而量子位元是「旋鈕」,就像收音機上調頻的旋鈕那樣,有無窮多個狀態。傳統電腦透過操縱傳統位元進行運算,而量子電腦是操縱量子位元,本質上就是去旋轉它們。

量子疊加這種特性決定了在同樣位元數量的情況下,量子位元能儲存比傳統位元更多的資訊。

比如,把 1 個「0」和 1 個「1」放在一起,會有 4 個組合狀態:00、01、10、11。2 個傳統位元只能是其中 1 種狀態,而 2 個量子位元可以同時包含這 4 個狀態,並且每個狀態都有一定的權重。

只有當人們去讀取量子位元時,同時包含 4 個狀態的量子位元才會變化為其中一個狀態。正是由於這種疊加的特性,量子電腦具備了強大的並行計算能力。

「薛丁格的貓」就是解釋量子疊加的一個思想實驗

除了疊加,量子還有個特性是「糾纏」。糾纏性可以讓多個量子位元共享狀態,創造出「超級疊加」的量子並行計算,計算能力隨位元數增加呈指數級增長。

理論上,擁有 300 個量子比特的量子電腦,瞬間所能執行的並行計算次數比宇宙中的原子總數還多。

對於量子計算的並行性,微軟 CEO Satya Nadella 在 2017 年微軟 Ignite 大會上,用找迷宮出口來比喻解釋:

為了找到迷宮的出口,傳統電腦先開啟一條搜尋路徑,遇到障礙物後會沿原路返回,之後再次探尋新路,直到遇障返回或找到了正確出口。雖然最終能找到一個結果,但這種方法相當耗時。

相比之下,量子電腦解鎖了神奇的並行性。它們同時探尋玉米迷宮中的每一條路。因此,量子電腦可能指數級減少解決問題的步驟。

中國科學院院士潘建偉也曾說:「如果傳統電腦的速度是自行車,那麼量子電腦的速度就是飛機。」

這種遠遠超過傳統電腦的計算性能,正是機器學習所需要的。眾所周知,當下這次以機器學習方法為代表的人工智慧浪潮,是算力、演算法和數據相結合的結果。

如果機器學習任務無法快速計算完成,那麼經濟價值就無法得到體現。當前,企業和學界普遍採用 GPU 和 FPGA 等適合併行計算的通用晶片來實現加速,但這些方法依然是基於傳統電腦。

速度遠遠超越傳統電腦的量子電腦,自然而然和機器學習聯繫起來。

量子機器學習演算法可分為 3 類

早在 1995 年,美國路易斯安那州立大學 Kak 教授首先提出了「量子神經計算」的概念。而後,量子聚類、量子深度學習和量子向量機等演算法相繼被提出。2015 年,潘建偉教授團隊在小型光量子電腦上,首次實現了量子機器學習演算法。

事實上,已有的量子機器學習演算法主要可細分為 3 類。第一類,機器學習的整體計算依然採用傳統電腦,但把比較複雜的計算轉換成量子版本,用量子電腦來運行。

圖片來源:《量子機器學習算法綜述》

第二類是「尋找量子系統的力學效應、動力學特性與傳統機器學習處理步驟的相似點,將物理過程應用於傳統機器學習問題的求解,產生出新的機器學習演算法」。第三類,則是借助機器學習力去研究量子系統。

目前,對量子機器學習的研究大多集中在第一類。在具體的執行層面上,要用量子電腦來運行傳統機器學習複雜計算的部分,首先要把傳統數據轉換成量子數據。

然後把量子數據輸入量子電腦,用量子演算法計算完成後輸出。由於輸出的計算結果依然是量子疊加態的,所以最後還需要進行測量,把傳統數據提取出來。

雖然量子計算的特性和機器學習非常契合,但整體而言量子機器學習還處於初級階段。並且,不是所有的傳統機器學習演算法都可以用量子計算加速。

量子機器學習演算法實用化的硬體條件也還沒有成熟。據科技日報報導,在通用量子電腦造成功之前,量子機器學習演算法很難在實際應用中,展現出其數據處理方面的強大能力。

這次開源 TensorFlow Quantum 的 Google,也是一直在打造自己的量子電腦。2019 年 10 月 23 日,Google 在 Nature 上刊登了關於「實現量子霸權」的論文 ,他們製造出了 53 個量子位元數的量子計算機,計算能力超傳統超級電腦。同樣的計算量,量子計算機用 200 秒就完成了,而目前最強的傳統超級電腦,要花費 10000 年才能完成。

「量子霸權」是指量子電腦可以完成傳統電腦無法做到的事情。這個概念最早由加州理工學院理論物理教授 John Preskill 在 2012 年提出。

Google CEO 桑德爾.皮查和量子計算機

Google 用 53 個量子位元實現了「量子霸權」是一個里程碑式的事件,但離通用量子電腦的要求(通常認為需要 100 萬個量子位元)還是很遙遠。儘管如此,依然有越來越多學術機構和公司投入到了量子機器學習領域。並且,在一些具體的場景(如圖像分類),量子機器學習也已經被證明了其可行性。

(本文經合作夥伴 品玩 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈Google 开源量子机器学习库,量子计算和机器学习结合会改变什么?〉。首圖來源:TensorFlow Quantum

更多關於量子電腦的資訊

開發「離子阱」技術,工業巨頭 Honeywell 將推出全球最強的量子電腦
IBM 再次將「量子體積」翻倍,量子電腦的算力以每年 2 倍的速度穩定成長!
【台廠投入量子爭霸戰】廣達派工程師研究量子電腦,布局量子時代的雲端伺服器商機!