劉鐵巖談機器學習:隨波逐流的太多,我們需要反思

2021-01-10 AI科技大本營

叮咚~你被福利砸中了!現在起,「2020 AI開發者萬人大會」299門票免費送!進入報名頁面2020 AI 開發者萬人大會(線上直播門票)-IT培訓直播-CSDN學院,點擊「立即報名」,結算時使用優惠碼「AIP1410」,價格就會變為「0"元!

嘉賓 | 劉鐵巖

整理 | 阿司匹林

來源 | AI科技大本營在線公開課

人工智慧正受到越來越多的關注,而這波人工智慧浪潮背後的最大推手就是「機器學習」。機器學習從業者在當下需要掌握哪些前沿技術?展望未來,又會有哪些技術趨勢值得期待?

近期,AI科技大本營聯合華章科技特別邀請到了微軟亞洲研究院副院長劉鐵巖博士進行在線公開課分享,為我們帶來微軟研究院最新的研究成果,以及對機器學習領域未來發展趨勢的展望。

以下是本次公開課的精彩內容,AI科技大本營整理。

大家好,我是劉鐵巖,來自微軟亞洲研究院。今天非常榮幸,能跟大家一起分享一下微軟研究院在機器學習領域取得的一些最新研究成果。

大家都知道,最近這幾年機器學習非常火,也取得了很多進展。這張圖總結了機器學習領域的最新工作,比如 ResNet、膠囊網絡、Seq2Seq Model、Attention Mechanism 、GAN、Deep Reinforcement Learning 等等。

這些成果推動了機器學習領域的飛速發展,但這並不意味著機器學習領域已經非常成熟,事實上仍然存在非常大的技術挑戰。比如現在主流機器學習算法需要依賴大量的訓練數據和計算資源,才能訓練出性能比較好的機器學習模型。同時,雖然深度學習大行其道,但我們對深度學習的理解,尤其是理論方面的理解還非常有限。深度學習為什麼會有效,深度學習優化的損失函數曲面是什麼樣子?經典優化算法的優化路徑如何?最近一段時間,學者們在這個方向做了很多有益的嘗試,比如討論隨機梯度下降法在什麼條件下可以找到全局最優解,或者它所得到的局部最優解跟全局最優解之間存在何種關係。

再比如,最近很多學者開始用自動化的方式幫助機器學習尤其是深度學習來調節超參數、搜尋神經網絡的結構,相關領域稱為元學習。其基本思想是用一個機器學習算法去自動地指導另一個機器學習算法的訓練過程。但是我們必須要承認,元學習其實並沒有走出機器學習的基本框架。更有趣的問題是,如何能夠讓一個機器學習算法去幫助另一個算法突破機器學習的現有邊界,讓機器學習的效果更好呢?這都是我們需要去回答的問題。沿著這些挑戰,在過去的這幾年裡,微軟亞洲研究院做了一些非常有探索性的學術研究。

對偶學習解決機器學習對大量有標籤數據的依賴

首先,我們看看對偶學習。對偶學習主要是為了解決現有深度學習方法對訓練數據過度依賴的問題。當我們沒有標註好的訓練數據時,是否還能做有意義的機器學習?在過去的幾年裡,人們做了很多嘗試,比如無監督學習、半監督學習等等。但是無論如何,大家心裡要清楚,只有有信號、有反饋、才能實現有效的學習,如果我們對這個世界一無所知,我們是不能進行有效的學習的。

沿著這個思路,我們在思考:除了人為提供的標籤以外,是不是存在其他有效的反饋信號,能夠形成學習的閉環?我們發現很多機器學習任務其實天然有結構對偶性,可以形成天然的閉環。

比如機器翻譯。一方面我們會關心從英文翻譯到中文,另一方面我們一定也關心從中文翻譯到英文,否則就無法實現兩個語種人群之間的無縫交流。再比如語音處理。我們關心語音識別的同時一定也關心語音合成,否則人和機器之間就沒有辦法實現真正的雙向對話。還有圖像理解、對話引擎、搜尋引擎等等,其實它們都包含具有對偶結構的一對任務。

如何更加準確地界定人工智慧的結構對偶性呢?我們說:如果第一個任務的輸入恰好是第二個任務的輸出,而第一個任務的輸出恰好是第二個任務的輸入,那麼這兩個任務之間就形成了某種結構的「對偶性」。把它們放在一起就會形成學習的閉環 ,這就是「對偶學習」的基本思想。

有了這樣的思想以後,我們可以把兩個對偶任務放到一起學,提供有效的反饋信號。這樣即便沒有非常多的標註樣本,我們仍然可以提取出有效的信號進行學習。

對偶學習背後其實有著嚴格的數學解釋。當兩個任務互為對偶時,我們可以建立如下的概率聯繫:

這裡 X 和 Y 分別對應某個任務的輸入空間和輸出空間,在計算 X 和 Y 的聯合概率分布時有兩種分解方法,既可以分解成 P(x)P(y|x; f) ,也可以分解成 P(y)P(x|y; g)。這裡,P(y|x; f) 對應了一個機器學習模型,當我們知道輸入 x 時,通過這個模型可以預測輸出 y 的概率,我們把這個模型叫主任務的機器學習模型,P(x|y; g) 則是反過來,稱之為對偶任務的機器學習模型。

