因爲本人近期也要緊臨畢業,面臨招聘面試,所以整體別人公開的面經,做一個整理,並且加上自己認爲的答案,歡迎各位讀者對答案進行指正和交流。
深度殘差的作用
- 直觀上,深度加深,出現梯度消失和梯度爆炸的問題
- 在論文中,出現了一個奇怪的現象,就是56層網絡效果沒有20層的好。本質問題是因爲網絡深造成信息丟失從而產生過擬合問題,在較深的網絡層上,明明是不同類別的圖片,但是卻產生了相近的對網絡刺激的效果。
- 關鍵就是:用殘差來保留數據的差異性
BatchNorm的作用
- 避免梯度爆炸梯度消失問題
- 正則化,避免過擬合;
- 本質是解決了ICS(internal Covariate Shift)的問題,保證每一層的數據分佈是同分布的。
DenseNet的優勢
- DenseNet是ResNet的改良版本,密集的複用通道特徵。
- 所以每層的特徵可以直達最後的誤差信號,使得網絡更容易訓練,是一種deep supervision的實現,類似於GoogLeNet的三個輸出的概念;
- 因爲每一層只增加少量的通道數,從而參數更小,計算更快。因爲大量的concat之前的特徵;
- 最終分類使用了低級特徵。
損失函數有哪些
- 迴歸任務:均方誤差
- 迴歸任務:L2範數
- 分類任務:CrossEntropy交叉熵
- 分類任務:focal loss
這個是何凱明大佬的作品,是解決多分類任務中樣本不平衡的現象的。公式中,預測結果爲output,真實值爲true,output是模型的直接輸出打分情況,true是onehot編碼:
論文中
GBDT梯度提升樹學習的是什麼
學習的是負梯度,而不是殘差
什麼是端到端學習
就是把過程簡化成只用一個神經網絡來完成。比方說文字識別,可能需要先對圖像進行二值化,然後進行銳化膨脹腐蝕等操作,但是端對端就是直接把圖片放到網絡中,然後直接識別出文字。在訓練集較大的情況下,端到端學習會有驚人的效果。