寫給那些準備入坑機器學習、計算機視覺、深度學習等相關領域的人,包括:讀研、轉行等不同人群,同行勿噴

最近有很多朋友包括認識的,不認識的人,像我打聽關於入行計算機視覺這個行業的一些問題。覺得還是有必要總結以下,一方面跟大家嘮嘮這個行業在幹什麼,和其他行業有什麼不同,準備入坑這個行業你需要做點什麼等等,另一方面也算是整理個計算機視覺行業入門的基本資料分享給大家。在後續,我會整理一系列的文章,包括行業的一些分析,具體的案例,靠譜的理論分析,可以直接work的演算法demo等等,也希望大家多多關注,多多投稿,我會認真的對待每一份稿件,合適的會有一定的紅包獎勵。希望,大家都能夠積極的去分享自己的知識,有機會,可以和大家一起合作,做一些有意義的事情。

首先簡單介紹下自己的學習工作歷程,本科讀計算機專業,期間參加了一些比賽和創新項目,積累了不少的經驗和基礎,後來大四保研之後,比較混,荒廢了1年的時間吧(現在覺得,如果早點做研究,也許幾篇頂會論文都有了,混得一定比現在更好)。後來研一,一邊上課一邊做web外包,又荒廢了半年時間,到快過年由於導師引導,開始初步接觸計算機視覺,之後,開始投入大部分經歷在其中,現在做LBP演算法,並用在圖像檢索中,後來轉做reid,陸續發了幾篇論文,所以後來的生活基本就是讀論文+寫文章+打遊戲,剛開始論文看不懂,就看一些簡單的還有一些碩士博士論文,後來漸漸入門了,也知道了什麼樣的文章是優質的文章,漸漸開始關注一些有價值的文章和一些問題,了解了不少行業大牛以後,知道跟誰的文章比較靠譜。再後來去了趟香港理工做RA,也算是出去見了見世面,不管怎麼說吧,發文章的眼界變高了,但是。。。我也快畢業了,那時候,糾結過讀博士還是工作,後來有海康的sp offer,就工作了,一直混到現在。

好了,這就是我的經歷,從最開始的單純的想做一個程序員到後來的學術經歷再到後來的演算法工程師的工作。講道理,還是一切還是比較幸運和順利。

現在結合我自己的經歷和閱歷,再來解答下許多朋友的疑惑:

1)不是計算機專業在讀研的時候轉機器學習、計算機視覺、深度學習、NLP等等,合不合適?

結合自己目前對行業的了解和已有的知識儲備,我個人覺得,在做選擇的時候,首先要考慮一下幾點:1)你是否具備文獻閱讀、理解的能力,樂於並善於讀文章,理解文章,並提出自己的見解,對於這些東西是否有興趣,如果沒有興趣,那就算了,因為後續演算法工程師的任務會和大量的英文文章接觸,需要了解追蹤最新的演算法,並用於解決現有的任務,可能是目標檢測、跟蹤、語音識別、人臉識別等等,如果看到文章就想過,好難,雖然有很多中文的資料,但是它只能保證你作為一個初級的演算法工程師,想做的好且優秀還是需要一些思考和過硬的實踐能力的,當然,如果你樂於投入這些研究中,就算現在不具備這些技能,都是可以積累的,因此興趣才是最重要的。2)自己的職業規劃,如果你想進入互聯網,做一些非機器學習演算法的工作,比如前端、後端、分散式計算、嵌入式等等,那你的精力肯定是放在相應的領域中,至於是否選擇這個方向,就看自己了。3)據我了解到,現在很多非人工智慧,計算機專業的人,他們也在研究機器學習演算法,有時候,你雖然學了交通,你可能還要用機器學習模型解決交通領域的流量預測啊等等任務,你可能選擇經管,結果你需要用線性規劃,SVM等工具去做一些管理學預測分析任務,就算是學醫的,都有醫學影像分析計算機視覺的任務等等,目前大多數課題,都是和機器學習多少掛鉤的。。可能真的不好躲過它。。。至少讀碩士是這個樣子。

