1. 程式人生 > >《深度學習 21天實戰caffe》學習筆記

《深度學習 21天實戰caffe》學習筆記

第二天 深度學習的過往

2.1 傳統機器學習與深度學習方法

傳統機器學習:人工設計特徵提取器–>求取原始資料的特徵向量–>分類器對輸入進行檢測和分類; 深度學習方法:不需要設計特徵提取器,實現端到端的學習。

2.2 表示學習到深度學習

兩者關係:表示學習能從原始資料中自動得到用於檢測和分類的表示;深度學習是多層表示學習,由底層逐級向上進行非線性抽象,得到更加高度的抽象,因此層數越多學習能力越強例如:分類問題中,影象以畫素輸入,第一層識別某個朝向的邊緣(關於那隻貓的實驗);第二層檢測邊緣資訊並按特定方式排列成基本圖案;第三層將基本圖案組合起來形成典型物體部件,後續層檢測由部件組成的物體。

2.3 監督學習

以影象分類為例:對於訓練集合D中有n個類別的圖片(C1,C2,…,Cn),我們需要給每張圖片打上類別標籤,假定Cm為目標類別。訓練階段為機器輸入一張圖片,得到一個得分向量M(m1,m2,…,mn),其中每個元素為對應C1,C2,…,Cn類別的得分。我們的目標是得到mm=max(m1,m2,…,mn),因此構建優化目標函式J(w1,w2,…,wn),其中wi為實數權值引數,利用梯度演算法來尋優。

2.4反向傳播演算法(BP)

使用條件:模組是其輸入和權值的相對平滑函式; 實質:鏈式法則; 以下圖(雙隱層深度的前驅網路)為例 (左)前向傳播:H1層的每個單元j,其輸出為 H2層的每個單元k,其輸出為 H2

H2到輸出層: 在這裡插入圖片描述 其中i遍歷輸入層所有節點,zj為前一層所有節點的加權和,f為非線性函式,得到輸出yj(右)反向傳播: 首先計算該層輸出節點的誤差梯度,即所有來自相對於後一層輸入節點的誤差梯度的加權和。之後使用鏈式法則將誤差梯度傳遞至該層輸入節點。輸出單元的誤差梯度通過對損失函式的求導得到。假設輸出層單元l代價函式為E=0.5(yl-tl)2,其中tl為期望輸出值,則E對於yl的偏導數為yl-tl,又yl=f(zl),所以: 在這裡插入圖片描述 輸出層到H2每個k單元的誤差梯度(l遍歷每個輸出層的單元): 在這裡插入圖片描述 H1層的誤差梯度(k遍歷所有H2層節點): 在這裡插入圖片描述 輸入層的誤差梯度(j遍歷所有H1層節點): 在這裡插入圖片描述 BP演算法的關鍵是代價函式相對於一個模組輸入的導數(或梯度),可以通過目標函式相對於該模組輸出的導數反向傳播求得。BP公式可以反覆應用,將梯度從層輸出(網路產生預測的位置)通過所有模組快遞到底(輸入層)。所有這些中間梯度算出來後,在計算代價目標函式相對於每個模組內部權值的梯度就非常容易了。以輸入層到H1層權值為例,其誤差梯度為: 在這裡插入圖片描述

2.5 卷積神經網路

一種特殊的前饋神經網路:訓練更簡單,泛化能力更強 四項原則:區域性互聯、權值共享、下采樣、使用多個卷積層 權值共享減少引數量,下采樣保證區域性不變性,多特徵圖允許不同卷積核作為不同特徵提取器,訓練時採用BP演算法。 在這裡插入圖片描述 構成

卷積層 單元組織為特徵圖(feature map),每個單元通過一組稱為濾波器組的權值連線到上一層特徵圖的區域性小塊。區域性小塊的加權和將被非線性單元(如ReLU)處理。同一特徵圖的所有單元共享同一套濾波器組,而同一層的不同特徵圖使用不同濾波器組。 使用這種架構的原因: (1)在一組類似的影象資料中,區域性畫素塊具有高度相似性,形成不同的、易檢測的基本圖案; (2)影象和其他訊號的區域性統計具有位置無關性。 一張特徵圖執行的濾波操作在數學上表述為離散卷積,故名“卷積層”。 卷積層的任務:檢測前一層的區域性連線特徵

下采樣層(pooling layer) 下采樣層的任務:將語義相似的特徵融合為一個。 由於相對位置特徵形成一個基本圖案可能會有些變化,可靠檢測該圖案可以使用粗粒度位置實現。 典型的下采樣器計算每一張特徵圖(或幾張)的區域性小塊最大值。相鄰下采樣器的輸入源相互錯開不少於一行或一列,因此可以降低表示維度,且對平移、變形不敏感。 卷積層-非線性層-下采樣層堆疊為一個基本處理棧,在一個完整的網路中可以重複多個基本處理棧後再介入更多的卷積層或全連線層。CNN的梯度反向產波過程和普通深度網路一樣簡單,所以濾波器組的權值能夠得到訓練。 深度神經網路:高度特徵可通過低層特徵組合得到;影象中稜邊、基本圖案、部件、物體;語音中聲音、語音、音素、音節、單詞、句子。下采樣層可保證新的特徵層表示不敏感於前一層元素在位置和表現上的變化。

2.6 深度學習反思

  • 模型引數量大於資料量時,相當於求解一個欠定方程,存在多解的可能性大,容易產生過擬合問題。
  • 模型引數量遠小於資料量,相當於求解一個超定方程,可能無解,或者有解但準確率很低,這屬於欠擬合問題。
  • 模型引數量與資料量匹配時,相當於求解恰定方程,既能避免過擬合,又能兼顧準確率。