量子計算+人工智能——這纔是將來科技的最大熱門!

編譯 | AI科技大本營
參與 | shawn
編輯 | 明明

90年代初,當衛奇塔州立大學(Wichita State University)的物理學教授Elizabeth Behrman開始結合量子物理學和人工智能(主要是當時備受爭議的神經網絡技術)時,大多數人認爲這兩門學科就像油和水同樣,根本沒辦法結合。「當時我連發表論文都很困難。神經網絡學術期刊問我‘量子力學是什麼’,而物理學期刊則會問‘神經網絡是什麼玩意’。」她回憶道。算法

現在,這兩門學科的結合彷佛再天然不過了。神經網絡和其餘機器學習系統成爲了21世紀影響最大的技術。這些系統不只在一些大部分人不擅長的任務(例如:圍棋和數據挖掘)上戰勝了人類,並且還在大腦的某些本職工做(例如:面部識別、語言翻譯)上超越了人類。這些系統的實現依賴於龐大的計算能力,所以科技公司要尋找的計算機不只要更大,並且還要更先進。數據庫

在經歷了數十年的研究後,量子計算機如今的計算能力已經超越了其餘全部計算機。人們常認爲,量子計算機的殺手級應用能夠對大數進行因數分解——這對現代加密技術相當重要。可是實現這一點至少還要再等十年。不過,當前基本的量子處理器已經能夠知足機器學習的計算需求。量子計算機在一個步驟以內能夠處理大量的數據,找出傳統計算機沒法識別出的微妙模式,在遇到不完整或不肯定數據時也不會卡住。「量子計算和機器學習固有的統計學性質之間存在着一種自然的結合。」 Rigetti Computing的物理學家Johannes Otterbach表示。(Rigetti Computin是一家位於加州伯克利的量子計算機公司。)編程

若是有什麼不一樣的話,那就是當前的趨勢已經走向另外一極端。谷歌、微軟、IBM等科技巨頭正在往量子機器學習上猛砸錢,多倫多大學還成立了一個量子機器學習創業孵化器。「‘機器學習’如今正成爲一個潮詞。在 ‘機器學習’加上‘量子’,它就變成了一個超級潮詞。」莫斯科斯科爾科沃科技學院(Skolkovo Institute of Science and Technology)的量子物理學家Jacob Biamonte稱。網絡

然而,「量子」一詞在此處沒有任何意義。你可能能會認爲量子機器學習系統應該很強大,可是這種系統實際上卻像是患有某種閉鎖綜合症。量子機器學習系統處理的是量子態,而不是人類能夠理解的數據,量子態和數據的相互轉換會使系統原有的優點消失。就像是,iPhone X本來的參數和性能都很強,可是若是網絡信號太差的話,它就會和老式手機同樣慢。在一些特殊狀況中,物理學家能夠克服輸入輸出障礙,可是這些狀況是否存在於現實機器學習任務中?答案仍然是未知的。「咱們如今尚未明確的答案。一直以來,人們每每對這些算法是否能提升計算速度並不關心。」德克薩斯州大學奧斯汀分校計算機科學家Scott Aaronson表示。app

▌量子神經元

不管是傳統神經網絡,仍是量子神經網絡,它們的主要任務都是識別模式。受人類大腦的啓發,神經網絡由基本的計算單元(即「神經元」)構成。每一個神經元均可以看做爲是一個開關設備。一個神經元能夠監測多個其餘神經元的輸出,就像是投票選舉同樣,若是足夠多的神經元處於激活狀態,這個神經元就會被激活。一般,神經元的排列呈層狀。初始層(initial layer)導入輸入(例如圖像像素),中間層生成不一樣組合形式的輸入(表明邊、幾何形狀等結構),最後一層生成輸出(對圖像內容的高級描述)。dom

須要注意的是,神經元之間的鏈接須要通過反覆試驗進行調整,不是預先肯定的。例如,給神經網絡輸入帶有「小貓」或「小狗」標籤的圖像。網絡會給每一張圖像分配一個標籤,檢查是否匹配正確,若是不正確就調整神經元鏈接。剛開始時網絡的預測是隨機生成的,可是其準確度會愈來愈高;在通過10000個實例的訓練以後,網絡將能識別圖像中的寵物。正規的神經網絡可能擁有10億個神經元鏈接,全部鏈接都須要進行調整。機器學習