有了這個數學聯繫以後,我們既可以做有效的無監督學習,也可以做更好的有監督學習和推斷。比如我們利用這個聯繫可以定義一個正則項,使得有監督學習有更好的泛化能力。再比如,根據 P(x)P(y|x; f) 我們可以得到一個推斷的結果,反過來利用貝葉斯公式,我們還可以得到用反向模型 g 做的推斷,綜合兩種推斷,我們可以得到更準確的結果。我們把以上提到的對偶學習技術應用在了機器翻譯上,取得了非常好的效果,在中英新聞翻譯任務上超過了普通人類的水平。

解決機器學習對大計算量的依賴

輕量級機器學習

最近一段時間,在機器學習領域有一些不好的風氣。有些論文裡會使用非常多的計算資源,比如動輒就會用到幾百塊 GPU卡 甚至更多的計算資源。這樣的結果很難復現,而且在一定程度上導致了學術研究的壟斷和馬太效應。

那麼人們可能會問這樣的問題:是不是機器學習一定要用到那麼多的計算資源?我們能不能在計算資源少幾個數量級的情況下,仍然訓練出有意義的機器學習模型?這就是輕量級機器學習的研究目標。

在過去的幾年裡,我們的研究組做了幾個非常有趣的輕量級機器學習模型。比如在 2015 發表的 lightLDA 模型,它是一個非常高效的主題模型。在此之前,世界上已有的大規模主題模型一般會用到什麼樣的計算資源?比如 Google 的 LDA 使用上萬個 CPU cores,才能夠通過幾十個小時的訓練獲得 10 萬個主題。為了降低對計算資源的需求,我們設計了一個基於乘性分解的全新採樣算法,把每一個 token 的平均採樣複雜度降低到 O(1),也就是說採樣複雜度不隨著主題數的變化而變化。因此即便我們使用這個主題模型去做非常大規模的主題分析,它的運算複雜度也是很低的。例如,我們只使用了 300 多個 CPU cores,也就是大概 8 臺主流的機器,就可以實現超過 100 萬個主題的主題分析。

這個例子告訴大家,其實有時我們不需要使用蠻力去解決問題,如果我們可以仔細分析這些算法背後的機理,做算法方面的創新,就可以在節省幾個數量級計算資源的情況下做出更大、更有效的模型。

同樣的思想我們應用到了神經網絡上面,2016 年發表的 LightRNN算法是迄今為止循環神經網絡裡面最高效的實現。當我們用 LigthtRNN 做大規模的語言模型時,得到的模型規模比傳統的 RNN 模型小好幾個數量級。比如傳統模型大小在100GB 時,LightRNN 模型只有50MB,並且訓練時間大幅縮短 。不僅如此,LightRNN模型的 perplexity比傳統RNN還要更好。

可能有些同學會產生疑問:怎麼可能又小又好呢?其實,這來源於我們在循環神經網絡語言模型的算法上所做的創新設計。我們把對 vocabulary 的表達從一維變到了兩維,並且允許不同的詞之間共享某一部分的 embedding 。至於哪些部分共享、哪些不共享,我們使用了一個二分圖匹配的算法來確定。

第三個輕量型機器學習的算法叫 LightGBM,這個工具是 GBDT 算法迄今為止最高效的實現。LightGBM的背後是兩篇 NIPS 論文,其中同樣包含了很多技術創新,比如 Gradient-based one-side sampling,可以有效減少對樣本的依賴; Exclusive feature bundling,可以在特徵非常多的情況下,把一些不會發生衝突的特徵粘合成比較 dense 的少數特徵,使得建立特徵直方圖非常高效。同時我們還提出了 Voting-based parallelization 機制,可以實現非常好的加速比。所有這些技巧合在一起,就成就了LightGBM的高效率和高精度。

分布式機器學習

雖然我們做了很多輕量級的機器學習算法,但是當訓練數據和機器學習模型特別大的時候,可能還不能完全解決問題,這時我們需要研究怎樣利用更多的計算節點實現分布式的機器學習。

我們剛剛出版了一本新書——《分布式機器學習:算法、理論與實踐》,對分布式機器學習做了非常好的總結,也把我們很多研究成果在這本書裡做了詳盡的描述。下面,我挑其中幾個點,跟大家分享。

分布式機器學習的關鍵是怎樣把要處理的大數據或大模型進行切分,在多個機器上做並行訓練。一旦把這些數據和模型放到多個計算節點之後就會涉及到兩個基本問題:首先,怎樣實現不同機器之間的通信和同步,使得它們可以協作把機器學習模型訓練好。其次,當每個計算節點都能夠訓練出一個局部模型之後,怎樣把這些局部模型做聚合,最終形成一個統一的機器學習模型。

數據切分

數據切分聽起來很簡單,其實有很多門道。舉個例子,一個常見的方式就是把數據做隨機切分。比如我們有很多訓練數據,隨機切分成 N 份,並且把其中一份放到某個局部的工作節點上去訓練。這種切分到底有沒有理論保證?

