一文講述如何將預測正規化引入到機器學習模型中

IT技術精選文摘發表於2018-06-11

640?wx_fmt=gif

隨著人工智慧的持續深入,深度學習技術在多智慧體學習、推理系統和推薦系統上取得了很大進展。

對於多智慧體來說,預測能力有著關鍵性的作用。一個訓練有素的智慧體已經能騙過智商正常的人類了!你可能不會相信,僅僅從一個反應系統學習90%的動作命令,它就已經可以取得這樣的“成就”了。

640?wx_fmt=png

主要思路

本文構建了一個在視覺條件下以感官資訊作為輸入的預測模型。由於無法準確建立感官資訊的運動方程,只能通過機器學習來完成。

640?wx_fmt=png

實現細節

構建一個上述的預測編碼器本身十分簡單,問題的關鍵在於縮放上。在構建一個系統的時候,有時可以通過將一個大的系統拆分成小塊或者縮小數量來解決這個問題,而不是一次性構建一個龐大的整體。我們就應用這種想法。

我們不用構建一個大規模的預測編碼器來處理大影像,而是構建許多小規模的預測編碼器。工作時,每個小編碼器都輸入並處理一個小的片段,工作流程如下圖所示:

640?wx_fmt=png

這樣我們就得到了一個“分散式”預測系統。

當然,這樣仍然存在問題:雖然每個單元能夠獨立地進行預測了,但是它們所處理的訊號有些具有全域性一致性。

640?wx_fmt=png

如何解決這一問題呢?

壓縮!壓縮方法就像去噪自編碼器(denosing autoencoder)一樣,強制每個單元只能預測,而且只能使用基本特徵進行預測。

我們通過引入一個瓶頸,縮小中間層來實現壓縮功能。一旦這一功能實現了,我們就能利用“壓縮後”的表達資訊連線到相鄰單元,從而構成橫向連線。工作流程如下圖所示:

640?wx_fmt=png

到目前為止,我們實現了:每個單元不光可以預測自身的輸入資訊,還可以預測附近單元的輸入資訊。由於感官資料通常具有區域性性(locality)特點,這些附近單元的附加資訊通常對預測是十分有用的。

需要注意的是,即使現在的系統是稀疏連線的(本地連線),只要我們新增更多的單元(其實就是以更高解析度處理影像)就可以擴充套件這個系統而且總的收斂時間將不受任何影響(假設新增的算力與新增的單元成正比)。

640?wx_fmt=png

下圖所示:

640?wx_fmt=png

好了,現在有了較高一層單元,我們就可以發現更大規模視野的規律。我們可以不斷地新增更多的層,直到剩下一個能夠捕獲整個場景規律的單元,儘管這個單元處理的解析度可能不是很高。

層數增加帶來單元數量的增加,每個單元都會產生預測資訊,中間這些額外的預測資訊可以做什麼呢?

作為反饋進行回傳!這樣,可以幫助低一層的單元更好地進行預測,如下圖所示:

640?wx_fmt=png

到目前為止,我們就完成了一個完整的視覺預測模型的系統搭建任務。每個單元都有其清晰的目標函式,誤差以分散式的方式在系統中傳播,而不是以單個反向傳播標籤的形式,並且系統仍然具有擴充套件性。原理上,這就是通用的視覺預測模型——沒有任何變形,只是以一種新的方式安排了聯想記憶(associative memories)。

該模型的主要目標是進行預測。如果構建輸入訊號的內部模型,這個系統仍然可以勝任。由於其內部的迴圈連線,該系統可以擴充套件為非常複雜的模型。下面的動畫顯示了資訊的流動過程:

640?wx_fmt=jpeg

好了,現在系統設計完成了,詳細說明一下它到底能做什麼,在這之前,關於該模型還有幾個重要的東西需要強調一下:

640?wx_fmt=png

真的有用嗎?我們用實驗去證明!

大量的實驗證明,PVM確實在基本預測任務中發揮了巨大的作用,但它還能做別的事情嗎?

一方面,推薦系統會利用預測誤差給使用者提供他們想要的資訊,但是這是一個長期的過程。

另一方面,我們決定增加一個有監督的視覺目標跟蹤任務,並在上面測試PVM的實際效能。

我們往PVM中加入一些小東西:

640?wx_fmt=png

640?wx_fmt=png

熱圖的產生過程:

640?wx_fmt=png

總而言之:它是起作用的!詳細的資訊可以參考我的長篇論文。

通常通過訓練這個系統,我們可以將它用於穩定的視覺目標跟蹤,其效果可以打敗幾種最先進的目標跟蹤器。

第一行從左到右為:視覺輸入資訊、後續幾層的內部壓縮後的啟用訊號。

第二行:連續的預測資訊。第一層的視覺預測,對於第一層啟用的第二層預測等等。

第三行是誤差資訊(實際資訊與預測之間的偏差)。

第四行是有監督物件的熱圖(我們這個實驗是對“STOP”標誌敏感)。

最後一列:各種跟蹤的視覺化資訊。

以下是針對資料集中,其它跟蹤目標的例項(注意,我們從不在訓練集上對系統進行評估,因為這樣訓練出來的系統泛化性是很差的),紅色框代表人為標註的真實地面目標,黃色框是PVM的返回。總而言之,它的效果非常好,特別是它在低解析度(96*96)的視訊上仍然起作用(雖然這個解析度對於人類來說足夠理解場景中的物品了)。

結論

我們都知道,上世紀80年代提出的深度卷積神經網路是基於60年代的神經學知識發展起來的,現在還異常火熱。

PVM不同於卷積神經網路,它是基於全新的大腦皮質結構和功能的一種新的演算法。PVM能避免許多機器學習都會遇到的問題:比如過度擬合和梯度消失問題。它也不用使用一些繁雜的技巧:比如卷積和正則化,它會把任務當成線上訊號預測的任務。

雖然PVM還不能作為感知任何事物的黑盒(還沒人知道這個黑盒是否存在),但是與各種感知應用的方法來比,它還是很有競爭力的,這裡就不得不提深度學習的方法了,相比來說這是最大的挑戰。PVM的不同之處在於,它是由直覺進行驅動的,它將使機器人在長期內真正起作用。

目前有關PVM的應用性實驗都可以在Github上找到,enjoy!https://github.com/braincorp/PVM

公眾號推薦:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

相關文章