撿漏深度學習面試題

為校招攢人品系列~才疏學淺,如有紕漏,歡迎指正。

  • CNN為什麼可以在CV/NLP/Speech等領域都可以使用?

1. 卷積是因為輸入數據的局部相關性;

2. 權值共享是因為輸入數據的局部特徵具有平移不變性,即在不同位置具有共性的局部特徵。這樣,經過多層次堆疊,低層局部特徵可以抽取成高層全局特徵。

3. 權值共享能夠降低參數量,而且降低了網路的訓練難度。

note: 如果權值不共享,那就是局部連接層了。在某些應用,如人臉在不同的區域存在不同的特徵(眼睛/鼻子/嘴的分布位置相對固定),當不存在全局的局部特徵分布時,局部連接層更適合特徵的提取。

  • 什麼樣的資料集不適合用深度學習?

數據集太小,數據樣本不足時,深度學習相對其它機器學習演算法,沒有明顯優勢。

數據集沒有局部相關特性,目前深度學習表現比較好的領域主要是圖像/語音/自然語言處理等領域,這些領域的一個共性是局部相關性。圖像中像素組成物體,語音信號中音位組合成單詞,文本中單片語合成句子,這些特徵元素的組合一旦被打亂,表示的含義同時也被改變。對於沒有這樣的局部相關性的數據集,不適於使用深度學習演算法進行處理。舉個例子:預測一個人的健康狀況,相關的參數會有年齡、職業、收入、家庭狀況等各種元素,將這些元素打亂,並不會影響相關的結果。

  • 何為共線性, 跟過擬合有啥關聯?

多變數線性回歸中,變數之間由於存在高度相關關係而使回歸估計不準確。

共線性會造成冗餘,導致過擬合。

解決方法:排除變數的相關性/加入權重正則。

  • 什麼造成梯度消失問題?

前饋神經網路(包括全連接層、卷積層等)可以表示為 F=f_3(f_2(f_1(mathbf{x}W_1)W_2)W_3),那麼網路輸出對 W_1 求偏導 frac{partial{F}}{partial{W_1}}=mathbf{x}*f_1*W_2*f_2*W_3*f_3,這裡 W_1,W_2,W_3是相互獨立的,一般不會有數值問題,主要問題在於激活函數的導數 f在飽和區接近於零,導致梯度消失。

循環神經網路的狀態循環部分可以表示為 mathbf{h}_3=f_3(f_2(f_1(mathbf{h}_0W)W)W),這裡的問題不僅在於激活函數的導數,還有 W 在不同時刻是共享的,網路輸出對 W 的偏導包含  W 的連乘項,稍有不慎( W值偏小或偏大)就會出現梯度消失或爆炸。

  • 交叉熵和相對熵(KL散度)?

KL散度是兩個概率分布P和Q差別的非對稱性的度量。典型情況下,P表示數據的真實分布,Q表示數據的理論分布,模型分布,或P的近似分布。

D_{KL}(P||Q)=sum_iP(i)logfrac{P(i)}{Q(i)}=sum_iP(i)log{P(i)}-sum_iP(i)log{Q(i)}

這裡注意:由於P和Q在公式中的地位不是相等的,所以 D_{KL}(P||Q)
eq D_{KL}(Q||P)。在機器學習中,由於真實的概率分布是固定的,前半部分是個常數。那麼對KL散度的優化就相當於優化後半部分。

相對熵公式的後半部分就是交叉熵

CrossEntropy=-sum_iP(i)log{Q(i)}

Reference

深度學習崗位面試問題整理筆記


推薦閱讀:

面試時自我介紹究竟應該怎樣做
阿聯酋/卡達航空那些情景再現的面試題,應該怎樣回答?
面試中犯這些錯,100%被淘汰!
面試官總結群面最容易被淘汰的點,必看
航空空乘面試怎樣改變缺點變優勢

TAG:深度学习DeepLearning | 机器学习 | 面试问题 |