我們知道機器學習有一個基本的假設,就是學習過程中的數據是獨立同分布採樣得來的,才有理論保證。但是前面提到的數據切分其實並不是隨機的數據採樣。從某種意義上講,獨立同分布採樣是有放回抽樣,而數據切分對應於無放回抽樣。一個很有趣的理論問題是,我們在做數據切分時,是不是可以像有放回抽樣一樣,對學習過程有一定的理論保證呢?這個問題在我們的研究發表之前,學術界是沒有完整答案的。

我們證明了:如果我先對數據進行全局置亂,然後再做數據切分,那麼它和有放回的隨機採樣在收斂率上是基本一致的。但是如果我們只能做局部的數據打亂,二者之間的收斂率是有差距的。所以如果我們只能做局部的數據打亂,就不能訓練太多 epoch,否則就會與原來的分布偏離過遠,使得最後的學習效果不好。

異步通信

說完數據切分,我們再講講各個工作節點之間的通信問題。大家知道,有很多流行的分布式框架,比如 MapReduce,可以實現不同工作節點之間的同步計算。但在機器學習過程中,如果不同機器之間要做同步通信,就會出現瓶頸:有的機器訓練速度比較快,有的機器訓練速度比較慢,而整個集群會被這個集群裡最慢的機器拖垮。因為其他機器都要跟它完成同步之後,才能往前繼續訓練。

為了實現高效的分布式機器學習,人們越來越關注異步通信,從而避免整個集群被最慢的機器拖垮。在異步通信過程中,每臺機器完成本地訓練之後就把局部模型、局部梯度或模型更新推送到全局模型上去,並繼續本地的訓練過程,而不去等待其他的機器。

但是人們一直對異步通信心有餘悸。因為做異步通信的時候,同樣有一些機器運算比較快,有一些機器運算比較慢,當運算比較快的機器將其局部梯度或者模型更新疊加到全局模型上以後,全局模型的版本就被更新了,變成了很好的模型。但是過了一段時間,運算比較慢的機器又把陳舊的梯度或者模型更新,疊加到全局模型上,這就會把原來做得比較好的模型給毀掉。人們把這個問題稱為「延遲更新」。不過在我們的研究之前,沒有人定量地刻畫這個延遲會帶來多大的影響。

在去年 ICML 上我們發表了一篇論文,用泰勒展開式定量刻畫了標準的隨機梯度下降法和異步並行隨機梯隊下降法的差距,這個差距主要是由於延遲更新帶來的。如果我們簡單粗暴地使用異步 SGD,不去處理延遲更新,其實就是使用泰勒展開裡零階項作為真實的近似。既然它們之間的差距在於高階項的缺失,如果我們有能力把這些高階項通過某種算法補償回來,就可以使那些看起來陳舊的延遲梯度煥發青春。這就是我們提出的帶有延遲補償的隨機梯度下降法。

這件事說起來很簡單,但實操起來有很大的難度。因為在梯度函數的泰勒展開中的一階項其實對應於原損失函數的二階項,也就是所謂的海森矩陣(Hessian Matrix)。當模型很大時,計算海森矩陣要使用的內存和計算量都會非常大,使得這個算法並不實用。在我們的論文裡,提出了一個非常高效的對海森矩陣的近似。我們並不需要真正去計算非常高維的海森矩陣並存儲它,只需要比較小的計算和存儲代價就可以實現對海參矩陣相當精確的近似。 在此基礎上,我們就可以利用泰勒展開,實現對原來的延遲梯度的補償。我們證明了有延遲補償的異步隨機梯度下降法的收斂率比普通的異步隨機梯度下降法要好很多,而且各種實驗也表明它的效果確實達到了我們的預期。

模型聚合

除了異步通信以外,每個局部節點計算出一個局部模型之後,怎樣聚合在一起也是一個值得思考的問題。在業界裡最常用的方式是把各個不同的局部模型做簡單的參數平均。但是,從理論上講,參數平均僅在凸問題上是合理的。如果大家對凸函數的性質有一些了解,就知道如果模型是凸的,那麼我們對凸模型參數進行平均後得到的模型的性能,不會比每個模型性能的平均值差。

但是當我們用這樣的方式去處理深層神經網絡這類嚴重非凸的模型時,就不再有理論保證了。我們在 2017 年這幾篇論文裡指出了這個理論的缺失,並指出我們不應該做模型參數的平均,而是應該做模型輸出的平均,這樣才能獲得性能的保障,因為雖然神經網絡模型是非凸的,但是常用的損失函數本身是凸的。

但是模型輸出的平均相當於做了模型的集成,它會使模型的尺寸變大很多倍。當機器學習不斷迭代時,這種模型的集成就會導致模型尺寸爆炸的現象。為了保持凸性帶來的好處,同時又不會受到模型尺寸爆炸的困擾,我們需要在整個機器學習流程裡不僅做模型集成,還要做有效的模型壓縮。

這就是我們提出的模型集成-壓縮環路。通過模型集成,我們保持了凸性帶來的好處,通過模型壓縮,我們避免了模型尺寸的爆炸,所以最終會取得一個非常好的折中效果。

深度學習理論探索

接下來我們講講如何探索深度學習的理論邊界。我們都知道深度學習很高效,任意一個連續函數,只要一個足夠複雜的深度神經網絡都可以逼近得很好。但是這並不表示機器就真能學到好的模型。因為當目標函數的界面太複雜時,我們可能掉入局部極小值的陷阱,無法得到我們想要的最好模型。當模型太複雜時,還容易出現過擬合,在優化過程中可能做的不錯,可是當你把學到的模型應用到未知的測試數據上時,效果不一定很好。因此對於深度學習的優化過程進行深入研究是很有必要的。

