來源: 洪衛の博客
作者: 洪衛
文章鏈接: https://sunhwee.com/posts/b8c41141.html

一. 如何做好科研

(1)無他,唯手熟爾,就是多讀多寫。論文就是越讀越快的,我還是本科生的時候我導師告訴我剛入門時候要精讀十篇好文章,我現在指導師弟師妹也是給他們挑好幾篇文章讓他們反覆精讀,起初水平不夠的時候看論文很慢,經常抓不住重點都很正常不用急躁。讀多了自然就越來越快了,後期看個摘要,看個插圖甚至看個題目都明白大致內容了。關於coding就是多寫,多去模仿,非計算機科班出身的我剛讀博的時候代碼很差,現在也不算好,但是這幾年在學習別人的代碼後也在慢慢提高,所以現在對於剛進實驗室的師弟師妹我都對他們的代碼有點要求,至少要做到模塊化和覆用性,現在github開源這麽多有很多好的代碼可以去模仿學習,跑跑開源代碼多去寫寫,非常忌憚一個現象就是不動手去寫,總是只跑開源代碼,跑一個換一個框架,沒有開源就什麽也不會了,要動手自己去覆現一些程序。

(2)good idea,這個我一直認可我導師的觀點。我導師說有時候創新點不是整天天馬行空想出來的,而是在你看了很多文章做了很多實驗之後自然而然產生的,我的感覺也是這樣,當你看了很多文章之後,你會发現解決A問題的思路可能在B問題上能夠得到啟发,當你做了很多實驗之後你才能发現論文里隱藏的瑕疵點或者在某些場景下不適用,发現了問題很自然的就能想到一些解決的ideas。

(3)博士可能分為入門啥也不懂,入門了開始焦慮,有點感悟開始有成果,打通任督二脈成果井噴階段,當然這個問題太主觀也不知道準不準確。剛直博的時候可能還帶著一些本科生的稚氣,總是想有老師教你,喜歡讀教材,重視上課和考試分數,不喜歡看論文,其實博士研究和本科素質教育差距很多,博士研究講究專而精,本科教育是廣而泛,所以很多本科生的方式不適合博士研究了,比如有些課程對你研究一點用都沒有,(逃課這種事情我沒有說,概不負責。。。),這個階段可能就是啥也不懂啥都想學的階段。之後你可能有點入門了,也有自己的課題了,你會发現讀博比你想象中的難多了,本科時候你可能是學院里的佼佼者,滿腔自信,但是你已經變成了學術界最弱的菜雞,一篇論文里密密麻麻的公式滿腦的不懂,第一篇論文遲遲出不來,你開始焦慮了,是否自己能夠畢業。之後你經過很長一段時間的煎熬,你終於跟蹤上了課題領域的前沿,終於有了一篇paper发表了,也學習了如何寫論文,如何和reviewer交流。你已經把握住了領域的前沿,了解了過去的工作,心態也開始輕松了,現在滿腦子的騷操作,這時候應該已經是博士中後期,寫論文得心應手,看了大量論文知道什麽樣的工作能发表什麽水平的paper,知道不同的工作有不同的講故事手段,那麽成果也會迎來井噴。

以上回答了題主的三個問題,後面是我的一些個人看法。

(4)現在做視覺的人太多,全世界最聰明的一批人都在做cv dl ai,所以发表一篇好paper真的不簡單,你的idea別的學術老油條們很容易就能想到,做的還比你漂亮,所以橫向比較那些做理論方面的博士同學可能成果比你早比你多,一定要沈得下心保持自信持續努力,厚積而薄发。

(5)博士我認為還是要open一點,閉門造車一個人搞還是太難,多去接觸接觸大牛們的工作,多去聽聽別人的分享,並且也勇於分享自己的見解與工作,多與別人交流討論,是有幫助的,多於一個博士而言,除了做出好的工作以外,writing 和presentation 的功力也非常重要,如何精確簡潔的用文字描述你的工作,如何面對不同類型的聽眾來做一個合適的報告,都是很重要的技能,這些平時多思考,多學習,多嘗試都能慢慢提高。

6)努力與專注,做科研並不有趣,需要你自己內心對科研真心的喜歡,會自主的去關注最新的工作,會為自己做出的工作有自豪感,能夠從研究工作找到樂趣,保持每天都努力,完成這場博士學位的馬拉松。

