量子計算機可以增強人工智慧嗎?
作者:George Musser
翻譯:yangfz
審校:陳星
量子計算和機器學習的融合已經成為一個蓬勃發展的研究領域,這個研究領域能夠不負眾望嗎?
上世紀90年代初,威奇托州立大學物理學教授伊麗莎白?貝爾曼(Elizabeth Behrman)開始致力於將量子物理與人工智慧結合起來,特別是當時特立獨行的神經網路技術。大多數人都覺得她這是把油和水混在一起,不能產生什麼有用的東西。 「那個時候,我的文章要經過好久才會被發表」,她回憶到,「神經網路雜誌會問,『量子力學是啥?』物理學雜誌會說,『這個神經網路是什麼鬼?』」
今天來看,兩者的融合似乎是世界上最自然的事情。神經網路和其他機器學習系統已經成為21世紀最具顛覆性創新的技術。它們超越了人類,不僅在我們大多數人從未真正擅長的任務上擊敗我們,比如國際象棋和數據挖掘,而且沒放過那些我們大腦進化出來的各種功能,比如識別人臉和翻譯語言等。這些系統是由於強大的計算能力而成為可能的,所以科技公司不可避免地去尋找那些不僅僅只是體積更大的計算機,而是一種新的更強的計算機。
經過幾十年的研究, 量子計算機幾乎有足夠的能力來進行地球上其他計算機做不了的計算。它們的殺手級應用通常被認為是大數因子分解, 而這是現代加密技術的關鍵。雖然真的實現這種因子分解至少還需要十年的時間。但是, 即使是今天初級的量子處理器也與機器學習的需求驚人地匹配。它們在一個步驟中操作大量數據,挑選出經典計算機所忽略的微妙模式,而不會被不完整或不確定的數據所扼殺。加州伯克利的量子計算機公司 Rigetti Computing 的物理學家 Johannes Otterbach 說,「量子計算的內在統計性質與機器學習之間有著天然的結合。」
如果說有什麼不同的話, 那就是鐘擺現在已經擺到了另一個極端。谷歌、微軟、 IBM 和其他科技巨頭正在向量子機器學習投入大量資金,多倫多大學的創業孵化器也致力於此。莫斯科斯科爾科沃科學技術研究所(Skolkovo Institute of Science and Technology)的量子物理學家雅各布?比昂特(Jacob Biamonte)表示,「機器學習正在變成一個流行詞,當你把它和量子混合在一起, 它就變成了一個超級流行詞。」
然而,它裡面的「量子」這個詞並不是像看起來那樣的。儘管你可能認為量子機器學習系統應該是非常強大的,但它卻受到某種閉鎖綜合征的影響。它運行在量子態上,而不是在人類可讀的數據上,而且兩者之間的轉換可以消除它的明顯優勢。就像你買了一部高端的新手機,儘管它的各方面都令人印象深刻,但如果你的網路還是一如既往的糟糕的話,那它最終和你的舊手機一樣還是讓人鬧心。對於一些特殊情況,物理學家可以克服這種輸入-輸出瓶頸,但是這些情況是否出現在實際的機器學習任務中仍然是個未知數。德克薩斯大學奧斯汀分校的計算機科學家斯科特?阿隆森說:「我們還沒有得到明確的答案。人們常常對這些演算法是否能夠加快速度非常不在意。」在量子計算領域,他總是保持清醒的聲音。
量子神經元
神經網路的主要工作是識別模式,無論是經典的還是量子的。受到人類大腦的啟發,神經網路是一個由基本計算單位——「神經元」所組成的網格,每個「神經元」都像一個開關那樣簡單。一個神經元監視多個其他神經元的輸出,就好像在進行投票,如果有足夠多的神經元選擇開啟開關,這個神經元就會開啟。通常情況下,神經元是分層排列的。初始層接收輸入(如圖像像素) ,中間層創建各種輸入組合(邊緣和幾何形狀等結構表示) , 最後一層產生輸出(圖像內容的高級描述)。
非常重要的一點是,網路的線路不是預先固定的,而是在不斷嘗試和錯誤的過程中進行調整的。這個網路可能會被「喂」進標籤是小貓或小狗的圖片。對於每個圖片,它分配一個標籤, 檢查它是否和圖片自己的標籤一致,如果不是,則調整神經元之間的連接。一開始它的猜測是隨機的,但是會慢慢變得更好;在大約10000次嘗試之後,它知道了怎麼區分小貓和小狗。一個神經網路甚至可以有十億個互連, 所有這些互連參數都需要調整。
在一台經典的計算機上,所有這些連接都是由一個巨大的數字矩陣表示的,運行網路意味著做矩陣代數。通常情況下,這些矩陣操作被外包給一個專門的晶元,比如圖形處理器(GPU)。 但是做矩陣操作沒有什麼比量子計算機更好的了。麻省理工學院的物理學家、量子計算先驅者塞思?勞埃德(Seth Lloyd)說:「在量子計算機上,大矩陣和大矢量的操作以指數級的速度增長。」
對於這項任務,量子計算機能夠利用量子系統的指數性質。量子系統的大量信息存儲容量並不在於其單獨的數據單元——量子比特中,經典計算機比特的量子對應物——而是在這些量子比特的集合屬性中。兩個量子比特有四種聯合狀態,兩個都開,兩個都關,或者一個開一個關及反過來。每個狀態都有一定的權重,或「振幅」,可以代表一個神經元。如果你加上第三個量子比特,你可以代表8個神經元;加上第四個,就能代表16個。機器的容量呈指數增長。實際上, 神經元被塗抹在整個系統上的。當你在四個量子比特的狀態下操作時, 你一下子就處理了16個數字,而一台經典計算機則必須一個接一個地處理這些數字。
勞埃德估計,60個量子比特就足以編碼相當於人類一年所產生的數據量,而300個量子比特可以攜帶可觀測宇宙的經典信息內容(目前最大的量子計算機由IBM,英特爾和谷歌等公司創造的72量子比特計算機)。這是假設每個振幅只是一個單一的經典比特。阿隆森說:事實上,振幅是連續的數量(實際上是複數) ,而且在具體的實驗精度中可能存儲多達15位。
但是量子計算機的信息存儲能力並不能讓它更快。你需要有能力使用這些量子比特。2008年,麻省理工學院的物理學家阿拉姆?哈羅和以色列巴伊蘭大學的計算機科學家阿維納坦?哈西丁展示了如何算逆矩陣這一關鍵代數運算。他們把整個運算分解成一系列邏輯操作,可以在量子計算機上執行。他們的演算法適用於各種各樣的機器學習技術。而且它不需要像因式分解一個大數那樣多的演算法步驟。量子計算機可以在雜訊影響正確結果之前完成分類任務,雜訊是當今技術的一個重要限制因素。IBM的Thomas J. Watson研究中心的克里斯坦?泰姆(Kristan Temme)表示:「在擁有一台完全通用的容錯量子計算機之前,你擁有的可能是具有量子優勢的計算機。」
讓自然解決問題
然而,到目前為止,基於量子矩陣代數的機器學習只在只有四個量子位的機器上得到證明。迄今為止,量子機器學習的大部分成功的實驗都採用了一種不同的方法,那些實驗里量子系統不僅只是模擬了網路;它們本身就是網路。每個量子位代表一個神經元。儘管缺乏指數化的力量, 但這樣的裝置可以利用量子物理學的其他特性。
最大的這種裝置是由位於不列顛哥倫比亞省溫哥華附近的 D-Wave 公司生產的量子處理器。它不是大多數人所認為的那種計算機。它不是從一些輸入數據開始,執行一系列操作並顯示輸出,而是通過內部一致性來工作。它的每一個量子比特都是一個超導環, 作為一個微小的電磁體方向向上,向下或者上和下——疊加的狀態。量子比特被「連接」在一起, 允許它們發生磁性相互作用。
要運行這個系統,首先要施加一個水平磁場,它將量子位初始化到上下相等的疊加——相當於空白狀態。有幾種方法可以輸入數據。在某些情況下,你可以將一層量子位調節到所需的輸入值;更經常地,你將輸入合併到量子比特相互作用的強度中。然後讓量子比特相互作用。有些量子比特方向傾向於一致,有些則傾向於相反的方向,在水平場的影響下,它們轉向它們喜歡的方向。這樣做, 它們可能會觸發其他的量子比特翻轉。這種情況通常發生在初始時, 因為這個時候量子比特的朝向都是不一致的。不過, 隨著時間的推移, 它們安定下來, 你可以關閉水平磁場來鎖定它們。在這一點上,量子比特處於上和下的模式中,以確保輸出遵循輸入。
量子比特的最終排列將會是什麼並不是很明顯,這就是問題所在。這個系統,只是通過自然地去做,就是在解決一個普通電腦難以解決的問題。「我們不需要演算法,」東京理工大學物理學家 Hidetoshi Nishimori 解釋道,他發明了 D-Wave 機器運行的原理。「這完全不同於傳統的編程,大自然解決了問題。」
量子比特翻轉是由量子隧穿效應驅動的,這是一種自然的趨勢,即量子系統必須找出它們的最佳配置,而不是滿足於第二好的選擇。你可以建立一個經典網路,這個網路運行在類似的原理上,使用隨機的跳躍而不是隧穿來獲得比特的翻轉,在某些情況下它實際上會更好地工作。但有趣的是,對於機器學習中出現的各種問題,量子網路似乎更快地達到了最佳狀態。
D-Wave的機器也遭到了一些批評。它雜訊非常大,而且在當前的版本中,只能執行有限的操作菜單。然而,機器學習演算法本身在本質上是可以容忍雜訊的。它們之所以有用,恰恰是因為它們能理解混亂的現實,在紅鯡魚的背景下,從小狗中挑選小貓。「眾所周知, 神經網路對雜訊有很強的魯棒性,」貝爾曼說。
2009年, 由谷歌(Google)計算機科學家哈特穆特?奈文(Hartmut Neven,谷歌眼鏡項目(Google Glass)的聯合創始人)領導的一個團隊,隨後開始進行量子信息處理,展示了早期 D-Wave 機器如何能夠完成一項令人尊敬的機器學習任務。他們基本上將它用作單層神經網路,將20,000個街道場景的圖庫中的圖像分成兩類:「有車」或「無車」。該機器只有52個可用的量子比特,幾乎無法接受整個圖像(請記住:D-Wave 機器的類型與在2018年上線的最先進的72量子比特系統截然不同)。所以 Neven 的團隊把這台機器和一台經典計算機結合起來,這台計算機分析了圖像的各種統計量,並計算出這些數量對於汽車的存在有多麼敏感——通常不是很敏感,但至少比拋硬幣好。這些數量的一些組合可以一起可靠地識別出一輛汽車,但不清楚是哪一種。網路的工作就是找出答案。
這個團隊給每個量分配了一個量子比特。如果這個量子比特處於1, 它會標記相應的量為有用;0表示不要打擾。量子比特的磁性相互作用編碼了問題的要求, 例如只包括最有鑒別力的數量, 以使最終選擇儘可能緊湊。結果能夠發現汽車。
去年, 由加利福尼亞理工學院的粒子物理學家 Maria Spiropulu 和南加州大學物理學家丹尼爾??利達領導的團隊將該演算法應用於一個實際的物理問題:將質子碰撞歸類為「希格斯玻色子」或「沒有希格斯玻色子」。他們將注意力僅限於吐出光子的碰撞,使用基本粒子理論來預測哪些光子性質可能會出現Higgs轉瞬即逝的存在,例如超過某個閾值的動量。他們考慮了8個這樣的屬性及其28個組合,共36個候選信號,並讓南加利福尼亞大學的新型D-Wave機器找到了最佳選擇。它認為其中的16個變數是有用的,3個是最好的。與標準程序相比,量子計算機需要更少的數據來執行準確的識別。「假設訓練集很小, 那麼量子方法確實比高能物理學中使用的傳統方法提供了一個準確的優勢」,Lidar 說。
去年12月,Rigetti 展示了一種使用19個量子位的通用量子計算機自動分組對象的方法。研究人員做了相當於給機器提供城市和城市之間距離的清單,並要求它將城市分為兩個地理區域。讓這個問題變得困難的是,指定一個城市取決於所有其他城市的指定,所以你必須同時解決整個系統。
Rigetti團隊有效地給每個城市分配了一個量子比特,指出它被分配到哪個組。通過量子比特的相互作用(在 Rigetti 的系統中,它們是電場而不是磁場),每一對量子比特都更傾向取相反的值——當它們這樣做的時候,它們的能量是最小化的。顯然,對於任何一個有兩個以上量子比特的系統,一些量子位必須同意被分配到同一組。距離比較近的城市更容易達到一致,因為它們在同一組的能量消耗比距離更遠的城市要低。
為了將系統的能量最小化,Rigetti團隊採用了類似於D-Wave退火程序的方法。他們將量子比特初始化為所有可能的集群分配的疊加。他們允許量子比特進行簡單的相互作用,這使得它們偏向於假設相同或相反的值。然後他們應用了類似水平磁場的方法,允許量子比特在傾斜的情況下翻轉,將系統推向能量最低的狀態。他們重複這個兩步過程——相互作用然後翻轉——直到系統最小化其能量,從而將城市分為兩個不同的區域。
這些分類任務是有用的, 但是很簡單。機器學習的真正前沿是產生式模型,它們不僅能識別小狗和小貓, 還可以生成新異的原型——那些從未存在過的動物,但是每一個都和它們一樣可愛。他們甚至可以自己找出「小貓」和「小狗」的分類,或者重建丟失尾巴或爪子的圖像。D-wave 首席科學家穆罕默德?阿明(Mohammad Amin)表示:「這些技術非常強大,在機器學習方面非常有用,但它們非常困難」。量子如果能給予援助再好不過了。
D-Wave和其他研究團隊已經接受了這個挑戰。訓練這樣一個模型意味著調整量子比特之間的磁性或電子相互作用,以便網路可以再生一些樣本數據。要做到這一點,你需要將網路與普通計算機結合起來。網路負責大的提升——弄清楚給定的相互作用選擇對最終的網路配置意味著什麼——然後計算機利用這些信息來調整相互作用。在去年的一次演示中,美國宇航局量子人工智慧實驗室的研究員 Alejandro Perdomo-Ortiz 和他的團隊將D-Wave的機器「喂」入手寫數字的圖像。它發現有10個類別, 與數字0到9相匹配, 併產生了自己潦草的數字。
隧穿中的瓶頸
上面這些就是好消息。但糟糕的是,如果你不能將數據輸入到處理器中,那麼你的處理器有多棒並不重要。在矩陣代數演算法中,單個操作可以操作16個數字的矩陣,但是要載入矩陣仍然需要16個操作。量子機器學習博士學位的第一批人之一,量子計算創業公司 Xanadu 的研究員 Maria Schuld 說,「量子態的準備工作——將經典數據轉化為量子態——完全被忽視了,我認為這是最重要的部分之一」。以物理形式布置的機器學習系統面臨著如何把問題嵌入量子比特網路並獲得量子比特之間具有的相互作用這個兩大困難。
一旦成功地輸入了數據,這些數據就需要被存儲在這樣一種方式中,即量子系統可以與之交互,而不會導致正在進行的計算崩潰。Lloyd和他的同事們已經提出了一種使用光子的量子 RAM,但是還沒有人在超導量子比特或離子阱這些引領量子計算的技術中擁有類似的裝置。「這是建造量子計算機本身問題之外的另一個巨大的技術問題」,Aaronson 說。「我從實驗者那裡得到的印象是他們很吃驚。他們不知道如何開始建造這個」。
最後, 你如何取出你的數據?這意味著測量機器的量子狀態,並且不僅每次測量只返回一個隨機抽取的數字,它會使整個狀態崩潰,在你有機會取回數據之前,將剩餘的數據全部清除掉。你必須反覆運行該演算法來提取所有信息。
但我們並沒有失去一切。對於某些類型的問題,你可以利用量子干涉。也就是說,你可以編排操作,讓錯誤的答案自行消失,正確的答案自我強化;這樣,當你去測量量子態時,它不會給你任意的隨機值,而是你想要的答案。但只有少數演算法, 比如暴力搜索法,能夠很好地利用干涉,而且加速通常還不太大。
在某些情況下,研究人員發現了獲取數據的捷徑。2015年, Lloyd, 加拿大滑鐵盧大學的 Silvano Garnerone 和南加州大學的 Paolo Zanardi 表示,對於某些統計分析,你不需要輸入或存儲整個數據集。你只要幾個關鍵值就足夠了,不需要讀出所有的數據。例如,科技公司利用機器學習來建議觀看節目或者根據龐大的消費習慣矩陣來購買東西。「如果你是Netflix 或者亞馬遜,或者其他什麼,你實際上並不需要把矩陣寫在任何地方,」Aaronson 說。「你真正需要的是為用戶生成推薦」。
所有這些都引發了這樣的問題: 如果一個量子機器只在特殊情況下是強大的,那麼經典機器在這些情況下是否也是強大的?這是這個領域尚未解決的主要問題。畢竟,普通計算機也是非常有能力的。處理大型數據集通常選擇的方法——隨機抽樣——實際上與量子計算機在精髓上非常相似,不管它內部發生了什麼,最終都會返回一個隨機的結果。Schuld說:「我做了很多演算法,我覺得『這太神奇了。我們已經得到了應有的加速』,然後實際上我只是為了好玩,又為一台經典計算機寫了一個取樣技術, 我意識到你也可以用同樣的方法進行取樣。」
如果你回顧一下量子機器學習到目前為止所取得的成功,那麼它們都帶有星號。以 D-Wave 機器為例。當對汽車圖像和希格斯玻色子進行分類時,它並不比傳統機器快。「我們在這篇論文中沒有談到的一個問題是量子的加速,」Alex Mott 說,他是 Google DeepMind 的計算機科學家,也是希格斯研究小組的成員。矩陣代數方法,如 Harrow-Hassidim-Lloyd 演算法表明,只有在矩陣稀疏——大部分都是零的情況下,才顯示出加速。「沒有人會問, 稀疏的數據集在機器學習中真的有趣嗎?」Schuld補充到。
量子智能
另一方面,即使是現有技術的逐步改進,也會讓科技公司感到高興。 「最終你會看到這些優勢,但它們可能不是指數型的,而是二次型的」,微軟研究院(Microsoft Research)量子計算研究員內森?維伯(Nathan Wiebe)表示,「有了足夠大、足夠快的量子計算機,我們可以徹底改變機器學習的許多領域」。在使用這些系統的過程中,計算機科學家可能會解決一個理論難題,即它們是否天生就快,為什麼。
Schuld也看到了軟體方面的創新空間。機器學習不僅僅是一堆計算。這是一個複雜的問題,有著它們自己的特殊結構。她說:「人們構建的演算法讓機器學習不再那麼有趣和美麗,這也是我開始反過來思考的原因:如果這台量子計算機已經存在——這些小規模的計算機——那麼實際上它可以實現什麼機器學習模型呢?也許是一個尚未被發明的模型」。如果物理學家想要給機器學習專家留下深刻的印象,他們需要做的不僅僅是製作現有模型的量子版本。
正如許多神經科學家現在認為人類思維的結構反映了擁有身體的要求,機器學習系統也體現了這一點。圖像、語言和其他大多數數據都來自物理世界,並反映了它們的特性。量子機器學習也同樣得到體現——但是是在一個更加豐富的世界裡。毫無疑問,它將會在處理已經是量子的數據方面表現突出。當數據不是圖像,而是物理或化學實驗的產物時,量子機器就會迎來屬於自己的時代。輸入的問題也會隨之消失,經典計算機將被遺忘在塵埃中。
神經網路和量子處理器有一個共同點:它們竟然能夠工作,這就足夠使人覺得驚訝了。神經網路可以訓練並不是顯然的,很多年來人們一直在懷疑這是不可能的。同樣,量子物理學可以被用來計算這一點並不明顯,因為量子物理獨特的特徵對於我們來說隱藏的非常好。然而, 兩者都有效——雖然並非總是如此,但更多時候, 已經遠超我們的期待。在它們的這個先例上,它們的聯合似乎也可能找到它的位置。
原文鏈接:
https://www.quantamagazine.org/job-one-for-quantum-computers-boost-artificial-intelligence-20180129/
推薦閱讀:
※情緒大腦皮層和皮層下神經過程 植物性神經下丘腦和邊緣 杏仁核 海馬 扣帶回 大腦皮層 腦垂體腎上腺甲狀腺
※谷歌大腦發布神經架構搜索新方法:提速1000倍
※【Neural Networks and Deep Learning】3.改進神經網路的學習方法(過擬合)
※ML + System = ?
※ML領域的生物進化論,進化策略圖文詳解