g-Space

這個方向上,今年我們做了一個蠻有趣的工作,叫 g-Space Deep Learning。

這個工作研究的對象是圖像處理任務裡常用的一大類深度神經網絡,這類網絡的激活函數是ReLU函數。ReLU是一個分段線性函數,在負半軸取值為0,在正半軸則是一個線性函數。ReLU Network 有一個眾所周知的特點,就是正尺度不變性,但我們對於這個特點對神經網絡優化影響的理解非常有限。

那麼什麼是正尺度不變性呢?我們來舉個例子。這是一個神經網絡的局部,假設中間隱節點的激活函數是ReLU函數。當我們把這個神經元兩條輸入邊上面的權重都乘以一個正常數 c,同時把輸出邊上的權重除以同樣的正常數 c,就得到一個新的神經網絡,因為它的參數發生了變化。但是如果我們把整個神經網絡當成一個整體的黑盒子來看待,這個函數其實沒有發生任何變化,也就是無論什麼樣的輸入,輸出結果都不變。這就是正尺度不變性。

這個不變性其實很麻煩,當激活函數是 ReLu函數時,很多參數完全不一樣的神經網絡,其實對應了同一個函數。這說明當我們用神經網絡的原始參數來表達神經網絡時,參數空間是高度冗餘的空間,因為不同的參數可能對應了同一個網絡。這種冗餘的空間是不能準確表達神經網絡的。同時在這樣的冗餘空間裡可能存在很多假的極值點,它們是由空間冗餘帶來的,並不是原問題真實的極值點。我們平時在神經網絡優化過程中遇到的梯度消減、梯度爆炸的現象,很多都跟冗餘的表達有關係。

既然參數空間冗餘有這麼多缺點,我們能不能解決這個問題?如果不在參數空間裡做梯度下降法,而是在一個更緊緻的表達空間裡進行優化,是不是就可以解決這些問題呢?這個願望聽起來很美好,但實際上做起來非常困難。因為深度神經網絡是一個非常複雜的函數,想對它做精確的緊緻表達,需要非常強的數學基礎和幾何表達能力。我們組裡的研究員們做了非常多的努力,經過了一年多的時間,才對這個緊緻的空間做了一個完整的描述,我們稱其為 g-Space 。

g-Space 其實是由神經網絡中一組線性無關的通路組成的,所謂通路就是從輸入到輸出所走過的一條不回頭的通路,也就是其中一些邊的連接集合。我們可以證明,如果把神經網絡裡的這些通路組成一個空間,這個空間裡的基所組成的表達,其實就是對神經網絡的緊緻表達。

有了 g-Space 之後,我們就可以在其中計算梯度,同時也可以在 g-Space 裡計算距離。有了這個距離之後,我們還可以在 g-Space 裡定義一些正則項,防止神經網絡過擬合。

我們的論文表明,在新的緊緻空間裡做梯度下降的計算複雜度並不高,跟在參數空間裡面做典型的 BP 操作複雜度幾乎是一樣的。換言之,我們設計了一個巧妙的算法,它的複雜度並沒有增加,但卻迴避了原來參數空間裡的很多問題,獲得了對於 ReLU Network 的緊緻表達,並且計算了正確的梯度,實現了更好的模型優化。

有了這些東西之後,我們形成了一套新的深度學習優化框架。這個方法非常 general,它並沒有改變目標函數,也沒改變神經網絡的結構,僅僅是換了一套優化方法,相當於整個機器學習工具包裡面只換了底層,就可以訓練出效果更好的模型來。

元學習的限制

第四個研究方向也非常有趣,我們管它叫 Learning to Teach,中文我沒想到特別好的翻譯,現在權且叫做「教學相長」。

我們提出 Learning to Teach 這個研究方向,是基於對現在機器學習框架的局限性的反思。這個式子雖然看起來很簡單,但它可以描述一大類的或者說絕大部分機器學習問題。這個式子是什麼意思?首先 (x, y) 是訓練樣本,它是從訓練數據集 D 裡採樣出來的。 f(ω) 是模型,比如它可能代表了某一個神經網絡。我們把 f(ω)作用在輸入樣本 x 上,就會得到一個對輸入樣本的預測。然後,我們把預測結果跟真值標籤 y 進行比較,就可以定義一個損失函數 L。

現在絕大部分機器學習都是在模型空間裡最小化損失函數。所以這個式子裡有三個量,分別是訓練數據 D,損失函數 L,還有模型空間 Ω。 這三個量都是超參數,它們是人為設計好的,是不變的。絕大部分機器學習過程,是在這三樣給定的情況下去做優化,找到最好的 ω,使得我們在訓練數據集上能夠最小化人為定義的損失函數。即便是這幾年提出的 meta learning 或者 learning2learn,其實也沒有跳出這個框架。因為機器學習框架本身從來就沒有規定最小化過程只能用梯度下降的方法,你可以用任何方法,都超不出這個這個式子所表達的框架。