2)已經工作一段時間的準備轉行做深度學習,合不合適?

另外,對於那些已經工作的,準備轉行的,我建議看看我下來給出的一些入門基礎和相應的課程,看看自己的精力時間、已經工作的年限,魄力,再去做決定是否跳槽。

3)準備入坑機器學習了需要儲備那些基礎知識?

首先,機器學習可以大致分為統計機器學習,優化理論,在加上現在的深度學習。

如果想入坑機器學習,前期要有大量的知識儲備期是一定的,具體我列一個清單,包括了:

  1. 首先你需要掌握幾種編程語言:python首選,然後是c/c++,然後是matlab,因為對於很多計算機視覺的任務,python和matlab寫的源碼會比較多,而工程實施有需要c/c++。所以這幾門語言是必不可少的;
  2. 入門課程:
    1. 首先是線性代數,看麻省理工的,你會發現和我們本科學得線性代數好像不太一樣,這個講解的更加容易理解!!不再是挺在做計算題的層次,是真的有用!!麻省理工公開課:線性代數_全35集_網易公開課
    2. 斯坦福機器學習:斯坦福大學公開課 :機器學習課程,這個就不強調了,NG的課程,一般這個行業的都會學習下吧!
    3. 張志華老師的統計機器學習,機器學習導論:ocw.sjtu.edu.cn/G2S/OCW,這個課程涉及到更加深入的統計機器學習理論,看完以後你會對概率論有更深入的了解!!
    4. 周志華老師的西瓜書,這個對於機器學習整體的介紹還是比較基礎的!!這本書,記得找工作時候,每次面試前都會看一遍!!
  3. 進階課程:這兩本是字典一樣的存在,每次寫文章的時候都會翻一翻,把自己的理論拔高升級下,很難,至今很多沒看懂。。!
    1. 矩陣論
    2. 凸優化理論
  4. 關於深度學習的東西,我主要是通過調試模型,熟悉的caffe,對於tensorflow則是通過keras了解和針對不同計算機視覺的任務,跑嚮應的模型,一點點熟悉的,後面我會針對這些東西更加詳細的給大家介紹怎麼用,目前比較好的書,我也不好推薦,自己主要是看一些博客了解的。
  5. 你還需要讀英文文獻!!!關注頂會議,頂級期刊的文章:我是最計算機視覺的,關注的CVPR、ICCV、ECCV、IJCAI、AAAI、ICML等,期刊的主要是TPAMI、TMM、TCSVCT、TIP等等,另外,不得不提的就是arxiv,這裡會有很多最新的工作,好多大牛在發表前都會丟在這個上面,每天刷一刷,作為你的日常!!
  6. 最後就是追蹤一些學術大牛!多看看他們的主頁,看看他們滿屏幕的頂會和頂刊的文章,一方面能下載到源碼,另一方面,激勵下自己,看看自己和大牛的差距,很多文章就是他們的學生的一作,了解了解自己和同齡人的差距!

最後,希望每一個準備入坑的朋友,能夠從上面的內容中有所收穫,並且找到自己的方向,多發paper!!!做產品的,把技術做好,用在工程上!!推動,智能社會的發展!!!另外,有人工智慧、機器學習創業的想法,也歡迎和我一起討論!!大佬們帶我一起共同富裕!!

如有問題,歡迎入群!

QQ群:745224003,目前群人數較少,希望後面慢慢壯大,想加微信,入群私聊~

推薦閱讀:

刷新三數據集紀錄的跨鏡追蹤(行人再識別-ReID)技術介紹
計算機視覺部分演算法最佳解釋
CVPR2018 | 直接建模視覺智能體?讓「小狗」動起來~
計算機視覺常見領域問題概要(深度學習)
Caffe2 教程--5. A Toy Regression

TAG:深度學習DeepLearning | 計算機視覺 | 人工智慧 |