機器學習、計算機視覺面經整理(持續完善整理中……)
演算法崗計算機視覺方向求職經驗總結
進入11月份,樓主找工作也基本進入尾聲了,從7月份開始關注牛客網,在求職的過程中學到了不少,感謝牛客提供這樣一個平臺,讓自己的求職歷程不再孤單。
先說一下樓主教育背景,本科西部末流985,研究生調劑到帝都某文科學校.專業都是CS專業,求職方向都是計算機視覺演算法。有某外企以及二線網際網路實習經歷,本科雖然CS出身,但實際動手能力並不強。研究生的研究方向並不是計算機視覺方向。實習的時候開始接觸計算機視覺,自己比較感興趣,開始轉CV方向。回想這幾個月的求職經歷,其中的辛苦只有自己知道。最終拿到了百度SP,京東SSP,美團無人駕駛SP,順豐科技SP,拼多多SP,以及虹軟SP,思科,中電29等offer。
想把我學習與求職路上的一些心得告訴學弟學妹們。
1.一定要有一門自己比較熟悉的語言。
我由於使用C++比較多,所以簡歷上只寫了C++。C++的特性要了解,C++11要了解一些,還有STL。面試中常遇到的一些問題,手寫程式碼實現一個string類,手寫程式碼實現智慧指標類,以及STL中的容器的實現機制,多型和繼承,建構函式, 解構函式等。推薦看一下網易雲課堂翁愷老師的C++的視訊以及經典的幾本書。
2.一定要刷題
樓主主要刷了劍指offer以及leetcode上的easy,middle的題目。如果程式設計能力不是很強,推薦可以分型別進行刷題,按照tag來刷,對於某一型別的題目,可以先看一下該演算法的核心思想,然後再刷題。樓主在求職的過程中,遇到好多跟leetcode上類似的題目,刷題的目的不是為了碰見原題,而是為了熟練演算法。當然能夠碰見原題最好不過啦。
3.機器學習的一些建議
推薦西瓜書,以及李航老師的統計學方法。另外熟悉一種深度學習框架。學習計算機,一定要實戰,畢竟只有在實戰的過程中,才能懂得更透徹。可以多參加一些比賽,比如kaggle,天池,滴滴的一些比賽。這對找工作的用處很大。
4.能實習就儘量實習。
如果導師是學術大牛,可以帶你發頂會的論文,並且自己對方向比較感興趣,那可以在實驗室待著好好搞科研。如果你研究生的研究方向跟你以後的求職方向不一致,建議早點出來實習,找個對口的實習,實習才能發現,實際工作和在學校學習的東西差距比較大。
樓主能不能分享下面試問了哪些視覺的問題啊
問到的問題主要跟我實習做的東西有關,有關於視訊拆分的一些演算法,以及三維點雲的一些問題,傳統的影象處理的一些基本操作還是要了解的,比如濾波,邊緣檢測,以及常用的一些傳統的特徵,SIFT,SURF,HOG等。深度學習這方面,我主要做過目標檢測,所以問到的就是rcnn,fast-rcnn,faster-rnn,yolo,ssd這些演算法。另外,問過一些調參,正則化,Batch normalization,drop out,啟用函式的選擇。手動推導BP,LR,SVM,演算法題主要有常規的排序,二分查詢,BP相關的題目,還有一些就是關於二叉樹的遞迴和非遞迴遍歷,層次遍歷,最近公共祖先等,其餘的題目記得不太清楚了
深度學習面經
(1)程式碼題(leetcode型別),主要考察資料結構和基礎演算法,以及程式碼基本功
雖然這部分跟機器學習,深度學習關係不大,但也是面試的重中之重。基本每家公司的面試都問了大量的演算法題和程式碼題,即使是商湯、face++這樣的深度學習公司,考察這部分的時間也佔到了我很多輪面試的60%甚至70%以上。我去face++面試的時候,面試官是residual net,shuffle net的作者;但他們的面試中,寫程式碼題依舊是主要的部分。
大部分題目都不難,基本是leetcode medium的難度。但是要求在現場白板程式設計,思路要流暢,能做到一次性Bug-free. 並且,一般都是要給出時間複雜度和空間複雜度最優的做法。對於少數難度很大的題,也不要慌張。一般也不會一點思路也沒有,盡力給面試官展現自己的思考過程。面試官也會引導你,給一點小提示,沿著提示把題目慢慢做出來也是可以通過面試的。
以下是我所遇到的一些需要當場寫出完整程式碼的題目:
<1> 二分查詢。分別實現C++中的lower_bound和upper_bound.
<2> 排序。 手寫快速排序,歸併排序,堆排序都被問到過。
<3> 給你一個數組,求這個陣列的最大子段積
時間複雜度可以到O(n)
<4> 給你一個數組,在這個陣列中找出不重合的兩段,讓這兩段的欄位和的差的絕對值最大。
時間複雜度可以到O(n)
<5> 給你一個數組,求一個k值,使得前k個數的方差 + 後面n-k個數的方差最小
時間複雜度可以到O(n)
<6> 給你一個只由0和1組成的字串,找一個最長的子串,要求這個子串裡面0和1的數目相等。
時間複雜度可以到O(n)
<7> 給你一個數組以及一個數K, 從這個數組裡面選擇三個數,使得三個數的和小於等於K, 問有多少種選擇的方法?
時間複雜度可以到O(n^2)
<8> 給你一個只由0和1組成的矩陣,找出一個最大的子矩陣,要求這個子矩陣是方陣,並且這個子矩陣的所有元素為1
時間複雜度可以到O(n^2)
<9> 求一個字串的最長迴文子串
時間複雜度可以到O(n) (Manacher演算法)
<10> 在一個數軸上移動,初始在0點,現在要到給定的某一個x點, 每一步有三種選擇,座標加1,座標減1,座標乘以2,請問最少需要多少步從0點到x點。
<11> 給你一個集合,輸出這個集合的所有子集。
<12> 給你一個長度為n的陣列,以及一個k值(k < n) 求出這個陣列中每k個相鄰元素裡面的最大值。其實也就是一個一維的max pooling
時間複雜度可以到O(n)
<13> 寫一個程式,在單位球面上隨機取點,也就是說保證隨機取到的點是均勻的。
<14> 給你一個長度為n的字串s,以及m個短串(每個短串的長度小於10),每個字串都是基因序列,也就是說只含有A,T,C,G這四個字母。在字串中找出所有可以和任何一個短串模糊匹配的子串。模糊匹配的定義,兩個字串長度相等,並且至多有兩個字元不一樣,那麼我們就可以說這兩個字串是模糊匹配的。
<15> 其它一些描述很複雜的題這裡就不列了。
(2)數學題或者"智力"題。
不會涉及特別高深的數學知識,一般就是工科數學(微積分,概率論,線性代數)和一些組合數學的問題。
下面是我在面試中被問到過的問題:
<1> 如果一個女生說她集齊了十二個星座的前男友,她前男友數量的期望是多少?
<2> 兩個人玩遊戲。有n堆石頭,每堆分別有a1, a2, a3.... an個石頭,每次一個遊戲者可以從任意一堆石頭裡拿走至少一個石頭,也可以整堆拿走,但不能從多堆石頭裡面拿。無法拿石頭的遊戲者輸,請問這個遊戲是否有先手必勝或者後手必勝的策略?如果有,請說出這個策略,並證明這個策略能保證必勝。
<3> 一個一維數軸,起始點在原點。每次向左或者向右走一步,概率都是0.5. 請問回到原點的步數期望是多少?
<4> 一條長度為1的線段,隨機剪兩刀,求有一根大於0.5的概率。
<5> 講一下你理解的矩陣的秩。低秩矩陣有什麼特點? 在影象處理領域,這些特點有什麼應用?
<6> 講一下你理解的特徵值和特徵向量。
<7> 為什麼負梯度方向是使函式值下降最快的方向?簡單數學推導一下
(3)機器學習基礎
這部分建議參考周志華老師的《機器學習》。
下面是我在面試中被問到過的問題:
<1> 邏輯迴歸和線性迴歸對比有什麼優點?
<2> 邏輯迴歸可以處理非線性問題嗎?
<3> 分類問題有哪些評價指標?每種的適用場景。
<4> 講一下正則化,L1和L2正則化各自的特點和適用場景。
<5> 講一下常用的損失函式以及各自的適用場景。
<6> 講一下決策樹和隨機森林
<7> 講一下GBDT的細節,寫出GBDT的目標函式。 GBDT和Adaboost的區別與聯絡
<8> 手推softmax loss公式
<9> 講一下SVM, SVM與LR有什麼聯絡。
<10>講一下PCA的步驟。PCA和SVD的區別和聯絡
<11> 講一下ensemble
<12> 偏差和方差的區別。ensemble的方法中哪些是降低偏差,哪些是降低方差?
...... 這部分問得太瑣碎了,我能記起來的問題就這麼多了。我的感覺,這部分問題大多數不是問得很深,所以不至於被問得啞口無言,總有得扯;但是要想給出一個特別深刻的回答,還是需要對機器學習的基礎演算法瞭解比較透徹。
(4)深度學習基礎
這部分的準備,我推薦花書(Bengio的Deep learning)和@魏秀參 學長的《解析卷積神經網路-深度學習實踐手冊》
下面是我在面試中被問到過的問題:
<1> 手推BP
<2> 手推RNN和LSTM結構
<3> LSTM中每個gate的作用是什麼,為什麼跟RNN比起來,LSTM可以防止梯度消失
<4> 講一下pooling的作用, 為什麼max pooling要更常用?哪些情況下,average pooling比max pooling更合適?
<5> 梯度消失和梯度爆炸的原因是什麼? 有哪些解決方法?
<6> CNN和RNN的梯度消失是一樣的嗎?
<6> 有哪些防止過擬合的方法?
<7> 講一下啟用函式sigmoid,tanh,relu. 各自的優點和適用場景?
<8> relu的負半軸導數都是0,這部分產生的梯度消失怎麼辦?
<9> batch size對收斂速度的影響。
<10> 講一下batch normalization
<11> CNN做卷積運算的複雜度。如果一個CNN網路的輸入channel數目和卷積核數目都減半,總的計算量變為原來的多少?
<12> 講一下AlexNet的具體結構,每層的作用
<13> 講一下你怎麼理解dropout,分別從bagging和正則化的角度
<14> data augmentation有哪些技巧?
<15> 講一下你瞭解的優化方法,sgd,momentum, rmsprop, adam的區別和聯絡
<16> 如果訓練的神經網路不收斂,可能有哪些原因?
<17> 說一下你理解的卷積核, 1x1的卷積核有什麼作用?
........
同上,這部分的很多問題也是每個人都或多或少能回答一點,但要答得很好還是需要功底的。
(5)科研上的開放性問題
這部分的問題沒有固定答案,也沒法很好地針對性準備。功在平時,多讀paper多思考,注意培養自己的insight和intuition
下面是我在面試中被問到過的問題:
<1> 選一個計算機視覺、深度學習、機器學習的子領域,講一下這個領域的發展脈絡,重點講出各種新方法提出時的motivation,以及談談這個領域以後會怎麼發展。
<2> 講一下你最近看的印象比較深的paper
<3> 講一下經典的幾種網路結構, AlexNet, VGG,GoogleNet,Residual Net等等,它們各自最重要的contribution
<4> 你看過最近很火的XXX paper嗎? 你對這個有什麼看法?
......
(6) 程式語言、作業系統等方面的一些問題。
C++, Python, 作業系統,Linux命令等等。這部分問得比較少,但還是有的,不具體列了
(7)針對簡歷裡專案/論文 / 實習的一些問題。
這部分因人而異,我個人的對大家也沒參考價值,也不列了。
作者:牛客網連結:https://zhuanlan.zhihu.com/p/30212122
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
樓主本科,今年前前後後面了一些BAT的實習和校招,崗位主要是基礎研究,機器學習方面。最後去T的技術研究崗。並不是大神,只是在這裡總結一下自己的看法和麵經。因為面試題主要是看面試官,並不是看公司,所以這裡就不分開寫了。
這一類的崗位面試大多數是以簡歷為基礎,會根據簡歷上所提到的一些工具(比如caffe,cuda),演算法(比如CNN,隨機森林)和專案進行提問。所以準備面試最重要的就是要深刻的理解這些工具和演算法的基礎和優劣勢,和實際工程上會遇到的問題並且要知道如何解決(比如,SVD在遇到資料特別大的時候會產生一定的問題?如何解決?)。如果自己不太熟或說不清楚的演算法或記憶不太清楚的專案最好不要寫在簡歷上。一般之前實習的具體內容不會被問到,面試官感興趣的主要是學校課程和實驗室所做的基礎專案。
這類崗位同時也經常會問到一些統計相關的問題,所以基本的統計模型,概率題,矩陣知識得熟悉。也經常會遇到一些很抽象的問題,比如某技術的前景,和一些技術的對比,所以建議大家多看看機器學習相關的公眾號啊之類的。
面試時樓主認為不僅是你能回答所有問題,態度等也很重要,要讓面試官感受到你的謙虛和熱情並且感受到你是一個將來可以融入他們團隊的人。面試官更想看到你是個學習能力強並且積極陽光的人,畢竟校招不同於社招,並不會期待你能懂很多很多。
以下是樓主遇到過的問題,這些問題只供參考,不同面試官問的問題差別會很大。所以重點還是放在精通簡歷內容上。
有任何具體問題可以私信我~祝大家都拿到心儀的offer!
演算法,資料庫,資料結構:
1. 快排
2. 歸併排序(核心為一個merge函式,把兩個sort好的list合併起來)
3. 氣泡排序
4. 兩個單向連結串列相接的一系列問題
5. reverse一個linked list,while和for兩種方法
6. dynamic programming (要會做基礎的揹包問題,longest substring等)
7. mysql索引
8. B+樹(節點如何分裂的)
9. 資料庫底層所用到的grace hash join和merge join
10. 死鎖和解決辦法
11. n個數取k個最大
數理統計:
1. 如何求出一個圓的sin1度的大小(用taylor series)
2. 有一個不規則硬幣,如何用它做一個1到6的隨機數生成器(核心為找六個概率相同的事件)
3. 鬥地主摸到王炸和四個二的概率是多少
4. 有一個二位座標軸,你從原點可以往上下左右走,請問100步後走回原點的可能性(題目大概是這樣,學過隨機過程的可以做做)
5. confidence interval
6. 統計中的P值和Alpha值
7. 三門問題
8. 還有一些其他的概率題不太記得了
9. 矩陣的基本知識得牢記
機器學習方面:
(機器學習方面的問題一般會根據簡歷來問, 簡歷上寫了的演算法一定要很清楚如何底層實現,面試官一般都會讓你給他講)
1. 隨機森林(注意要了解隨機樹上的每個節點上的feature是怎麼選擇的)
2. 線性迴歸(最優解表示式要牢記)
3. logistic迴歸
4. logistic函式和relu函式的影象是什麼樣的
5. 反向傳播神經網路的講解
6. PCA和SVD(數學方面的分解最好能比較精通)
7. SVD在遇到資料特別多的時候會產生一定的問題?如何解決?
8. cuda可以通過哪些方法對神經網路進行加速
9. 有一張統計qq線上時間分佈圖,基於一些統計的test提問
10. 推薦系統(簡單的可以用PCA和SVD做)
11. RNN和CNN的對比
12. 如何做矩陣的卷積。
語言:
(C++,java的這裡就不寫了,現在這類崗位比較喜歡問python相關的問題)
1. python2和python3有哪些區別
2. 用哪些庫(比較基礎的是numpy和scikit-learn)
3. python如何繼承其他的class
4. super()的用法
5. python較java相比的優劣勢
6. AngularJS, ReactJS, html的比較(寫過前端的同學可以看看)
7. unix裡的一些指令,比如cat,mkdir
8. git的一些指令,比如fetch和pull的區別
9. SQL一系列問題
2017秋招面試總結-計算機視覺/深度學習演算法
作者:拾荒者000連結:https://www.nowcoder.com/discuss/66114
來源:牛客網
樓主秋招過程,也沒面幾家(8月低到9月中旬面試安排比較多),9月15號之前把公司定了。月底就把三分寄出去了,找的比較隨意。國慶節之後,一家沒面,把所有的面試都推了,進入二面的也推了。 現在把我面試的公司的面試情況總結一下(以下僅代表個人經驗和觀點): 1、簡歷上的專案非常重要,對一些細節一定要熟悉,尤其是專案中用到的演算法。 2、基礎很重要!!!
圖譜科技面試
1、 梯度下降:為什麼多元函式在負梯度方向下降最快?
數學證明題,和專業無關-->設多元函式及多元函式的單位向量,再求多元函式在單位向量上的方向導數
2、 Sigmoid啟用函式為什麼會出現梯度消失?Sigmoid函式導數的最大值出現在哪個值?-->(x=0處) ReLU啟用函式為什麼能解決梯度消失問題?
3、 Softmax是和什麼loss function配合使用?-->多項式迴歸loss
該loss function的公式?
4、 (以xx loss function)推導BP演算法?
5、 CNN中,卷積層的輸入為df*df*M(weight,height,channel),輸出為df*df*N(或輸出為df*df*M),卷積核大小為dk*dk時,請問由輸入得到輸出的計算量為多少?題中預設stride=1
計算量-->浮點數計算量:49HWC^2,27HWC^2-->會把濾波器用到每個畫素上,即為長x寬x可學習的引數個數
6、 說一下dropout的原理?若在訓練時,以p的概率關閉神經元,則在預測(測試)的時候概率1-p怎麼使用?https://yq.aliyun.com/articles/68901
測試時,被dropout作用的層,每個神經元的輸出都要乘以(1-p)à使訓練和測試時的輸出匹配
7、 傳統機器學習是否瞭解?
8、 說一下作專案時遇到的困難?
9、 表示式為max(x,y)的啟用函式,反向傳播時,x、y上的梯度如何計算à
答:較大的輸入的梯度為1,較小輸入的梯度為0;即較小的輸入對輸出沒有影響;另一個值較大,它通過最大值運算門輸出,所以最後只會得到較大輸入值的梯度。à這也是最大值門是梯度路由的原因。
前向傳播時,最大值往前傳播;反向傳播時,會把梯度分配給輸入值最大的線路,這就是一個梯度路由。
地平線機器人面試
1、 檢測框架faster rcnn是怎樣的一個框架?à這裡回答了faster rcnn的過程
2、 Faster rcnn中,ROI pooling具體如何工作(怎麼把不同大小的框,pooling到同樣的大小)?
RoIPool首先將浮點數值的RoI量化成離散顆粒的特徵圖,然後將量化的RoI分成幾個空間的小塊(spatial bins),最後對每個小塊進行max pooling操作生成最後的結果。
3、優化程式碼的方法:多執行緒等à多執行緒比單執行緒快
3、 深度學習那個專案做的方法沒有創新點;深度學習專案,資料集要自己做,檢測方法要創新à自己製作資料集並新增新層(新的啟用函式maxout)
4、 每個專案的衡量指標;如:(1)雙目追蹤能檢測的目標最小是多大à能檢測的最小目標是根據實時影象中最大的目標而定的,設定目標面積小於最大的目標的面積的1/5是不能檢測的。
目標檢測的指標:識別精度,識別速度,定位精度
A、目標檢測中衡量識別精度的指標是mAP(mean average precision)。多個類別物體檢測中,每一個類別都可以根據recall和precision繪製一條曲線,AP就是該曲線下的面積,mAP是多個類別AP的平均值。
B、 目標檢測評價體系中衡量定位精度的指標是IoU,IoU就是演算法預測的目標視窗和真實的目標視窗的交疊(兩個視窗面積上的交集和並集比值),Pascal VOC中,這個值是0.5(已被證明相對寬鬆)。
機器學習中評價指標: Accuracy、 Precision、Recall
6、 熟悉基本的影象處理演算法和影象處理方法(如影象矯正)
5、 Caffe中具有哪些層,如data layer、image data layer、softmaxwithloss(還有其它loss)
6、 訓練網路時,如果要每個batch中每種類別的圖象數固定(按自己定的取),則該怎麼做?(訓練時,每個batch都是隨機從資料集中抽取一定數量的樣本)。
7、 立體匹配有哪些方法?收藏的連結
8、 混合高斯模型(GMM)是怎麼樣的?à原理和公式
混合高斯模型是無監督學習à可用於聚類
混合高斯模型使用K(基本為3到5個)個高斯模型來表徵影象中各個畫素點的特徵,在新一幀影象獲得後更新混合高斯模型, 用當前影象中的每個畫素點與混合高斯模型匹配,如果成功則判定該點為背景點,將其歸入該模型中,並對該模型根據新的畫素值進行更新,若不匹配,則以該畫素建立一個高斯模型,初始化引數,代理原有模型中最不可能的模型。最後選擇前面幾個最有可能的模型作為背景模型,為背景目標提取做鋪墊。
9、 光流法?
光流法,通過求解偏微分方程求的影象序列的光流場,從而預測攝像機的運動狀態
10、 Kalman濾波器的原理?
Kalman濾波器最重要的兩個過程:預測和校正
11、 需要熟悉簡歷上專案寫的每個演算法的具體過程甚至公式;;;以及是否對演算法進行改進,即修改OpenCV的原始碼
12、 程式設計:合併兩個單調不減的連結串列,並保證合併後的連結串列也是單調不減的?
好未來
1、 LeetCode第一題“TwoSum”
2、 通過簡單示例,詳細解釋ROC曲線,要求給出必要的公式推導。
3、 給出LR(邏輯迴歸)演算法的cost function公式的推導過程。
4、 目標檢測時,輸入的是視訊時,如何進行檢測?視訊中有很多無用的幀(不包含要檢測的目標等)-->人工分割視訊、每隔一定數量的幀進行檢測
5、 專案。
美團
一面:
1、 faster rcnn中ROI pooling 是不是第一次用?-->第一次用是在fast rcnn中
2、 在檢測物體時,物體只有少部分在影象中時,是否檢測?
系統檢測的最小目標為16*16;當部分在影象中時,也對其進行檢測(這裡有一個閾值,當目標的面積佔影象的面積比小於1/5時,不檢測;否則就檢測(這個思路是從單路分類那來的))
3、 雙目視覺中,立體校正如何進行?-->立體標定得出倆攝像機的旋轉和平移矩陣,然後在對左右影象進行校正,使其行對齊。
4、 Kalman濾波器是否有運動方程?沒建立運動方程,直接將物體輪廓的外接矩形的中心點作為初始化追蹤點進行後續追蹤。
5、 雙目視覺中,光流法用的哪一種?L-K光流是稠密的還是稀疏的?
金字塔l-k光流,其計算的是稀疏特徵集的光流。
非金字塔l-k光流(原始的l-k光流)計算的是稠密光流。
二面:
1、 Fatser rcnn與rcnn的不同?-->fatser rcnn是端到端;rcnn不是端到端
2、 Rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理?
mask rcnn-->在fatser rcnn的基礎上對ROI新增一個分割的分支,預測ROI當中元素所屬分類,使用FCN進行預測;
具體步驟:使用fatser rcnn中的rpn網路產生region proposal(ROI),將ROI分兩個分支:(1)fatser rcnn操作,即經過ROI pooling 輸入fc進行分類和迴歸;(2)mask操作,即通過ROIAlign校正經過ROI Pooling之後的相同大小的ROI,然後在用fcn進行預測(分割)。
ROIAlign產生的原因:RoI Pooling就是實現從原圖區域對映到卷積區域最後pooling到固定大小的功能,把該區域的尺寸歸一化成卷積網路輸入的尺寸。在歸一化的過程當中,會存在ROI與提取到的特徵不對準的現象出現,由於分類問題對平移問題比較魯棒,所以影響比較小。但是這在預測畫素級精度的掩模時會產生一個非常的大的負面影響。作者就提出了這個概念ROIAlign,使用ROIAlign層對提取的特徵和輸入之間進行校準。
ROIAlign方法:作者用用雙線性插值(bilinear interpolation)在每個RoI塊中4個取樣位置上計算輸入特徵的精確值,並將結果聚合(使用max或者average)。
Lmask為平均二值交叉熵損失。
例項分割的目的是區分每一個畫素為不同的分類而不用區別不同的目標。例項分割就是要在每一個畫素上都表示出來目標所屬的具體類別。
3、 介紹resnet和GoogLeNet中的inception module的結構?
ResNet 主要的創新在殘差網路,其實這個網路的提出本質上還是要解決層次比較深的時候無法訓練的問題。這種借鑑了Highway Network思想的網路相當於旁邊專門開個通道使得輸入可以直達輸出,而優化的目標由原來的擬合輸出H(x)變成輸出和輸入的差H(x)-x,其中H(X)是某一層原始的的期望對映輸出,x是輸入。
à優化後
優化後的結構新結構中的中間3x3的卷積層首先在一個降維1x1卷積層下減少了計算,然後在另一個1x1的卷積層下做了還原,既保持了精度又減少了計算量
Inception module:
共有四個版本。網上搜inception v4就會出現v1-v4
inception v1中用1*1的卷積à降維
Inception v2(BN-inception)在v1的基礎上增加BN層,同時將5*5的卷積核替換成兩個3*3的卷積核(降低引數數量,加速計算)
v3一個最重要的改進是分解(Factorization),將7x7分解成兩個一維的卷積(1x7,7x1),3x3也是一樣(1x3,3x1),這第一個樣的好處,既可以加速計算(多餘的計算能力可以用來加深網路),又可以將1個conv拆成2個conv,使得網路深度進一步增加,增加了網路的非線性
v3使用的是RMSProp優化方法
inception v4-->16年imagenet分類的第一名
由連結中的圖可以看出,v4包含v3和v2
4、 yolo和ssd?
5、 Fatser rcnn不能檢測小目標的原因?
6、 在訓練好的模型資料裡, 如何新增識別錯誤的資料,在進行訓練呢?
方法一:直接往lmdb資料裡新增,再次重新訓練;
方法二:把你的proto裡datalayer改成用image data layer 然後把需要新增的影象路徑寫到list檔案裡,然後fine tune你的網路
RoKid機器人
1、 Adaboost演算法?
2、 邏輯迴歸實現多分類?
3、 Fatser rcnn中,如何處理背景候選框和含有目標的候選框不平衡問題?
4、 SVM的核函式的作用?
5、其他就是和專案相關的問題?
數碼視訊
1、 Canny邊緣檢測演算法的過程?
2、 常用的區域性特徵和全域性特徵?
3、LDA原理?除了上面的公司之外,還有順豐科技、蘇寧、恆潤科技,這三個公司問專案相關的比較多,還是要了解自己的專案以及一些相關的基礎知識。 面試的水,總結的也水,覺得有用的就看看,不喜勿噴!!!