深度學習知識點(面試)3

2021-10-07 01:18:01 字數 1360 閱讀 1856

1.正則化的意義

正則化使用來降低overfitting的,減少過擬合的其他方法有:在資料方面可以增加訓練資料,在網路上可以使用drop,另一種降低模型複雜度的方式就是在loss函式中加入正則化項,正則化項可以理解為複雜度,loss是越小越好,但是loss加上了正則項之後,為了使loss小,就不能讓正則項變大,也就是不能讓模型更複雜,這樣就降低了模型複雜度,也就降低了過擬合。正則化有l1和l2兩種。

2.減少過擬合的方法

引入正則化、dropout、提前終止訓練、增加樣本量、batch normalization、引數共享

3.輸入資料歸一化的原因

因為深度學習本質就是為了學習資料分布,一旦訓練資料與測試資料分布不同,那麼網路的泛化能力就大大降低了,另外,如果每個批次資料分布各不相同,那麼網路就需要在每次迭代都去學習適應不同的分布,這樣將會大大降低網路的訓練速度,

4.batch normlization

bn層出現以前,歸一化操作一般都在資料的輸入層,對輸入資料進行求均值和方差做歸一化,深度神經網路訓練中,可以再任意一層做歸一化處理,加快了模型的收斂速度,一定程度解決了深層網路中的梯度瀰散問題。

它主要通過對每一層的輸入進行歸一化,從而保證每層的輸入資料分布是穩定的,從而達到加速訓練的目的。bn演算法在每一次迭代的過程中都進行了歸一化,並且將輸入資料的分布歸一化為均值為0,方差為1的分布。

雖然每層的資料分布都固定了,但是這種分布不一定是前面一層要學習到的資料分布,這樣強行歸一化會破壞掉剛剛學習到的特徵,bn演算法的第二步就解決了這個缺點,用兩個可學習的變數去還原上一層應該學習到的資料分布。這樣可以還原出上一層需要學習的資料分布,這樣bn層就把原來不固定的資料分布全部轉換為固定的資料分布,而這種資料分布恰恰就是要學習到的分布,從而加速了網路的訓練。

5.池化層的反向傳播

由於池化層使得特徵圖的尺寸發生了變化,使得梯度無法對位的進行傳播下去,首要條件就是保證傳遞的loss總和不變。

對於平均池化而言,反向傳播過程就是把某個元素的梯度等分成n份分配給前一層,這樣保證池化前後的梯度之和保持不變。

對於最大池化而言,也是要滿足梯度之和不變的原則,反向傳播也就是把梯度直接傳給前一層某乙個畫素,而其他畫素不接受梯度,也就是為0,它需要額外記錄下池化操作時那個畫素值最大,即max_id,這個變數就是記錄最大值所在位置,因為在反向傳播中會用到。

6.如何理解卷積、池化、全連線層等操作

卷積:捕獲影象相鄰畫素的依賴性;起到類似濾波器的作用,可以得到不同的紋理特徵,不同形態的feature map。

啟用函式的作用:引入非線性的因素。

池化的作用:減少特徵維度大小,使得特徵更加容易控制;減少引數的個數,從而控制過擬合程度;增加網路對略微變換後的影象的魯棒性;達到一種尺寸不變性,即無論物體在哪個方位都可以檢測到。

全連線層:分類的作用

深度學習知識點

1.epoch設定 epoch太小,可能欠擬合,但可能因為太慢不得不減小epoch epoch太大,會過擬合,導致準確率下降。如下圖,顯然epoch 2時準確率下降,已經過擬合了 2.學習率選擇 fast.ai中有乙個learn.lr find 找學習率 x 和loss y 的曲線中斜率最大的即可。...

深度學習知識點2

1.為什麼引入非線性啟用函式?引入非線性啟用函式,可以使深層的神經網路不再是線性的輸入組合,而是可以逼近任意函式,如果不使用啟用函式,在這種情況下每一層的輸出都是上一層輸入的線性函式,無論神經網路的有多少層,輸出的最終結果都是乙個線性組合,與沒有隱藏層的效果相差不多,也就成了最原始的感知機了。2.為...

深度學習的知識點

神經網路 e subseteq v times v,w v times v to r,sigma v times r to r 輸出函式 f v 遞迴定義為 beginf v x v if nexists u,in e f v sigma v,y v y v sum w v,u f u if exi...