但是為什麼訓練數據集 D、損失函數 L 和模型參數空間 Ω 必須人為預先給定?如果不實現給定,而是在機器學習過程中動態調整,會變成什麼樣子?這就是所謂的 Learning to Teach。我們希望通過自動化的手段,自動調節訓練數據集 D、損失函數 L 和模型參數空間 Ω,以期拓展現有機器學習的邊界,幫助我們訓練出更加強大的機器學習模型。

要實現這件事情其實並不簡單,我們需要用全新的思路和視角。我們在今年連續發表了三篇文章,對於用自動化的方式去確定訓練數據、函數空間和損失函數,做了非常系統的研究。

我給大家形象地描述一下我們的研究。 比如我們怎麼用自動化的方式去選擇合適的數據?其實很簡單。除了原來的機器學習的模型以外,我們還有一個教學模型 teacher model。這個模型會把原來的機器學習的過程、所處的階段、效果好壞等作為輸入,輸出對下一階段訓練數據的選擇。這個 teacher model 會根據原來的機器學習模型的進展過程,動態選擇最適合的訓練數據,最大限度提高性能。同時teacher model也會把機器學習在交叉驗證集上的效果作為反饋,自我學習,自我提高。

同樣 model teaching 的環路中也存在一個 teacher model ,它會根據原來的機器學習過程所處的階段、訓練的效果,選擇合適的函數空間,讓原來的機器學習擴大自己的搜索範圍,這個過程也是自適應的、動態的。原來的機器學習模型我們叫 student model,和我們引入的教學模型 teacher model 之間進行互動,就可以將學習過程推向一個新的高度。

同樣,teacher model也可以動態調整原來student model 所要優化的目標。 比如,我們的學習目標可以從簡到難,最開始的時候,一個簡單的學習目標會讓我們很快學到一些東西,但是這個學習目標可能和我們最終問題的評價準則相差很遠。我們不斷把簡單平滑的目標,向著問題評價的複雜的非連續函數逼近,就會引導 student model 不斷提高自己的能力,最後實現很好的學習效果。

總結一下,當我們有一個 teacher model,它可以動態地設計訓練數據集、改變模型空間、調整目標函數時,就會使得原來「student model」的訓練更寬泛、更有效,它的邊界就會被放大。 我們在三篇論文裡面分別展示了很多不同數據集上的實驗結果。

我自己認為 Learning to Teach 非常有潛力,它擴大了傳統機器學習的邊界。我們的三篇論文僅僅是拋磚引玉,告訴大家這件事情可以做,但前面路還很長。

到此為止,我把最近這一兩年微軟亞洲研究院在機器學習領域所做的一些研究成果跟大家做了分享,它們只是我們研究成果的一個小小的子集,但是我覺得這幾個方向非常有趣,希望能夠啟發大家去做更有意義的研究。

展望未來

現在機器學習領域的會議越來越膨脹,有一點點不理智。每一年那麼多論文,甚至都不知道該讀哪些。人們在寫論文、做研究的時候,有時也不知道重點該放在哪裡。比如,如果整個學術界都在做 learning2learn,是不是我應該做一篇 learning2learn 的論文?大家都在用自動化的方式做 neural architecture search,我是不是也要做一篇呢?現在這種隨波逐流、人云亦云的心態非常多。

我們其實應該反思:現在大家關注的熱點是不是涵蓋了所有值得研究的問題?有哪些重要的方向其實是被忽略的?我舉個例子,比如輕量級的機器學習,比如 Learning to Teach,比如對於深度學習的一些理論探索,這些方面在如今火熱的研究領域裡面涉及的並不多,但這些方向其實非常重要。只有對這些方向有非常深刻的認識,我們才能真正推動機器學習的發展。希望大家能夠把心思放到那些你堅信重要的研究方向上,即便當下它還不是學術界關注的主流。

接下來我們對機器學習未來的發展做一些展望,這些展望可能有些天馬行空,但是卻包含了一些有意義的哲學思考,希望對大家有所啟發。

量子計算

第一個方面涉及機器學習和量子計算之間的關係。量子計算也是一個非常火的研究熱點,但是當機器學習碰到量子計算,會產生什麼樣的火花?其實這是一個非常值得我們思考的問題。

目前學術界關注的問題之一是如何利用量子計算的計算力去加速機器學習的優化過程,這就是所謂的quantum speedup。但是,這是否是故事的全部呢?大家應該想一想,反過來作為一名機器學習的學者,我們是不是有可能幫助量子計算呢?或者當機器學習和量子計算各自往前走,碰到一起的時候會迸發出怎樣的新火花?

其實在量子計算裡有一些非常重要的核心問題,比如我們要去評估或者或者預測 quantum state(量子態),然後才能把量子計算的結果取出來。這個過程在傳統理論裡面已經證明,在最壞情況下,我們就需要指數級的採樣,才能對 quantum state 做比較好的估計。但這件事情會帶來負面影響,量子計算雖然很快,但是如果探測量子態耗費了大量時間來做採樣,就會拖垮原來的加速效果,最後合在一起,並沒有實現任何加速。

我們知道很多最壞情況下非常複雜的問題,比如 NP Complete問題,用機器學習的方法去解,其實可以在平均意義上取得非常好的效果。我們今年在ACML上獲得最佳論文的工作就是用機器學習的方法來解travelling salesman問題,取得了比傳統組合優化更高效的結果。沿著這個思路,我們是不是可以用機器學習幫助處理量子計算裡的問題,比如quantum state prediction,是不是根本不需要指數級的採樣,就可以得到一個相當好的估計?在線學習、強化學習等都能在這方面有所幫助。

