憑借着對算法和AI的向往,終於有機會接觸到人工智能的領域。現在的主要工作就是在OCR文字識別,期間也看了不少的論文,從CTPN到Faster RCNN,再到EAST和FOTS。最開始因為剛接觸這個領域,很多名詞看不懂,論文閱讀非常吃力,后來隨着知識的積累和深入,現在閱讀也變得輕松起來。最近關注愛可可老師的微博,剛好發現了這篇文章——《How to Read a Paper》,感覺非常適合我這種英語不好、但是又需要閱讀論文的人。
本文就結合最近幾個月閱讀論文采的坑與《How to Read a Paper》結合,摸索一下大佬們的閱讀方法。
一般的機器學習工程師或者深度學習工程師,都要閱讀大量的論文積累相關的領域知識。但是閱讀論文本身卻很少有人能傳授一些經驗,這篇文章提出了一種“三步法(three-pass method)”的方法,下面就來介紹一下。
背景
通常會有很多原因需要閱讀論文,比如回顧某個會議或者課程、對某個領域持續的關注、開拓新的領域等等。一個專業的學術研究員或者AI研究員可能需要花費幾百個小時來閱讀論文,因此高效的閱讀論文,是一種必不可少的經驗和技能。對於剛開始閱讀論文的人來說,需要經過不斷的嘗試和犯錯,才能總結出經驗和教訓。作者憑借多年的閱讀經驗,總結出了閱讀論文的“三步法”,下面就來看看到底是如何操作的吧。
三步法
閱讀論文最笨拙的方法就是從頭讀到尾,有的時候浪費了大量的時間還不知道作者到底說了什么。如果采用三步法,一般是這么個流程:
- 第一步,對論文的主題,對論文的核心內容有一定的了解
- 第二步,了解論文的核心思想
- 第三步,深入理解論文、嘗試復現
第一步
通過快速的瀏覽論文,對論文有一個整體的了解,然后決定是否有必要繼續深入閱讀。這個階段大概花費5-10分鍾,主要會做下面的事情:
- 1 仔細閱讀標題、摘要和介紹
- 2 粗略的閱讀小節部分
- 3 瀏覽一下數學公式,對基本的理論有一定的把握
- 4 閱讀結論
- 5 瀏覽相關引用,剔除讀過的文章
通過這個階段,檢查一下自己能否回答下面幾個問題:
- 1 分類方面:這篇文章屬於那種類型?這篇文章的結論是通過什么指標衡量的?是否有現成的系統參考?是否有基礎的模型理論參考?
- 2 內容方面:其他的論文有沒有跟這個類似的?這篇論文有沒有什么參考的核心理論?
- 3 准確性方面:這篇論文的結論可信嗎?
- 4 貢獻度方面:這篇論文有什么新的想法?
- 5 清晰度方面:這篇論文寫得好嗎?容易理解嗎?
通過上面的信息,你就可以決定是否要繼續深入下去了。如果這篇文章你壓根不感興趣,或者你暫時還不能理解它,又或者認為作者的結論是錯誤的,那就沒必要繼續閱讀了。也可以把它暫時放在一邊,過一段時間再來考慮要不要繼續閱讀。
另外,如果你也許要寫論文,那么通過這個部分你應該也能了解到哪一部分是最重要的。首先一定要保證標題和副標題的連貫性、摘要的清晰程度,不然閱讀者很有可能閱讀完摘要、掃過標題后,就放棄閱讀了。
第二步
在第二步中,需要閱讀的更仔細點,但是可以把論證的部分給去掉。在閱讀的時候可以划重點、抓關鍵詞進行標記,也可以把閱讀時不理解的地方記下來。這樣再次閱讀的時候就可以多注意和思考這些問題,自己寫論文的時候也會更注意到類似的點。
- 1 仔細的閱讀論文中的圖片、表格以及其他說明,尤其是要注意圖片,標注的信息是否正確?有沒有標錯?可信么?如果發現錯誤,那么這篇文章很有可能不是什么好文章。
- 2 標記那些引用的還沒閱讀的論文,這樣可以通過一篇論文在領域內引申開,擴大對領域知識的了解。
第二個階段大概需要花費一個小時的時間來仔細閱讀,通過這個步驟就可以抓住論文的核心內容了。你可以嘗試總結一下論文的主要內容、支撐的論點等等。
有時經過這個階段還是對論文不理解,這有可能是因為剛剛接觸這個領域,對於很多的概念和新名詞都不了解,或者作者使用的一些論點論據難以理解,也可能是作者對於一些關鍵點沒有描述清楚。那么你可以選擇:
- 1 把這篇論文先放在一邊,希望你自己的工作或者科研不會用到相關的內容
- 2 先閱讀一下相關的背景資料引用論文,再回來看看
- 3 嘗試進行第三個步驟
第三步
為了更好的了解論文中的內容,最關鍵的就是第三步了,這一步需要讀者嘗試復現論文。假設你現在有了跟作者一樣的思路,那么如何來復現它?通過復現的過程,就能輕松的理解文章的核心點,並且發現一些隱藏的坑和結論。
這一步就需要更加關注論文的細節了,需要理解和挑戰論文中的每一個結論,甚至你可以自己想想有沒有其他的思路。通過這種方式,就可以把一些虛擬的經驗變成自己的真實經驗了。對於現在這個開放的互聯網時代,最簡單的辦法就是去github里面搜搜有沒有現成的代碼,直接閱讀別人公開的源碼。
這個步驟可能會花費幾個小時、幾天甚至幾個月。經過這個階段,你可以輕松的在腦海中重現整個論文的思路和結構,你也能抓住論文隱藏的結論,論文之外的工作,實驗過程中潛在的問題以及分析的方法。
最后
閱讀論文總的來說還是一個經驗活,最起碼需要有幾十篇的閱讀量,才能進入一個陌生的領域。通過這個“三步法”,你可以快速的判斷這篇論文是否值得深入閱讀,是否是你感興趣的話題。
對於如何擴展知識、怎么篩選論文,可以通過下面的方法。
- 首先需要一個學術性的搜索引擎,比如Google學術、CiteSeer,輸入3-5個關鍵詞進行搜索。
- 然后通過快速通讀論文,了解論文的相關工作。
- 接下來,可以通過搜索作者的明細,查找他的其他文章,加入閱讀列表中。
- 查看關鍵作者最近的發表以及相關的頂級會議,一般能發表到頂級會議的論文都屬於質量很高的論文。
- 最后關注頂級會議最近的錄入論文,快速瀏覽相關的內容,能幫你了解相關領域的發展情況。
希望讀者都能在自己感興趣的領域快速積累起來,未來也會持續的關注愛可可老師的微博,真的很有用!