(7)對於視覺而言,arxiv的cvpr版塊是每天都必須關注的,cvpr iccv eccv三大頂會,pami ijcv等頂刊的論文必須熟知,iclr npis aaai等次相關的頂會也要關注。tf pytorch keras mxnet caffe等框架至少熟用一個,也要關注這些框架的更新動態。新智元,機器之心,paperweekly,ai研習社等等工作號也都可以關注,每天都會发布領域最新動態。曠視科技,商湯,微軟亞研院,圖森,依圖,騰訊優圖等等企業也都可以去申請實習,里面真的大牛太多,資源太好,會學到很多東西。

(8)願你做有用的科研,做最好的工作。這里我非誠喜歡胡國聖老師在朋友圈发的三句話,希望他不要打我

喝最烈的威士忌,日最野的哈士奇,做最難的Research –ICCV 參會有感

二. 微軟亞洲研究院的回答

作者:微軟亞洲研究院
鏈接:https://www.zhihu.com/question/67257036/answer/487324016

針對這個問題,在計算及視覺領域擁有17年的研究經歷的微軟首席研究員華剛博士有些話想和大家分享,他寫下了這篇文章,希望能對計算機視覺領域內的學生和年輕的學者們有所幫助。

簡單說一下這篇文章的背景:從我2015年回到微軟亞洲研究院之後接觸到很多聰明的實習生。一方面感受到他們對計算機視覺研究的熱情,另方面也有感於他們對計算機視覺研究認知的局限性,或者說大一點,是基本研究方法和思路上的局限性,就有想法要對如何做好計算機視覺的研究寫點什麽。計算機視覺領域國際權威、加州大學洛杉磯分校的朱松純老師曾經发表一篇關於計算視覺的三個起源和人工智能的評論,全面深刻,引起了很大的反響。我想結合朱老師評論的內容,和我在計算及視覺領域17年的研究經歷,也來談談如何做好計算機視覺的研究,希望對領域內的學生和年青的研究員能有所幫助。

“如何做好計算機視覺的研究?”

要回答這個問題,我們先要對這個問題的關鍵詞進行分析:如果去掉“計算機視覺”這個限定詞,這問題就變成了“如何做好研究?”那麽,要回答這個問題,我們就要知道“什麽是好的研究?”而要定義什麽是好的研究,必須回到根本,先要知道

“什麽是研究?”

我們的討論就從這個問題開始。什麽是研究?一個被普遍接受的對研究的廣義定義為:研究是為了產生新的知識或者是為已有的知識設計新的應用的系統性的工作。因為我們今天的討論其實更多集中在科學研究上,先確定狹義的研究的定義為:利用科學的方法來調查解釋一個現象或者獲取新的知識。

綜合這兩個定義,可以看到科學研究從本質上是由三個基本的要素構成:1) 目的:產生新的知識或者是設計出新的應用; 2)手段:科學的方法。缺少這兩個要素任何之一都不構成科學研究; 3) 成果:新的知識。所謂新的知識,必須是前人不知道的東西。

我們很多同學和年輕的研究員認為研究就是寫論文、研究成果就是論文,這其實是在觀念上走進了一個誤區。論文是系統闡述新的知識、新的應用,以及闡述獲取這個新知識或者新應用用到了什麽樣的科學方法的一個載體。論文,作為闡述研究成果的主要手段,必須經過同行的評議通過才能正式发表和被認可。

在人工智能進入第三個熱潮之際,我們看到各種各樣關於AI的各種媒體報道層出不窮,一方面,這對大眾普及了AI各方面的知識,是積極的。但從另一個方面講,很多觀點沒有經過仔細的推敲,也沒有同行的評議,一些謬誤或者是誇大的觀點可能因為廣泛傳播而被大眾接受,結果產生負面的社會影響。這就提醒我們相關領域的研究人員,在對大眾媒體去做一些評論的時候,必須仔細斟酌,盡量不傳播沒有得到檢驗的觀點。

這就談到第二個問題:

什麽是好的研究?

不同領域的研究員對這個問題可能會有不同的看法。

從計算機科學的角度來講,尤其是計算機視覺的研究,無論是理論的還是實踐的,我們的研究成果最終是要解決現實世界的問題的。在這個方面,我印象比較深刻的還是我在西安交通大學讀研究生的時候,沈向洋博士2001年在西安交大做報告提到的一個觀點:最好的研究員发現新問題;好的研究員創造新方法解好問題;一般的研究員跟隨別人的方法解問題——大家在多次這里看到“新”這個關鍵詞,創新是研究的本質。

