重磅福利!程序員面試——算法工程師面試大全第五部分

1.Batch Normalization 的作用

神經網絡在訓練的時候隨着網絡層數的加深,激活函數的輸入值的整體分佈逐漸往激活函數 的取值區間上下限靠近,從而導致在反向傳播時低層的神經網絡的梯度消失.而 Batch Normalization 的作用是通過規範化的手段,將越來越偏的分佈拉回到標準化的分佈,使得 激活函數的輸入值落在激活函數對輸入比較敏感的區域,從而使梯度變大,加快學習收斂速度,避 免梯度消失的問題.

 

2.梯度消失

在神經網絡中,當前面隱藏層的學習速率低於後面隱藏層的學習速率,即隨着隱藏層數目的增加,分類準確率反而下降了.這種現象叫做消失的梯度問題.

 

3.循環神經網絡,爲什麼好?

循環神經網絡模型(RNN)是一種節點定向連接成環的人工神經網絡,是一種反 饋神經網絡,RNN利用內部的記憶來處理任意時序的輸入序列,並且在其處理單元之間既有內部的反饋連接又有前饋連接,這使得 RNN 可以更加容易處理不分段的文本等.

 

4.什麼是 Group Convolution

若卷積神將網絡的上一層有 N 個卷積核,則對應的通道數也爲 N.設羣數目爲 M,在進行卷積 操作的時候,將通道分成 M 份,每個 group 對應 N/M 個通道,然後每個 group 卷積完成後輸出疊在 一起,作爲當前層的輸出通道.

 

5.訓練過程中,若一個模型不收斂,那麼是否說明這個模型無效?導致模型不收斂的原因有哪些?

並不能說明這個模型無效,導致模型不收斂的原因可能有數據分類的標註不準確,樣本的信息量太大導致模型不足以 fit 整個樣本空間.學習率設置的太大容易產生震盪,太小會導致不收斂.可能複雜的分類任務用了簡單的模型.數據沒有進行歸一化的操作.

 

6.圖像處理中銳化和平滑的操作

銳化就是通過增強高頻分量來減少圖像中的模糊,在增強圖像邊緣的同時也增加了圖像的噪聲.

平滑與銳化相反,過濾掉高頻分量,減少圖像的噪聲是圖片變得模糊.

 

7.VGG 使用 3*3 卷積核的優勢是什麼?

2 個 3*3 的卷積核串聯和 5*5 的卷積核有相同的感知野,前者擁有更少的參數.多個 3*3 的 卷積核比一個較大尺寸的卷積核有更多層的非線性函數,增加了非線性表達,使判決函數更具有判決性.

 

8.Relu 比 Sigmoid 的效果好在哪裏?

Sigmoid 的導數只有在 0 的附近時有較好的激活性,而在正負飽和區域的梯度趨向於 0,從而產生梯度彌散的現象,而 relu 在大於 0 的部分梯度爲常數,所以不會有梯度彌散現象.Relu 的導數計算的更快.Relu 在負半區的導數爲 0,所以神經元激活值爲負時,梯度爲 0,此神經元不參與訓練,具有稀疏性.

 

9.在深度學習中,通常會 finetuning 已有的成熟模型,再基於新數據,修改最後 幾層神經網絡權值,爲什麼?

實踐中的數據集質量參差不齊,可以使用訓練好的網絡來進行提取特徵.把訓練好的網絡當做特徵提取器

 

10.Attention 機制的作用

減少處理高維輸入數據的計算負擔,結構化的選取輸入的子集,從而降低數據的維度.讓系統更加容易的找到輸入的數據中與當前輸出信息相關的有用信息,從而提高輸出的質量.幫助類似 於 decoder 這樣的模型框架更好的學到多種內容模態之間的相互關係.

 

11.Lstm 和 Gru 的原理

Lstm 由輸入門,遺忘門,輸出門和一個 cell 組成.第一步是決定從cell 狀態中丟棄什麼信 息,然後在決定有多少新的信息進入到cell狀態中,最終基於目前的cell狀態決定輸出什麼樣的 信息.

Gru 由重置門和跟新門組成,其輸入爲前一時刻隱藏層的輸出和當前的輸入,輸出爲下一時刻隱藏層的信息.重置門用來計算候選隱藏層的輸出,其作用是控制保留多少前一時刻的隱藏層. 跟新門的作用是控制加入多少候選隱藏層的輸出信息,從而得到當前隱藏層的輸出.

 

12.什麼是 dropout

在神經網絡的訓練過程中,對於神經單元按一定的概率將其隨機從網絡中丟棄,從而達到對於每個 mini-batch 都是在訓練不同網絡的效果,防止過擬合.

 

13.RNN 梯度消失問題,爲什麼 LSTM 和 GRU 可以解決此問題

RNN 由於網絡較深,後面層的輸出誤差很難影響到前面層的計算,RNN 的某一單元主要受它附 近單元的影響.而 LSTM 因爲可以通過閥門記憶一些長期的信息,相應的也就保留了更多的梯度. 而 GRU 也可通過重置和更新兩個閥門保留長期的記憶,也相對解決了梯度消失的問題.

 

14.GAN 網絡的思想

GAN 用一個生成模型和一個判別模型,判別模型用於判斷給定的圖片是不是真實的圖片,生成模型自己生成一張圖片和想要的圖片很像,開始時兩個模型都沒有訓練,然後兩個模型一起進行對抗訓練,生成模型產生圖片去欺騙判別模型,判別模型去判別真假,最終兩個模型在訓練過程 中,能力越來越強最終達到穩態.

 

15.1*1 的卷積作用

實現跨通道的交互和信息整合,實現卷積核通道數的降維和升維,可以實現多個 feature map 的線性組合,而且可是實現與全連接層的等價效果.

 

16.怎麼提升網絡的泛化能力

從數據上提升性能:收集更多的數據,對數據做縮放和變換,特徵組合和重新定義問題.

從算法調優上提升性能:用可靠的模型診斷工具對模型進行診斷,權重的初始化,用小的隨機 數初始化權重.對學習率進行調節,嘗試選擇合適的激活函數,調整網絡的拓撲結構,調節 batch 和 epoch 的大小,添加正則化的方法,嘗試使用其它的優化方法,使用 early stopping

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章