為什么現(xiàn)在不看好 CV 方向了呢?

文章轉自知乎,著作權歸屬原作者,僅作為學術分享,如涉侵權請聯(lián)系刪除。
https://www.zhihu.com/question/383486199
匿名用戶回答:
從一個cv內卷失敗者的角度來聊一下。cv難的地方主要包含創(chuàng)新算法,模型底層加速和部署。前者就是各種大佬,既能夠提出好的idea,又能夠解決實現(xiàn)idea的各種問題,剛開始idea不一定work需要不斷調整,另外很多東西沒有現(xiàn)成的輪子需要自己實現(xiàn)。
因此理論能力和工程能力都要具備。后者一般來說c++要夠熟練,工程能力尤其是解決bug的能力要強,有些時候還要自己從底層寫op,需要熟悉不同平臺的指令優(yōu)化等,這個過程同樣需要強的理論功底來加快運算速度。這兩方面的大佬真正的核心競爭力就是理論功底加工程能力,只不過不大重疊,不可替代性強。
我之前在實驗室基本都是從github上扒模型,調整數(shù)據(jù)格式,訓練一下然后用flask+gunicorn部署一下,可以說就是流水線式的工作,核心難點一個都解決不了。別說自己寫很復雜的模型了,就是拿著一篇沒有開源的論文我都復現(xiàn)不出來,很多自定義的op要寫前傳反傳,其中的數(shù)學原理根本搞不明白。
底層部署就更難了,移動端部署還要了解ios和android,有些模型還需要自己用c++把numpy的前處理和后處理代碼轉成C++,真是python一行,C++幾十行。在美團實習才第一次接觸了C++ tensorflow在tx2上面推斷和處理視頻流等。
秋招投的大廠可以說全軍覆沒,只有拿了某某的客戶端開發(fā)崗,慘的一匹,怪自己太遲鈍,暑期實習不順的時候就應該果斷換方向。
我最后去了一家國企搞圖像算法這塊,但是看著大家github+flask的標準流水線和丑陋原始卡頓的demo,我知道這種不上不下的工作不可能構成核心競爭力,這種產(chǎn)品不會有智障愿意花錢買的(也就糊弄糊弄領導,看著高大上,但其實就是工業(yè)垃圾),干十年和應屆生不會有多大差別,反正都是底層的搞不了,上層的算法提不出來。
我建議要是有足夠的理論基礎和人脈成為算法大佬就努力成為算法大佬。否則,就全力去搞底層的東西,努力去學習模型部署加速這塊,成為一個合格的算法工程師而不是算法搬運師。另外,普通人建議出去實習尤其是去那種真正面向實際應用的組實習。

謝流遠(深度學習優(yōu)秀回答者):
因為cv入行最容易,所以最內卷。
nlp還要學點分字分詞語法分析啥的,數(shù)據(jù)清洗里面一堆trick。
語音更是mfcc怎么算都要學半天,完事一堆decoding。
RL先要學一堆policy value q啥的概念,然后里面一堆不足為外人道的trick,你不懂你的模型根本就不收斂。
只有cv會rgb就行了,lab都不需要的。

愛因斯坦回答:
在某互聯(lián)網(wǎng)大廠CV崗實習過一段時間,從一個底層渣碩的角度說下。
CV目前的崗位相對開發(fā)等少很多這個就不說了,我覺得CV對底層渣碩最大的限制在于CV本身太偏學術,太偏科研,同時CV三大頂一年幾千篇的速度使得SOTA模型換了一茬又一茬,沒有很強的科研能力真的很難跟著走。所以除非你是有兩頂?shù)拇T士,能證明你的科研能力,不然做CV最好是讀個博士,博士所代表的科研能力正好適配于CV這條技術線。到目前為止還沒見過人CV組的碩士大leader(碩士的pub能博士畢業(yè)那種除外),但開發(fā)崗的話碩士和博士則基本沒有任何區(qū)別。
如果是CV博士或者牛碩(有頂會或者好的a會或者acm獎牌之類的應該屬于牛碩了),那感覺完全可以進場CV,絕對不虧。CV在互聯(lián)網(wǎng)雖然是邊緣,但在實體行業(yè)CV很多時候是主流,比如自動駕駛,工業(yè)檢測,ai醫(yī)療,ARVR,智慧城市,智能物流等,每個落地點都能改變生活,說實在的做起來也比大多數(shù)互聯(lián)網(wǎng)項目更有價值感,如果你是這種人再去轉行反而有些不明智了。
當然了,以上說的是cv算法工程師,cv工程落地完全不在討論范圍內,后者也更傾向于開發(fā)。
利益相關:放棄了CV offer降薪轉開發(fā)的渣碩