同時,量子和機器學習理論相互碰撞時,會發生一些非常有趣的現象。我們知道,量子有不確定性,這種不確定性有的時候不見得是件壞事,因為在機器學習領域,我們通常希望有不確定性,甚至有時我們還會故意在數據裡加噪聲,在模型訓練的過程中加噪聲,以期獲得更好的泛化性能。

從這個意義上講,量子計算的不確定性是不是反而可以幫助機器學習獲得更好的泛化性能?如果我們把量子計算的不確定性和機器學習的泛化放在一起,形成一個統一的理論框架,是不是可以告訴我們它的 Trade-off 在哪裡?是不是我們對量子態的探測就不需要那麼狠?因為探測得越狠可能越容易 overfit。是不是有一個比較好的折中?其實這些都是非常有趣的問題,也值得量子計算的研究人員和機器學習的研究人員共同花很多年的時間去探索。

以簡治繁

第二個方向也很有趣,它涉及到我們應該以何種方式來看待訓練數據。深度學習是一個以繁治繁的過程,為了去處理非常複雜的訓練數據,它使用了一個幾乎更複雜的模型。但這樣做真的值得嗎?跟我們過去幾十年甚至上百年做基礎科學的思路是不是一致的?

在物理、化學、生物這些領域,人們追求的是世界簡單而美的規律。不管是量子物理,還是化學鍵,甚至經濟學、遺傳學,很多複雜的現象背後其實都是一個二階偏微分方程,比如薛丁格方程,比如麥克斯韋方程組,等等。這些方程都告訴我們,看起來很複雜的世界,其實背後的數學模型都是簡單而美的。這些以簡治繁的思路,跟深度學習是大相逕庭的。

機器學習的學者也要思考一下,以繁治繁的深度學習真的是對的嗎?我們把數據看成上帝,用那麼複雜的模型去擬合它,這樣的思路真的對嗎?是不是有一點捨本逐末了?以前的這種以簡治繁的思路,從來都不認為數據是上帝,他們認為背後的規律是上帝,數據只是一個表象。

我們要學的是生成數據的規律,而不是數據本身,這個方向其實非常值得大家去思考。要想沿著這個方向做很好的研究,我們需要機器學習的學者擴大自己的知識面,更多地去了解動態系統或者是偏微分方程等,以及傳統科學裡的各種數學工具,而不是簡單地使用一個非線性的模型去做數據擬合。

Improvisational Learning

第三個方向關乎的是我們人類到底是如何學習的。到今天為止,深度學習在很多領域的成功,其實都是做模式識別。模式識別聽起來很神奇,其實是很簡單的一件事情。幾乎所有的動物都會模式識別。人之所以有高的智能,並不是因為我們會做模式識別,而是因為我們有知識,有常識。基於這個理念,Yann LeCun 一個新的研究方向叫 Predictive Learning(預測學習)。它的思想是什麼?就是即便我們沒有看到事物的全貌,因為我們有常識,有知識,我們仍然可以做一定程度的預測,並且基於這個預測去做決策。這件事情已經比傳統的模式識別高明很多,它會涉及到人利用知識和常識去做預測的問題。

但是,反過來想一想,我們的世界真的是可以預測的嗎?可能一些平凡的規律是可以預測的,但是我們每個人都可以體會到,我們的生活、我們的生命、我們的世界大部分都是不可預測的。所以這句名言很好,The only thing predictable about life is its unpredictability(人生中唯一能預測的就是其不可預測性)。

我們既然活在一個不可預測的世界裡,那麼我們到底是怎樣從這個世界裡學習,並且越來越強大?以下只是一家之言,我們猜測人類其實在做一件事情,叫 Improvisation,什麼意思?就是我們每個人其實是為了生存在跟這個世界抗爭。我們每天從世界裡面學習的東西,都是為了應付將來未知的異常。當一件不幸的事情發生的時候,我們如何才能生存下來?其實是因為我們對這個世界有足夠的了解,於是會利用已有的知識,即興制定出一個方案,讓我們規避風險,走過這個坎。

我們希望在我們的眼裡,世界的熵在降低。我們對它了解越多,它在我們的眼裡的熵越低。同時,我們希望當環境發生變化時,比如意外發生時,我們有能力即興地去處理。這張PPT 裡面描述的即興學習框架就是我們在跟環境互動,以及在做各種思想實驗,通過無監督的方式自我學習應對未知異常的能力。

從這個意義上講,這個過程其實跟 Predictive Learning 不一樣,跟強化學習也不一樣,因為它沒有既定的學習規律和學習目標,並且它是跟環境做交互,希望能夠處理未來的未知環境。這其實就跟我們每個人積累一身本事一樣,為的就是養兵千日用兵一時。當某件事情發生時,我怎麼能夠把一身的本事使出來,活下去。這個過程能不能用數學的語言描述? Improvisational Learning 能不能變成一個新的機器學習研究方向?非常值得我們思考。

群體智慧

