1.什么是深度學習
1.1人工智能、機器學習與深度學習
1.1.1人工智能
- 人工智能:努力將通常由人類完成的智力任務自動化
- 符號主義人工智能(1950s~1980s),專家系統(1980s)
1.1.2機器學習
- 查爾斯 • 巴貝奇發明分析機(1930/40s)
- 阿蘭 • 圖靈在1950 年發表具有里程碑意義的論文“計算機器和智能” ,提出圖靈測試
- 經典程序設計(符號主義人工智能的范式 ):輸入的是規則(即程序)和需要根據這些規則進行處理的數據,系統輸出的是答案
- 機器學習(1990s):輸入的是數據和從這些數據中預期得到的答案,系統輸出的是規則。這些規則隨后可應用於新的數據,並使計算機自主生成答案
- 機器學習系統是訓練出來的。機器學習(尤其是深度學習)呈現出相對較少的數學理論(可能太少了),並且是以工程為導向的
1.1.3從數據中學習表示
- 機器學習的三個要素:
- 輸入數據點
- 預期輸出的示例
- 衡量算法效果好壞的方法(衡量結果是一種反饋,調節算法的工作方式,這個調節就是學習)
- 機器學習和深度學習的核心問題在於有意義地變換數據
- 學習輸入數據的有用表示:這種表示可以讓數據更接近預期輸出
- 機器學習中的學習指的是,尋找更好數據表示的自動搜索過程
- 機器學習的技術定義:在預先定義好的可能性空間中,利用反饋信號的指引來尋找輸入數據的有用表示
1.1.4深度學習之“深度”
- 深度學習是機器學習的一個分支領域:它是從數據中學習表示的一種新方法,強調從連續的層(layer)中進行學習,這些層對應於越來越有意義的表示
- “深度學習”中的“深度”(數據模型中包含多少層 )指的並不是利用這種方法所獲取的更深層次的理解,而是指一系列連續的表示層。與之對應,其他機器學習方法有時稱作淺層學習
- 深度學習模型不是大腦模型
- 將深度網絡看作多級信息蒸餾操作:信息穿過連續的過濾器,其純度越來越高(即對任務的幫助越來越大)
- 深度學習的技術定義:學習數據表示的多級方法
1.1.5理解深度學習的工作原理
- 神經網絡中每層對輸入數據所做的具體操作保存在該層的權重(weight)中
- 每層實現的變換由其權重來參數化(parameterize)。權重有時也被稱為該層的參數(parameter)
- 學習的意思是為神經網絡的所有層找到一組權重值,使得該網絡能夠將每個示例輸入與其目標正確地一一對應
- 損失函數(目標函數):輸入是網絡預測值與真實目標值(即你希望網絡輸出的
結果),然后計算一個距離值,衡量該網絡在這個示例上的效果好壞 - 利用這個距離值作為反饋信號來對權重值進行微調,以降低當前示例對應的損失值。這種調節由優化器(optimizer)來完成,它實現了所謂的反向傳播(backpropagation)算法,這是深度學習的核心算法
- 隨着網絡處理的示例越來越多,權重值也在向正確的方向逐步微調,損失值也逐漸降低。這就是訓練循環(training loop),將這種循環重復足夠多的次數(通常對數千個示例進行數十次迭代),得到的權重值可以使損失函數最小
1.2深度學習之前:機器學習簡史
1.2.1概率建模
- 統計學原理在數據分析中的應用
- 朴素貝葉斯分類器
- logistic 回歸(logistic regression,簡稱 logreg),logreg 是一種分類算法,而不是回歸算法
1.2.2早期神經網絡
- 20 世紀 50 年代
- 20 世紀 80 年代中期—反向傳播算法
- 貝爾實驗室, 1989 年 ,手寫數字識別,LeNet
1.2.3核方法
- 核方法:20 世紀 90 年代
- 支持向量機(SVM,support vector machine),決策平面,間隔最大化,核技巧,核函數
1.2.4決策樹、隨機森林與梯度提升機
- 決策樹(decision tree)是類似於流程圖的結構,可以對輸入數據點進行分類或根據給定輸入來預測輸出值
- 隨機森林(random forest)算法,它引入了一種健壯且實用的決策樹學習方法,即首先構建許多決策樹,然后將它們的輸出集成在一起
- 梯度提升機(gradient boosting machine)也是將弱預測模型(通常是決策樹)集成的機器學習技術。它使用了梯度提升方法,通過迭代地訓練新模型來專門解決之前模型的弱點,從而改進任何機器學習模型的效果
1.2.5回到神經網絡
- 深度卷積神經網絡(convnet),計算機視覺任務,所有的感知任務
1.2.6深度學習有何不同
- 特征工程,自動化完成
- 深度學習從數據中進行學習時有兩個基本特征:
- 通過漸進的、逐層的方式形成越來越復雜的表示;
- 對中間這些漸進的表示共同進行學習,每一層的變化都需要同時考慮上下兩層的需要