閱讀深度學習論文的一些技巧

本菜雞的科研之路已經開始兩三個月了,期間遇到了不少問題,如今想在這裏總結一下。git

  1. 在閱讀深度學習論文的時候,首先須要看看代碼是否開源,若是沒有開源應該向做者索要源碼,而後在本地運行這些代碼。這樣作是頗有必要的,由於深度學習就是一個玄學,論文裏故事編的再漂亮也不能work,所以你須要用代碼來進行驗證論文的正確性。本人在閱讀論文的過程當中,發現了一些造假明顯的文章,實驗數據異常,idea不work,向做者索要代碼也不給。
  2. 在開始學習深度學習的時候,代碼須要本身一行一行的扣,熟悉各類API,這樣才能打好基礎。千萬不要直接拿人家現成的模型就去跑,不少時候是看着簡單,可是不少細節精髓都沒有學到。
  3. 打好基礎後,咱們就須要本身進行相應的實驗了。首先,咱們須要肯定baseline,首先拿一些基本模型來跑實驗,看看效果。而後挑選相應的模型做爲基礎,再來作實驗。注意,這個時候不要本身重頭開始構建代碼,從新開始構建代碼是一個很是耗時間的過程(由於要保證代碼必定正確,否則後續的實驗分析都是錯的),而且最終模型的效果也每每不會有論文中的效果好,有過模型復現經驗的同窗,必定知道這點。
  4. 學會跑人家開源的代碼,這個不是一個簡單的活。第一,github上開源的代碼,不必定是對的,不少時候都有錯誤,這個時候須要本身檢查,一些水文和他人復現的代碼都有bug,這個時候就應該用一些頂會論文的開源代碼,這樣的代碼質量有保證(頂會論文的代碼也不必定是徹底正確的,手動滑稽,但學習別人高質量的代碼可以學到不少東西)。第二,因爲深度學習的模型不少,咱們須要根據不一樣框架的代碼安裝不一樣的環境,這一點很麻煩。而且跑別人的代碼,須要快速找到數據的入口,而且進行相應的修改,這都是有技巧的。
  5. 在咱們跑對比實驗的時候,也須要跑別人的代碼,把數據送入,而後看結果。若是沒有開源,可能還須要本身復現,這個過程耗時且無聊。
  6. NLP 的風氣不好,不少論文都不開源,這一點上CV要好的多。
相關文章
相關標籤/搜索