1、區域性最優問題。
深度學習演算法的目標函式,幾乎全都是非凸的。而目前尋找最優解的方法,都是基於梯度下降的。稍微有點背景知識的人都知道,梯度下降方法是解決不了非凸問題的。因此,如果找到最優解,將是深度學習領域,非常值得研究的課題。
andrew在google的工作,也就是那只貓,其實訓練過程是讓人很費解的。為了縮短訓練時間,專案組採用了分布式訓練的方式。採用了1000 臺計算機,在不同的計算機上儲存不同的訓練資料,不同的訓練伺服器通過引數伺服器進行引數的交換。訓練過程開始後,所有的訓練計算機從引數伺服器更新當前 引數,然後利用當前引數以及本機器上的訓練資料,計算得到當前的梯度,通過貪婪式方法,訓練到不能再訓練為止,然後將引數的更新量提交給伺服器,再獲取新 的引數進行更新。
在這個過程中,出現了不同機器在同步時間上的乙個大問題。具體闡述如下:梯度下降這種方法,在計算梯度的時候,一定要知道當前引數的具體值,梯度是 針對某乙個具體的引數值才有意義的。但是,由於在這個系統中,計算機非常多,當計算機a從伺服器上獲得引數值後,完成梯度的計算得到步進量的時候,可能在 它提交結果之前,計算機b已經修改了引數伺服器上的引數了。也就是說,a所得到的步進量,並不是針對當前的引數值的。
**中,作者注意到了這個問題,但是故意不去理會,結果訓練結果居然不錯。作者的解釋是:這是一種歪打正著的現象。
為什麼能夠歪打正著呢?有可能是這樣的:非凸問題,本來就不是梯度下降法能夠解決的。如果不存在同步難題,那麼隨著訓練的深入,結果肯定會收斂到某乙個區域性最優解上面去。而現在這種同步問題,恰好能夠有助於跳出區域性最優解。因此最終的訓練結果還算不錯。
作者並沒有證明,這種方式,對於尋找全域性最優一定是有幫助的。對於最終的結果是否一定是經驗最優的,也沒有證明。因此我感覺,深度學習裡面,這種超高維引數的最優結果的尋優,是乙個很值得深入研究的問題。它對於最終的效果也確實影響很大。
2、記憶體消耗巨大,計算複雜。
記憶體消耗巨大和計算複雜體現在兩個方面。(1)訓練過程。(2)檢測過程。
這兩個過程的計算複雜,根本原因都是龐大的引數規模造成的。比如google的這個專案,每乙個位置都用到了8個模版,每乙個畫素,這8個模版都是 不同的,因此導致最後的模版總數很大,所以訓練和檢測都很慢。當然,這種模版的設計法,讓人不好理解,為什麼不同的畫素位置,模版完全不同。我還是支援以 前的卷積神經網路裡面的思想,不同位置的模版都是一樣的,但沒乙個位置,模版數量就遠不止8個了。這樣的好處是,記憶體空間中,總的模板數下降了;但缺點 是,計算更複雜了。
因此,如果能夠找到乙個好的方法,能夠有效的較低計算複雜度,將是很有意義的。(比如某個鄰域內如果方差極小,其實根本就沒必要計算了,直接賦0.)
3、人腦機理還有很多沒用上。
深度學習模擬的是人腦的其中乙個很小的方面,就是:深度結構,以及稀疏性。
但事實上,人腦是相當複雜滴。關於視覺注意機制、多解析度特性、聯想、心理暗示等功能,目前根本就沒有太多的模擬。所以神經解剖學對於人工智慧的影響應該是蠻大的。將來要想掀起機器智慧型的另乙個研究高潮,估計還得繼續借鑑神經解剖學。
4、人為設計模版的可行性。
一直在想,為什麼第一層用於檢測角點和邊緣這種簡單特徵的模版,一定需要通過無監督訓練得到,如果人為實現模擬的話,能否也得到較為理想的結果呢?
從神經解剖學的成果上來看,人腦的v1區和v2區,神經細胞確實是按照規律排列的。而且都是可以人為設計的。而且,乙個讓人懷疑的地方就是,v1區和v2區的神經細胞,是先天發育好的,還是後天訓練出來的?如果是先天的,那就是說,這種模版是可以人為設計的。
5、代價函式的設計方法。
代價函式的設計,在初學者看來,是很奇怪的。代價函式的設計,直接影響到最終的模版訓練結果,可以說是深度學習中最核心的模組。
從目前已經發表的**來看,一是考慮重構誤差,二是加入某種懲罰項。懲罰項的設計有多種模式,有考慮一階正規化的,有考慮二階正規化的,各種設計可謂千 奇百怪。有博文上講到,懲罰項的作用是為了防止過擬合,但也有博文的觀點是,懲罰項是為了保證稀疏性。(感覺過擬合與稀疏性是否存在某種內在聯絡。)
當然,代價函式的設計方法,目前還在不斷探索,感覺這是乙個可以**文的點。
6、整個神經網路系統的設計。
神經網路的設計方法,包含了研究人員對人腦的理解方式。cnn、rbm,以及andrew專案組設計的**網路,都各有各的特色。要把整個網路框架設計好,還是比較需要經驗的,也是相當費腦力的。當然,這是整個領域最有研究價值的模組。
end.
深度學習 Wake Sleep演算法
本文翻譯自2007 to recognize shapes,first learn to generate images,geoffrey hinton.第五種策略的設計思想是使得高層的特徵提取器能夠和底層的進行通訊,同時可以很容易地使用隨機二態神經元的分層網路來實現.這些神經元的啟用概率是關於總輸...
機器學習and 深度學習 and 優化演算法
ssh keygen t rsa c 我的ssh金鑰 將 我的金鑰 替換為新的自己命名的就行,然後github建倉進行ssh繫結 git remote v 檢視遠倉庫 git remote set url origin git github.com username newrepo.git 切換到自...
深度學習異物檢測演算法 深度學習演算法部署專案 開源
目前筆者的開源工程處於建立的初期,很多模組還不完善,所以目前是乙個半開源的狀態,但是完全不影響二次開發和使用,介面比較簡單,感興趣可以嘗試一下。後續筆者會開源所有源 但是真心希望小夥伴們給一些點讚和關注,整個專案都是業餘時間做比較辛苦,如果沒人關注了不知道能堅持多久,先行謝謝了!人臉檢測 木木林 人...