謝凌曦(清華大學 工學博士)回答:
按照規(guī)矩,先問是不是,再問為什么。
叫衰CV的聲音已經(jīng)持續(xù)很長時間了。在我剛入行(2009年)的時候,整個領域處于深度學習爆發(fā)的前夜,手中只有局部特征作為武器的研究者們,痛苦地掙扎在PASCAL-VOC檢測準確率(AP50)30%-40%的基線上,而MS-COCO還有好幾年才會出現(xiàn)。深度學習全面占領CV以后,這些數(shù)值都有了很大的增長。目前PASCAL-VOC的SOTA是85%+,而MS-COCO的SOTA已經(jīng)被刷到了55%+(多模型融合能接近60%:Common Objects in Context)。
同時,我們相信資本是不會說慌的。從近年CV方向的就業(yè)情況看,至少資本對這個方向的短期未來還是有信心的。目前(2020年)的情況很像十年以前,一個相對成熟的pipeline已經(jīng)被發(fā)揮到了極致,而新的爆發(fā)尚未出現(xiàn)。每當這個時候,總會出現(xiàn)不少叫衰的聲音。然而我認為,這些聲音中的絕大多數(shù),不過是隨波逐流罷了,他們的邏輯很容易被打破。就拿多數(shù)人喜歡強調的卷積神經(jīng)網(wǎng)絡(CNN)來說。質疑者們總是強調CNN只是單純地堆砌算力、不具有可解釋性——然而反過來說,僅僅是這樣一個非常簡單的計算模型,就讓CV發(fā)展到了一個受到跨學科廣泛關注的高度(CV算法已經(jīng)滲透到各個領域),這難道不令人驚訝嗎?我實在是很難相信在未來的10-20年,人類的智慧僅限于CNN及其變種,無法開發(fā)出更精巧的計算模型,進一步推動這個領域的發(fā)展。
當然我們也要冷靜地看到,現(xiàn)在的CV算法離真正的AI還差得遠。要想解決落地困難的問題,從局部特征到深度學習這個級別的技術跳躍,至少還要發(fā)生兩次。雖然它一定會發(fā)生,但沒人知道下一次跳躍會在什么時間出現(xiàn)在什么方向。所以有的時候我會想:如果不是科研工作者,那么休眠20年再醒過來,直接享受AI發(fā)展的紅利,一定是美事一樁。正是對改變未來的渴望,賦予了我們無限的想象力,當然還有無盡的煩惱。
最后說一個小趣事。2015年我剛開始做博后的時候,我曾經(jīng)跟我的老板Alan Yuille閑聊。我說CV太難了,但是我想到兩個可能的解決方案。一是人類徹底研究清楚了大腦的工作機制,仿照人腦設計出計算機,直接解決CV問題;二是人類搞定了量子計算,從而將所有可能出現(xiàn)的圖像都學習一遍,強行記住所有答案。Alan表示,這兩件事都不會發(fā)生,但是他的想法(compositional models)是可能實現(xiàn)的,于是就順勢跟我討論了一個小時。不論是Alan還是我,都對CV的未來抱有切實的期望,也都試圖以各自的努力,為這個領域做出一點點的改變。但愿這一天會到來吧。

