ReNN是如何考慮數據中的長-短期依賴的?

背景:近日跟朋友討論ReNN技術,長-短期依賴是朋友最關心的問題,討論任務這個問題可能成為ReNN對業界最大的貢獻。

討論內容整理如下:

機器學習最核心的任務是對信號中的不確定性進行建模,抽絲剝繭的取出目標。

  1. 短期依賴(short-term dependencies),又可稱之為局部模式(local patterns)。短期依賴相對比較容易處理,這是因為時空上相鄰的信號「容易產生火花」,具有較強的相關性和較小的不確定性。比如說,人臉識別時,當找到了眼睛的位置,那麼就很容易找到眉毛了。對於局部模式,我們用相對少量的模板匹配就能解決大部分問題。模板匹配在數學上可以表達為卷積,這也是簡單的CNN(卷積神經網路)在數字識別、人臉識別上取得如此巨大成功的原因。基於上述原因,ReNN也是採用CNN來處理局部模式。從更廣義的角度來看,人工神經網路的主要操作是矩陣乘法,而矩陣乘法本質上可視為卷積操作,所以,我認為人工神經網路的主要優勢在於卷積(模板匹配)。
  2. 長期依賴(long-term dependencies),又可稱之為全局模式(global patterns)。長期依賴一直是統計機器學習界頭疼的問題,這是因為隨著時空距離的增加,信號之間的相關性常常變得越來越弱,不確定性越來越大。比如說在自動駕駛場景中,人行道上行人10秒後的位置預測就比1秒後的位置預測要難得多,不確定性要大得多。那麼,神經網路能否對長期依賴建模呢?理論上來說,這需要足夠多的模板、足夠深的網路、足夠多的數據。但是,這兒的「足夠」常常令工業界的實踐者寸步難行。目前,深度學習的研究者的工作重心在於,盡量的降低上述「足夠」。

ReNN是如何考慮長期依賴的呢?

ReNN模仿人類的思維方式,設計了一個推理模塊(rule-modulating block [1])用於處理長期依賴。與神經網路不同的是,推理模塊要求明確的語義單元,作為推理的基本元素。這樣做的好處在於,語義單元是原始數據的抽象,可以大大降低待分析數據的維度。從低維度的語義單元來看,干擾信息大大減少了,相互之間的關係也就凸顯出來了。

繼續用自動駕駛場景舉例,如果我們能分析出行人的目視方向和人行道的擁擠情況,那麼預測10秒後的位置就會變得簡單很多。而如果我們使用所有特徵的時空關係來建模,那麼所需的模板數目和網路深度將是非常複雜的。

在ReNN的文章中[1],效果也是如此。ECG的特徵點(R峰)提取過程中,常常需要依據多個心跳之間的相互關係找出受雜訊干擾區間內的R峰。由於個體差異性和狀態變化,心率常常是不斷變化的。如果僅僅用模板匹配,那麼模板的需求量將是非常巨大的。ReNN引入推理模塊後,我們可以依據心跳周期這個語義推導出各個心跳的大致位置,然後再用模板匹配找出具體位置。這種方式的計算複雜度就大大降低了,而且能夠獲得更準確的結果和可解釋性。

目前,ReNN的推理單元是依據人的知識設計的規則演算法,用以提取語義單元並施用知識。事實上,這個過程還可以加入統計機器學習的。希望將來有一天,ReNN具有足夠的能力,自動提取語義單元並發現語義單元之間的規律。

[1] H. Wang, "ReNN: Rule-embedded Neural networks," arXiv preprint arXiv: 1801.09856, 2018


推薦閱讀:

集智:負基礎也能學會的機器學習(三)
為什麼我們需要傳統方法?
word embedding之GLOVE代碼
機器學習基礎與實踐(一)----數據清洗

TAG:機器學習 | 神經網路 | 人工智慧 |