計算機視覺崗常見面試題


計算機視覺崗常見面試題

問題1:Softmax+Cross Entropy反向求導

CE

問題2:BatchNorm層的詳細解讀(具體可以參考之后出版的百面深度學習2333)

  • BatchNorm

  • 作用:

    • 使得每層的輸入/輸出分布更加穩定,避免參數更新和網絡層次變深大幅度影響數據分布。從而使模型訓練更穩定。
  • 參數 β 和 γ的作用

    • 保留網絡各層在訓練過程中的學習成果
    • 保證激活單元的非線性表達能力
    • 使批歸一化模塊具有復原初始輸出分布能力。
  • BN放在激活層之前還是之后

  • 各種不同的Norm各種不同的Norm

  • 閱讀材料

問題3:Conv+BN加速策略

在inference階段,可以將BN層的參數合並在之前的Linear或Conv層中,加速推斷時間(因為二者都是線性變換)。

w = module.weight.data b = module.bias.data # conv的bias可以用全0代替 ws = [1] * len(w.size()) ws[0] = w.size()[0] invstd = bn_module.running_var.clone().add_(bn_module.eps).pow_(-0.5) w.mul_(invstd.view(*ws).expand_as(w)) b.add_(-bn_module.running_mean).mul_(invstd) if bn_module.affine: w.mul_(bn_module.weight.data.view(*ws).expand_as(w)) b.mul_(bn_module.weight.data).add_(bn_module.bias.data)

問題4:常見的模型加速方法

問題5:目標檢測里如何有效解決常見的前景少背景多的問題

  • 采用Focal Loss或OHEM進行負樣本挖掘,加大Hard Example損失權重
  • 訓練時只利用Ground Truth周邊的Prior Boxes進行訓練,忽略其他背景區域,只考慮困難背景區域

問題6:目標檢測里有什么情況是SSD、YOLOv3、Faster R-CNN等所不能解決的,假設網絡擬合能力無限強

問題7:分類和檢索兩個問題可以怎么理解

問題8:ROIPool和ROIAlign的區別,以及ROIAlign的簡單實現(不考慮並行,cpu串行即可)

  • ROIPool存在兩次量化誤差,首先是將候選框邊界量化為整數點坐標值,其次是將量化后的邊界區域平均分割成 k x k 個單元,對每一個單元的邊界進行量化。ROIAlign通過雙線性插值避免了量化操作,保存了原始ROI的空間分布,有效避免了誤差的產生;對於檢測圖片中大目標物體時,兩種方案的差別不大,而如果是圖片中有較多小目標物體需要檢測,則優先選擇ROIAlign,更精准一些

問題9:深度神經網絡常見的參數初始化方式,如果全部初始化為0,會出現什么情況

問題10:多卡並行的時候怎么實現參數共享,通信梯度是指平均梯度,還是最大梯度,還是梯度總和

問題11:介紹常見的梯度下降優化方法

問題12: 神經網絡(卷積/全連接)反向傳播公式推導

問題13: Focal Loss解決了什么問題,如何解決的,與OHEM有什么不同

問題14: 斜着的矩形框如何求iou, 兩個多邊形的框如何求iou

首先要求解兩個多邊形的面積,方法見該鏈接

關鍵在於如何求出交集的面積

思路一

蒙特卡洛 + 采樣,近似求解交集的面積,但是中間涉及判斷點在不在多邊形內,判斷點是否在多邊形內

思路二

適合於兩個凸多邊形(非凸沒想到好的思路),凸多邊形可以看做是半平面的交集,因此兩個凸多邊形的交集,可以看作是(m+n)個半平面的交集(假設兩個凸多邊形分別有m個頂點和n個頂點),求出來半平面的交集(仍舊是一個凸多邊形)之后,求解該多邊形的面積即可。求解半平面交集

問題15: Detection你覺的還有哪些可做的點

問題16: 卷積底層如何實現的

問題17: mini-Batch SGD相對於GD有什么優點

問題18: DCN比普通卷積多了多少計算量

問題19: SyncBN如何實現的

問題20:當需要添加背景類時,怎樣處理比較合理

問題21:給出語義分割評估指標mIOU的計算公式和實現

問題22:人體姿態估計主流的兩個做法是啥?簡單介紹下

問題23:介紹帶孔卷積以及其優勢與劣勢

問題24:Non-local模塊與Self-attention的之間的關系與區別

問題25:PyTorch和TensorFlow的運行原理

問題26:卷積的實現原理以及如何快速高效實現局部weight sharing的卷積操作方式

問題27:詳解幾種優化算法

問題28:BN在training和inference的時候有什么區別

  • 在訓練時,我們可以計算出batch的均值和方差,迭代訓練過程中,均值和方差一直在發生變化。但是在推理時,均值和方差是固定的,對於均值來說直接計算所有batch u值的平均值,對於標准偏差采用每個batch σB的無偏估計。

問題29:基於anchor匹配的目標檢測和基於RNN集合匹配的目標檢測有何區別,基於RNN集合匹配的損失定義有何缺陷

問題30:CycleGAN的生成效果為啥一般都是位置不變紋理變化,為啥不能產生不同位置的生成效果

問題31:L2 regularization和Weight decay


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM