最近剛剛趕出一篇論文,又被博導(dǎo)訓(xùn)了一通。。但是比起上一次寫的時候又學(xué)到了很多可以有所提高的方法。這次記錄下來以避免以后犯同樣的錯誤。
注意:
- 科研是有領(lǐng)域劃分的。不同的研究領(lǐng)域有不同的表述方式。我們是做深度學(xué)習(xí)和圖像處理的,這些經(jīng)驗只能保證在我們的研究領(lǐng)域內(nèi)的參考價值。
- 這些技巧是在讀過寫過一些論文之后總結(jié)出來的,僅僅是一些個人淺顯的見解,可能對有一點經(jīng)驗的新手有點幫助,故以記錄的方式分享出來。愿我們共同進步。

1. 堅守論文的概念框架,內(nèi)容寧缺毋濫
我的理解是論文只有一個目的,就是把自己的研究清清楚楚,明明白白的講給讀者。寫論文就像講故事做ppt一樣,需要有一個概念框架,用來約束你想講的內(nèi)容。只要把內(nèi)容講清楚了就OK了。當(dāng)然設(shè)計一個框架不是一件簡單的事情,需要突出論文的重點貢獻,用不同的章節(jié)在篇幅限制以內(nèi),把最能夠體現(xiàn)貢獻的內(nèi)容寫出來。一旦這個框架安排好了,最好不要再做變化。把研究的內(nèi)容寫上去就可以了。如果在研究過程中有什么新的發(fā)現(xiàn),最好不要輕易的決定把它放到論文里,因為那樣會改變論文設(shè)計好的構(gòu)架。而且如果每次有新東西就像放上去,這樣研究容易跑偏,論文也走形了。最好是把它記下來,然后繼續(xù)按照之前的計劃完成論文。等事后有時間了再研究那些新的發(fā)現(xiàn)。最重要的是要認識一點:論文是看功勞不看苦勞的,絕不是寫的越多越好。有時候多一個寫一點可能導(dǎo)致整個論文結(jié)構(gòu)分散,本來一篇可以被接收的論文就被拒了。
2. 突出一個重點,或幾個同等量級的貢獻
如果有一堂課的時間,讓我講一些機器學(xué)習(xí)的內(nèi)容。ppt的第一頁我可能會分linear regression, logistic regression, decision tree 這么幾個話題。但是我不會分比如linear regression, normal equation, least square這幾個話題。 因為前者是同一級別的話題,聽眾很容易理解我想講的是這三種方法。后者的normal equation和least square是可以包含在linear regression以內(nèi)的,講出來聽眾就懵逼了,這是想講linear regression呢,還是想突出normal equation和least square的重要性?
在接收信息的時候,受眾往往會試圖去尋找重點,就是”你到底想說明什么“。寫論文也是一樣要有章法,一篇論文盡量突出一個重點。這個重點就是論文的創(chuàng)新和貢獻。比如,有人發(fā)明了一個算法,這個算法的應(yīng)用到別人的數(shù)據(jù)庫得到比別人好的結(jié)果。那么論文里應(yīng)該突出的應(yīng)該只有這個算法,把原理和優(yōu)劣講清楚就完事了。
如果有多個貢獻要寫,他們最好是在同等量級上。比如說,有人發(fā)明了一個算法,同時提出了一個自己的數(shù)據(jù)庫。他在自己的數(shù)據(jù)庫上應(yīng)用了自己的算法,得到很好的結(jié)果。那么論文里應(yīng)該突出的是算法的原理和數(shù)據(jù)庫的內(nèi)容。
再舉個反例,比如有人發(fā)明了一個算法,這個算法的應(yīng)用到別人的數(shù)據(jù)庫得到比別人好的結(jié)果,同時他又對數(shù)據(jù)預(yù)處理有一點不一樣的想法。由于發(fā)明一個算法和在數(shù)據(jù)預(yù)處理上做一些改動往往不是一個級別的貢獻,那么論文里最好就當(dāng)沒有預(yù)處理這回事,還是用絕大多數(shù)的篇幅突出算法。在描述數(shù)據(jù)的章節(jié)簡單的寫出自己是怎么做數(shù)據(jù)預(yù)處理的,并且給出原因。在abstract甚至不用提及它。如果反過來用很多文字突出預(yù)處理的好處的話,應(yīng)該解釋算法的篇幅就會受到壓縮,審稿人就容易產(chǎn)生疑問?!边@個新算法我沒見過,應(yīng)該是一種創(chuàng)新,但是說的太糙我看不太懂。而且這孫子為什么說了那么多預(yù)處理的好處?。窟@兩個東西應(yīng)該是彼此獨立的啊,為什么聽起來像沒有這個預(yù)處理的話他的算法也得不到那么好的結(jié)果似的?“ 如果講故事的方式不符合聽眾的理解習(xí)慣就可能造成這種困惑。
3. 理論嚴(yán)謹(jǐn)且完備
其實這一點可以歸納成第一條的一個分支,它是在創(chuàng)建論文概念框架的時候就需要考慮的。我覺得一個理論的嚴(yán)謹(jǐn)性體現(xiàn)在它是否有一個堅實的背景理論基礎(chǔ)和是否可以被量化上。架空的理論肯定會被質(zhì)疑;沒法量化的結(jié)論容易被question它的threshold在哪。
(a) 不能用經(jīng)驗性或技巧性的內(nèi)容代替理論性的結(jié)論。
經(jīng)驗性的總結(jié)或者技巧上的東西在理論構(gòu)架中是蒼白無力的。除非這個領(lǐng)域目前人類還沒有找到更合適方法,這時候可以用業(yè)界普遍被承認的方法代替。deep learning業(yè)界大佬, 李飛飛的高徒,CS231n的講師之一Andrej Karpathy曾經(jīng)發(fā)過一篇長博客叫"A recipe for training neural networks",講了33條技巧和注意事項。這些屬于網(wǎng)絡(luò)調(diào)整技巧,可以發(fā)微博,但是寫成論文的話估計就悲劇了。(但是這事兒也不絕對,我在換方向之前讀過一篇關(guān)于怎么寫論文的論文。論文精確的建議每一章節(jié)、每一段應(yīng)該有幾到幾句話,每句話大概有什么內(nèi)容。好像雅思寫作的模板一樣。曾經(jīng)在業(yè)界被奉為”圣經(jīng)“一樣的東西。作者好像叫Marina什么,現(xiàn)在找不到了。。)
什么是經(jīng)驗性的結(jié)論,我舉不出例子來。
(b) 不要寫無法量化的結(jié)論
有的時候自己在某一領(lǐng)域做了一點研究,但是找不到一個metrics能夠度量這個結(jié)論的可行范圍。這就是一個不完備的結(jié)論。寫出來審稿人也會問”你這個東西沒有精確定義呀~ 沒法衡量呀~ 我們不知道它的可行范圍和threshold在哪里呀~ “等等。所以最好在初建理論框架的時候就把度量自己結(jié)論的metrics找好,不然這種研究做了也是浪費時間,沒法寫出來。
(c) 太顯而易見的結(jié)論可能不算創(chuàng)新
對于什么研究算創(chuàng)新,每個領(lǐng)域應(yīng)該會有大概的共識。舉個例子,比如閉路電視經(jīng)常會拍到小偷。有一些檢測方法可以自動檢測到有沒有人破壞門窗或者偷盜。但是由于大多數(shù)行為都是在夜間進行的,圖像太黑不好檢測。這時候A君提出一個理論,說把圖像調(diào)亮再檢測就能檢測出來了(就是舉個例子,其實原理沒那么簡單),于是寫了篇論文投了。這可能就屬于顯而易見的結(jié)論。除非結(jié)論背后有被人忽視的更深層次的理論支持,否則這玩意兒可能沒啥用處。
(d) 自己不清楚的東西不要寫(廢話)
寫自己不是很清楚或者不知道怎么解釋或者比較含糊的東西是大忌。 這種內(nèi)容不但占篇幅,還會給論文減分。比如上面我寫的3a里,我不能清楚的闡述”經(jīng)驗性的內(nèi)容“指的是什么還往上寫,這就是在給審稿人抓把柄的機會。
4. 假設(shè)審稿人什么都不懂
知道了論文具體要突出哪些內(nèi)容以后,下面一個問題是怎么寫,才能突出這些內(nèi)容。解釋的內(nèi)容要適當(dāng)。我們組的博后,現(xiàn)在西湖大學(xué)的教授給我強調(diào)過兩次:寫論文之前,要假設(shè)審稿人什么都不懂。 當(dāng)然這意思不是說每個專業(yè)詞匯都需要解釋,而是把每一個引入的概念原理,尤其是對自己研究有幫助部分,要講清楚。比如我們做研究需要用到Laplacian pyramid,然后把金字塔做了變換。在這部分當(dāng)中,每層圖片的頻率和大小都會變化。那就需要講到原本Laplacian pyramid的功能和結(jié)構(gòu)是什么樣的,以一種什么樣的方式把原本的金字塔的哪一層做了什么樣的變換,結(jié)果的到的新的金字塔形狀和新的頻率是什么樣的。這樣清楚明白的把核心內(nèi)容一步步的表達給審稿人,才能讓對方理解自己研究的用意。如果有直觀的展示圖片,涉及到可能會導(dǎo)致誤解的地方也要解釋。比如高斯底層的分辨率很小(是以2^n次方的方式指數(shù)型遞減的),為了能看清楚圖片的內(nèi)容就要放大。那么為了避免產(chǎn)生誤解就要提一句:那些模糊的圖像都是以2^n倍數(shù)放大到原始圖像的,這樣方面看清內(nèi)容。不然審稿人一看,誒?這層圖像不是應(yīng)該指數(shù)遞減嗎?怎么看起來和原圖一樣大?是不是做了什么處理呀??等等。
5. 嚴(yán)謹(jǐn),杜絕想象力
科技論文不同于散文,只要把研究敘述清楚就可以了。不需要為了追求文字的美感而犧牲文章的嚴(yán)謹(jǐn)性。嚴(yán)謹(jǐn)性至少體現(xiàn)在兩個方面:措詞和數(shù)學(xué)符號。
(a) 用詞準(zhǔn)確
一般一個領(lǐng)域的研究,除非是開山之作,不然都會有比較充足的前車之鑒。在大量看過前人寫的東西以后,應(yīng)該對形容比如某一個實體或一種功能用什么樣的詞匯有一些認識。保持這種業(yè)內(nèi)人事所達成的共識會有利于讓自己的文章被別人所接受。而不能像寫散文那樣用一些似是而非的詞匯。
舉個例子,如果我想表達“拉普拉斯金字塔把一張圖片分解成由超參數(shù)k控制的多個頻層?!?br>
"Laplacian pyramid decomposes an image into multiple frequency layers controlled by the hyperparameter k."
"Laplacian pyramid turns an image into multiple frequency layers controlled by hyperparameter k.“
一般來說第一句更好一點,因為decompose明顯比turn表達的意思要更精確,因為讀者不知道是怎么turn的。是復(fù)制出很多層?還是疊加出很多層? decompose這個詞雖然扼殺了想象力,但是突出了嚴(yán)謹(jǐn)性,這才是論文。 吳軍在《硅谷來信》里講過寫論文最忌諱的4個動詞,分別是: make, have, do,,,,最后一個我給忘了(捂臉)。原因是這些詞的意思很寬泛,導(dǎo)致這種寫法一來容易產(chǎn)生歧義,二來顯得作者不專業(yè)。
(b) 符號統(tǒng)一,絕不能出錯
論文里的符號,尤其是數(shù)學(xué)符號,必須統(tǒng)一且貫穿全文包括流程圖里的表示和圖片的caption,不然直接被判死刑。換一個符號就不再是原本表述的意思了。這里包括論文里起符號作用的專有名詞的大小寫,連詞杠,都要嚴(yán)格統(tǒng)一。