非計(jì)算機(jī)專業(yè)自學(xué)1年拿到算法offer的總結(jié)(附學(xué)習(xí)路線)
我就是非計(jì)算機(jī)專業(yè)的,在18-19年1年時(shí)間內(nèi)自學(xué)拿到商湯實(shí)習(xí)offer,20年畢業(yè)加入思謀成為一名算法工程師。
之前寫過一個(gè)實(shí)習(xí)面經(jīng),感興趣的可以看一下計(jì)算機(jī)視覺暑期實(shí)習(xí)面經(jīng)_筆經(jīng)面經(jīng)_牛客網(wǎng) (nowcoder.com)
對(duì)于一個(gè)完全不懂的計(jì)算機(jī)視覺領(lǐng)域,并且沒有師兄師姐指導(dǎo)的情況下,必然走過很多歪路,這里我想先記錄一下做過的一些事情,最后給出資料推薦和心得。
01
心路歷程
第一步,買書和逛知乎。剛接觸計(jì)算機(jī)視覺的時(shí)候,啥都不懂,然后就喜歡在知乎上看別人寫文章(前兩年分享的質(zhì)量要好很多,現(xiàn)在有點(diǎn)下降了),然后就是必踩的坑,買書


上面是部分書,買了很多書(emmmm, 可能是喜歡收藏吧),但是我看過的基本上只有統(tǒng)計(jì)學(xué)習(xí)方法,hhhhh
買書是錯(cuò)誤示范,不推薦買大部頭書籍,合理做法看資料推薦部分,逛知乎還是不錯(cuò)的。
第二步,看論文和寫筆記。然后就是看論文,以目標(biāo)檢測為例,首先推薦一個(gè)綜述Object Detection in 20 Years: A Survey,按照時(shí)間順序,先找到關(guān)鍵文章,其他文章都是這些文章的修修補(bǔ)補(bǔ),roadmap傳統(tǒng)目標(biāo)檢測DPM -> Two-stage:RCNN、Fast R-CNN、Faster R-CNN、Mask R-CNN -> One-Stage:YOLOv1&v2&v3、SSD、RetinaNet -> Anchor-Free:CornerNet、FCOS、CenterNet -> Transformer:DETR,看完文章還不夠,好文章適當(dāng)寫一下筆記,鍛煉自己寫文字和歸納總結(jié)的能力,最好找到對(duì)應(yīng)的code進(jìn)行理解實(shí)踐。
第三步,打比賽。有了大量的知識(shí)積累,就可以去實(shí)踐了,實(shí)驗(yàn)室的項(xiàng)目看運(yùn)氣,可能碰不到好項(xiàng)目,不能坐以待斃,打比賽是一個(gè)比較好的選擇,從實(shí)踐中才能更好的體會(huì)算法的適用范圍和真實(shí)數(shù)據(jù)如何處理的。我之前在天池也就拿了個(gè)第8名還有個(gè)36名吧,學(xué)到什么更關(guān)鍵,至少面試的時(shí)候有東西說。
第四步,刷題和找實(shí)習(xí)。有了上述的知識(shí)儲(chǔ)備和實(shí)踐經(jīng)驗(yàn),就要刷一下簡歷了。算法coding必不可少,面試必考,如果沒有基礎(chǔ),推薦先看劍指offer,上面對(duì)常見題型做了總結(jié)。面試的時(shí)候?qū)ψ约汉啔v上的東西一定要清楚,簡歷上都不會(huì),你完了,多面試多總結(jié),查漏補(bǔ)缺。
有了上述的積累,拿算法offer是水到渠成的事情。
02
資料推薦
不推薦買大部頭書籍,一般大部頭買來都扔書架上吃灰了(都看完的算你nb),最實(shí)用的還是一些工具的document。實(shí)際場景,一般是遇到問題,查閱,遇到問題,查閱的循環(huán)過程,光啃書不實(shí)踐,記不住啊,還體會(huì)不到樂趣,消磨積極性。
以下羅列一下常用document和網(wǎng)站,少而精才是有效推薦
競賽
kaggle、阿里天池
coding
推薦劍指offer,可以更快的掌握coding技巧。
另外就是coding的刷題網(wǎng)站,推薦leetcode,題目多且全,推薦先刷力扣 (leetcode-cn.com)
document
編程工具:Python、PyTorch、OpenCV
代碼庫
圖像分類:pytorch-image-models 基本上涵蓋所有主流網(wǎng)絡(luò)
目標(biāo)檢測: MMDetection、Detectron2 這兩個(gè)都是優(yōu)秀的代碼庫,值得學(xué)習(xí)借鑒
查閱各個(gè)領(lǐng)域的最新進(jìn)展,可以查閱這個(gè)網(wǎng)站,會(huì)記錄一些sota的paper和code鏈接:paper-with-code
學(xué)習(xí)視頻只推薦三個(gè)
機(jī)器學(xué)習(xí):李宏毅機(jī)器學(xué)習(xí) (打包到Smarter了) 上課太有趣了
計(jì)算機(jī)視覺:李飛飛cs231n (打包到Smarter了)
經(jīng)典paper解析:AI百篇經(jīng)典論文
如果非要買書,機(jī)器學(xué)習(xí)可以買一些書籍,比如統(tǒng)計(jì)學(xué)習(xí)方法、西瓜書
《機(jī)器學(xué)習(xí)》俗稱西瓜書,圖例多容易理解,缺點(diǎn)較厚實(shí),推理過程不詳細(xì)。
《統(tǒng)計(jì)學(xué)習(xí)方法》比起西瓜書,更干,推理詳盡,篇幅少,但是圖例少不容易理解。
從實(shí)用主義出發(fā),以上入門完全夠用了,對(duì)深度學(xué)習(xí)和計(jì)算機(jī)視覺有了一些了解,后面就可以自己愉快的玩耍了。
03
心得
1.geek是必須的,想要跨專業(yè)必須付出更多。
2.當(dāng)然也要?jiǎng)谝萁Y(jié)合,多運(yùn)動(dòng),健康更重要。
3.不要假裝努力學(xué)習(xí),到底懂不懂,有沒有學(xué)會(huì),自己心里比誰都清楚。
4.焦慮是因?yàn)閷?shí)力不配,對(duì)未知的恐懼,不斷輸入才能更自信。
5.心態(tài)要好,你能決定的只有很小一部分,但依然要相信人定勝天。
6.精準(zhǔn)的內(nèi)推資源很重要,可以減少很多搜集信息的時(shí)間。
