


【摘 ?要】相比于宏觀世界,量子世界就像一個不斷旋轉的轉盤,充滿了不確定性,這種不確定性也帶來了無與倫比的魅力。隨著材料科學和計算機科學的不斷發展,量子計算機從構想逐漸變成了現實,并在慢慢走出實驗室,走進我們的生活。相比于傳統計算機,量子計算機的計算能力和運行速度要強大得多,具有難以估計的潛力。本文首先介紹了量子計算的基本概念,介紹了量子計算機的發展歷史,接下來描述了一種QNN的基本結構,并回顧了量子神經網絡的發展歷史。
【關鍵詞】量子計算;神經網絡;QNN
1.量子計算簡述
量子計算是一種遵循量子力學規律調控量子信息單元進行計算的新型計算模式。通用的量子計算機,其理論模型是用量子力學規律重新詮釋的通用圖靈機。從可計算的問題來看,量子計算機只能解決傳統計算機所能解決的問題,但是從計算的效率上,由于量子力學疊加性的存在,某些已知的量子算法在處理問題時速度要快于傳統的通用計算機。
1.1量子計算的概念
在傳統的計算機中,由0/1兩個狀態組成的位(bit)是最基礎的單元,這種邏輯通過低電平和高電平在硬件上實現。傳統計算機通過這樣的方法對所有二進制的信息進行存儲和計算。而在量子世界中,電子等實體可以處于一種疊加狀態,即一個“量子開關”可以同時處于開和關的狀態。我們將電子的自旋看作一個開關,即“順時針自旋”看作0,“逆時針自旋”看作1,這樣就得到了一個二進制的邏輯單元。這個開關的特殊之處就在于,其可以同時處于0和1的狀態。在量子計算機中,我們將這樣的邏輯單元稱為量子位(qubit)。量子位除了能表示0/1兩個狀態,還能表示這兩者的疊加態。即可以同時是0態和1態。事實上,任何兩態的量子系統都可以用來實現量子位,例如氫原子中的電子的基態和第 1 激發態、 質子自旋在任意方向的+ 1/ 2 分量和- 1/ 2 分量、 圓偏振光的左旋和右旋等。
舉例說明:兩個傳統位可以表示4個數字,00表示0,01表示1,10標識2,11表示3,那么若需要同時表示這四個數字,就需要八個傳統位,即一個字節;對于量子位而言,每一位都可以同時表示0或者1,這就意味著只需要兩位量子位,就可以同時表示0,1,2,3這四個數字。對于n位量子位,所存儲的信息可以處于種狀態的疊加,再配合上量子力學演化的并行性,可以實現遠高于傳統計算機的處理速度。
1.2量子計算的發展
量子計算機的發展主要體現在量子位的數目上,要實現真正可用的量子計算機,關鍵就在于實現大規模量子位的量子糾纏。2016年5月,IBM上線使用5量子位的Quantum Experience網站,并推出IBM Q系統,使用5量子位,作為IBM云平臺。2017年5月,IBM推出新型處理器,包括用于公眾應用的16量子位處理器和17量子位的商業處理器原型。2017年11月,來自中科大和浙大的研究團隊利用超導電路實現了10量子位的量子糾纏,并且可以基于超導量子處理器求解線性方程。不久,IBM公司就取得了重大進展,建造了20量子位的量子計算機,并且初步搭建了50量子位的原理機。2019年,IBM推出了擁有53個量子位的量子計算機,是目前最大的量子計算機系統。
1.3量子計算應用
目前在工業界,一般認為量子計算有兩個主要應用一是:模擬量子系統,在材料科學、量子化學、藥物發現等領域人們需要用大量的計算資源來模擬量子系統,量子計算機用來做這樣的計算最自然最直接;二是:用于幫助現在互聯網公司都需要做的計算,比如機器學習的提速,基于量子硬件的機器學習算法,加速優化算法和提高優化效果等。
2.量子神經網絡—QNN
近年來,隨著網絡結構的優化和計算能力的提高,在上世紀90年代一度被忽視的神經網絡迸發出全新的活力,以強大的擬合和泛化能力在各種領域都取得了突出的成績。在圖像處理,自然語言處理等領域,以神經網絡為代表的深度學習方法基本完全取代了傳統方法。然而,神經網絡往往有非常大的參數量,導致難以訓練,那么,是否可以把量子計算與神經網絡相結合呢?
2.1 QNN簡介
量子神經網絡(QNN)是近年來引起廣泛關注的新的研究思路,利用量子計算的獨特特性來解決神經網絡模型的固有問題。圖表1所示是一種來自Google AI團隊的量子神經網絡構思架構。
該架構大體上與普通的全連接神經網絡是一樣的。注意到輸入值 |ψ〉,|1〉 是n+1位的qubit狀態(事先根據輸入樣本編碼準備,其中n是樣本,1是輸出qubit的占位)。輸出是經過一系列量子神經元的變換最終得到的一個qubit在三維中Y軸的觀測Yn+1。
接下來來觀察神經元中的操作,θ就是傳統的神經網絡中待訓練的參數,即權重和偏置項 ,而U則是量子計算中的門,可以類比于傳統計算機中的“與門”,“非門”等。在量子計算中,常用的門是一種線性的unitary歸一門,可以想象成與一個線性矩陣相乘的操作,該操作具有保內積的特點,即經過U變換后,兩組qubit的內積值保持不變。該特點可以保持量子疊加態中系數歸一化的規范,也可以防止出現“梯度爆炸”的現象—在傳統的神經網絡中這往往是一個令人頭疼的問題。
接下來介紹QNN的loss函數,如圖表2所示:
其中z是樣本編碼,l(z)是樣本標簽,而后面的部分是預測值。這樣,QNN通過不斷預測出最后一個qubit的Yn+1的值,與標簽計算loss,來對網絡進行優化,調整θ參數,進而迭代更新每個unitary門,以達到訓練目的。
我們都知道神經網絡中激活函數的重要性,正是這些激活函數帶來了強大的非線性擬合能力。但是在QNN中,非線性的功能并不是通過函數來實現,而是通過獨特的連接方法。
觀察如圖表三所示的QNN的結構,發現其每一層之間并不是全連接的,每一層unitary門的輸入都是由上一層經過不同的組合方式進行連接,這樣就引入了非線性的單元。
2.2量子神經網絡發展
上面描述了一種QNN的實現思路,需要強調的是,量子神經網絡目前還是非常不成熟的研究領域,目前有很多種不同的研究思路,QNN到底應該如何設計尚無定論。
量子神經網絡是基于量子理論設計的神經網絡模型。傳統的神經網絡在數據量非常大時常常會遇到難以訓練的問題,故一些科學家希望將量子計算的諸如并行性和干擾糾纏的特性運用到神經網絡中。目前的QNN研究有兩種思路,一種是利用量子理論來改進現有的神經網絡,例如上面所敘述的;另一種是希望在大腦中尋找潛在的量子效應。
將量子理論與神經計算相結合是美國路易斯安那州立大學Kak 教授的創舉,他在1995年發表的“On Quantum Neural Computing”一文首次提出量子神經計算的概念,開創了該領域的先河。他認為,從性能的角度看,量子計算機相當于很多被用來解決不同問題的傳統計算機的集合,更加通用。除此之外,他還討論了神經激活函數與量子力學特征值方程的相似性。
2000年, Ajit Narayanan和Tammy Menneer提出了一種基于多宇宙理論的量子神經網絡模型的光子實現,并在測量時“折疊”成所需的模型。他們提供了對QNN各個組件的初步了解。從那時起,越來越多的文章發表在計算機科學和量子物理學的期刊上,QNN逐漸受到關注。2008年,Elizabeth Behrman和Jim Steck提出了一種動態學習范式,由許多具有可協調相互作用的量子比特組成。 遵循經典的反向傳播規則,從所需輸入 - 輸出關系的訓練集中學習相互作用的強度,因此量子網絡“學習”算法。他們演示了經典門XOR和XNOR的學習。2014年,基于量子相位估計算法,Francesco Petruccione等人提出了使用基于電路的量子計算模型直接實現激活函數。
3.結語
量子世界充滿著奇妙的理論與現象,也充滿了尚未完全開采的寶貴財富,量子計算就是其中一塊璀璨的寶石。相比于傳統神經網絡,量子神經網絡具有計算速度快,記憶容量大,網絡規模小,可消除失憶現象等突出優點,非常適合目前數據量大,計算能力要求高的現實應用場景,故一定會是未來的一個研究熱點。讓我們拭目以待,看看量子理論與神經網絡結合,到底能產生什么樣的火花
參考文獻
[1] Farhi E , Neven H . Classification with Quantum Neural Networks on Near Term Processors[J]. 2018.
[2]林雄, 林帥. 量子計算與量子計算機展望[J]. 微型機與應用, 2012(22):8-10.
[3]王晉嵐.量子計算最新進展[J].科學,2018,70(01):8.
[4]丁玲.量子機器學習算法綜述[J].電子世界,2019(12):24-26.
[5]楊春平.計算機新技術的發展與普及前瞻[J].電子技術與軟件工程,2019(24):108-109.
作者簡介:張涵(1999.11-),男,江西撫州人,湖北省武漢市武漢大學信息與計算科學專業,本科生。