算法工程師修仙之路:Keras(三)

深度學習基礎

什麼是深度學習


爲什麼是深度學習,爲什麼是現在

  • 深度學習用於計算機視覺的兩個關鍵思想,即卷積神經網絡和反向傳播,在1989年就已經爲人們所知。長短期記憶(LSTM, long short-term memory)算法是深度學習處理時間序列的基礎,它在1997年就被開發出來了,而且此後幾乎沒有發生變化。

  • 總的來說,三種技術力量在推動着機器學習的進步:

    • 硬件
    • 數據集和基準
    • 算法上的改進
  • 由於這一領域是靠實驗結果而不是理論指導的,所以只有當合適的數據和硬件可用於嘗試新想法時(或者將舊想法的規模擴大,事實往往也是如此),纔可能出現算法上的改進。機器學習不是數學或物理學,靠一支筆和一張紙就能實現重大進展。它是一門工程科學。

硬件

  • GPU
    • 在21世紀前十年裏,NVIDIA 和 AMD 等公司投資數十億美元來開發快速的大規模並行芯片(圖形處理器,GPU),以便爲越來越逼真的視頻遊戲提供圖形顯示支持。
    • 這些芯片是廉價的、單一用途的超級計算機,用於在屏幕上實時渲染複雜的3D場景。這些投資爲科學界帶來了好處。
    • 2007 年, NVIDIA 推出了 CUDA,作爲其 GPU 系列的編程接口。
    • 少量 GPU 開始在各種高度並行化的應用中替代大量 CPU 集羣,並且最早應用於物理建模。
    • 深度神經網絡主要由許多小矩陣乘法組成,它也是高度並行化的。2011 年前後,一些研究人員開始編寫神經網絡的 CUDA 實現,而 Dan Ciresana 和 Alex Krizhevskyb 屬於第一批人。

數據

  • 就數據而言,除了過去20年裏存儲硬件的指數級增長(遵循摩爾定律),最大的變革來自於互聯網的興起,它使得收集與分發用於機器學習的超大型數據集變得可行。如今,大公司使用的圖像數據集、視頻數據集和自然語言數據集,如果沒有互聯網的話根本無法收集。

  • 如果有一個數據集是深度學習興起的催化劑的話,那麼一定是 ImageNet 數據集。它包含140萬張圖像,這些圖像已經被人工劃分爲1000個圖像類別(每張圖像對應1個類別)。但 ImageNet 的特殊之處不僅在於其數量之大,還在於與它相關的年度競賽。

算法

  • 梯度傳播
    • 除了硬件和數據之外,直到21世紀前十年的末期,我們仍沒有可靠的方法來訓練非常深的神經網絡。因此,神經網絡仍然很淺,僅使用一兩個表示層,無法超越更爲精確的淺層方法,比如 SVM 和隨機森林。
    • 關鍵問題在於通過多層疊加的梯度傳播。
    • 隨着層數的增加,用於訓練神經網絡的反饋信號會逐漸消失。
    • 這一情況在2009—2010年左右發生了變化,當時出現了幾個很簡單但很重要的算法改進,可以實現更好的梯度傳播:
      • 更好的神經層激活函數(activation function);
      • 更好的權重初始化方案(weight-initialization scheme);
      • 更好的優化方案(optimization scheme);
    • 只有這些改進可以訓練 10 層以上的模型時,深度學習纔開始大放異彩。

這種趨勢會持續嗎

  • 深度學習有幾個重要的性質,證明了它確實是人工智能的革命,並且能長盛不衰。20 年後我們可能不再使用神經網絡,但我們那時所使用的工具都是直接來自於現代深度學習及其核心概念。

  • 這些重要的性質可大致分爲以下三類:

    • 簡單。
      • 深度學習不需要特徵工程,它將複雜的、不穩定的、工程量很大的流程替換爲簡單的、端到端的可訓練模型,這些模型通常只用到五六種不同的張量運算。
    • 可擴展。
      • 深度學習非常適合在GPU或TPU上並行計算,因此可以充分利用摩爾定律;
      • 深度學習模型通過對小批量數據進行迭代來訓練,因此可以在任意大小的數據集上進行訓練;
      • 唯一的瓶頸是可用的並行計算能力,而由於摩爾定律,這一限制會越來越小。
    • 多功能與可複用。
      • 與之前的許多機器學習方法不同,深度學習模型無須從頭開始就可以在附加數據上進行訓練,因此可用於連續在線學習,這對於大型生產模型而言是非常重要的特性。
      • 訓練好的深度學習模型可用於其他用途,因此是可以重複使用的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章