量子計算+人工智慧——這才是未來科技的最大熱門!

AI科技大本營發表於2018-02-05
編譯 | 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表示。

▌量子神經元

無論是傳統神經網路,還是量子神經網路,它們的主要任務都是識別模式。受人類大腦的啟發,神經網路由基本的計算單元(即“神經元”)構成。每個神經元都可以看作為是一個開關裝置。一個神經元可以監測多個其他神經元的輸出,就像是投票選舉一樣,如果足夠多的神經元處於啟用狀態,這個神經元就會被啟用。通常,神經元的排列呈層狀。初始層(initial layer)匯入輸入(例如影象畫素),中間層生成不同組合形式的輸入(代表邊、幾何形狀等結構),最後一層生成輸出(對影象內容的高階描述)。

量子計算+人工智慧——這才是未來科技的最大熱門!

需要注意的是,神經元之間的連線需要經過反覆試驗進行調整,不是預先確定的。例如,給神經網路輸入帶有“小貓”或“小狗”標籤的影象。網路會給每一張影象分配一個標籤,檢查是否匹配正確,如果不正確就調整神經元連線。剛開始時網路的預測是隨機生成的,但是其準確度會越來越高;在經過10000個例項的訓練之後,網路將能識別影象中的寵物。正規的神經網路可能擁有10億個神經元連線,所有連線都需要進行調整。

傳統計算機計算單元的所有連線都用龐大的數字矩陣表示,執行神經網路就是在計算矩陣代數。傳統的方法是,用一個專門的晶片(例如:影象處理器)來完成這些矩陣運算。而在完成矩陣運算上,量子計算機是不可匹敵的。“量子計算機運算大型矩陣和向量的速度快很多。”麻省理工大學(MIT)物理學家、量子計算先驅Seth Lloyd稱。

在進行運算時,量子計算機可以利用量子系統的指數屬性。量子系統的大部分資訊儲存能力並不是靠單個資料單元——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

原文連結


相關文章