深度學習幾大難點

2021-08-18 03:01:04 字數 2195 閱讀 5522

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、rnn,以及andrew專案組設計的**網路,都各有各的特色。要把整個網路框架設計好,還是比較需要經驗的,也是相當費腦力的。當然,這是整個領域最有研究價值的模組

C 設計語言三大難點

預處理問題 const問題 sizeof問題 1 巨集定義 define 1 簡單的巨集定義 define 巨集名 字串 例 define pi 3.1415926 2 帶引數的巨集定義 define 巨集名 參數列 巨集體 在使用簡單巨集定義時,當字串中不只乙個符號時,加上括號表現出優先順序 如果...

深度學習演算法好學嗎 深度學習演算法的幾個難點

1 區域性最優問題。深度學習演算法的目標函式,幾乎全都是非凸的。而目前尋找最優解的方法,都是基於梯度下降的。稍微有點背景知識的人都知道,梯度下降方法是解決不了非凸問題的。因此,如果找到最優解,將是深度學習領域,非常值得研究的課題。andrew在google的工作,也就是那只貓,其實訓練過程是讓人很費...

SEO三大難點及解決辦法

上次在在航空航天大學聽了zac的剖析seo核心技術講座 由於對seo方面的內容一筆帶過,這次詳細寫一下。在這次講座有一頁ppt資訊量非常大,其本頁ppt幾乎囊括了seo技術的方方面面,其中在seo方面有三大難點,一直困擾著站長,下面就著重講解一下。提示 本文內容是按照我本人的理解來寫的,並不全包含z...