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