我的哥大計(jì)算機(jī)視覺(jué)讀博五年總結(jié)

極市導(dǎo)讀
?本文講述了作者在哥大讀博五年間的一些生活經(jīng)歷,初來(lái)乍到遇到的語(yǔ)言,科研工作和課程學(xué)習(xí)方面難題。作者還給出了新手如何選博士幾年的topic以及單篇paper需要注意的問(wèn)題。>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺(jué)的最前沿
0. 寫(xiě)在前面
「 開(kāi)始寫(xiě)這邊總結(jié)的時(shí)候是三月,紐約成了疫情震中,看著新聞報(bào)道里的中央公園,中國(guó)城,第五大道,往事浮現(xiàn),于是開(kāi)始寫(xiě)這篇回顧。。陸陸續(xù)續(xù)一直沒(méi)寫(xiě)完,轉(zhuǎn)眼年底了,加州疫情更糟。。前幾天看新聞?wù)fCathedral教堂發(fā)生槍擊案,震驚。。這教堂就在我當(dāng)時(shí)住的學(xué)校公寓旁邊,每天出門(mén)都可以看到。。遂又憶起每天上學(xué)的時(shí)光,于是決定把這篇總結(jié)寫(xiě)完,會(huì)分幾個(gè)part放出來(lái)??焓フQ了,希望疫情早日控制住,一切安好 」
剛上大學(xué)時(shí),聽(tīng)過(guò)不少學(xué)長(zhǎng)學(xué)姐分享會(huì);申請(qǐng)博士時(shí),讀了不少留學(xué)申請(qǐng)總結(jié)。都收獲很大,讓當(dāng)時(shí)啥也不懂的我,了解了每場(chǎng)游戲(如何度過(guò)一個(gè)充實(shí)的本科;如何拿到心儀的PhD offer)的principles:有啥規(guī)則,有啥技巧,等等。
開(kāi)始讀博時(shí)候,我也去找類(lèi)似的讀博經(jīng)歷分享,令我收益良多的,如熊輝老師,田淵棟和李沐大牛的總結(jié),林達(dá)華老師的blog;但可惜只有這寥寥幾篇,讀博又是一個(gè)復(fù)雜的事兒,當(dāng)時(shí)的我并不能清晰地看見(jiàn)前面的路,遇到一些事亦因缺乏經(jīng)驗(yàn)借鑒,走了彎路。于是當(dāng)時(shí)便想著,等我畢業(yè)了,也得記下我學(xué)到的經(jīng)歷,希望能幫助到剛開(kāi)始讀博,像我當(dāng)年一樣迷茫的科研新人。也借此記錄和感恩一路走來(lái),所有幫助過(guò)我的人,best of luck。
因?yàn)槠拗疲械膯?wèn)題難以講得完善全面,或跟您意見(jiàn)不合,全當(dāng)看小說(shuō),尋個(gè)樂(lè)子罷了。
1. 萬(wàn)事開(kāi)頭難 (第一學(xué)期)
1.1 初到紐約
2014年夏天,在北京國(guó)際機(jī)場(chǎng),我安慰我媽說(shuō),“沒(méi)事,明年暑假我就回來(lái)啦”,萬(wàn)萬(wàn)沒(méi)想到,一直忙忙碌碌,一去就是5年……可能是初次留學(xué)的興奮,十幾個(gè)小時(shí)的飛行,感覺(jué)很快就過(guò)了,到了JFK機(jī)場(chǎng),坐上紐約特色的黃色的士。去學(xué)校路上,先是皇后區(qū)的平房,后來(lái)到了曼哈頓,深磚紅色的高樓,跟想象中的國(guó)際大都市并不大一樣,倒很有歷史厚重感,日后想想也是,紐約也不能到處都如時(shí)代廣場(chǎng)那般呀。
接著,辦入住,搞衛(wèi)生,小憩了一會(huì)兒,傍晚出去門(mén)口的超市買(mǎi)點(diǎn)吃的;第一次從112街,走到Broadway上,看著熙熙攘攘的外國(guó)人面孔,很傻的竟然笑了出來(lái)…那會(huì)兒自然是極開(kāi)心的,就是一個(gè)毛頭小子,充滿(mǎn)了對(duì)未來(lái)生活期待的樣子(哎,回不去的青春?。划?dāng)然了,怎么也沒(méi)想到,接下來(lái)的一年,會(huì)如此艱難……

