1. 程式人生 > >一些吳恩達深度學習教程筆記

一些吳恩達深度學習教程筆記

下降法

1.梯度下降演算法

2.動量(Momentum)梯度下降法

向著最小點的方向加速,與這個方向垂直方向減速

v=β∗v+(1−β)∗v=β∗v+(1−β)∗資料 t

β越小,就越關注當前資料,也就是曲線的細節

      動量梯度下降法,就是在原來的梯度下降法上面改動,把引數w和b的更新參考值選為Vw而不是原來的dw,也就是選擇速度。這個速度是由上一個速度以及當前的dw一起組成的,當然了還有引數β,這個值通常選擇0.9(魯棒性最好)。有些版本中去除了1-β,只保留dw。動量梯度下降法相當於求平均速度,垂直方向的速度存在的不確定性,可能上下襬動,經過平均之後,相互抵消了很多,整體值接近於0,而平行方向則多數指向於coast 最小值,平均之後影響不大。

      直觀來說,就是每次迭代的步幅會根據當前cost位置而調整,即當dw小的時候,迭代步幅會相應的減小。

3.RMSprop (root mean square prop),也可以加速梯度下降.均方根

梯度除以平均之後的S,假設是垂直方向的速度很大,那相除之後速度會變小,假設水平方向的變化量很小,相除之後會變大。就可以控制住速度以及方向了。其中的權重引數數β通常設定為0.9999,為了防止出現除以0的情況,通常S會加上一個很小的值,例如ε=10−8。

 

4.Adam下降法

動量梯度下降法 和 均方根下降法,的結合,採用均方根的形式和s,把均方根的dw變為Vw。

問題:

 

vdW是不是dw維的矩陣,值是不是相等的

dw是不是w那樣維數的矩陣,值是不是統一相等的

 

學習率衰減

區域性最優問題

  實際的高維運算中, 很難出現最低點重合的情況的

 

超引數除錯

為超引數選擇合適的範圍

1.Scale均勻隨機,一定的合適範圍內隨機選取

2.指數式的隨機選取,例如從0.0001到1之間的選取,要按指數式隨機選取

超引數除錯實踐–Pandas vs. Caviar

  • 在計算資源有限的情況下,使用第一種,僅除錯一個模型,每天不斷優化;
  • 在計算資源充足的情況下,使用第二種,同時並行除錯多個模型,選取其中最好的模型。

網路中啟用值的歸一化

Batch Norm 的實現

就是將啟用函式之前的z進行歸一化處理,把z減去均值,再除以方差,進行除法的時候加上極小值ε避免被除數為0的情況,保證網路穩定,得到均值為0,方差為1的z值矩陣,為了保證z值矩陣不總是如此分佈,則加上z等於z乘以阿發加上β。

Batch Norm 起作用的原因:

1.相當於改善了Cost function的形狀,使得神經網路訓練加快

2.對每一層的輸出進行了一定的限制,使得在反向傳播的過程中不至於出現梯度消失或者梯度爆炸,使得網路可以更深。

3.Batch Norm還有輕微的正則化效果,因為在每個批次的訓練過程中,計算均值與方差的是某批資料,而不是全部訓練集,因此計算出來的均值和方差不一定與整體的均值方差接近,因此會bn處理之後會引入了一點點噪聲,就類似於做了一下正則化處理那樣,還有一個細節就是,處理批次數量大的話,方差均值啥的就會更接近於整體的,因此噪聲會更小一些。

 

CNN流程

1.影象去均值,減去均值zero-center(一般乘1/255);影象歸一化normalized:mean/std,除以方差;不進行pca(斜的變成直的)和白化(就是歸一化)

2.進行資料集的洗牌處理shuffle

3.Dropout,防止過擬合

 

CNN網路優化:

Mini-batch;正則化;Dropout;輸入歸一化;Batch Normalization

CNN演算法優化:

Mini-batch梯度下降;Momentum、RMSprop、Adam優化演算法;衰減學習率;

=================================

正交化:

正交化或者正交性,是系統設計的一種屬性,使得系統部分演算法改動時不會影響到另外的部分,或者副作用傳播到其他部分,系統各部分可以相互獨立的進行測試改動,加快開發週期。

==========================================

單一數字評估指標:

就是 用但一個標準來評價一個模型,為了模型的好壞更直觀也為了更容易調整模型;例如判斷是否為貓的例子,有查準率和查全率,查準率代表選出的全部的號稱是貓的照片中,實際上是有多少真的是貓;查全率是在測試集合所有的貓的照片之中有多少真的被選出來了。在模型處理的時候,可以使用f1 score來評價這個模型,也就是兩者的平均值。再例如,若干個判別模型,在不同的國家裡面的準確率個有不同,選定各個模型的平均準確率為單一指標。

===================================================

滿足和優化指標:

必須先達到滿足的指標,然後選擇最優化

=======================================================================

減少可避免偏差

訓練更大的模型

訓練更長時間、訓練更好的優化演算法(Momentum、RMSprop、Adam)

尋找更好的網路架構(RNN、CNN)、尋找更好的超引數

減少方差

收集更多的資料

正則化(L2、dropout、資料增強)

尋找更好的網路架構(RNN、CNN)、尋找更好的超引數 

 

遷移學習有意義的情況:

任務a與任務b有相同的輸入

任務a說具有的資料量遠大於任務b所具有的資料量

任務a存在任務b所能利用的特徵

 

卷積操作之後的寬度:

 

資料擴充的方法:

映象翻轉(Mirroring);

隨機剪裁(Random Cropping);

色彩轉換(Color shifting):

為圖片的RGB三個色彩通道進行增減值,如(R:+20,G:-20,B:+20);PCA顏色增強:對圖片的主色的變化較大,圖片的次色變化較小,使總體的顏色保持一致。

 

風格轉換中的Gram 矩陣:同一張圖片的L層啟用值,自己的兩個通道進行兩個圖的點乘,這就組成了一張新的圖,理論上需要全部的該層的通道進行同樣的相互操作,就形成了K*K個通道的矩陣。S圖和G圖的gram矩陣點對點相減,就是風格損失函數了。