深度学习(计算机视觉)面试中问题(一)
前言:
博主參加了很多面試,應聘崗位是計算機視覺(深度學習方向),現將問到我的一些問題,總結如下,回答的有哪些不對,麻煩指正,大家也可以自己去查答案。特別說一下:面試時一定要把自己項目用到的東西涉及到的東西,都要搞懂,并且有目的性引導面試官問你準備的問題。
問題:
1、深度學習要這么深?
答:1、一個直觀的解釋,從模型復雜度角度。如果我們能夠增強一個學習模型的復雜度,那么它的學習能力能夠提升。如何增加神經網絡的復雜度呢?要么變寬,即增加隱層網絡神經元的個數;要么變深,即增加隱層的層數。當變寬的時候,只不過是增加了一些計算單元,增加了函數的個數,在變深的時候不僅增加了個數,還增加了函數間的嵌入的程度。
2、深度學習可以通過多個layer的轉換學習更高維度的特征來解決更加復雜的任務。
3、那現在我們為什么可以用這樣的模型?有很多因素,第一我們有了更大的數據;第二我們有強力的計算設備;第三我們有很多有效的訓練技巧
4、像在ZFNet網絡中已經體現,特征間存在層次性,層次更深,特征不變性強,類別分類能力越強,要學習復雜的任務需要更深的網絡
2、如何解決數據不平衡問題?
答:1、利用重采樣中的下采樣和上采樣,對小數據類別采用上采用,通過復制來增加數據,不過這種情況容易出現過擬合,建議用數據擴增的方法,對原有數據集進行翻轉,旋轉,平移,尺度拉伸,對比度,亮度,色彩變化來增加數據。對大數據類別剔除一些樣本量。數據增強具體代碼:常用數據增強方法代碼
2、組合不同的重采樣數據集:假設建立十個模型,選取小數據類1000個數據樣本,然后將大數據類別10000個數據樣本分為十份,每份為1000個,并訓練十個不同的模型。
3、更改分類器評價指標: 在傳統的分類方法中,準確率是常用的指標。 然而在不平衡數據分類中,準確率不再是恰當的指標,采用精準率即查準率P:真正例除以真正例與假正例之和。召回率即查全率F。真正例除以真正例與假反例之和。或者F1分數查全率和查準率加權平衡=2*P*R/(P+R)。
3、對于訓練集與驗證集測試集分布不同的處理辦法
1、若訓練集與驗證集來自不同分布,比如一個網絡爬蟲獲取的高清圖像,一個是手機不清晰圖像,人工合成圖像,比如不清晰圖像,亮度高的圖像。
2、兩種來源的數據一個來源數據大比如20萬張,一個來源數據小,如五千張小數據集是我們優化目標,一種情況是將兩組數據合并在一起,然后隨機分配到訓練驗證測試集中好處是,三個數據集來自同一分布。缺點:瞄準目標都是大數據那一類的數據,而不是我們的目標小數據集。另外一種情況是訓練集全部用大數據集,開發與測試集都是小數據集數據,優點:瞄準目標,壞處是不同分布。
3、分析偏差和方差方法和同一分布的方法不一樣,加一個訓練開發集(從訓練集留出一部分數據)。總共四個數據集,訓練集、訓練開發集、開發集、測試集。看訓練開發集的準確率與訓練集驗證集的區別來判別式方差還是數據分布不匹配的造成的誤差。具體看如下鏈接:https://blog.csdn.net/koala_tree/article/details/78319908
4、如何改善訓練模型的效果呢?
答:1、通過提升數據,獲取良好的數據。對數據預處理;零均值1方差化,數據擴充或者增強,
2、診斷網絡是否過擬合欠擬合。通過偏差方差。正則化解決過擬合,早停法遏制過擬合。
3、通過學習率,激活函數的選擇,改善網絡全連接層個數啊層數啊,優化算法,隨機梯度,RMSprop,動量,adam,使用batchnormlization.
3、權值初始化Xavier初始化,保持輸入與輸出端方差一致,避免了所有輸出都趨向于0;
?
5、如何解決梯度爆炸與消失。
-答:1、預訓練加微調 - 梯度剪切、權重正則(針對梯度爆炸) -
2、使用不同的激活函數 -
3、使用batchnorm -
4、使用殘差結構 -
5、使用LSTM網絡
?
6、你做過其他與職位申請相關項目嗎,解釋現在的碩士研究內容,有什么效果嗎?
答:解答建議。自己做的事情和學的任何技能能夠與申請的崗位建立聯系。
7、為什么要使用許多小卷積核(如3x 3 )而不是幾個大卷積核?
這在VGGNet的原始論文中得到了很好的解釋。原因有二:首先,您可以使用幾個較小的核而不是幾個較大的核來獲得相同的感受野并捕獲更多的空間上下文,但是使用較小的內核時,您使用的參數和計算量較少。其次,因為使用更小的核,您將使用更多的濾波器,您將能夠使用更多的激活函數,從而使您的CNN學習到更具區分性的映射函數。
?
8、為什么在圖像分割中CNNs通常具有編碼器-解碼器結構?
編碼器CNN基本上可以被認為是特征提取網絡,而解碼器使用該信息通過“解碼”特征并放大到原始圖像大小來預測圖像分割區域。
9、為什么我們對圖像使用卷積而不僅僅是FC層?
這個很有趣,因為公司通常不會問這個問題。正如你所料,我是從一家專注于計算機視覺的公司那里得到這個問題的。這個答案有兩部分。首先,卷積保存、編碼和實際使用來自圖像的空間信息。如果我們只使用FC層,我們將沒有相對的空間信息。其次,卷積神經網絡( CNNs )具有部分內建的平移不變性,因為每個卷積核充當其自身的濾波器/特征檢測器。,而且這樣減少大量的參數,減輕過擬合。
10、什么是數據正則化/歸一化(normalization)?為什么我們需要它?
我覺得這一點很重要。數據歸一化是非常重要的預處理步驟,用于重新縮放輸入的數值以適應特定的范圍,從而確保在反向傳播期間更好地收斂。一般來說采取的方法都是減去每個數據點的平均值并除以其標準偏差。如果我們不這樣做,那么一些特征(那些具有高幅值的特征)將在cost函數中得到更大的加權(如果較高幅值的特征改變1 %,則該改變相當大,但是對于較小的特征,該改變相當小)。數據歸一化使所有特征的權重相等。
?
11、解釋降維(dimensionality reduction),降維在哪里使用,降維的好處是什么?
降維是通過獲得一組基本上是重要特征的主變量來減少所考慮的特征變量的過程。特征的重要性取決于特征變量對數據信息表示的貢獻程度
數據集降維的好處可以是:
( 1 )減少所需的存儲空間。
( 2 )加快計算速度(例如在機器學習算法中),更少的維數意味著更少的計算,并且更少的維數可以允許使用不適合大量維數的算法。
( 3 )將數據的維數降低到2D或3D可以允許我們繪制和可視化它,可能觀察模式,給我們提供直觀感受。
( 4 )太多的特征或太復雜的模型可以導致過擬合。
————————————————
原文鏈接:https://blog.csdn.net/comway_Li/article/details/82532573
總結
以上是生活随笔為你收集整理的深度学习(计算机视觉)面试中问题(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机视觉与深度学习算法工程师面试题整理
- 下一篇: 深度学习(计算机视觉)面试中问题(二)