有了這些鋪墊,我們首先定義什麽是最好的研究。通常認為一個領域中對於某一個問題最好的研究工作有三種:第一篇論文 (The First Paper),最好的一篇論文 (The Best Paper),以及最後一篇論文(The Last Paper)。這第一篇論文的含義是說這篇論文率先提出了一個好的問題和方向。最好的一篇論文是什麽?那一定是開創性地提出了一種解法,啟发了最終解決這個問題的途徑。至於最後一篇論文,那一定是徹底把這個問題解決了,從此以後這個問題不再需要繼續做進一步的研究。從計算機視覺領域舉一個具體的例子來講,Harris Corner Detector屬於最早的一批在圖像中檢測角點的論文,可以歸為第一篇之列。David Lowe博士的SIFT特征檢測和局部描述子,可以歸為在這個方向上最好的論文之列。那麽這個方向的最後一篇呢? 我認為可能還沒有出現。具體到我自己的研究工作,在局部描述子這個方向上,我跟我的同事Matthew Brown和Simon Winder在2007年到2009年之間所做的一系列用機器學習的方法來建立描述子的工作,也實際上為提高局部描述子的性能提供了一個新的思路和方法。

對於我們很多研究員和學生來講,一輩子可能都做不到這三種最好的研究工作之一。那是不是就等於說你不能做好的研究工作或者根本不用考慮做研究了呢?肯定不是這樣。科學研究是一個共同體。這些最好的研究工作也是在前面很多很多非常紮實(solid)的研究工作的基礎上发展出來的。因此,對於年青的研究員和學生而言,應該胸懷大志,去追求做最好的研究工作,但從實際執行上來講,還是要把一項一項具體的工作先做紮實了。

怎麽做到把研究工作做紮實了?首先,你必須對你要解的問題有一個全面深刻的了解,包括為什麽要解這個問題、解這個問題有什麽意義呢、以前有沒有試圖解決同樣或者類似問題的先例,如果有,你就要全面了解前人都提出了什麽樣的解法、他們的解法都有什麽樣的優勢和缺陷……最後,你的解法解決了前面這些解法不能解決的問題呢,或者是你的解法處理了什麽樣的他們不能處理的缺陷了?這些問題的答案如果都有了,那麽,在寫論文的過程中要注意的就是,1)你的假設是什麽?2)你怎麽驗證了你的假設?這個驗證既可以是理論上的證明,也可以是實驗的驗證。我們很多學生和年青的研究員,寫論文的時候沒有找到內在的邏輯關系,很多觀點都是似是而非。或者說重一點,在論文撰寫方面的訓練嚴重不足。你的研究如果到了寫論文的階段,那就必須要有明確的觀點提出來。這個觀點必須明確無誤,只有這樣你才能被稱為形成了新的知識。你的每一個觀點都必須在理論上或者是實驗中得到驗證。另外,論文的撰寫是為了讓人看懂,不是讓人看不懂,所以我們在撰寫過程中必須盡量保證不去假設讀者已經擁有了某些方面的知識。做好了這些,基本上你就有很大的可能性能夠做出紮實(solid)的研究工作。

然後回到我們討論的主題:

如何做好計算機視覺的研究工作?

其實,要回答這個問題,將我上面講的所有觀點加上“計算機視覺領域”這個限定詞就行了。我這兒結合計算機視覺研究的一些現狀及朱松純老師的一些觀點來進一步談談我的觀點。

首先談談我觀察到的一些現象。很多年輕的學生,現在討論問題的時候都用這樣的談話:我发現用FC6層的特征,比用FC7層的特征,在某個圖像數據集上比現在最好的算法提高了1.5%的識別精度,老師我們可以寫論文了(如果大家不能理解這句話,FC6和FC7是表示AlexNet的兩個中間輸出層)。我想請問,你在這個過程中发現了什麽樣的普適的新的知識嗎,又或者,在不是普適的情況下,你在什麽限定條件下一定能夠看到這樣的識別精度提高了?

不錯,提高識別精度是一個很好的目標,但要注意,計算機視覺的研究是要解決識別的問題,不是解某一個圖像數據集。這些圖像數據集提供了很好的驗證你的假設和方法的手段,但如果你沒有遵循科學的方法和和手段去設計你的算法和實驗,你也不可能得到一個科學的結論,從而也不能產生新的知識,更不用談對這個領域做出貢獻。朱松純老師在他的評論中提到,很多學生認為,計算機視覺現在就是調深度神經網絡的參數,也就是說的這個問題。

所以,具體到對於剛開始從事計算機視覺研究的學生來講,要做好這方面的研究,我覺得第一步還是要系統學習一下計算機視覺的課程,全面了解一下計算機視覺這個領域的來龍去脈、這個領域都有哪些基本的問題、哪些問題已經解得比較成熟而哪些問題還在初級階段……這里,推薦所有的學生學習兩本經典教材《Computer Vision: A Modern Approach》和《Computer Vision: Algorithms and Applications》,可以先讀完第一本再讀第二本。