最後一個展望涉及到一個更哲學的思辨:人類的智能之所以這麼高,到底是因為我們個體非常強大,還是因為我們群體非常強大?今天絕大部分的人工智慧研究,包括深度學習,其實都在模仿人類個體的大腦,希望學會人類個體的學習能力。可是捫心自問,人類個體的學習能力真的比大猩猩等人類近親高几個數量級嗎?答案顯然不是,但是今天人類文明發展的程度,跟猴子、跟大猩猩他們所處社區的文明的發展程度相比卻有天壤之別。

所以我們堅信人類除了個體聰明以外,還有一些更加特殊的東西,那就是社會結構和社會機制,使得我們的智能突飛猛進。比如文字的產生,書籍的產生,它變成了知識的載體,使得某一個人獲得的對世界的認知,可以迅速傳播給全世界其他人,這個社會機制非常重要,會加速我們的進化。

再者,社會分工不同會使得每個人只要優化自己的目標,讓自己變強大就可以了。各個領域裡有各自的大師,而這些大師的互補作用,使得我們社會蓬勃發展。

所以社會的多樣性,社會競爭、進化、革命、革新,這些可能都是人類有今天這種高智能的原因。而這些東西在今天的機器學習領域,鮮有人去做非常好的建模。我們堅信只有對這些事情做了非常深入的研究,我們才能真正了解了人的智能,真的了解了機器學習,把我們的研究推向新的高度。

(*本文由AI科技大本營整理,轉載請聯繫微信1092722531)

