還在爲寫論文發愁嗎?教你參加Kaggle比賽後如何產出

全文共3616字,預計學習時長12分鐘

 

圖源:unsplash

 

你是否常常因爲寫不出論文或報告而苦惱?參加比賽後寫論文的意義何在?寫出的論文該怎麼發表?筆者已親身經歷向你講述全流程,這篇論文將會成爲你的寶貴財富。那麼我們開始吧!

 

關於Kaggle比賽

 

Kaggle是最受歡迎的機器學習競賽平臺。該平臺舉辦免費的InClass競賽,CVPR和NIPS等會議的挑戰賽,科學競賽和商業挑戰賽。

 

挑戰賽的組織方通常爲參賽者提供數據、評估指標和預測測試集。該測試集用於組建公共排行榜,與其他參賽者相比,該排行榜反映出模型的質量,可在挑戰賽中提高遊戲化能力。許多參賽者由於追逐排行榜排名,而不是相信自己的本地驗證,這空拍對他們無益。

 

除了排行榜之外,Kaggle平臺還具有討論、筆記本和數據集,參賽者可以在其中分享自己的想法、數據和代碼示例。由於可以部分挑戰可以共同解決,流程大大加快了。平臺爲學習提供了強大的支持,許多學生和新興的學習專家都選擇Kaggle平臺進行處女賽。

 

Kaggle網站界面

 

當然,還有其他機器學習競賽的平臺,例如topcoder,Codalab,Zindi等,但由於缺乏筆記本和良好的討論論壇,這些平臺更傾向於專業人士,而不適合學生和學習者。所以,Kaggle通常是練習機器學習的首選。

 