1.2 差距
開(kāi)學(xué)后一系列事情,一下子讓我清清楚楚地,看到自己跟師兄們比,各個(gè)方面有著很大的差距。且不說(shuō)核心業(yè)務(wù)能力了,首當(dāng)其沖自然是語(yǔ)言環(huán)境的變化。
一天路上,一小哥對(duì)著我說(shuō):How are you?我想,這不是新概念英語(yǔ)上的經(jīng)典對(duì)話嗎,難道我真要回傳說(shuō)中的I’m fine, thank you, and you?從那兒之后,我知道了,how are you就相當(dāng)于,吃了么您吶,并不是真的問(wèn)什么,而是打招呼,跟say hi差不多,一般回good good就可以了,甚至不回,直接也回對(duì)方how are you都行。
然后到了第一天來(lái)lab,正好Y來(lái)面博后,老板讓他給個(gè)talk,Y希臘口音的英語(yǔ),再加上講的內(nèi)容涉及一些專(zhuān)業(yè)術(shù)語(yǔ),幾十分鐘我?guī)缀跬耆珱](méi)聽(tīng)懂他說(shuō)什么;會(huì)后跟他一對(duì)一meet,更是尷尬的很…后來(lái)18年來(lái)FB實(shí)習(xí),巧了Y是我mentor之一,第一天帶我吃的午飯,我們交流完全無(wú)障礙了,他也不記得當(dāng)年還見(jiàn)過(guò)我……我有個(gè)朋友總結(jié),剛來(lái)時(shí)候,跟外國(guó)人的交流,是三分靠聽(tīng),七分靠猜……現(xiàn)如今,即使是印度口音,只要不是說(shuō)的特別差的,或者我特別不熟悉的東西,都能通暢交流了。感覺(jué)這沒(méi)啥技巧,首先要敢說(shuō),然后多跟不同的人聊天練習(xí),慢慢就好了,倒不必太過(guò)擔(dān)心,徒增壓力。但是如果英語(yǔ)不好的話,難以跟外國(guó)專(zhuān)家合作,融入核心科研圈子,對(duì)長(zhǎng)遠(yuǎn)的發(fā)展耽誤很大,盡量在1-2年內(nèi)做好這個(gè)提升。
1.3 讓老板知道你在干活
因?yàn)槲沂潜究飘厴I(yè)直博,剛讀博那會(huì)兒,思維里還是默認(rèn),導(dǎo)師是教育培養(yǎng)學(xué)生的角色,指導(dǎo)學(xué)生做出成績(jī);明白但沒(méi)有深刻認(rèn)識(shí)到,博士生與導(dǎo)師還有雇傭關(guān)系。第一個(gè)學(xué)期,我主要是跟著師兄們做,跟導(dǎo)師大概一個(gè)月meet一次,每周有weekly report。開(kāi)學(xué)時(shí),老板把我分給一個(gè)師兄帶,參與他的項(xiàng)目A,是個(gè)很好的學(xué)習(xí)機(jī)會(huì),但是發(fā)不了paper。
11月,CVPR投稿的季節(jié),另一個(gè)師兄找到我?guī)兔ψ鲰?xiàng)目B,這個(gè)項(xiàng)目準(zhǔn)備投CVPR,做出來(lái)的話可以co-author。于是我那段時(shí)間都撲在做B上,終于實(shí)現(xiàn)了其中一個(gè)核心的模塊。CVPR投稿完的那周,正好導(dǎo)師約meet,我想B的事情做完了,下面精力就都是做原本的A了,meet對(duì)我來(lái)說(shuō),主要目的是確定下接下來(lái)的plan唄。正好搞CVPR之前,項(xiàng)目A的師兄讓我reproduce一篇nips文章的方法,用到項(xiàng)目A的data上,于是,我準(zhǔn)備的slides主要介紹那篇nips和怎么用到項(xiàng)目A上。結(jié)果meeting結(jié)束,導(dǎo)師很不高興,覺(jué)得我這幾周沒(méi)有progress。記得那天導(dǎo)師辦公室沒(méi)開(kāi)燈,冬天下午五點(diǎn)的紐約,天已經(jīng)黑了,周?chē)黄趬簤旱?,更顯壓抑。
我當(dāng)時(shí)挺驚訝的,因?yàn)樵€以為在導(dǎo)師印象中,是我參與了B的CVPR投稿,很impress呢。我后來(lái)仔細(xì)反思了下,雖然這幾周我對(duì)B也算是嘔心瀝血,weekly report里也有提,但是,一來(lái)我只是coauthor,對(duì)于B工作整體而言算不上main contributor;二來(lái)導(dǎo)師很忙,不能assume對(duì)方完全了解并且記得你做過(guò)的一點(diǎn)一滴。同時(shí),我也明白了這個(gè)meeting的目的既是討論research ideas,但也是review progress,我首先得讓導(dǎo)師明白,我這段時(shí)間有在好好干活。現(xiàn)在的我,不會(huì)只提項(xiàng)目A之后我想怎么做,會(huì)同時(shí)準(zhǔn)備一頁(yè)slide總結(jié)下我對(duì)B的貢獻(xiàn)。
1.4 自己的感受沒(méi)那么重要
我們系第一個(gè)學(xué)期末就要博士資格考試。這個(gè)考試,各個(gè)學(xué)校稱(chēng)呼不同,大概就是博士生通過(guò)這個(gè)考試,才證明有能力,qualify繼續(xù)讀博士。我們系給大家兩次機(jī)會(huì),第一學(xué)期末第一次考,沒(méi)通過(guò)的第三學(xué)期末再考一次,要是還沒(méi)考過(guò),就只能卷鋪蓋走人了。而且這考試還真不是走過(guò)場(chǎng),每次大概掛三分之一的人,所以真真切切見(jiàn)到周?chē)腥艘驗(yàn)閝ualify沒(méi)過(guò)走人的。
我本科學(xué)的CS,博士因?yàn)閒ellowship是EE發(fā)的,所以在EE系。這可愁壞我了,因?yàn)榭嫉氖荅E的基礎(chǔ)topics,電路,DSP,網(wǎng)絡(luò)啥的我大都一竅不通。于是第一個(gè)學(xué)期的課,我選了門(mén)DSP,準(zhǔn)備好好從頭學(xué)。這是硬課,再加上平常主要精力還得放在lab的項(xiàng)目上,第一學(xué)期壓力巨大。記得有一天,晚上睡覺(jué)做了噩夢(mèng),夢(mèng)到不知什么怪物,驚醒,醒來(lái)想到各種tasks各種due,頓時(shí)只想繼續(xù)回到夢(mèng)中,相比而言,還是怪物比較可愛(ài)……這時(shí)候,只好把自己的感受擱置一邊,累、苦,想這些又有什么用呢,只能更加平添煩惱。該做什么就去做,告訴自己干就完了,結(jié)束后反而發(fā)現(xiàn),過(guò)程其實(shí)也就那樣,有時(shí)候我們只是過(guò)度看重了自己的感受,夸大了困難的程度,其實(shí)自己的感受沒(méi)那么重要,只要身體本身還撐得住。
qualify考試在1月初。12中旬,忙完了期末考試,去Chinatown吃了頓好的,回家看了部電影,然后跟導(dǎo)師請(qǐng)好假,專(zhuān)心復(fù)習(xí)qualify。大概有三周的復(fù)習(xí)時(shí)間,除了DSP,其他的topics完全從零開(kāi)始學(xué)。后來(lái)覺(jué)得,這考試的目的,不是考的知識(shí)本身,而考的是學(xué)習(xí)能力。復(fù)習(xí)的過(guò)程是很慘了,時(shí)值圣誕節(jié)假期,朋友圈各式各樣在佛羅里達(dá)坐游輪的,迪士尼看煙花的,回國(guó)火鍋小燒烤的;而那年的紐約還尤其的冷,家里的暖氣開(kāi)到最大,還是冷的不行,我只能早出晚歸的去圖書(shū)館;路面凍得白花花的,公車(chē)開(kāi)過(guò)揚(yáng)起白沙,從家里112街到圖書(shū)館114街只有5分鐘,但卻那么漫長(zhǎng);每天幾條褲子疊著穿,有天開(kāi)始一度冷到零下負(fù)十幾度,我剛出門(mén)一會(huì)兒就趕緊回來(lái),在牛仔褲外面又套了件運(yùn)動(dòng)褲……所幸最后考試通過(guò)了,小秘告訴我竟然考了第三,震驚,真是功夫不負(fù)有心人訥……