傳統計算機計算單元的全部鏈接都用龐大的數字矩陣表示,運行神經網絡就是在計算矩陣代數。傳統的方法是,用一個專門的芯片(例如:圖像處理器)來完成這些矩陣運算。而在完成矩陣運算上,量子計算機是不可匹敵的。「量子計算機運算大型矩陣和向量的速度快不少。」麻省理工大學(MIT)物理學家、量子計算先驅Seth Lloyd稱。ide

在進行運算時,量子計算機能夠利用量子系統的指數屬性。量子系統的大部分信息儲存能力並非靠單個數據單元——qubit(對應於傳統計算機中的bit)實現的,而是靠這些qubit的共同屬性實現的。兩個qubit帶有四個鏈接狀態:開/開、關/關、開/關、關/開。每一個鏈接狀態都分配有一個特定的權重或「幅值」,表明一個神經元。三個qubit能夠表明八個神經元。四個qubit能夠表明16個神經元。機器的運算能力呈指數增加。實際上,整個系統到處都分佈有神經元。當處理4個qubit的狀態時,計算機一步能夠處理16個數字,而傳統的計算機只能一步只能處理一個。性能

Lloyd估計,60個qubit的計算機能夠編碼的數據量至關於人類一年生成的全部數據,300個qubit的計算機能夠編碼可觀測宇宙中的傳統信息內容。(IBM、英特爾和谷歌共同研發的量子計算機是當前最大的量子計算機,大約有50個qubit)。不過前提是假設每一個幅值(amplitude)對應於一個傳統的bit。Aaronson表示:事實上,幅值是連續的數值(複雜的數字)。爲得到可信的試驗準確度,能夠儲存15 bit的信息。學習

可是,量子計算機的信息儲存能力並不能加快它的運算速度。如何可以使用qubit纔是關鍵。2008年,Lloyd、MIT物理學家Aram Harrow和以色列巴伊蘭大學(Bar-Ilan University)計算機科學家Avinatan Hassidim展現瞭如何用量子計算機完成矩陣求逆的關鍵代數運算。他們將整個運算分解爲一系列能夠在量子計算機上執行的邏輯運算。他們的算法適用於不少種機器學習算法。並且,須要完成的運算步驟少於因數分解一個大數所要完成的步驟。量子計算機能夠在受到噪聲影響前,迅速完成分類任務。「在徹底通用且容錯的量子計算機到來以前,量子計算能夠提供量子優點。」 IBM的 Thomas J. Watson 研究中心的Kristan Temme表示。

▌讓系統自己解決問題

目前爲止,咱們只在4 qubit的計算機上實現了基於量子矩陣代數的機器學習。量子機器學習在實驗上取得的大部分紅功都採用了一種不一樣的方法:量子系統不僅是模仿網絡,它自己就是網絡。每一個qubit表明一個神經元。雖然這種方法沒法讓計算機利用指數屬性所帶來的優點,可是它可讓計算機利用量子物理學的其餘特性。

位於溫哥華附近的D-Wave Systems公司製造的量子處理器擁有2000個qubit,是目前最大的量子處理器。它和大多數人觀念中的計算機不一樣:它的主要任務是尋找數據的內部一致性,而不是對輸入數據執行一系列的運算,得出輸出。每一個qubit都是一個超導電迴路,其做用至關於一個向上、向下或向上與向下(疊加)的小電磁體。讓qubit經過磁力相互做用,這樣就能夠將它們「連」在一塊兒。

D-Wave Systems公司製造的用於機器學習應用的處理器▲

在運行系統時,必須先施加一個水平的磁場,這個磁場能夠將qubit預置爲向上和向下的均等疊加——等同於空白狀態。輸入數據的方法有好幾種。在某些狀況中,你能夠將某一層qubit固定在預期的輸入值;不過多數狀況下,應將輸入導入到qubit的相互做用的範圍內。而後讓qubit相互做用。某些qubit朝同一方向排列,某些qubit朝相反方向排列,在水平磁場的做用下,它們會翻轉到它們選擇的方向。經過這樣作,這些qubit能夠觸發其餘qubit進行翻轉。因爲不少qubit都沒對準方向,剛開始時會發生不少翻轉。等到翻轉中止後,你能夠關閉水平磁場,將qubit鎖定在固定位置。此時,qubit處於朝上和朝下的疊加狀態,這種狀態能夠確保輸出與輸入相對應。