另外,Kaggle通常會提供Google Cloud Platform的信譽,可在挑戰賽的有限時間內使用。荷蘭的互聯網服務提供商HOSTKEY B.V.(https://www.hostkey.com/gpu-servers#/)也可以提供對GPU服務器的訪問和技術幫助。可以在此處申請資助:http://landing.hostkey.com/grants。

 

 

參加Kaggle比賽後,爲何要撰寫論文或技術報告

 

在機器學習競賽中,許多方法和思想通常是經過嘗試和驗證的,最終會爲給定任務提供最先進的模型。通常,所有模型都無濟於事,只有前三種解決方案會被挑戰賽組織者所採納。這顯然是對知識和計算資源的巨大浪費,太可惜了。

 

圖源:hackernoon

 

近年來,許多頂尖參賽者撰寫了描述解決方案的文章,甚至在比賽結束後公開了代碼。這是一個非常棒的倡議。但是,簡短的描寫通常不足以重現結果,並且Kaggle風格的代碼通常有些混亂,如果沒有註釋和文檔字符串,則很難理解。

 

挑戰賽期間,每個人都急於追逐排行榜排名,只有少數參與者會關心生產質量代碼。

 

圖源:unsplash

 

那麼爲什麼要在比賽後將頂級Kaggle解決方案模型形成詳細的技術報告或論文,而不是通常看到的一小時可以讀完的文章呢?

 

1.這對人類知識基礎做出了巨大貢獻,並且確實產生了影響。通常,在比賽中有幾種想法可以得到實施,經過多次嘗試(或失敗嘗試),有時甚至可以在獲勝的模型中看到SOTA解決方案。詳細的總結有助於其他研究人員和學生節省時間,同時選擇合適方法、模型架構,損失函數或擴充函數。

 

即使沒有明確看到影響,但影響確實存在,在對GitHub存儲庫的論文和分叉的所有引用中可以看到影響。

 

2.挑戰賽後,合適的技術報告或論文可讓人們清洗代碼,使代碼變得可讀和可複製。還會推動人們去完成這些文檔字符串,添加該自述文件等等。

 

作爲GitHub上的一個微型項目,它看起來很不錯,其中引用了arXiv和乾淨的項目代碼,還可在簡歷中添加一些內容作爲工作的示例,可以在沒有NDA問題的情況下共享這些代碼。

 

3.提交給arXiv的文章無需同行評審這一過程,而提交給期刊或會議的文章則需要同行評審。在arXiv上發表了技術報告後,還可以將其發送到會議記錄或相關期刊。

 

圖源:unsplash

 

筆者也遇到過這種事情:在arXiv上發表論文草案後,筆者獲邀將論文提交給期刊。將工作報告提交給會議和期刊,可以讓自己使用的模型和方法進行適當的同行評審。

 

確實,有時評審味着需要進行額外的計算,消融研究甚至論文的一半的內容都需要重寫(筆者知道這種感覺),但值得一提的是,這種反饋可以讓研究和技術工作更好,還會加深對問題的理解。

 

4.現在已準備就緒:數據分析、有效的pipeline代碼、結果甚至數據。挑戰賽後直接將所有內容組合在一起會比較容易。

 

5.最後,這是長期的良好公共關係(PR)。Kaggle帖子的受歡迎時間有一天,一篇博客帖子的受歡迎時間有一週,而一篇優秀的同行評審論文可以保留很長時間,還會出現在arXiv和相關的會議記錄上,從而爲自己以及公司建立了長期的公共關係(如果碰巧在公司的話)。

 

 

關於參加Kaggle比賽後撰寫論文或技術報告的幾點思考

 

1.撰寫適當的論文通常意味着要重新運行在挑戰賽中快速進行的所有計算,需要再現所有這些嘗試和失敗,並進行消融研究。

 

研究中沒有失敗一說,只有有價值的信息,所以確實需要運行所有未改進的模型,以衡量改進的影響。這意味着進行更多的計算,更多的嘗試和系統的研究。有時,可能會找到比提交給挑戰賽更好的解決方案。這很正常。

 

2.天下沒有免費的午餐。撰寫技術報告或論文意味着花費時間來創作適當的文檔,瀏覽相關的文獻,回顧當前的最新技術,詳細介紹使用方法,製作圖片,製作文字,添加參考文獻等等。

 

這一切都很花時間。尋找以爲對此話題有興趣的共同作者是非常有用的,即使他們沒有參加挑戰賽也可以。

 

圖源:unsplash

 

3.有時,把論文提交給會議或期刊以及進行同行評審會很痛苦。有時,評審意味着需要進行額外的計算,消融研究並重寫論文的半數內容。這將教會一個人什麼是耐心。

 

4.有時,在參加比賽之後實在太累了,不想再次查看代碼讓其變得乾淨,不想再添加所有這些文檔字符串和註釋,這是正常表現。但是編寫一個不錯的代碼並將其放在GitHub存儲庫進行公開,可以提升簡歷內容,請牢記。

 

5. 論文在同行評審過程可能會被拒絕。不要爲此感到煩惱:仔細思考審閱者的反饋,然後重新提交給更相關的期刊或會議。

 

去年,筆者成功提交了兩份有關挑戰賽的技術論文。筆者發表在了arXiv和GitHub上。第一篇技術論文獲邀參加《天文學會雜誌》,第二篇論文被會議接受。。

 

 

關於參加Kaggle比賽後撰寫論文或技術報告的數個步驟

 

1.先做個文獻綜述吧。

 

如果要對當前用於類似任務的最新技術進行研究,請閱讀最新的相關論文。很有可能,在比賽中會嘗試實施這些論文中的技術。要了解最新的深度學習方法,請關注paperswithcode。它提供了具有可用代碼的出版物參考,並提供了流行數據集的最新排行榜。

 

2.清洗代碼。重組、重構、添加文檔字符串和註釋。可以考慮使用Black進行樣式格式化,使用isort進行導入排序,flake8和Mypy進行檢查。

 

這篇文章提供了有關如何讓代碼更具可讀性的有用信息。編寫自述文件,其中包含有關如何設置環境和下載數據,如何訓練模型以及重現實驗的說明。(https://towardsdatascience.com/nine-simple-steps-for-better-looking-python-code-87e5d9d3b1cf)

 

圖源:unsplash

 

3.進行消融研究。修復所有隨機種子和超參數,並對所有實用但不太成功的技巧重複計算,介紹更改內容,並重復嘗試和拒絕的嘗試,記錄每次的指標。

 

進行消融研究,以瞭解實施模型改進後的真正貢獻是什麼。

 

4.瀏覽Kaggle上共享的其他頂級解決方案,聯繫獲獎者,並詢問如何將想法/代碼與參考內容一起使用。在消融研究中添加改進內容很有必要,並在論文討論會中提到這些想法。

 

Kaggle人員對此非常開放:筆者問了大約3-4個人關於如何將內容與參考內容一起使用,並始終獲得了許可。甚至可以進一步改善模型,延遲時間把模型提交給競賽方。Kaggle平臺允許延遲提交模型。

 

5.進行數據集描述,準備一些可以說明數據的圖表,顯示數據類別分佈,提供所有使用其他數據的來源。應該遵循介紹部分。描述給定的任務和使用的度量。

 

6.在進行消融研究時,對模型進行改進並進行重新培訓,當在排行榜上獲得不錯的成績時,就可以考慮寫下來了。描述使用的模型,如何拆分數據,數據的預處理和擴充,使用的超參數以及模型訓練過程。

 

把這些寫得簡潔明瞭,請參閱GitHub存儲庫。不要忘記引用本文中使用的所有資源、文章和軟件包。

 

7.寫下結果。繪製一些圖表說明不同模型的訓練過程以及數據擴充;添加帶有實驗和消融研究得分結果的表格。

 

8.最後,反思結果。可以添加討論部分,也可以添加失敗的嘗試,以及還未解決的問題。另外,可以在本節中提到其他參與者分享的想法。

 

9.不要忘記致謝一節,感謝挑戰賽組織方,Kaggle平臺以及任何對自己有用的人或物。

 

圖源:unsplash

 

10.要製作紙張樣式,可以使用LaTex編輯器(即WinEdit)或在線編輯器(即Overleaf)並從Overleaf下載不同的樣式。寫完後,最好用Grammarly檢查文本。

 

11.首先把論文提交到arXiv。然後,確定相關的會議和期刊,選擇會議時注意論文提交的截止日期,閱讀該會議對作者的說明,下載其latex模板並將內容複製到裏面。準備就緒後,可通過會議或期刊網站提交,並等待評審。

 

論文在同行評審過程可能會被拒絕。不必爲此感到煩惱:每個期刊或會議都有其主要範圍。遵循評審者給出的方針,並在可能的情況下考慮這些反饋,然後改進文章,重新提交給另一個相關的期刊或會議。

 

圖源:Pixabay

 

這些工作聽起來就很不容易,這當中你一定會遇到不少挫折和困難,但別怕!完成這些事,你的論文將更加具有可讀性和實用性。對於簡歷和GitHub存儲庫而言,這也是一筆寶貴的資產。這個艱難的過程會讓你收穫頗豐。

 

我們一起分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 “讀芯術”

(添加小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智能科技哦~)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章