葉小飛(北美奔馳研究院 高級深度工程師)回答:
作為一個在工業(yè)界做了三年CV的工程師和OPPO Reno初代超級夜景核心研發(fā)人員之一,我認為CV業(yè)界的行情可以用一句話概括:初學者遍地皆是,資深者企業(yè)難尋。
CV卷嗎?很卷,如果你只是一個上過幾門網(wǎng)課,做過幾個學校項目就想進入該領域的初學者,或者你是一個入行幾年,但是skillset停滯不前的工程師,那么你可能將會被卷得面目全非。CV卷嗎?其實也沒有到萬徑人蹤滅的地步。對于那些已經(jīng)入行數(shù)年,對方向把握較好,擁有全棧技能的工程師或者有著扎實基本功、一定實習/學術經(jīng)驗和對前沿算法有持續(xù)追蹤的畢業(yè)生而言,在工業(yè)界里一定會有一席之地。所以想在CV這行混得風生水起,做出些成就,絕對是有跡可循的。
在這個回答里,我想講一下CV內卷的原因、從業(yè)者怎樣才能在卷中生存 以及 我看好的CV/ML未來發(fā)展方向。
CV內卷的原因
任何一個行業(yè)內卷嚴重的根本原因都只有一個:狼多肉少。首先大家為什么都擠破腦袋想做CV呢?
無非三個原因,第一,CV崗位的薪資確實可觀。
第二,CV崗位本身比一般的碼農(nóng)職位要有意思,有著濃烈的未來感。
第三,CV在深度學習催化下門檻變低,受過一點訓練的高中生都能在一小時里跑起一個Yolo做目標檢測。很多人都會忽略,CV入門簡單,但是做到高階水準很難。
那么為什么崗位數(shù)量有限呢?我認為最根本的原因是CV本身給公司帶來的直接利潤有限。它更多時候是作為一個噱頭,而不是主打。比如短視頻平臺雖然涉及大量人臉相關的CV技術,但是它賺錢的核心還是來基于內容推薦與用戶互動。換句話說,如果CV就像普通的代碼一樣成為企業(yè)盈利必不可少的基石,那么我認為bar一定會大大降低。當然了,CV對無人汽車的確是剛需,但是別忘了,無人汽車現(xiàn)在本身就是在燒錢的狀態(tài)??!
從業(yè)者得出路
對于非博士學位的CV工程師來講,最重要的核心技能一定是工程落地能力。算法再花哨,再state of the art, 如果不能落地,那么對公司來說價值就十分有限。很多算法落地的流程都是Python prototyping + C++ 部署模型,所以對C++的熟練掌握是非常重要的。部署模型時往往需要工程師對原始模型要先進行一系列優(yōu)化(例如剪枝、蒸餾和量化),所以這就要求工程師對算法本身也要有較好的理解,要做到這一點,必然少不了扎實的數(shù)學基本功,和對前沿論文的實時追蹤。最后還有一點非常重要卻容易被工程師疏忽,那就是學會有效地和上級溝通,能夠適時大膽地表現(xiàn)自己,很多事你不去講,沒有人會給予你特別的關注,一個會做演講的工程師絕對不會混的太差。
在這里再總結一下我認為一流CV工程師應該具備的重要素養(yǎng):
優(yōu)異的Python與C++編程能力
對自己所接觸的相關算法有透徹的理解
對前沿論文的追蹤
不錯的應用數(shù)學基礎
良好的溝通、表現(xiàn),演講能力
CV/ML未來幾年潛力方向:
把這兩個領域放在一起說,是因為它們倆其實是不分家的。隨著5G時代的到來和短視頻的興起,在去年2月份時短視頻月活已經(jīng)超過了8億,所以幾乎可以用腳斷定,最近幾年國內各大巨頭必定對視頻理解、視頻質量增強、視頻壓縮等視頻方向繼續(xù)加大研發(fā)投資,開始又一輪的競賽。而對于之前大熱的類似超級夜景這種圖像質量增強、還有人臉識別等與face 相關的領域會到達瓶頸期,趨于成熟,各大巨頭基本已經(jīng)形成技術壟斷。所以對于那些想入坑CV的新人或者想跳槽的有經(jīng)驗的工程師來說,選擇視頻方向不會有錯。
而機器學習最近大火的一個方向是機器學習系統(tǒng),我尤其看好聯(lián)邦學習這個方向。除了去年NIPS上這方面的論文數(shù)量暴增之外,聯(lián)邦學習良好的隱私性與可大規(guī)模分布性本身就是符合這個大數(shù)據(jù)時代的潮流的。除了聯(lián)邦學習,AutoML 也會進一步完善合,各大公司也會開始在這一領域猛砸研發(fā)投資。由于聯(lián)邦學習與AutoML還處于半成型階段,這兩個領域有著巨大的潛力可以挖掘,無論是學者還是工程師,在2021年開始入場兩個領域可以有機會占得先機。
總結:
其實對于CV領域從業(yè)者來說,我覺得最重要的永遠是一個人的熱愛, 祝愿在座的各位(包括我自己)在卷得面目全非之際,仍能不忘初心、保持一顆充滿激情與斗志之心!
推薦閱讀
Python深度學習基于PyTorch (附完整PPT下載)


