在所有事情開始之前,要把相關(guān)的環(huán)境設(shè)置好。首先你要有OpenCV(對于視覺工程師方向),至少一個深度學(xué)習(xí)框架(TensorFlow, Kaffe, Keras等,新手推薦用Keras),Ubuntu。還要掌握C++, Python, 和基本的機(jī)器學(xué)習(xí)知識。
C++在AI類工作中有怎樣的重要性?
C++對于你找AI視覺方向的工作是比較重要的。以下幾個工作Title是要求你必須會C++的:
AI Engineer / Computer Vision Engineer / Self-driving Car Engineer / Image Processing Engineer / SLAM Engineer
GPGPU Engineer
而這四類工作Title并不要求你一定會C++:
* Data Scientist(Python, R etc.)
* Deep Learning Scientist
* NLP engineer (Python)
* Machine Learning Engineer (Pyhton, Java)
如何準(zhǔn)備C++?
C++11中最重要的是Smart pointer,很容易考到。其次還有STL(vector, map etc.) 添加,刪除,排序。類也會考察,類里有很多前綴后綴,如const, static, override, virtual,pure virtual等,這些需要清楚地記得。
然后說到刷題,LeetCode上Easy和Medium的題,起碼要刷三百道。最好是能一邊上現(xiàn)成的算法課,一邊用C++刷題練習(xí)。
關(guān)于用到的資料,向大家推薦一本C++的書:Effective C++。這本書比較薄,三天內(nèi)就能看完,可以不用看得太細(xì),它對編程風(fēng)格的講解是比較值得一看的。比如你可以了解到面對過程的編程風(fēng)格和面向?qū)ο蟮木幊田L(fēng)格。
最后給大家推薦一個YouTube播主:Cppnuts。他把C++的每個知識點總結(jié)成三到五分鐘的視頻,講得很不錯,大家可以關(guān)注。
找AI視覺方向的工作,你需要哪些必要的圖像知識?
特征點: Harris角點檢測,SIFT,SURF,ORB。例如,面試官可能會問你:在SLAM系統(tǒng)中,我們?yōu)槭裁匆肙RB,而不用SIFT和SURF?答案是因為ORB比SIFT和SURF快,并且精度也不錯。
描述子和匹配,F(xiàn)LANN算法
相機(jī)模型:相機(jī)內(nèi)參,外參數(shù),相機(jī)標(biāo)定。這部分其實是3D的概念,是視覺中的一大塊,但不需要了解得太深,現(xiàn)在這個領(lǐng)域絕大部分還是基于深度學(xué)習(xí),只需這些基本的概念了解清楚。
基本的大塊概念:圖像配準(zhǔn),運動檢測,光流算法等。
OpenCV:很重要,任何一個關(guān)于圖像的工程師職位都對OpenCV有要求。Mat基本操作遍歷必須會,其他的東西可以根據(jù)算法推演。
CUDA:這是找工作過程中非常容易贏得優(yōu)勢的一門技術(shù)。任何一個項目如果你說你用了CUDA,并解釋得清除完整,會讓面試官刮目相看。雖然CUDA有優(yōu)勢但學(xué)起來并不容易,內(nèi)容比較多。
你需要哪些深度學(xué)習(xí)的知識積累?
至少熟悉一種框架:如Caffe,Tensorflow,Pytorch,MXNet等。推薦TensorFlow和Keras。Keras適合新手,比較簡單,并且和TensorFlow是一樣的。對于TensorFlow,推薦《TensoFlow實戰(zhàn)》這本書。
至少一次Kaggle項目的經(jīng)歷:Kaggle項目的名次最好在15%以內(nèi),這樣只需寫一個。如果沒有名次,就可以多寫幾個項目。寫在簡歷上的項目要突出兩點:第一,你把模型重新訓(xùn)練了一遍。第二,你Ensemble了Multiple models。 Dogs and Cats的獲獎感言中講了一些他做Kaggle的經(jīng)歷,推薦大家去看,可以借鑒他的話用在面試中。歷屆冠軍說的一些感言有很多是十分有用的。
對于這些模型,能夠迅速說出其優(yōu)點:GoogleNet V12345, VGG, ResNet, MobileNet, AlexNet。
模型選擇方面:了解Fine tune,參數(shù)訓(xùn)練的技巧(如何設(shè)定初值,如何調(diào)參等)
各種面試的小問題:如你平時喜歡用什么Optimizer?為什么神經(jīng)網(wǎng)絡(luò)越深越好?為什么網(wǎng)絡(luò)要Thin呢?Gradient Vanish造成的原因?為什么會造成Overfitting?怎樣克服Overfitting?你怎么看Overfitting?Batch Normalization是什么?還有Range of each hyper parameter,SVM和分類算法的對比,數(shù)據(jù)集大小和切割等。
關(guān)于面試準(zhǔn)備過程中的Tips
不要想著準(zhǔn)備好了再面試。其實”準(zhǔn)備好“是一個難以界定的概念,也許你永遠(yuǎn)都達(dá)不到所謂的“準(zhǔn)備好”的狀態(tài),等你準(zhǔn)備好時很多職位都沒有了,會錯失很多機(jī)會。
多面試,才知道職位究竟需要什么技能。AI的職位不像軟件工程師職位那樣有相對固定的需要準(zhǔn)備的知識點,醫(yī)療方向有醫(yī)療方向需要準(zhǔn)備的東西,無人機(jī)有無人機(jī)需要準(zhǔn)備的東西。多面試才能知道這個職位到底需要什么技能。但是不要一開始就面大公司,可以從一些小公司練手,積攢經(jīng)驗后再面大公司,并且大公司盡量找內(nèi)推。
通過面試失敗總結(jié)經(jīng)驗,建立一個自己的Cheatsheet。當(dāng)你準(zhǔn)備去面試一個陌生的領(lǐng)域,通過把每次面試的經(jīng)驗寫在Cheatsheet上,你就會逐漸知道面試官需要什么樣的項目,你要如何潤色自己的項目。
如果拿不到面試可以嘗試投國內(nèi)公司練手。投國內(nèi)的公司可能拿到面試的機(jī)會更大一些,通過這些面試一樣可以積攢經(jīng)驗。國內(nèi)公司可能對算法方面沒那么嚴(yán)苛,但其他方面可以對你有很大的指導(dǎo)性,并且問的問題很實際,很接地氣。
面試中可能會面對哪些失敗?
回復(fù)很少:有時候你可能沒有把簡歷寫到Recruiter能看懂的程度。如果你簡歷寫得不夠直白,Recruiter沒看懂,他可能就pass了你的簡歷。我們要把項目中最重要的關(guān)鍵詞突出出來,并且可能需要寫一個general的cover letter,讓Recruiter了解你。我們自己也可以去LinkedIn加Recruiter,越多越好,可以直接把簡歷發(fā)給他,增加Recruiter回復(fù)的概率。
公司其實并不招人:有時候公司把招聘信息發(fā)布在網(wǎng)上,但其實他并不想招人,他就是要招不到人,才能給自己公司里的人辦H1b。這個時候面試官可能會出特別難的題,這種情況大家需要理性識別,不要一次遇到太難的面試就懷疑自己,從而喪失信心。
代碼沒時間準(zhǔn)備:這其實是最不應(yīng)該出現(xiàn)的問題。代碼在AI工程師求職中是很重要的。每個公司至少有兩輪代碼的面試,Online或者白板面試。大家一定要勤刷題。
項目不夠吸引人:打造一些實習(xí)經(jīng)歷,實習(xí)是最重要的,有了實習(xí)對找全職是非常有幫助的。
心態(tài)已崩:找工作的難度大,但很多時候多堅持一會就能找到工作了。你要知道,如果你是MS最終做了AI,你已經(jīng)為自己省了兩到三年轉(zhuǎn)行的時間。
現(xiàn)在AI有這些比較熱門的方向
自動駕駛、醫(yī)療診斷、推薦nlp、聊天機(jī)器人、視覺導(dǎo)航、金融、視覺機(jī)器人、VR / AR、監(jiān)控等。
-
工程師
+關(guān)注
關(guān)注
59文章
1603瀏覽量
71034 -
AI
+關(guān)注
關(guān)注
91文章
39793瀏覽量
301454 -
C++
+關(guān)注
關(guān)注
22文章
2124瀏覽量
77125
發(fā)布評論請先 登錄
電子工程師設(shè)計要點與經(jīng)驗分享
電子工程師設(shè)計要點與經(jīng)驗分享
想成為硬件工程師?我教你啊!你得先學(xué)會這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
招鑲?cè)胧?b class='flag-5'>工程師1個,硬件工程師一個,
作為一名PCB質(zhì)檢工程師,我為什么在用手持式面銅測試儀?
硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
如何成為一名合格的KaihongOS南向驅(qū)動開發(fā)工程師
如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
如何成為一名嵌入式軟件工程師?
如何成為一名AI工程師?
評論