深度學習發展簡要筆記
來源:非正式組織
概要:在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨頭nature深度學習綜述《deep learning》文章中提到,這段期間神經網路模型被主流的計算機視覺和學術界所拋棄。
一、前言
深度學習的發展大致分為這麼幾個學期:
萌芽期:從BP演算法的發明(1970s-1980s)到2006年期間。
迅速發展期:從2006年棧式自編碼器+BP微調提出之後。
爆發期:從2012年Hintont團隊的Alexnet模型在ImageNet競賽取得驚人成績之後。
萌芽期
在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨頭nature深度學習綜述《deep learning》文章中提到,這段期間神經網路模型被主流的計算機視覺和學術界所拋棄。
這期間,學者們試圖用有監督學習的方式訓練深度神經網路,然而方法不是十分奏效,陷入了困境,在Andrew的教程中可以找到大概這幾點原因:數據獲取
數據獲取問題。有監督訓練依賴於有標籤的數據才能進行訓練。然而有標籤的數據通常是稀疏的,因此對於許多問題,很難獲得足夠多的樣本來擬合一個複雜模型的參數。例如,考慮到深度網路具有強大的表達能力,在不充足的數據上進行訓練將會導致過擬合。
局部極值問題。使用監督學習方法來對淺層網路(只有一個隱藏層或者沒有隱藏層)進行訓練通常能夠使得參數收斂到合理的範圍內。但是當用這種方法來訓練深度網路的時候,並不能取得很好的效果。特別的,使用監督學習方法訓練神經網路的時候,通常會涉及到求解一個高度非凸的優化問題。對深度網路而言,這種非凸優化問題的搜索區域中充斥著大量「壞」的局部極值,因而使用梯度下降法(或者像共軛梯度下降法,L-BFGS等方法)效果並不好。
梯度彌散問題(或者梯度消失)。梯度下降法在使用隨機初始化權重的深度網路上效果不好的技術原因是:梯度會變得非常小。具體而言,當使用反向傳播方法計算導數的時候,隨著網路的深度的增加,反向傳播的梯度(從輸出層到網路的最初幾層)的幅度值會急劇的減小,結果就造成了整體的損失函數相對於最初幾層的權重的導數特別小。這樣,當使用梯度下降法的時候,最初幾層的權重變化非常緩慢,以至於他們不能夠從樣本中進行有效的學習。這種問題通常被稱為「梯度的彌散」或者梯度消失。
因為一直沒有找到有效的解決這些問題的方法,這期間,深度神經網路的發展一直不溫不火。或者說在2001年Hochreiter的Gradient flow in recurrent nets: the difficulty of learning long-term dependencies(好像是這篇)提出了神經網路存在的幾個問題後,在接下來的幾年內神經網路的發展陷入了低谷。而那幾年流行的機器學習演算法是SVM和集成模型(隨機森林、adaboost等)。
迅速發展期
2006年hinton在nature上發表了一篇文章Reducing the dimensionality of data with neural networks,針對上面提到的三個深度學習的問題,提出了棧式自編碼器+BP微調的解決方案。在一定程度上解決了上面的三個問題。
棧式自編碼神經網路是無監督學習演算法。因而不需要規模很大的有標籤樣本。
經過自編碼神經網路訓練後的參數已經落在一個較優的位置上,從這個位置開始BP微調,不用擔心局部極值問題。
自編碼神經網路訓練已經使得深度網路的前幾層具有表達能力了,比如可以提取出圖片的邊,局部組建等等,即使有梯度彌散問題,前幾層參數不再更新,也不會影響最終深度網路的表達能力。
從此,深度學習開啟嶄新的浪潮。
爆發期
在12年的ILSVRC競賽中,Hinton團隊的Alexnet模型Imagenet classification with deep convolutional neural networks將1000類分類的top-5誤差率降低到了15.3%,碾壓了第二名使用SVM演算法的26.2%,開啟了深度學習的革命,從此之後,深度學習走上了指數式的發展道路。
回到Hilton團隊的Alexnet模型上,僅僅使用了有監督的訓練,貌似沒涉及無監督的預訓練。不是在之前說有監督的深度學習訓練存在很多問題嗎,大概是因為這幾條原因,導致了有監督訓練的可行:
大規模標註數據的出現。在ILSVRC使用的數據集包括120萬的訓練圖片,5萬張驗證圖片和15萬張測試圖片。這些圖片都是有標註的(屬於1000類),而在imagenet出現之前,這樣規模的標註數據是不存在的。
對於局部極值的問題,nature綜述中,三個大牛作者的說法是:對於深度網路來說,局部極值從來都不是一個問題,從任意的初始參數值開始訓練網路,最後都能達到相似的分類效果。這也是被最近的理論和實踐所證明的。
對於梯度彌散導致的收斂速度慢的問題,Alexnet模型的兩大利器:ReLu激活函數和GPU並行加速,前者使SGD有6倍的加速,後者使用兩塊CTX580GPU也極大的加快了SGD的收斂速度,兩者的效果相乘,使得無監督預訓練幾乎是多餘的了,梯度彌散問題也不再是一個很大問題。
總結
對於06-12年期間的深度神經網路主要以無監督預訓練為主流,從12年以後,這時資料庫足夠大(上萬級別),模型足夠先進(ReLU激活函數,dropout等等),同時計算速度足夠快(GPU)加速,使得無監督預訓練(自編碼神經網路)在很多應用場景中失去了存在的價值,有監督訓練已經足夠完成任務。
一句話總結,06年的無監督預訓練開啟了深度學習的紀元,在之後深度學習快速發展的過程中,大數據的獲取、計算機硬體的發展以及深度模型的升級使得有監督訓練重新走上舞台,無監督訓練也算是完成了歷史使命。
那麼預訓練還有用嗎?答案是肯定的,比如我們有一個分類任務,資料庫很小,這時還是需要通過預訓練來避免過擬合的問題,只不過預訓練是通過在一個大的資料庫上,通過有監督來完成的,這種有監督預訓加小的資料庫上的微調的模型稱為Transfer learning。
未來智能實驗室致力於研究互聯網與人工智慧未來發展趨勢,觀察評估人工智慧發展水平,由互聯網進化論作者,計算機博士劉鋒與中國科學院虛擬經濟與數據科學研究中心石勇、劉穎教授創建。
未來智能實驗室的主要工作包括:建立AI智能系統智商評測體系,開展世界人工智慧智商評測;開展互聯網(城市)雲腦研究計劃,構建互聯網(城市)雲腦技術和企業圖譜,為提升企業,行業與城市的智能水平服務。
推薦閱讀:
※子三的【3.7職場發展】
※當代微生物學的發展趨勢
※《名原》一書的發展歷史與介紹
※安化黑茶產業的正道是:發展並打造正宗「安化黑茶」品牌