TDA 導向的深度學習架構
引言
基於隨機梯度下降(SGD)的優化演算法的困局:
之前在學校的時候,我曾試圖利用內網的論壇給學生洗腦,批判當下深度學習的幾個瓶頸和未來 TDA 可以帶來的貢獻和突破。說實在,現在看來,那時是 too young too simple 了:深度學習的梅開二度是有堅實的使用場景和卓越的效果來支撐的。在自己也玩了一陣子一些開源的深度學習框架後,回顧當初的論斷(訓練的封閉性,數據/信號的單向流動-非雙向互動的學習,以及學習流程相對的靜態和局部性),雖然仍然難以推翻,但是當下研究的火熱的強化學習,主動/線上學習和遷移學習(transfer/generative learning)的發展方向,都在試圖突破這些深度學習先天的局限。儘管如此,一些目前深度學習賴以安身立命的關鍵演算法技巧,其滿足的條件和應用的場景都如此的苛刻,似乎除了圖像和語音方面的應用,彷彿一位柔弱的美女前台,除了給進門的客人帶來初次一見的驚艷,此外讓人都不好意思要求她還能做些什麼別的。
是的,我說的其中一個問題就是基於隨即梯度下降(Stochastic Gradient Descent)的學習優化演算法。簡單來講,SGD 起到的關鍵作用在於為一個深度學習模型在封閉的訓練過程中,指出迭代優化的方向。在很多圖像和語音的數據上,配上強大的運算硬體,SGD 有著讓人吃驚的效果,讓模型很有效的往最小化學習誤差(learning loss)的方向訓練/學習,將最後的測試效果顯著提升,例如一炮而紅的 AlexNet 和 AlphaGo。但是在許多充滿噪音和隨機性的訓練數據上,基於 SGD 的優化器會陷於局部的最優解的大坑裡很難爬出來,如下圖陷入的星號標記的窪地(這還不提它所需要的誤差函數的可微分性):
更駭人的漏洞在於,這些基於 SGD 的優化演算法,很容易被人利用,做一些讓人類看起來不可思議的蠢事,即所謂的 對抗樣本(adversarial examples):
這裡同樣肉眼看來都是熊貓的圖,加了馬賽克的右邊的圖在機器看來就是猿猴。
這樣的漏洞,在深度學習實際的應用中有可能是致命的。例如,自動駕駛依賴對於路標的圖像識別,如果像上面那樣,給前行的路標貼一層肉眼看不出來的馬賽克,讓機器讀起來有很高的概率認為是向左轉,嘿嘿。。。所以下次您在十字路口看到對面開過來一台特斯拉,小心點開慢點是沒錯的。
除此之外,同樣來自 OpenAI 的 Chris Olah 的博客 Colah 有一篇很開腦洞的博文。這篇以神經網路,流形和拓撲學 命名的博文也指出當前深度學習在完全忽略訓練數據的全貌和形狀下在模型初始化(initialisation)和參數維度(dimensionality)設定上有可能吃的虧,以及拓撲學可以帶來的解救。
接下來,我們來說說 TDA 能提供的解藥。
來自 TDA 的解救
這個時候,TDA 或者拓撲學中深厚的積澱或許能挑出一些現成的工具來解圍。
其一,是拓撲學識別局部最優解和全局最優解的能力(local minimum vs. global minimum):
這裡,猶他州立的王貝 教授 在訓練主動學習模型時,代入 TDA 具備的識別「更全局」的最優解的能力 去做主動尋找(篩選)模型訓練的子樣本,如上圖的左圖的訓練數據是根據局部解去篩選訓練樣本,而基於TDA的篩選的最優解是更全局的兩個峰值。
其二,是拓撲學其中的一個理論(Morse Smale Theory),當中對於局部最優解的配對和對消的可能性的定論(critical point offsetting)可以讓誤差函數的優化變得更加直接和有效:
這裡的上圖中有3個極值:x,y 和 z。其中 x 和 y 是相對於 z 的局部極值,Morse Smale 理論告訴我們,在不改變標的空間的(同調)拓撲結構的前提下,通過簡單的微調,可以對消 x 和 y,剩下 z 作為名副其實的全局極值(global critical point)作為優化的目標點。
其三,是在之前的專欄文章中展開論述的, TDA 的抗噪性和捕捉周期性的能力。
上圖的左邊是兩個波形的數據集,區別在於下面的波形是有鋸齒狀的噪音的,但通過 TDA 跑出來的 持續性峰群(persistent landscape),所獲得的結果(中間和右邊的圖),上下圖比較一下,可以看到基本上沒有受到這些噪音的影響。
同樣,之前用 TDA 分析股票價格的時序數據,如上圖,通過條形碼的長短(紅色的線條)也能很快的識別出真正的漲跌周期,而不是當中的小幅的震蕩波動。
內嵌 TDA 的深度學習架構呼之欲出
下面是 台灣中研院團隊 做的一個用來給音樂音頻的時序數據做標籤分類的模型的 TDA + CNN 架構。三層卷積神經網路(Convolutional Neural Network)的中間一層,加入了 TDA 計算持續性同調(persistent homology)拓撲結構的組件,然後和 CNN 並聯,從而增強了模型對於高頻周期性信號的捕捉能力。
富士研究院也用類似的架構(時序數據的深度學習)來分析其它的時序數據,獲得更強勁的效果:
這裡附上他們的 論文鏈接。
強在哪兒?
中研院團隊的模型架構,較之過去最優的CNN音頻模型,有統計上量化的準確率的提升。
背後直觀感性的原因,我想是:TDA 提取出來的信號填補了傳統 CNN 缺失的針對時序數據當中的周期性特徵的 強 捕捉能力。
而富士實驗室則聲稱達到了 接近 25% 的精準度的提升。
總結來說,TDA 在深度學習當中可以貢獻的價值在於它在深度學習比較難學到的(周期性)特徵的提取上 和學習成本的 優化的指引 上。我們有理由期待更多的這個方向的研發成果和商業應用。T.B.C。
關於「湃勢科技」
湃勢科技成立於2015年夏天,致力於推動數據的全息分析和價值提取。公司目前主推基於數據聯動演算法的產品「靈動圖表」,以及基於拓撲數據分析(TDA)演算法的產品「數聚圖譜」。詳情可點擊進入下面的鏈接:
https://lynctone.com/about
推薦閱讀:
※預測類問題與時間序列
※小白學數據 | 除了計算大姨媽周期,時間序列分析還有什麼用
※[時間序列分析][5]--非平穩時間序列模型與差分
※時序數據分析有哪些套路(一)
※EGARCH與GARCH的區別?
TAG:深度学习DeepLearning | 时间序列分析 | 机器学习 |