關鍵在於,Qubit最終的排列方式很難預測出來。經過完成天然出現的任務,系統能夠解決普通計算機難以解決的問題。「咱們不須要使用算法。這種系統與常規的編程徹底不一樣。系統自己能夠解決問題。」 東京工業大學的物理學家Hidetoshi Nishimori解釋道。D-Wave計算機的工做原理就是由Hidetoshi Nishimori提出的。

qubit的翻轉是由量子隧穿效應(quantum tunneling)驅動的。這種效應是一種天然趨勢,量子系統必需要選出最佳配置,不能退而求其次。你能夠構建一個工做原理類似的傳統網絡,採用隨機晃動,而不是經過隧穿效應來讓bit翻轉。在某些任務中,這樣的網絡表現更好。可是有趣的是,在處理機器學習中出現的問題時,量子網絡實現最佳結果的速度彷佛更快。

D-Wave計算機也有缺陷。在當前的配置下,D-Wave計算機的噪聲很是大,它只能執行有限的操做。而機器學習算法本質上是具備容噪能力的,它們能夠理解混亂的現實環境,在干擾性背景中從區分小貓和小狗。「神經網絡對噪聲有很強的魯棒性。」 Behrman稱。

Hartmut Neven是谷歌的一名計算機科學家,他開創了加強現實技術,是谷歌Google Glass項目的聯合創始人。後來,他領導一個團隊開始研究量子信息處理。2009年,這個團隊證實了一臺初期的D-Wave 計算機能夠很好地完成一個機器學習任務。他們將這臺計算機用做爲一個單層神經網絡,在20000張街景圖數據庫中將圖像分類爲兩個類別:「汽車」和「非汽車」(請記住:這臺D-Wave計算機與2018年上線的50-qubit系統屬於徹底不一樣的機型。)。Neven的團隊結合使用D-Wave 計算機與傳統的計算機,他們分析了圖像的各類統計參數(quantities),而後計算這些參數對圖像中汽車的敏感度——一般不是很敏感,但至少比拋硬幣(猜正反面)要好。這些參數的某些組合能夠準確地識別出汽車,可是沒法識別出具體車型——這是神經網絡的任務。

這個團隊爲每一個參數都分配了一個qubit。若是qubit的值穩定在1,則將相應的參數標記爲有用;若是qubit的值穩定在0,則不用標記。Qubit的磁力相互做用能夠編碼問題的要求,例如:只包含區分做用最強的參數,以確保參數的最終選擇儘量簡單明瞭。試驗的結論是,D-Wave計算機能夠識別出汽車。

去年,加州理工學院粒子物理學家Maria Spiropulu和南加州大學物理學家Daniel Lidar領導的一個團隊將算法應用到粒子物理學問題中:將質子碰撞分類爲「希格斯玻色子(Higgs boson)」和「非希格斯玻色子」。這個團隊將研究對象選擇爲生成質子的碰撞,他們使用基本的粒子理論來預測哪些粒子屬性可能會表徵希格斯粒子的短暫存在,例如:超出動量的某些閾值。他們考慮了8種粒子屬性和28種屬性組合,一共是36種候選信號而後讓南加州大學的新型量子計算機找出最佳選擇。該計算機識別出16個有用的變量,3個最佳變量。該量子計算機在執行準確的分類任務時比標準流程所需的數據量要少。「在訓練集較小的條件下,量子計算方法的準確度要比高能物理學中的傳統方法高。」Lidar表示。

加州理工學院物理學家Maria Spiropulu使用量子機器學習尋找希格斯玻色子。▲

去年12月,Rigetti 證實了一種使用通用19 qubits量子計算機自動分類對象的方法。大體上,研究人員向計算機輸入了一系列的城市名稱以及它們之間的距離,而後讓計算機將這些城市分類爲兩個地理區域。這個問題的困難之處在於,一座城市屬於哪一個地理區域取決於系統對其餘城市的分類,所以必須一會兒解決整個系統。

Rigetti的團隊爲每一個城市分配了一個qubit,代表這個城市屬於哪一個類別。經過qubit之間的相互做用(在Rigetti的系統中,這種相互做用是電做用力,而不是磁做用力),每一對qubit都儘可能要選取相反的值——這樣作能夠將它們的能量降到最小。顯然,對於任何qubit數超過2個的系統而言,某些qubit對只能被分配到相同的類別中。靠近的城市更容易被分配到同一類別中,由於相比距離較遠的城市,鄰近城市被分配到同一類別中的能量損耗要小。