只有對這個領域有了一個初步的全面了解,你才能夠找到自己感興趣的那個問題。在眾多的問題當中,你是希望做三維重建,還是做圖像識別、物體跟蹤,又或是做計算攝影呢?做研究其實不是一個完全享樂的的過程,你必須要有足夠的興趣來保證你能持續地走下去,這在你感覺自己當前研究的思路走不下去的時候尤其具有重要意義。當你確定你感興趣的問題,你應該首先全面調研一下這個問題的來龍去脈。這就意味著你不能只讀過去五年的論文。你可以從過去一年的論文開始,慢慢追溯回到過去很久的相關的論文。有些時候,你會驚訝地发現前人想問題的深度。研究的英文單詞是Research,拆開是Re-Search,用中文直譯就是重新搜索和发現,而不是直接发現,其實就是說你要首先對這個問題做追本溯源。朱松純老師提到的我們很多學生現在不讀五年以前的論文,說的也是這個道理。

當你做好了這些,你必須鉆進計算視覺的一個小的領域。人的精力是有限的,這就意味著你不可能把很多事情同時做好,所以在你選好方向之後,就要把你的精力集中在你感興趣的一個問題上, 努力成為這個方面的專家。研究是一項長跑,很多時候,你在一個方向上比別人堅持久一點, 你就有機會超越他而成為某個方面的專家。最後,我也來談談深度學習對計算機視覺的影響。在這里,我對馬里蘭大學Rama Chellapa教授在Tom Huang教授80歲生日論壇上表達的觀點非常認可,他認為,深度學習網絡就像一個Pasta Machine:你把該放的東西放進去,它能給你產生好吃的Pasta。同時它也是一個Equalizer:無論你在計算機視覺領域有40年的經驗還是0年的經驗,只要你會用Caffee,你在一些問題,比方說圖像識別上,都能產生差不多的結果。他開玩笑說這有點傷自尊 (It hurts my ego!),但我們還是應該把它作為一個好的工具擁抱它。我想,他的言外之意,是我們的研究應該做得更深,要去理解這個工具為什麽能夠工作得比較好,從而產生新的知識去指導將來的研究和應用。

我認為,對於年輕的學生來講,從深度學習的方法開始學習沒有什麽問題,但必須要進一步去了解一下其他的數學和算法工具,像統計貝葉斯的方法、優化的方法、信號處理的方法等等等的。計算機視覺的問題,其本質是不適定的反問題,解這一類問題需要多種方法的結合。這里面有深度學習解得比較好的問題,像圖像識別,也有深度學習解不了的問題,像三維重建和識別。

任何研究領域包括計算機視覺的研究,對處在研究初期的學生而言, 更重要的是掌握足夠的數學工具,培養一種正式思維(Formal Thinking)的能力,這樣,遇到實際的問題就能以一種理論上正確的思路去解決這個問題。

作為結束語,我想對在從事或者有志於從事計算機視覺研究的學生說,計算機視覺的研究處在一個非常好的時期,有很多我們原來解不了的問題現在能夠解得比較好了,像人臉識別,盡管我們其實還沒有從真正意義上達到人類視覺系統對人臉識別的魯棒程度。但我們離真正讓計算機能夠像人看和感知這個世界還有很遠的距離。在我們達到這個目標之前,深度學習的方法可能是這個過程中一個重要的墊腳石,同時我們還要將更多的新的方法和工具帶入這個領域來進一步推動這個領域的发展。

作者簡介

華剛博士是微軟首席研究員,研究重點是計算機視覺、模式識別、機器學習、人工智能和機器人,以及相關技術在雲和移動智能領域的創新應用。他因在圖像和視頻中無限制環境人臉識別研究做出的突出貢獻,於2015年被國際模式識別聯合會(International Association on Pattern Recognition)授予”生物特征識別傑出青年研究員”獎勵,因其在計算機視覺和多媒體研究方面的傑出貢獻,於2016年被遴選為國際模式識別聯合會院士(IAPR Fellow)和國際計算機聯合會傑出科學家(ACM Distinguished Scientist) 。他擔任過CVPR 2014/2017、ICCV 2011、ACM MM 2011/ 2012/ 2015/2017、ICIP 2012/2013/2015/2016、ICASSP 2012/ 2013等十多個頂級國際會議的領域主席,將擔任CVPR 2019的程序主席。