1.5 上課沒(méi)那么重要
第一學(xué)期,選DSP,純?yōu)榱丝紂ualify exam修的,跟我日后的研究,基本不搭噶。我第一學(xué)期還修了機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)我之前沒(méi)有系統(tǒng)學(xué)過(guò),學(xué)完還是受益良多。但為了達(dá)到學(xué)分要求,我博士期間,被迫修了14門(mén)課,第四年還在上課……我的感覺(jué)是,CV是實(shí)踐科學(xué),上課沒(méi)那么重要,很多時(shí)候甚至是浪費(fèi)時(shí)間。我覺(jué)得值得選課去學(xué)的,可能就是機(jī)器學(xué)習(xí),算法,就夠了。搞CV方向的,與其上門(mén)CV,還不如自學(xué)網(wǎng)上教程,親身參與幾個(gè)項(xiàng)目,學(xué)的更快,對(duì)書(shū)上的知識(shí)有更深刻的理解。我覺(jué)得上課最大的作用,就是去了解這門(mén)學(xué)科,有哪些基本的概念和算法(所謂把unknown unknown變成known unknown),哪天你要用到他們了,需要把known unknown變成known known的時(shí)候,知道在Google里輸入啥關(guān)鍵詞去搜。
當(dāng)然如果有時(shí)間,上些基礎(chǔ)型的硬課,自然沒(méi)啥;但對(duì)于博士生,時(shí)間本就緊張,就得做做平衡了,選些seminar的課比較好,一般主要就是讀論文,做project。我后面陸陸續(xù)續(xù)帶了很多低年級(jí)的學(xué)生,很多人學(xué)期伊始,覺(jué)得要多學(xué)些知識(shí),選的都是硬課,學(xué)期過(guò)半,發(fā)現(xiàn)作業(yè)做不完,科研沒(méi)時(shí)間,兩頭耽誤,都是后悔不已…
2. 方向比努力重要
2.1 PhD選題
第一學(xué)期在課業(yè),科研,qualify考試,適應(yīng)國(guó)外環(huán)境,種種碾壓之下,總算過(guò)去了……雖然痛苦,但只是工作量大,努力使勁就好了……第二個(gè)學(xué)期開(kāi)始,2015年于我,關(guān)鍵詞是迷茫,努力努力但怎么也使不上勁的那種……
第二學(xué)期開(kāi)始,重心主要集中在research上了,跟導(dǎo)師的meeting也從一月一次變成了每周一次,有幸得導(dǎo)師親自調(diào)教各種真正做科研的能力了。導(dǎo)師給我定了個(gè)新的項(xiàng)目,深度學(xué)習(xí)下的incremental learning。這其實(shí)是個(gè)很難的問(wèn)題,現(xiàn)在5年后來(lái)看,都沒(méi)有被很好的解決;亦沒(méi)有一個(gè)標(biāo)準(zhǔn)的benchmark,也就是說(shuō),其實(shí)大家還沒(méi)有定義好這個(gè)問(wèn)題;記得導(dǎo)師那會(huì)兒說(shuō),if you can formulate this problem,這個(gè)問(wèn)題就已經(jīng)解決70% 了。
結(jié)果忙忙碌碌幾個(gè)月,研究了很多文獻(xiàn),做了很多實(shí)驗(yàn),還是沒(méi)有太大的進(jìn)展,就是感覺(jué)很迷茫了,不知道下一步該干嘛。幸運(yùn)的是,到5月份,導(dǎo)師讓我跟師兄一起參加一個(gè)叫THUMOS的比賽,這其實(shí)又是個(gè)新的項(xiàng)目了;開(kāi)始我還覺(jué)得,已經(jīng)忙不過(guò)來(lái)了,哪有時(shí)間再多一個(gè)項(xiàng)目,后來(lái)慶幸參與了這次比賽,開(kāi)始了我做video這個(gè)方向的科研生涯。
那會(huì)兒video領(lǐng)域,大家主要做classification,而且是幾秒的短視頻;THUMOS是長(zhǎng)視頻,而且不光有action classification task,還要一個(gè)task是action detection,檢測(cè)你所感興趣片段的開(kāi)始/結(jié)束時(shí)間。參加比賽時(shí),我跟著師兄主要搞classification,邊做邊學(xué),上手了處理視頻的模型和框架,收獲很大。比賽完后,我發(fā)現(xiàn)classification大家搞的火熱,而detection,同樣很重要的一個(gè)課題,卻沒(méi)有人研究過(guò)基于深度學(xué)習(xí)的方法,于是就有了我的第一篇CVPR文章,收到了很多follow-up。我自己也算是找到了自己的研究方向,不再迷茫。
我覺(jué)得這段經(jīng)歷,對(duì)新手很有參考價(jià)值,很多時(shí)候光努力不夠,方向更重要。新手如何選博士幾年的topic,有兩個(gè)問(wèn)題值得思考:
能不能快速上手?有幾個(gè)簡(jiǎn)單的評(píng)判標(biāo)準(zhǔn):
state-of-the-art的paper有沒(méi)有開(kāi)源的代碼?目的是你能迅速?gòu)?fù)現(xiàn)baseline,熟悉整體pipeline(如怎樣預(yù)處理,后處理),加深對(duì)實(shí)現(xiàn)和細(xì)節(jié)的理解 有沒(méi)有對(duì)這個(gè)topic有hands-on經(jīng)驗(yàn)的師兄,或者community里面approachable的前輩?目的是,當(dāng)你遇到實(shí)現(xiàn)上的細(xì)節(jié)問(wèn)題,可以及時(shí)咨詢(xún)和得到反饋 這個(gè)topic有沒(méi)有比賽,或者標(biāo)準(zhǔn)的benchmark?目的是,有大家已經(jīng)定義好的數(shù)據(jù),實(shí)驗(yàn)setup,評(píng)價(jià)標(biāo)準(zhǔn);這樣,你有可以直接比較的baseline,outperform baseline的時(shí)候也容易被人認(rèn)可
能不能有大的impact?這里我指的是博士期間的大方向,由一系列單項(xiàng)的工作或者paper構(gòu)成。單篇paper通常有三種類(lèi)型:(1)First work:開(kāi)創(chuàng)了一個(gè)topic,比如RCNN于object detection(2)Last work:基本解決了一個(gè)topic,比如Faster-RCNN,YoLo于object detection(3)Improve類(lèi)型,介于First和Last之間的。
Last很難,Improve常見(jiàn)但影響力不夠深遠(yuǎn),對(duì)于新手而言,博士的早期工作,在有能力做出來(lái)和有impact之間的trade-off比較好的,估計(jì)是First了,不一定非要是第一篇,只要是某個(gè)topic里面開(kāi)創(chuàng)性工作的那一批之一,都是不錯(cuò)的。這個(gè)早期工作之后,你會(huì)對(duì)這個(gè)問(wèn)題哪里要改進(jìn),有很清楚的認(rèn)識(shí),因?yàn)閕mprovement room大,也會(huì)有很多ideas。同樣,早期的時(shí)候怎么選這樣一個(gè)topic呢:相關(guān)的比賽是這一兩年新開(kāi)的嗎,相關(guān)的benchmark是這一兩年出來(lái)的嗎,上面的結(jié)果提升空間大嗎(現(xiàn)在是20%還是已經(jīng)80%了)?
2.2 單篇Paper選題

前面說(shuō)的PhD選題是大方向上的,具體到每一篇paper,選擇的principle和重點(diǎn)則不太一樣。來(lái)Facebook后從馬爺爺那知道了一個(gè)著名的Heilmeier問(wèn)題系列,是指導(dǎo)老師們申項(xiàng)目的,我覺(jué)得稍微改改,便很適用于我們考慮,某一篇paper的選題,合不合適:
What are you trying to do? Articulate your objectives using absolutely no jargon. How is it done today, and what are the limits of current practice? Who cares? [Support other’s research? Shape research landscape? Power applications in industry?] What's new in your approach and why do you think it will be successful? If you're successful, what difference will it make? [e.g. Contributions in theory/modeling? Improve accuracy by 5% on dataset A, B, C…?] What are the risks and the payoffs? [Further, how would you mitigate the risks? If your proposed method does not work, what could be alternative design? These can end up as discussions such as ablation studies in your paper.] How much will it cost? [e.g. How many GPUs do your experiments require? How long is each training process? How about data storage?] How long will it take? [How many hours are you going to work on this per week? When is the submission DDL? Can you make it?] What are the midterm and final "exams" to check for success?
推薦閱讀

