從神經網絡被學術界排擠,到計算機科學界三句話不離人工智能、各種建模和預測任務被深度學習大包大攬,只不過短短十年時間。這十年里我們目睹了 dropout、SGD+動量、殘差連接、預訓練等等深度學習技術的大爆發,見證了學術研究全面擁抱深度學習,也聽到了對深度學習不足之處的質疑之聲、感受到了很多人對非深度學習方法「復興」的期盼。
reddit 上近期就出現了一個帖子,把網友們聚起來聊聊除了神經網絡之外的機器學習方法的新發展,以及可以和各種模型配合、不僅限于改善神經網絡的概念和模型。也許這些現在并不熱門的研究里就埋下了下一次機器學習革命的種子,就像十年前研究神經網絡的學者們在冷落中迎來了革命的黎明一樣。
高斯過程 Gaussian Processes
高斯過程并不是近期新發明的技術,但它近幾年有重大發展,尤其是在技術的實現和拓展性方面。相比于神經網絡,高斯過程的特點在于:
更直觀,可解釋性更好(有句調侃是「高斯過程就是一組平滑器」),有更多的數學工具描述它的行為;
很高效,只需要很少的樣本和計算資源就可以學習;
可以方便地融合先驗知識,憑直覺設定一組參數之后,很可能不需要訓練就可以得到不錯的預測結果;
天然地符合貝葉斯法則。
高斯過程的研究里也融入了許多有價值的數學發現,涉及線性代數、概率、諧波分析等等。GPytorch 是一個了解高斯過程領域最優秀模型的好去處。
高斯過程的主要不足在計算方面,訓練和推理過程中一般都需要計算行列式和軌跡,或者從很大的矩陣中解算系統,存儲空間的需求按列長度的平方增長,而計算的時間復雜度為 O(n^3)。近幾年的進展也主要來自于更高效的算法或者近似計算方法(比如 KISS-GP、SKI、LOVE 等等)
基因算法&演化策略 Genetic Algorithms & Evolution Strategies
離散演化訓練是用基因算法配置網絡結構,然后讓得到的模型學習。它的一個動機來自于,在復雜環境中為稀疏的回報歸因是非常困難的,所以不如完全拋棄梯度,轉而采用計算更高效的演化策略,反倒可以在模型設計和參數搜索方面獲得更大的靈活度、取得更好的結果。其中采用的和大自然中的生物演化類似的「隨機突變+方向性選擇」的做法也規避了當前的強化學習中的一些問題。
谷歌大腦的研究員 David Ha 在這個領域做了許多研究,他也撰寫了易懂的介紹博客、配上了生動有趣的動圖,可以點擊 這里 詳細閱讀。
因果推理 Causal Inference
Judea Pearl 是這條路線的代表人物,Yoshua Bengio 等學者也加入了探索當中,并且在想辦法把它和現代機器學習結合到一起。提到這個方向的這位網友表示,他的一位做數據科學的好朋友的工作內容里就已經越來越多地涉及到因果推理,而且他認為因果推理帶來的革命在日后看來可能會比深度學習革命的影響更為深遠。接著他做了詳細的解釋:
首先要知道的是貝葉斯網絡。1980 年代的時候,Judea Pearl 正在探索各種能對人工智能領域的發展起到幫助的路線,貝葉斯網絡的發明就有一部分功勞是他的。但是貝葉斯網絡也有一些限制,它能在低維空間高效地捕捉聯合概率分布,但是說到底它也只能回答一些可觀測的問題。比如,給定了一些消費者的屬性,基于其它消費者的行為,預測這些消費者在未來六個月內不再繼續使用某個服務的概率。
但值得研究的問題還有很多。理想情況下,如果你要采取一些行動干預某個系統,你會希望能夠了解系統會發生哪些變化(由于行動干預)。沿著剛才消費者的例子說,如果把他們加入一個為了提高顧客忠實度和互動程度而設計的自動發送促銷郵件的清單里,他們不再繼續使用服務的概率會如何變化?這時候你需要思考的就是,給定了已知的消費者信息,也指定了要不要用某種方式干預之后,得到的結果會如何變化。這是因果關系運動的一個方面,目前看來 Rubin 和 Imbens 是這一方面的權威人物。詳細了解可以參考這篇文獻綜述 http://proceedings.mlr.press/v67/gutierrez17a.html 。
另一方面,你相當于在估計這個量 E[Y|X, do(T)],這里的 Y 是得到的結果、X 是觀察到的條件、T 是你要采取的措施。有沒有更通用的理解因果關系的方式呢?我很欣賞 Pearl 的分解方式,他展示了超越貝葉斯網絡之外的處理方式,而且可以把過程表示為一個因果圖模型。他的思路是,圖模型里的箭頭方向可以編碼因果關系的方向,而干擾某個系統就可以看作是破壞圖里的幾個邊。 繼續消費者的例子,也許你手里有一些曾經收到促銷郵件的消費者的數據,但他們的情況不一樣,你想知道其它情況的消費者看到促銷郵件以后的反應如何;而且,你手里現有的數據肯定不是雙盲的(因為是發現消費者有不再使用的意向之后才給他們發送促銷郵件)。所以,本來會根據客戶表現出的某些信號來決定是否給他們發送促銷郵件,但真的發了以后又會干擾這些信號;而且,對于不同來源的用戶,引發“要發送郵件”決定的具體信號又會各自不同…… 所以要怎么辦呢?在圖上做這些分析計算就可以幫助回答這些問題,或者,最起碼也可以知道哪些問題是可以回答的、哪些是回答不了的,以及想要回答現在回答不了的問題的話還需要哪些信息。
Judea Pearl 在 2017 年寫的《Book of Why》是一本非常棒的入門書籍,這個領域的每個研究者都應該讀一讀這本書,它很容易讀懂,只不過對于喜歡聽音頻書的人來說,里面談圖元素的部分還是最好用看的。如果你想做更深入的研究,Pearl 2009 年的學術專著《Causality》數學性更強,也更嚴謹,不過書里的習題和例子都很少,所以想要理解里面的所有內容還很需要花一些功夫。
《A Meta-Transfer Objective for Learning to Disentangle Causal Mechanisms》(https://arxiv.org/abs/1901.10912)論文講解了因果推理和深度學習之間的聯系,最起碼也要讀讀開頭的幾小節。更大更全的綜述可以讀讀 Pearl 的《Theoretical Impediments to Machine Learning With Seven Sparks from the Causal Revolution》(https://arxiv.org/abs/1801.04016),不過它實際涵蓋的內容和《Book of Why》有很多重合,先讀讀這篇論文再決定要不要買書來讀也挺好的。
反向強化學習 Inverse Reinforcement Learning
反向強化學習采用了和傳統強化學習相同的基礎設定,然后做相反的事。在強化學習里,給定一個回報函數,讓模型找到會得到最大回報的策略;在反向強化學習里,給定一個策略,然后模型找到可以被這個策略最大化的回報函數。
它的關鍵在于從對行為的觀察中學習,即便你可能無法訪問回報函數,或者無法模仿特定的執行器的行為。反向強化學習已經成功訓練出了和人的行為很類似的玩第一人稱射擊游戲的 AI。
反向強化學習中有一個重大的開放問題是如何從并非最優的演示中學習。目前的系統能很好地模仿人類,以至于它們體現出的失效模式也和人類相似。想要從人類身上學習,但是得到比人類更高的表現,理論上看起來是可行的,但做起來非常困難。近期的文獻綜述可以參考 https://arxiv.org/abs/1806.06877。
自動機器學習 AutoML
這個自領域很重要,也很酷。可以把它看做一個決策樹,在給定數據集以后幫你決定什么樣的數據處理流水線是最好的。它很有用,也會在整個機器學習領域中占據更多位置。谷歌目前就已經面向商業用戶提供 AutoML 服務,不過顯然這是面向自己沒有編程能力的客戶的。
目前最熱門的自動機器學習算法是 Auto-sklearn(https://automl.github.io/auto-sklearn/master/ ),還有基于它進一步改進的 Mosaic。AutoML 也有一些比賽,排名前幾的算法都有很高的參考價值。
除了上面這些之外,網友們還提到了最優傳輸理論 Optimal Transport Theory、符號回歸 Symbolic Regression、脈沖神經網絡 Spiking neural networks、隨機優化 Stochastic optimization,還有一些從生物學中得到啟發的方法等等。如果你也知道一些有趣的、近幾年有重大進展的機器學習方法,歡迎留言和我們討論。
-
神經網絡
+關注
關注
42文章
4777瀏覽量
100974 -
算法
+關注
關注
23文章
4625瀏覽量
93128 -
機器學習
+關注
關注
66文章
8429瀏覽量
132854
發布評論請先 登錄
相關推薦
評論