預見未來丨機器學習:未來十年研究熱點
這篇文章轉載至微軟研究院AI頭條公總號,僅供參考學習。
預見未來丨機器學習:未來十年研究熱點
編者按:自1998年成立以來,微軟亞洲研究院一直致力於推動電腦科學領域的前沿技術發展。在建院20週年之際,我們特別邀請微軟亞洲研究院不同領域的專家共同撰寫“預見未來”系列文章,以各自領域的前瞻視角,從機器學習、計算機視覺、系統架構、圖形學、自然語言處理等多個方向出發,試圖描繪一幅未來科技藍圖。
本文中,微軟亞洲研究院機器學習組的研究員們為我們盤點最熱門的機器學習技術,梳理機器學習面臨的挑戰以及未來十年的發展趨勢。
人工智慧正熱。
技術創新是經濟增長的根本動力。這些技術中,最重要的就是經濟學家提到的“通用技術”,比如蒸汽機、內燃機、電力等。如今這個時代,人工智慧就是最重要的“通用技術”。特別是行業與人工智慧的結合,釋放了行業的潛力,重塑了我們的生活。
人工智慧備受關注、取得革命性進步背後的推手,其實是“機器學習”。
機器學習其實是一門多領域交叉學科,它涉及到電腦科學、概率統計、函式逼近論、最優化理論、控制論、決策論、演算法複雜度理論、實驗科學等多個學科。機器學習的具體定義也因此有許多不同的說法,分別以某個相關學科的視角切入。但總體上講,其關注的核心問題是如何用計算的方法模擬類人的學習行為:從歷史經驗中獲取規律(或模型),並將其應用到新的類似場景中。
那麼,當我們談機器學習時,到底在談些什麼?從業者需要掌握哪些前沿技術?未來,又有什麼技術趨勢值得期待?
看前沿:你需要掌握的機器學習技術
近年來,有很多新型的機器學習技術受到人們的廣泛關注,也在解決實際問題中,提供了有效的方案。這裡,我們簡單介紹一下深度學習、強化學習、對抗學習、對偶學習、遷移學習、分散式學習、以及元學習。
深度學習
不同於傳統的機器學習方法,深度學習是一類端到端的學習方法。基於多層的非線性神經網路,深度學習可以從原始資料直接學習,自動抽取特徵並逐層抽象,最終實現迴歸、分類或排序等目的。在深度學習的驅動下,人們在計算機視覺、語音處理、自然語言方面相繼取得了突破,達到或甚至超過了人類水平。深度學習的成功主要歸功於三大因素——大資料、大模型、大計算
在過去的幾十年中,很多不同的深度神經網路結構被提出,比如,卷積神經網路,被廣泛應用於計算機視覺,如影象分類、物體識別、影象分割、視訊分析等等;迴圈神經網路,能夠對變長的序列資料進行處理,被廣泛應用於自然語言理解、語音處理等;編解碼模型(Encoder-Decoder)是深度學習中常見的一個框架,多用於影象或序列生成,例如比較熱的機器翻譯、文字摘要、影象描述(image captioning)問題。
強化學習
2016年3月,DeepMind設計的基於深度卷積神經網路和強化學習的AlphaGo以4:1擊敗頂尖職業棋手李世乭,成為第一個不借助讓子而擊敗圍棋職業九段棋手的電腦程式。此次比賽成為AI歷史上里程碑式的事件,也讓強化學習成為機器學習領域的一個熱點研究方向。
強化學習是機器學習的一個子領域,研究智慧體如何在動態系統或者環境中以“試錯”的方式進行學習,通過與系統或環境進行互動獲得的獎賞指導行為,從而最大化累積獎賞或長期回報。由於其一般性,該問題在許多其他學科中也進行了研究,例如博弈論、控制理論、運籌學、資訊理論、多智慧體系統、群體智慧、統計學和遺傳演算法。
遷移學習
遷移學習的目的是把為其他任務(稱其為源任務)訓練好的模型遷移到新的學習任務(稱其為目標任務)中,幫助新任務解決訓練樣本不足等技術挑戰。之所以可以這樣做,是因為很多學習任務之間存在相關性(比如都是影象識別任務),因此從一個任務中總結出來的知識(模型引數)可以對解決另外一個任務有所幫助。遷移學習目前是機器學習的研究熱點之一,還有很大的發展空間。
對抗學習
傳統的深度生成模型存在一個潛在問題:由於最大化概率似然,模型更傾向於生成偏極端的資料,影響生成的效果。對抗學習利用對抗性行為(比如產生對抗樣本或者對抗模型)來加強模型的穩定性,提高資料生成的效果。近些年來,利用對抗學習思想進行無監督學習的生成對抗網路(GAN)被成功應用到影象、語音、文字等領域,成為了無監督學習的重要技術之一。
對偶學習
對偶學習是一種新的學習正規化,其基本思想是利用機器學習任務之間的對偶屬性獲得更有效的反饋/正則化,引導、加強學習過程,從而降低深度學習對大規模人工標註資料的依賴。對偶學習的思想已經被應用到機器學習很多問題裡,包括機器翻譯、影象風格轉換、問題回答和生成、影象分類和生成、文字分類和生成、影象轉文字和文字轉影象等等。
分散式學習
分散式技術是機器學習技術的加速器,能夠顯著提高機器學習的訓練效率、進一步增大其應用範圍。當“分散式”遇到“機器學習”,不應只侷限在對序列演算法進行多機並行以及底層實現方面的技術,我們更應該基於對機器學習的完整理解,將分散式和機器學習更加緊密地結合在一起。
元學習
元學習(meta learning)是近年來機器學習領域的一個新的研究熱點。字面上來理解,元學習就是學會如何學習,重點是對學習本身的理解和適應,而不僅僅是完成某個特定的學習任務。也就是說,一個元學習器需要能夠評估自己的學習方法,並根據特定的學習任務對自己的學習方法進行調整。
看趨勢:把握機器學習的未來
機器學習雖然取得了長足的進步,也解決了很多實際問題,但是客觀地講,機器學習領域仍然存在著巨大的挑戰。
首先,主流的機器學習技術是黑箱技術,這讓我們無法預知暗藏的危機,為解決這個問題,我們需要讓機器學習具有可解釋性、可干預性。其次,目前主流的機器學習的計算成本很高,亟待發明輕量級的機器學習演算法。另外,在物理、化學、生物、社會科學中,人們常常用一些簡單而美的方程(比如像薛定諤方程這樣的二階偏微分方程)來描述表象背後的深刻規律。那麼在機器學習領域,我們是否也能追求到簡單而美的規律呢?如此的挑戰還有很多,不過我們對於這個領域未來的發展仍然充滿信心。以下,我們將對未來十年的若干研究熱點進行展望:
可解釋的機器學習
以深度學習為代表的各種機器學習技術方興未艾,取得了舉世矚目的成功。機器和人類在很多複雜認知任務上的表現已在伯仲之間。然而,在解釋模型為什麼奏效及如何運作方面,目前學界的研究還處於非常初級的階段。
解釋什麼:相關性和因果邏輯性之間的鴻溝。
大部分機器學習技術,尤其是基於統計的機器學習技術,高度依賴基於資料相關性習得的概率化預測和分析。相反,理性的人類決策更依賴於清楚可信的因果關係,這些因果關係由真實清楚的事實原由和邏輯正確的規則推理得出。從利用資料相關性來解決問題,過渡到利用資料間的因果邏輯來解釋和解決問題,是可解釋性機器學習需要完成的核心任務之一。
為什麼需要解釋:知之為知之,不知為不知,是知也。
機器學習模型基於歷史資料進行分析和決策。但由於常識的缺失,機器在面對歷史上未發生過或罕見的事件時,很大可能性會犯人類幾乎不可能犯的低階錯誤。統計意義上的準確率並不能有效地刻畫決策的風險,甚至在某些情況下,看似正確的概率性選擇背後的原因與事實背道而馳。在可控性為首要考量目標的領域,比如醫療、核工業和航天等,理解資料決策背後所依賴的事實基礎是應用機器學習的前提。對於這些領域,可解釋性意味著可信和可靠。
可解釋性機器學習,還是把機器學習技術與我們人類社會做深度整合的必經之路。對可解釋性機器學習的需求不僅僅是對技術進步的渴求,同時包含各種非技術因素的考量,甚至包含法律法規。歐盟在2018年生效的GDPR(General Data Protection Regulation)條例中明確要求,當採用機器做出針對某個體的決定時,比如自動拒絕一個線上貸款申請,該決定必須符合一定要求的可解釋性。
除了產業和社會對可解釋性機器學習的迫切需求,解釋行為的動機同時是人類大腦內建的能力和訴求。認知神經科學先驅Michael S. Gazzaniga在對現代認知科學影響深遠的裂腦人(Split-Brain Patients)研究中得出瞭如下的觀察和結論:“我們的大腦會不由自主地去尋求(決策的)解釋和事件發生的原由。”
誰解釋給誰:以人為中心的機器學習升級。
解釋給誰聽,這個問題相對清楚。簡而言之,解釋給人。根據受眾的不同,包含只有機器學習專家可以理解的解釋,也包含普通大眾都可以理解的解釋。
那麼由誰來解釋呢?理想情況下,由機器解釋:機器一邊解答問題,一邊給出答案背後的邏輯推理過程。但是,受限於很多機器學習技術的工作原理,機器自答自釋並不總是行得通。很多機器學習演算法是“資料進來,模型出去”,絕大部分時候,模型最終得出的結論與輸入資料之間的因果關聯變得無跡可尋,模型也變成了一個“神奇的”黑箱子。
在機器自答自釋尚無有效方案的階段,支援人工審查和回溯解答過程的方案可以提供一定程度的可解釋性。此時,機器學習系統中各個子模組作用機理的可解釋性就變得尤為重要。對於一個大型的機器學習系統,整體的可解釋性高度依賴於各個組成部分的可解釋性。從目前的機器學習到可解釋性機器學習的演化將是一個涉及方方面面的系統工程,需要對目前的機器學習從理論到演算法,再到系統實現進行全面的改造和升級。
可解釋性的度:起於實用,終於無窮。
不同的應用場景對機器學習可解釋性的要求天然不同。某些時候,“曲高和寡”的專業解釋就已足夠,尤其當其解釋只用作技術安全性審查時;另外一些場合,當可解釋性是人機互動的一部分時,“老嫗能解”的通俗解答就變得非常必要。任何技術都只在一定範圍和一定程度上起作用,對於機器學習的可解釋性同樣如此。可解釋機器學習,起於實用性的需求,終於永無止盡的不斷改進中。
輕量機器學習和邊緣計算
邊緣計算(Edge Computing)指的是在網路邊緣節點來處理、分析資料。而邊緣節點指的是在資料產生源頭和雲端計算中心之間具有計算資源和網路資源的節點,比如手機就是人與雲端計算中心之間的邊緣節點,而閘道器則是智慧家居和雲端計算中心之間的邊緣節點。在理想環境下,邊緣計算指的是在資料產生源附近分析、處理資料,降低資料的流轉,進而減少網路流量和響應時間。隨著物聯網的興起以及人工智慧在移動場景下的廣泛應用,機器學習與邊緣計算的結合就顯得尤為重要。
為什麼邊緣計算會在這種嵌入式機器學習的正規化下發揮重要作用呢?
1. 資料傳輸頻寬和任務響應延遲:在移動場景下,機器學習任務在需要大量的資料進行訓練的同時又需要更短的響應延遲。以自動駕駛為例,比較大的延遲可能會顯著增加事故風險,因此就需要定製的機載計算裝置在邊緣執行模型推斷。而且,當有大量裝置連線到同一網路時,有效頻寬也會減少,而利用邊緣計算可以有效地減少裝置之間在通訊渠道上的競爭。
2. 安全性:邊緣計算中的邊緣裝置可以保障所收集的敏感資料的安全性。同時,邊緣計算可以使智慧的邊緣裝置分散化,降低DDoS攻擊對整個網路影響的風險。
3. 定製化學習任務:邊緣計算使得不同的邊緣裝置可以針對他們所面對的不用型別的物件採取定製化的學習任務和模型。例如在安防領域的影象識別任務,不同區域的視訊裝置所觀測到的影象資訊可能差別很大,因此僅僅訓練一個深度學習模型可能無法達到目的,而在雲上同時託管多個模型代價也會很大。更有效的解決方案是在雲中訓練每個場景下不同的模型,並將訓練好的模型傳送到相應的邊緣裝置。
4. 多智慧體協作:邊緣裝置也可以同時模型多智慧體場景,幫助訓練多智慧協作的強化學習模型。
那麼將機器學習模型,特別是複雜的深度學習模型,嵌入到邊緣計算的框架中所面臨的挑戰在哪裡呢?
1. 引數高效的神經網路:神經網路的一個顯著特點是龐大的引數規模,而邊緣裝置往往不能處理大規模的神經網路。這促使研究人員在保持模型準確性的同時最小化神經網路的規模。現在通常採用的方式包括通過對卷積層的擠壓和擴充套件來降低濾波器的次數,從而優化引數效率。
2. 神經網路修剪:在神經網路的訓練過程中存在一些神經元,對他們進行大量的訓練後並不能改進模型的最終效果。在這種情況下,我們可以通過修剪這類神經元來節省模型空間。
3. 精度控制:大多數神經網路引數都是32位浮點數。邊緣裝置可以設計為8位或更少的浮點數,通過這種降低精度的方式可以顯著地減小模型規模。
4. 模型蒸餾:模型蒸餾的過程是將訓練好的複雜神經網路的能力遷移到一個結構更為簡單的神經網路上。結合遷移學習的發展,這種方法可以更有效地降低模型複雜度同時又不會失去太多精度。
5. 優化的微處理器:另外一個方向則是將神經網路的學習和推斷能力嵌入到邊緣裝置的微處理器上,這種AI晶片所表現出來的潛力也受到越來越多的關注。
量子機器學習
量子機器學習(Quantum ML)是量子計算和機器學習的交叉學科。
量子計算機利用量子相干和量子糾纏等效應來處理資訊,這和經典計算機有著本質的差別。目前量子演算法已經在若干問題上超過了最好的經典演算法,我們稱之為量子加速。例如搜尋一個有N個條目未排序的資料庫,量子演算法所需時間為O(√N),而經典計算機的時間複雜度為O(N);對一個N×N的稀疏矩陣求逆,量子計算機的時間複雜度為O(log_2 N),而經典計算機為O(〖Nlog〗_2 N)。
當量子計算遇到機器學習,可以是個互利互惠、相輔相成的過程:一方面我們可以利用量子計算的優勢來提高經典的機器學習演算法的效能,如在量子計算機上高效實現經典計算機上的機器學習演算法。另一方面,我們也可以利用經典計算機上的機器學習演算法來分析和改進量子計算系統。
基於線性代數的量子機器學習演算法
這一類別中的許多量子機器學習演算法是基於求解線性方程組的量子演算法的各種變體,該演算法在特定條件下(如Hamiltonian條件,稀疏矩陣或低秩矩陣滿足該條件)求解元線性方程組的複雜度為O(log_2 N)。需要指出的是,任何已知的矩陣求逆的經典演算法的複雜度至少為O(N^2)。基於量子矩陣求逆演算法可以加速很多機器學習方法,如最小二乘線性迴歸、支援向量機的最小二乘版本、高斯過程等,這些演算法的訓練可以簡化為求解線性方程組。這一類量子機器學習演算法的關鍵瓶頸是資料輸入,如何用整個資料集特徵來初始化量子系統。雖然對於某些特定的情況高效資料輸入演算法存在,但是對大多數情形而言,資料如何輸入到量子系統是未知的。
量子強化學習
在量子強化學習中,一個量子智慧體(agent)與經典環境互動,從環境獲得獎勵從而調整和改進其行為策略。在某些情況下,由於智慧體的量子處理能力或者由於量子疊加探測環境的可能性,而實現量子加速。這類演算法已在超導電路和俘獲離子系統中提出。
量子深度學習
諸如量子退火器和採用可程式設計光子電路的專用量子資訊處理器非常適合構建深層量子學習網路。最簡單的可量子化的深度神經網路是玻爾茲曼機。經典的玻爾茲曼機由具有可調的相互作用的位元位組成,通過調整這些位元位的相互作用來訓練玻爾茲曼機,使得其表達的分佈符合資料的統計。為了量子化Boltzmann機,可以簡單地將神經網路表示為一組相互作用的量子自旋,它對應於一個可調的Ising模型。然後通過將玻爾茲曼機中的輸入神經元初始化為固定狀態,並允許系統進行熱化,我們可以讀出輸出量子位以獲得結果。
量子退火器是專用的量子資訊處理器,比通用量子計算機更容易構建和擴充套件,目前已初步商業化,如D-wave量子退火器。
簡單而美的定律
大自然處處都是紛繁複雜的現象和系統。縱覽現實世界複雜現象背後的本質,我們卻能得到一個出乎意料的結論:貌似複雜的自然現象都由簡單而優美的數學規律所刻畫,如偏微分方程。Mathematica的建立者、知名電腦科學家、物理學家Stephen Wolfram也曾給出過類似的觀察和結論: “事實證明,物理和其他科學領域幾乎所有的傳統數學模型最終都基於偏微分方程。”
既然自然現象背後簡而美的數學定律如此普遍(尤其是偏微分方程),那麼能否設計一種方法來自動學習和發現現象背後的數學定律呢?這個問題顯然很難,但並非完全不可能。對於任何一個方程,某種相等性一定存在。那麼更進一步,現實物理世界是否存在內在的、普遍的守恆性或不變數呢?關於這個問題,德國數學家Emmy Noether在1915年提出了極具洞察力的諾特定理(Noether’s theorem)。該定理指出,對於每個連續的對稱變換都存在一個守恆量(不變數)與之對應。換言之,連續對稱性和守恆定律之間有著一一對應關係。這對於發現自然現象背後的守恆關係,尤其是對於尋找物理守恆定律,提供了深刻的理論指引。事實上,絕大部分物理定律公式都是基於某種量的守恆而匯出的,比如刻畫量子系統的薛定諤方程就是由能量守恆得到。
基於這種洞察,科學工作者們開展了大量嘗試並取得了累累碩果。例如,Schmidt和Lipson在2009年發表的《科學》雜誌論文中,提出了基於不變數原理和進化演算法的自動定律發現方法。論文探討了這樣一個課題:對於給定的實驗資料,我們基於某種不變性可以生成大量的等式或方程。那麼,什麼樣的相關性才是重要且有意義的呢?雖然這個問題難以定量回答,Schmidt和Lipson在論文中給出了他們的觀點:基於某種不變數得到的有效公式必須能正確預測一個系統中各個組成部分之間的動態關係。具體來說,一個有意義的守恆公式須能正確刻畫一組變數相對於時間的導數之間的關係。
相比於深度學習,自動定律學習更像牛頓當年觀察研究世界的方法。在收集到很多關於現實世界的資料後,牛頓得到了一系列定律、方程和公式,可以用來簡潔明瞭地刻畫我們生活的這個物理世界的規律。萬物皆數,自動化定律發現可以很大程度地輔助科學研究,甚至在一定領域內實現科學研究的自動化。
即興學習
這裡我們探討的即興學習與Yann LeCun一直倡導的預測學習,有著相似的目標,然而二者對世界的假設和採取的方法論非常不同。預測學習這個概念脫胎於無監督學習,側重預測未來事件發生概率的能力。方法論上,預測學習利用所有當前可用的資訊,基於過去和現在預測未來,或者基於現在分析過去。預測學習在一定程度上暗合現代認知科學對大腦能力的理解。
預測學習的兩大要素是:建模世界和預測當前未知。問題是,我們生活的世界是否可以預測?這個問題的答案是不明確的。
與預測學習對世界的假設不同,即興學習假設異常事件的發生是常態。即興智慧是指當遇到出乎意料的事件時可以即興地、變通地處理解決問題的能力。即興學習意味著沒有確定的、預設的、靜態的可優化目標。直觀地講,即興學習系統需要進行不間斷的、自我驅動的能力提升,而不是由預設目標生成的優化梯度推動演化。換言之,即興學習通過自主式觀察和互動來獲得知識和解決問題的能力。
一個即興學習系統通過觀察環境並與環境互動的正負反饋中學習。這個過程跟強化學習表面上很像,本質的區別還是在於即興學習沒有確定預設的優化目標,而強化學習則通常需要一個預設的目標。既然即興學習不是由根據固定優化目標所得出的學習梯度來驅動演化。那麼,是什麼驅動了這個學習過程?什麼時候,這個學習過程會停止?這裡,我們以“條件熵”模型為例來探討這類學習系統。
這裡K是學習系統當前擁有的知識,而E是環境中的資訊。該公式刻畫了環境相對於當前學習系統的“不確定性”。伴隨著“負熵”的轉移,學習系統獲得越來越多關於環境的知識,這種“不確定性”逐步遞減,直到消失。當這種“不確定性”完全消失後,“負熵”流動停止,學習過程結束。這時,該學習系統通過無預設目標的即興學習,獲得了對環境的全面理解。
社會機器學習
機器學習的目的是模擬人類的學習過程。機器學習雖然取得很大的成功,但是到目前為止,它忽視了一個重要的因素,也就是人的社會屬性。我們每個人都是社會的一分子,很難從出生就脫離社會獨自生存、學習並不斷進步。既然人類的智慧離不開社會,那麼我們能否讓機器們也具有某種意義的社會屬性,模擬人類社會中的關鍵元素進行演化,從而實現比現在的機器學習方法更為有效、智慧、可解釋的“社會機器學習”呢?
社會是由億萬個人類個體構成,社會機器學習也應該是一個由機器學習智慧體構成的體系。每一個機器學習演算法除了按照現在的機器學習方法獲取資料的規律,還參與社會活動。它們會聯合其他的機器學習智慧體按照社會機制積極獲取資訊、分工、合作、獲得社會酬勞。與此同時,它們會總結經驗、學習知識、相互學習來調整行為。
事實上,現在的機器學習方法中已經開始出現“社會智慧”的零零星星的影子。比如,“知識蒸餾”可以描述機器學習智慧體之間最簡單的行為影響,它也可能是初步獲取知識的方式;分散式機器學習演算法中模型平均、模型整合、投票等方法是最簡單的社會決策機制;強化學習提供了智慧體基於酬勞反饋調整行為的框架。
由於社會屬性是人類的本質屬性,社會機器學習也將會是我們利用機器學習從獲取人工智慧到獲取社會智慧的重要方向!
結語
如前文所說,機器學習近幾年發展迅猛,我們對它充滿信心,文中提及的未來方向僅是基於筆者對機器學習領域的理解,一定還有很多沒有涵蓋的重要方向。其實預測未來是一件非常困難的事情,尤其是對於機器學習這個飛速發展的領域。Alan Kay曾經說過:“預測未來最好的方法就是創造它”。因此。我們呼籲所有機器學習從業人員,無論是學者還是工程師,是教授還是學生,能夠共同努力、攜手前行,用我們的實際行動去推進這些重要的研究課題,用我們的雙手去創造未來,這會比預測未來要實在得多、重要得多!
本文作者:劉鐵巖、秦濤、邵斌、陳薇、邊江
你也許還想看:
微信掃一掃
關注該公眾號
譯