相關焦點

  • 首屆國際分布式AI學術會議議程全公布:姚期智、劉鐵巖主旨演講
    姚期智、Victor Lessor、劉鐵巖、Noam Brown、田源棟、漆遠、葉傑平...... 無論是哪一位,在學術界和工業界都是舉重若輕的存在,而在將於 10 月 13 日至 15 日在北京召開的國際分布式 AI 學術會議——DAI(Distributed AI)上,這幾位大咖都將悉數出席!
  • 大會直擊|微軟亞洲研究院劉鐵巖:深度學習成功的秘密
    ,下面是雷鋒網(公眾號:雷鋒網)根據微軟亞洲研究院劉鐵巖教授的現場精華整理,全部內容已經經由劉教授確認。這些前沿技術將會陸續通過微軟的開源項目CNTK和DMTK分享給業界,以期和大家一起推動人工智慧技術的進一步發展。劉鐵巖博士,微軟亞洲研究院首席研究員,美國卡內基梅隆大學(CMU)客座教授。劉博士的研究興趣包括:人工智慧、機器學習、信息檢索、數據挖掘等。他的先鋒性工作促進了機器學習與信息檢索之間的融合,被國際學術界公認為「排序學習」領域的代表人物,他在該領域的學術論文已被引用近萬次。
  • 機器學習未來十年:你需要把握的趨勢和熱點
    機器學習的具體定義也因此有許多不同的說法,分別以某個相關學科的視角切入。但總體上講,其關注的核心問題是如何用計算的方法模擬類人的學習行為:從歷史經驗中獲取規律(或模型),並將其應用到新的類似場景中。那麼,當我們談機器學習時,到底在談些什麼?從業者需要掌握哪些前沿技術?未來,又有什麼技術趨勢值得期待?
  • 當代人需要反思的環保問題
    這也是我們當代人需要反思的。另一方面,大多數的企業家在環保問題上,考慮的都是投入和產出比,用最廉價的費用上一套應付環保部門檢查的設備,最終檢測不合格而且還不長期運行設備,這也是我們當代人值得反思的。我們現在所做的環保,不是為了我們自己,是為了我們子孫後代,為了千千萬萬中華兒女能夠傳承,讓我們一起攜手,為了社會責任和中華名族的傳統品德,努力把我國的環保做好。為國家的現代化建設貢獻自己的一份力量。
  • 孩子睡不夠覺,我們該反思什麼?
    孩子睡不夠覺,我們該反思什麼?首先該反思的,是多數人對睡眠的重要意義疏於了解。心理學研究表明,長期睡眠不足會對人造成嚴重破壞。起床後昏昏沉沉、午餐後想睡覺、課堂上打瞌睡——這些看似正常的現象,其實都是睡眠不足的後果。對學生而言,睡眠剝奪會對認知和運動功能造成毀滅性的影響——用美國醫學教授威廉·德門特的話來說,睡眠剝奪會「讓你變笨」。
  • 觀點| 我們該如何學習機器學習中的數學
    數學在機器學習中非常重要,不論是在算法上理解模型代碼,還是在工程上構建系統,數學都必不可少。通常離開學校後很難有機會靜下心學習數學知識,因此我們最好能通過閱讀小組或讀書會等形式營造環境,並專注學習那些在實踐中常常需要用到的數學知識。數學達到什麼水平才可以開始機器學習?人們並不清楚,尤其是那些在校期間沒有研究過數學或統計學的人。
  • 機器學習、深度學習,然後軟體裡面的流程是機器學習之前要做好的
    人工智慧賦能智能工廠,為什麼需要先打造標準?最近有一篇採訪了江蘇樂博智能製造新疆地區總經理陳輝的報導,報導中討論到工業4.0轉型升級中智能工廠的問題,想了解一下各方和樂博ai是如何推動打造智能工廠的?樂博ai還有哪些可以突破的地方?
  • 機器學習開發者的現代化路徑:不需要從統計學微積分開始
    看到與機器學習類似的地方了麼?值得慶幸的是,編程已經有長的歷史了,現在已經很流行並且對經濟也相當重要,我們已經找到了其它方式給嶄露頭角的年輕(或資深)程式設計師所需要的技能,去做他們想做的事情,例如:創造軟體。這並不意味著要教新手程式設計師可計算性和計算複雜度的理論,或者是算法與數據結構的深層細節。一些有用的知識(後者提到的算法複雜性與數據結構)可以晚點教。
  • 自然壽命只有半年的生物,只能隨波逐流,靠基因分析分辨個體
    導語:自然壽命只有半年的生物,只能隨波逐流,靠基因分析分辨個體。評世間萬事,覽人間美景,大家好,歡迎點閱本期內容。海洋孕育著萬般的生命,這個地球生命的最初起源地,有著太多神秘和未知。它們會用觸手來捕獵,食物多為水母、浮遊生物以及軟體動物,不過有意思的是,它們的觸手活動力非常有限,它們在海中大多時候都只能隨波逐流。這種生活在大西洋、太平洋以及印度洋的水母,壽命非常的短,一般在生存了或者繁殖幾個月之後就會自然死亡。在野外,它們最多也只能活半年。
  • 人間清醒天蠍座:一個不隨波逐流,活得強大且理性的星座
    主筆:老妖 在這個世界上,在我們每個人身邊,總是充滿著太多太多的誘惑。 所以會導致自己走進一種隨波逐流,甘願臣服於別人的狀態中。但這樣的狀態會讓自己的人生,從此被別人主宰。 而天蠍座,就是最抗拒這種狀態的一個人。他們有時候寧願自己擁有的東西少一點,寧願自己過得辛苦一點。他們也自己活得強大,活的驕傲,活的理性。
  • 李庚南:P2P網貸歸零之後我們需要反思什麼?
    在做好P2P網貸善後的同時,我們更需認真反思。從P2P網貸的橫空出世,到遍地蔓延、野蠻生長,到跑路不絕、暴雷不斷,再到徹底淪陷,這其中環環相扣的變故,都有值得我們深思的地方。可見,對於一種創新背後的商業模式,需要站在市場的角度、監管的角度識別其合理性、可持續性,及時進行引導、規範,不要任其野蠻、無序生長,不要等到不可控的時候方幡然醒悟。P2P網貸難邁的坎:轉型還是退出?
  • 劉蔣巍談我國教育病態:《假設我很努力》
    這些行業,是不需要太高的學歷。但我沒有接受過高等教育,我的認知會受限,我的圈子會受限,我的發展也會受限。所以,我會去參加一些培訓班,不管是技能培訓的還是管理培訓的。藉助這些培訓班,CEO班、技能培訓班等,去拓寬自己的圈子,拓寬自己的眼界。假設哪天經營不善,人員流失,甚至現金流出現了問題。假設哪天經營不下去了,想找份工作過渡一下,學一學經驗,再自己二次創業。
  • 從零開始的人工智慧和機器學習,該從哪裡入手呢?
    小芯的朋友曾在Apple Store工作,但他想換一種生活,於是開始學習自己平時提供服務的這項技術——機器學習和人工智慧。但初學者有太多事情要做了,太多太多。每周,Google或Facebook似乎都會推出一種新的人工智慧服務以更好地提升用戶體驗。他這裡就不再說無人駕駛汽車了。它固然很好,不過他不喜歡開車,另一個覺得在路上也不安全。
  • 《局外人》:加繆,什麼是局外人,隨波逐流,對什麼都無所謂
    《局外人》:加繆,什麼是局外人,隨波逐流,對什麼都無所謂默爾索是個什麼樣的人?他就是一個局外人,什麼是局外人?隨波逐流,對什麼都無所謂,包括對於自己的前途和利益,都無所謂,哪怕是媽媽去世,他也在守靈的時候,抽菸喝咖啡,和別人聊天,昏昏入睡。
  • 機器學習到底需要多少數據?可能並不是越多越好
    機器學習中最值得問的一個問題是,到底需要多少數據才可以得到一個較好的模型?從理論角度,有Probably approximately correct (PAC) learning theory來描述在何種情況下,可以得到一個近似正確的模型。但從實用角度看,PAC的使用範圍還是比較局限的。
  • 這個世界上有太多的不可能,需要我們敢於站出來去創造奇蹟
    他找到自己的好友韋斯特福特,談了自己想從事飛機製造事業的意願。兩人一拍即合,當即決定用當地廉價的木材來製造飛機。 1916年,第一架浮筒式小木飛機製造出來了。波音親自架著飛機進行試驗,這一次的飛行試驗非常成功。同年,他們在西雅圖郊區正式成立了「太平洋航空產品公司」。1917年,公司改名為「波音公司」。
  • 《戀愛中的蘇格拉底》:當我們在談哲學科普書的時候我們在談些啥
    哲學是不是離我們的現實生活很遠?當然不是。哲學是不是就是小區門衛的經典三問:你是誰?你從哪來?要到哪去?當然不止是。關於哲學,我們對它有太多太多的誤會。有人認為哲學知識都是艱澀難懂,與我們的日常生活毫無關聯。