爲了將系統的能量降至最低,Rigetti的團隊採用了一種在某些方面相似於D-Wave量子退火的方法。他們先將qubit預置爲全部可能簇分配(cluster assignment)的疊加狀態。而後讓qubit進行短暫的相互做用,使qubit偏向於假設相同或相反的值。接着他們應用了一種模擬水平磁場的機制,在qubit傾斜時使它們能夠翻轉,以使系統更接近於最低能量狀態。最後,他們重複執行了這個兩步驟流程——相互做用與翻轉,直到系統的能量降至最低,這樣城市就被分類爲兩個不一樣的區域。

這些分類任務是有用的,但很直接。機器學習的尖端是生成模型,這種模型不只能夠識別小貓小狗,還能夠生成新的原始模型——歷來不存在的動物,但它們和真實動物同樣可愛。這種模型甚至還能夠本身分辨「小貓」和「小狗」的類別,或者修復缺乏尾巴或爪子的圖像。「在機器學習中,這些方法很是強大且有用,可是應用起來十分困難。」 D-Wave的首席科學家Mohammad Amin表示。量子計算若是能被應用到生成式模型中,必定會大受歡迎。

D-Wave和其餘研究團隊已經開始着手解決這個難題。訓練生成式模型,也就是調整qubit之間的(磁或電)相互做用,以使網絡能複製某些實例數據。爲了實現這一點,咱們能夠結合使用神經網絡和普通的計算機。神經網絡負責困難的任務——理解選定的相互做用對最終的網絡配置有什麼意義,而後計算機使用這個信息來調整qubit之間的相互做用。去年,NASA量子人工智能實驗室(NASA’s Quantum Artificial Intelligence Lab)的研究人員Alejandro Perdomo-Ortiz和他的團隊在一篇論文中,用一個D-Wave系統處理手寫數字的圖像。結果,該系統識別出10個類別,併爲0至9這10個數字各分配了一個類別,並且還生成了本身的手寫體數字。

▌量子計算機的瓶頸

使人失望的是,若是你沒法將數據載入處處理器中,你的處理器再強大也無濟於事。在矩陣代數算法中,一個簡單的運算就能夠處理一個由16個數字構成的矩陣,可是載入這個矩陣卻須要進行16個運算。「人們徹底沒有重視量子態製備——將傳統的數據載入到量子狀態中我認爲這一步是最重要的一步。」量子計算初創公司Xanadu的研究人員Maria Schuld表示。她是最先得到量子機器學習博士學位的人員之一。當咱們把機器學習系統佈置到實體機器中時,經常陷入兩難的境地:如何將一個問題嵌入到qubit網絡中;讓qubit以正確的方式相互做用。

當載入數據以後,你須要將數據存儲起來,並確保量子系統在與數據相互交互時不影響正在進行的計算。Lloyd和他的團隊提出了一個使用光子的量子RAM,可是目前尚未超傳導qubit或囚禁離子(trapped ions)的相似裝置——用在先進量子計算機中的技術。「除了構建量子計算機自己以外,這是一個額外的技術難題。從我和一些實驗主義者的談話中,我發現他們對待這些難題的態度是畏懼的。由於他們不知道若是開始構建這樣的量子計算機。」 Aaronson表示。

最後還有一個問題:如何導出數據?這意味着檢測計算機的量子狀態,一次檢測不只只能一次返回一個隨機抽取的數字,並且還會使整個狀態崩潰,在你還沒來得及收回數據以前,其餘的數據就已被清除。你只能再次一遍又一遍地執行算法,以收回全部信息。

不過並非沒有但願。在某些問題中,你能夠利用量子干涉(quantum interference)。也就是說,你能夠設計運算過程,使錯誤的答案自行消除,並鞏固正確的答案。這樣,當檢測量子狀態時,計算機就會給出你想要的數值,而不是隨機數值。可是隻有少數算法(例如蠻力搜索算法brute-force search)能夠很好地利用量子干涉,並且速度是適中的。

在某些任務中,研究人員發現了輸入和輸出數據的快捷方法。2015年,Lloyd、加拿大滑鐵盧大學的Silvano Garnerone和南加州大學的Paolo Zanardi證實了:在某些類別的統計分析中,不須要輸入或存儲整個數據集。一樣,當幾個關鍵數值就能夠知足需求時,不須要讀取全部數據。例如,科技公司根據龐大的消費者習慣數據,利用機器學習來矩陣爲用戶建議節目或者商品。「Netflix或亞馬遜(Amazon)並不須要獲取處處生成的矩陣,它們要作的只是爲用戶生成建議。」 Aaronson稱。

