曠視科技(Face++)面經
一面:
介紹一下專案(你參與度最高的)
問:Pooling知道吧?我們在做cv的時候,影象經常是不同size的,我們在訓練的時候經常通過crop圖片取得同size的輸入資料。但是訓練的時候,輸入是整張圖,【這樣會造成什麼後果呢?】用沒有什麼辦法可以解決這個問題呢?即測試的時候如何有效利用整張圖的資訊?
答:測試的時候也crop,每個croped圖片有一個預測結果,通過投票的形式得到最後結果。
問:因為crop是overlapping的,這種方式會造成在部分圖片區域上的重複卷積,增加計算複雜度,有沒有辦法解決這個問題?
答:在卷積輸出層,也就是fc層前進行crop(但是網路結構不能改變)
問:怎麼做呢?舉個例子,原來是
答:(在提示下)用20x8x8x128(n,c,h,w)的卷積核對10x12x128的map進行(s=1,p=0)的卷積,其實就相當於crop,得到fc1為20x3x5(c,h,w)的輸出
問:但是此時fc1層改變了(從20程式設計20x3x5), fc2層與之的連線也就失效了, 怎麼解決?
答:(在各種提示下,提醒:搞DeepLearning的,卷積計算一定要熟練啊)用5x20x1x1的卷積核再操作,得到5x3x5的(這裡卡住了)輸出結果
要得到一個五維的輸出向量,對3x5區域做一個平均就可以了(每個channel是3x5=15個結果,即對卷積層輸出卷積操作得到3x5個不同feature預測的結果,就是15個crop對應的結果)
問:為什麼選InceptionV3?
答:實現方便,top1正確率和其他比較新的模型差不多
問:有看過他們的輸入麼?inception用的是299x299, resnet用的是224x224,大size的一般都要比較好,所以Inception好是正常的,但是輸入不一樣,不能直接比
這個東西叫FCN測試,可以看看
程式設計題:
一維pooling(先avg後max), 考慮時間複雜度和演算法複雜度
暴力迴圈,時間複雜度nk
用前一次迴圈的結果,時間複雜度 n
二面:
問:介紹一下研究背景?
答:研究背景?
問:都做過哪些研究?
答:哦哦從大四畢設講起
問:你這個雙目匹配講一下,你做了啥?
答:。。。。恩恩,我現在在做這個視差,用patchmatch
問:深度和視差的關係是什麼?推導一下
答:卡住了。。。 是通過相似三角形的關係,
問:相似三角形在哪裡?
答:(畫半天。。。。)提示下做出==太久沒做了,忘了
問:那其他專案,風險預測這個專案,特徵是幾維的,
講一下SVM,SVM的原理?
答:最大間隔
問:最大間隔是什麼,SVM的損失函式具體形式?SVM的引數和超引數?
程式設計:
遞迴輸出下列長度為2^n的矩陣(每個矩陣由四部分組成),矩陣滿足以下條件:
右下角部分全為0,其他部分等於上一階段的矩陣
N=0, 1
N=1, 1 1
1 0
N=2, 1 1 1 1
1 0 1 0
1 1 0 0
1 0 0 0
三面:
說一個你自以為最突出的點(假設現在有10個候選人,我為什麼選你)
說一個你沒有寫在簡歷裡的優點
(xx專案,做到了72%的準確率)這個問題的極限解有多高?評估你最好能把這個問題做到什麼程度?
就是讓你說一下可以改進的點,改進的投入是多少?reward有多少?
把reward量化出來(可以提升幾個百分點的accuracy?)
(其實就是想問你的改進方案,以及改進之後帶來的提升,結果自己一直糾結在如何量化提升的百分點上==)
【有的時候我們可以估計,有的時候我們還是得估計,從解決問題的開始階段就要評估,看看我們究竟能做到什麼程度】
問題:
a,b ~i.i.d~ U(0, 1)
求E(max(a, b))
用幾何思想求解