全部這些引出了這樣一個問題:若是量子計算機只在某些特殊任務中表現優秀,傳統的計算機是否也能勝任這些任務?這是量子計算領域的一個還未解決的大問題。畢竟普通的計算機也十分強大。處理大型數據集的經常使用方法——隨機採用,在本質上與量子計算機十分相似,即:不管系統內部進行何種運算,最終返回的結果都是隨機的。Schuld稱:「我研究出來的不少算法經常讓我感到‘它們太棒了,咱們這下能夠提高運算速度了’。不過我爲了好玩又編寫了一個在傳統計算機上運行的抽樣算法,我發現用抽樣算法也能夠實現相同的效果。」

若是回顧量子機器學習目前爲止的成果,你會發現它們都帶有星號。以D-Wave計算機爲例:當分類汽車圖像和希格斯粒子時,D-Wave計算機的速度並不比傳統的計算機快。「咱們在這篇論文中沒有談到的一個問題是量子加速。」 Google DeepMind團隊的計算機科學家Alex Mott表示。他曾經是Higgs研究團隊的一員。矩陣代數方法(例如Harrow-Hassidim-Lloyd算法)只有在矩陣爲稀疏矩陣(多數元素爲零)時纔會實現量子加速。「在機器學習中稀疏數據集是否真的有趣?從沒有人問過這個問題。」 Schuld表示。

▌量子智能

話說回來,現有的方法偶爾有什麼進展,科技公司們就會感到十分高興。「咱們看到的這些優點都不算大;它們雖然不是指數性的,可是至少是二次的」微軟研究院(Microsoft Research)的量子計算研究院Nathan Wiebe稱。「若是量子計算機足夠大、足夠快,咱們就能夠完全改變機器學習的許多領域。」在應用這些系統的過程當中,計算機科學家能夠解決一些理論性難題——這些系統是否在本質上更快,緣由是什麼。

Schuld還看到了量子計算在軟件方面的創新空間。機器學習不只僅是計算問題,並且仍是不少問題交纏在一塊兒,每一個問題都有本身特殊的結構。「人們編寫的算法被從使機器學習變得有趣和美麗的事物中移除。這就是爲何我開始探索其餘方法和思考的緣由:若是有了量子計算機(小型的),它能夠運行什麼機器學習模型?也許這樣的模型尚未發明出來。」 Schuld說。若是物理學家想要讓機器學習專家另眼相看,除了構建現有模型的量子版模型外,他們要探索別的突破。

許多神經科學家如今認爲人類思惟的結構反映了身體的要求,實際上機器學習系統也囊括萬千。這些系統所處理的圖像、語言和大多數其餘數據都來自於真實世界,這些數據反映了世界的種種特徵。一樣,量子機器學習系統也是一應俱全的,它所反映的世界要遠遠大於咱們的世界。毫無疑問,量子機器學習系統將在處理量子數據上大放光彩。當數據不是圖像,而是物理學或化學實驗的產物時,量子計算機將會大顯神通。若是解決了數據輸入問題,傳統的計算機就將會被徹底淘汰。

第一批量子機器學習系統能夠爲後來的系統的設計提供幫助,這就造成了一個很好的自我參考循環。「咱們可使用這樣系統來構建量子計算機。在某些調試任務中,這是咱們惟一的方法。」 Wiebe說。也許這些系統甚至能夠糾正咱們的錯誤。且不談人類大腦是不是量子計算機——這是一個備受爭議的問題,大腦有時候的行爲讓人感受它就是量子計算機。衆所周知,人類的行爲離不開情境;現有的選擇決定了咱們的偏好,這其實和咱們的邏輯相悖。從這個角度看,咱們確實像是量子粒子。「人類問問題的方式以及對順序的重視,都是量子數據集中很是典型的特性。」 Perdomo-Ortiz說。這樣看來,量子機器學習系統能夠幫助咱們研究人類認知偏見。

神經網絡和量子處理器有一個共同點:那就是它們居然能實現。訓練神經網絡毫不是想固然能作到的,過去幾十年間,大多數人都對是否能作到持質疑態度。一樣,量子物理學是否能被用在計算上也很差說,由於咱們對量子物理學獨特的能力還知之甚少。可是神經網絡和量子處理器都已實現,雖然並非總能實現,可是仍是超出了咱們的預期。考慮到這一點,量子物理學和神經網絡的結合也極可能會在將來大放異彩。

做者 | George Musser

原文連接

相關文章
相關標籤/搜索