0
本文作者: 汪思穎 | 2018-06-08 09:50 |
雷鋒網(wǎng) AI 研習(xí)社按,本文作者 dawnbreaker,首發(fā)于知乎,雷鋒網(wǎng) AI 研習(xí)社獲其授權(quán)轉(zhuǎn)載。
我從 2017 年年初開始接觸 Kaggle。曾翻閱知乎上很多關(guān)于 Kaggle 的回答和文章,然而逐漸發(fā)現(xiàn)大部分文章中提到的經(jīng)驗(yàn)和技巧是針對(duì)傳統(tǒng) machine learning 類比賽的,對(duì)計(jì)算機(jī)視覺類的比賽并不適用。此刻已是 2018 年 6 月,我也參加過了多次比賽,或多或少有了一些自己的觀點(diǎn)和感想。因此我寫這一篇文章希望對(duì)現(xiàn)存文章進(jìn)行一定程度的補(bǔ)充,以供剛剛接觸 Kaggle 計(jì)算機(jī)視覺(CV)類比賽的同學(xué)參考。盡管此文會(huì)充斥個(gè)人觀點(diǎn)和猜測(cè),我會(huì)盡量提供論據(jù)并淡化感情色彩。這是我在知乎的第一篇文章,希望大家能夠多多鼓勵(lì)和批評(píng)。
一、我的成績(jī)
第一次 The Nature Conservancy Fisheries Monitoring
排名: 16th of 2,293 ? Top 1% ? 角色:隊(duì)長(zhǎng)。另一個(gè)隊(duì)員叫孫鵬,是同一實(shí)驗(yàn)室的同學(xué)
第二次 Carvana Image Masking Challenge
排名: 12th of 735 ? Top 2% ? 角色:前期單刷,后來基本上由女朋友完成。
第三次 Cdiscount’s Image Classification Challenge
排名: 15th of 627 ? Top 3% ? 角色:基本是單刷。偶爾和女友以及朋友討論一下。
第四次 Statoil/C-CORE Iceberg Classifier Challenge
排名: 28th of 3,343 ? Top 1% ? 角色:打醬油。隊(duì)長(zhǎng)是孫鵬。
第五次 Google Landmark Recognition Challenge
排名: 9th of 483 ? Top 2% ? 擔(dān)任角色:?jiǎn)嗡?/p>
并列第五次 Google Landmark Retrieval Challenge
排名: 22th of 218 ? Top 11% ? 角色:?jiǎn)嗡??;旧现挥?landmark recognition 比賽的代碼跑了一下,沒有進(jìn)行調(diào)參等嘗試,完全是投機(jī)取巧。
這六次比賽皆為計(jì)算機(jī)視覺類的任務(wù)。我還曾試圖參加 TensorFlow Speech Recognition Challenge 這個(gè)語音識(shí)別類的比賽,最終因?yàn)樽约哼^于外行和精力不足知難而退。
以上就是我的全部比賽經(jīng)歷。
二、Kaggle上的兩個(gè)世界
Kaggle 的比賽任務(wù)大致都是根據(jù)已知信息,對(duì)測(cè)試集里的數(shù)據(jù)進(jìn)行某種預(yù)測(cè)。按照主流方法是否涉及到 deep learning 來分,大概有兩種比賽:
A. 一種比賽比較適合傳統(tǒng)的 machine learning 方法,要想取得好成績(jī),可能要在 feature engineering 和 ensemble 方面大做文章。但基本用不上 deep learning,因此有沒有好的 GPU 無關(guān)緊要。這類比賽的例子有房?jī)r(jià)預(yù)測(cè)等:
House Prices: Advanced Regression Techniques
Zillow Prize: Zillow’s Home Value Prediction (Zestimate)
Two Sigma Financial Modeling Challenge
Sberbank Russian Housing Market
Instacart Market Basket Analysis
Web Traffic Time Series Forecasting
Mercedes-Benz Greener Manufacturing
B. 另一種比賽現(xiàn)階段主流的解決方案是各種深度神經(jīng)網(wǎng)絡(luò),主要以計(jì)算機(jī)視覺類為主,任務(wù)包括 image/video classification, object detection, image masking。偶爾也有語音識(shí)別類任務(wù)。迄今為止我參加過的比賽都是這一種。參加此類比賽對(duì)硬件有一定程度的要求。比如說有一個(gè)臺(tái)式機(jī)和一塊或多塊 Titan X/1080ti 會(huì)對(duì)模型的迭代幫助很大。但用筆記本 GPU 甚至完全不用 GPU 并且排名靠前的人也是有的:
例1:我的同學(xué)孫鵬,用筆記本上的 980M。
例2:一個(gè)叫 Eric 的 Kaggler,用 5 個(gè)無 GPU 的電腦跑 PyTorch,Google Landmark Recognition Challenge 中獲得 28th/483 排名。參見 I enjoyed this competition: Feedback from a newbie!
例3:一個(gè) ID 為 ImageRecog 的 Kaggler,聲稱用筆記本打比賽,在 Google Landmark Retrieval Challenge 中贏得季軍。(不確定后期有沒上更強(qiáng)大的硬件。)
但總歸會(huì)痛苦很多。
很多 Kagglers 對(duì)這兩類比賽之一表現(xiàn)出了明顯的偏好。如砍手豪因?yàn)槿鄙儆脕碛?xùn)練神經(jīng)網(wǎng)絡(luò)的硬件,而傾向于參加 A 類比賽(參見:《零基礎(chǔ)自學(xué)兩月后三月三次輕松進(jìn)入kaggle比賽top20小結(jié)》)。而我自己迄今參加的都是 B 類的比賽,原因是自己習(xí)慣于處理計(jì)算機(jī)視覺類的任務(wù),而對(duì)傳統(tǒng) machine learning 任務(wù)尤其是時(shí)序預(yù)測(cè)方面了解比較少,不想進(jìn)去墊底。如此一來 Kaggle 上仿佛存在著兩個(gè)不同的世界。A、B 類比賽都很投入地去參加的人當(dāng)然也是存在的,只是據(jù)我所見大部分人都傾向于參加其中一類。
我在此強(qiáng)調(diào)這兩類比賽的區(qū)別,一個(gè)重要原因是,我發(fā)現(xiàn)迄今為止知乎上大部分的 Kaggle 入門指南大都是針對(duì) A 類比賽的。例:
參加 Kaggle 競(jìng)賽是怎樣一種體驗(yàn)? - Naiyan Wang 的回答 - 知乎
參加 Kaggle 競(jìng)賽是怎樣一種體驗(yàn)? - Alex Hsu 的回答 - 知乎
零基礎(chǔ)自學(xué)兩月后三月三次輕松進(jìn)入 Kaggle 比賽top20
Kaggle 首戰(zhàn)拿銀總結(jié) | 入門指導(dǎo) (長(zhǎng)文、干貨)
隨機(jī)森林——實(shí)現(xiàn) Kaggle 排名 Top2% 的利器
Kaggle 實(shí)戰(zhàn)(2)—房?jī)r(jià)預(yù)測(cè):高階回歸技術(shù)應(yīng)用
B類比賽的文章/回答則少得多,例:
參加 Kaggle 競(jìng)賽是怎樣一種體驗(yàn)? - AI 研習(xí)社的回答 - 知乎
Kaggle 的比賽在 Machine Learning 領(lǐng)域中屬于什么地位? - 幻云羽音的回答 - 知乎
我希望本文可以對(duì)關(guān)注 B 類比賽的 Kaggler 提供一些參考。
三、靠套路而豪無創(chuàng)新究竟能得到怎樣的成績(jī)?
有人說 Kaggle 比賽全靠套路。這句話隱含的意味是要想在 Kaggle 上獲得好成績(jī),靠的是套路而不是智慧和靈感,或者靠的不是真正的技術(shù)。如果去杠的話,我們也可以說發(fā) paper 也是靠套路。但我想,即使真的是靠套路,也未必是一件完全的壞事,套路中也能體現(xiàn)高下之分,套路中也能體現(xiàn)出能力的強(qiáng)弱吧。很多 Kaggler 的成績(jī)都是比較穩(wěn)定的。比如 bestfitting 連續(xù)在 6 個(gè)比賽中得了 Top 3。比如 Fangzhou Liao 四次參加比賽全部都是冠軍。而我大部分時(shí)間都進(jìn)不去 Top10,也從未出過 Top30,大概是因?yàn)槲铱傄矝]參透 Top10 選手的套路,而排名 30+ 的參賽者總也沒參透我的套路吧。
那么靠套路而豪無創(chuàng)新究竟能得到怎樣的成績(jī)?我來試圖給出一個(gè)下界出來:
1. 在Carvana Image Masking Challenge 中我的第一個(gè) baseline 模型是 Unet,而且圖省事用的是 pytorch-CycleGAN-and-pix2pix 中的 Unet。為了趕快跑出個(gè)結(jié)果我把圖片從大約 1000x700 縮小成了 256x256 大小。沒有經(jīng)過任何調(diào)參的第一次提交結(jié)果是(Private Leaderboard) Dice coefficent = 0.985517,比賽結(jié)束時(shí)這個(gè)成績(jī)可以排到 top 72%。把圖片大小改成 768x512 之后,未經(jīng)任何其他修改,成績(jī)是 coefficent = 0.995050,比賽結(jié)束時(shí)可以排到 top 53%。
2. 在 Cdiscount’s Image Classification Challenge 中我的第一個(gè) baseline 模型是 Pytorch 的 Resnet101,第一次提交的成績(jī)是 Accuracy = 0.71929,比賽結(jié)束時(shí)這個(gè)成績(jī)可以排進(jìn) Top 12%。
3. 在 Google Landmark Recognition Challenge 中我的第一個(gè) baseline 模型是 ResNet50,第一次提交的成績(jī)是 GAP = 0.115。我后來在討論區(qū)把這個(gè)模型的訓(xùn)練公開了,即便如此,這個(gè)成績(jī)?cè)诒荣惤Y(jié)束時(shí)居然也可以排到 Top 14%。我的第二個(gè) baseline 模型 DELF 成績(jī)是 GAP = 0.203,比賽結(jié)束時(shí)可以排進(jìn) top 4%!
4. 在 Google Landmark Retrieval Challenge 中我套用了 Recognition 中使用的 DELF 代碼,第一個(gè)模型即是最后一個(gè)模型,沒有調(diào)優(yōu)過程,排名 11%.
5. The Nature Conservancy Fisheries Monitoring 是個(gè) two-stage 比賽,兩個(gè) stage 用的測(cè)試集不同,并且 stage 1 的成績(jī)已被主辦方清空所以我無法判斷我們第一個(gè) baseline 模型可以在最終的 leaderboard 上排第幾。
6. Statoil/C-CORE Iceberg Classifier Challenge 這個(gè)比賽我是打醬油的,前期的實(shí)驗(yàn)細(xì)節(jié)我手頭暫時(shí)缺失。
以上經(jīng)驗(yàn)表明,只要選擇了與任務(wù)相對(duì)應(yīng)的 state-of-art 模型,在代碼無 bug,沒有實(shí)驗(yàn)設(shè)置錯(cuò)誤的情況下,排進(jìn) Top 50% 甚至 Top 15% 難度很小。那么另外的 50%~85% 的參賽者出了什么問題呢?我猜可能原因有如下幾種:
1. 根本不知道 state-of-art 模型是什么,也不知道怎么檢索或者沒有檢索的意識(shí)。
例:想強(qiáng)行套用mnist分類的方法來解決 image retrieval 問題。
2. 不想離開心理舒適區(qū),而選擇自己相對(duì)比較熟悉或容易上手的工具、庫和模型。
譬如說因?yàn)橄矚g用 Keras 或者 Keras 剛?cè)腴T而只用網(wǎng)上找得到源碼的基于 Keras 的模型。
3. 或多或少知道 state-of-art 模型的存在,但硬件條件有限,而選擇對(duì)計(jì)算資源要求不高的模型。
例:因?yàn)橛脖P小或網(wǎng)速慢而下載縮小幾倍的圖片代替原圖來進(jìn)行訓(xùn)練的。
4. 代碼有 bug,debug 苦手。
5. 實(shí)驗(yàn)設(shè)置有問題。比如存在邏輯錯(cuò)誤或者參數(shù)有嚴(yán)重問題。
四、參加比賽有什么好處
至于說為什么有 50%~85% 之多,如果說不是向來如此,也許是最近幾年 Kaggle 更火了,入門者也更多了吧。我去年(2017)在國(guó)內(nèi)已經(jīng)發(fā)現(xiàn)很多人在求職簡(jiǎn)歷里寫 Kaggle 比賽經(jīng)歷。至于 Kaggle 比賽經(jīng)歷對(duì)求職有多大好處我還不能確定。值得一提的是,我在參加第一次比賽感覺堅(jiān)持不下去的時(shí)候,是看了 @lau phunter 的帖子堅(jiān)持下去的:
2017-8-22 更新:兩年過去了大家參加 Kaggle 熱情高漲標(biāo)準(zhǔn)也水漲船高,以下標(biāo)準(zhǔn)請(qǐng)浮動(dòng)一級(jí)。
原答案:
獲獎(jiǎng)的都是有真本事的人,在上面練幾個(gè)題目得個(gè)好名次,十分能證明你對(duì)數(shù)據(jù)科學(xué)這個(gè)領(lǐng)域的實(shí)踐和理解。我現(xiàn)在招人的時(shí)候幾乎是這個(gè)標(biāo)準(zhǔn):
寫上參加過 Kaggle 比賽,我會(huì)看簡(jiǎn)歷。
得過一次 10%,我會(huì)給電話面試。
得過 2 次或者以上 10%,我會(huì)給 on site 面試。
得過一次前 10,我們會(huì)談笑風(fēng)生。
樓主加油。
雖然水漲船高,總歸有人認(rèn)可是好事。
我想從一個(gè)平常人的角度來討論 Kaggle 比賽能給我們帶來什么。我先來舉幾個(gè)不適合平常人的角度:
1. 一個(gè)網(wǎng)上經(jīng)常被討論的話題,就是“paper 重要還是比賽成績(jī)重要”。我想,能考慮這個(gè)問題的人并不適用那種很極端的情況:例如 ILSVRC(Imagenet) 如果能得第一自然也能把方法發(fā)到頂會(huì)上去。——ILSVRC 能得冠軍的人根本不會(huì)疑惑這種問題吧。
2. “如果進(jìn)了前幾名還可以獲得獎(jiǎng)金?!比绻皇?Grandmaster 的級(jí)別(例:Vladimir Iglovikov 一年內(nèi)獲得獎(jiǎng)金 $28k),平常人的收益風(fēng)險(xiǎn)比恐怕還不如去搬磚。
而平常人真正容易面對(duì)的情況是,發(fā)頂會(huì) paper 被拒或者根本寫不出來,參加比賽成績(jī)不算拔尖或者被吊打。我認(rèn)為一個(gè)人如果花時(shí)間可以換來頂會(huì)一作,那么不參加 Kaggle 也沒有什么遺憾。
Kaggle 常年都有各種比賽,有整理好的數(shù)據(jù)集,有各種 kernel 和帖子教你怎樣下載和使用數(shù)據(jù)集,甚至?xí)o出一些 baseline 代碼。獲勝者也會(huì)分享他們的 solution。這些特點(diǎn)對(duì)于那些想要嘗試一些曾經(jīng)沒做過計(jì)算機(jī)視覺任務(wù)的人來說是十分新手友好的。這里的新手指代的不一定是計(jì)算機(jī)視覺方面完全的新手,比如說如果你本來只熟悉物體識(shí)別,想嘗試一下語義分割,那么 Kaggle 也可能很適合你。
Kaggle 還有一大特色就是實(shí)時(shí)的 leaderboard,非常殘酷。如果你什么都不做,你的比賽名次只會(huì)下降。這會(huì)造成一種心理的刺激,給你壓力/動(dòng)力讓你改善模型——當(dāng)然這也是一種精神折磨。
我還有一個(gè)感想是:Kaggle 比賽給了每個(gè) AI 愛好者被考驗(yàn)的免費(fèi)機(jī)會(huì)??梢宰屢恍┫矚g空想和嘴炮的人檢查一下自己是不是如同想象的那般厲害。但這個(gè)感想的詭異之處在于,由于我上文中提到的,只要正常跑通一個(gè) ResNet101 就可能進(jìn) Top 15%,而或許有人覺得 Top 15% 很了不起,這樣一些喜歡空想和嘴炮的人參加 Kaggle 之后或許真的覺得自己很厲害了。So paradoxical……!
還有就是會(huì)認(rèn)識(shí)很多志同道合的網(wǎng)友,這一點(diǎn)不展開討論了。
五、陷阱和一些技巧
1. 每場(chǎng)比賽會(huì)有多少人參與?
計(jì)算機(jī)視覺類比賽用到的數(shù)據(jù)通常是圖片和視頻,無論是空間占用還是計(jì)算量都比較大,大到很多人不得不因?yàn)橛布Y源,或處理大規(guī)模數(shù)據(jù)的經(jīng)驗(yàn)和能力問題,而不愿意參與數(shù)據(jù)集較大的比賽。這導(dǎo)致了一場(chǎng)比賽的參與人數(shù)和數(shù)據(jù)量強(qiáng)相關(guān)。小數(shù)據(jù)集的例子如 2018 Data Science Bowl 訓(xùn)練集只有 80M 左右,參與隊(duì)數(shù)高達(dá) 3634,Statoil/C-CORE Iceberg Classifier Challenge 訓(xùn)練集只有 43M,參與隊(duì)數(shù)高達(dá) 3343。數(shù)據(jù)集比較大的如 Cdiscount’s Image Classification Challenge 訓(xùn)練集 60G,參與隊(duì)數(shù)為 627。而 Google Landmark Recognition Challenge 的訓(xùn)練集要 170G 左右,參與隊(duì)數(shù)為 483。
另一個(gè)決定參與人數(shù)的主要因素是任務(wù)的復(fù)雜程度和生僻程度。純分類任務(wù)比較受歡迎,其次是語義分割等任務(wù)。這些比較受歡迎的任務(wù)特點(diǎn)是門檻比較低,網(wǎng)上找得到大量現(xiàn)成的代碼和模型(如 VGG、ResNet、Unet、SegNet),會(huì)調(diào)庫無需深入了解原理甚至可能不用調(diào)參就能跑出像模像樣的結(jié)果。(因?yàn)橹T如圖片分類等任務(wù)門檻特別低,以至于被某些人當(dāng)做 AI 從業(yè)者的黑點(diǎn)。對(duì)此類黑點(diǎn)的態(tài)度不在本文的討論范圍。)Google Landmark Recognition Challenge 和 Google Landmark Retrieval Challenge 數(shù)據(jù)集大小幾乎一樣,因?yàn)?retrieval 問題的門檻相對(duì)比較高,后者的參與隊(duì)伍數(shù)不到前者的一半。而 NIPS 2017: Targeted Adversarial Attack 這個(gè)對(duì)抗攻擊任務(wù),只有 65 隊(duì)參加。
硬件條件好,經(jīng)驗(yàn)豐富,能力強(qiáng)的人不太在乎如上兩點(diǎn)因素,并且排名靠前經(jīng)常霸榜的人大都是這樣的人,因此一個(gè)人的期望排名和參與總隊(duì)伍數(shù)并非是線性關(guān)系?!┤缯f,我在兩千隊(duì)參與的比賽中得了第 16,那么同樣的水平和發(fā)揮,我在六七百隊(duì)參與比賽中就能進(jìn)前 10 嗎?沒那么容易,事實(shí)證明我在六七百隊(duì)參與的比賽中依然是第十幾名。當(dāng)然這里沒有考慮到運(yùn)氣成分,只是個(gè)粗略的例子。
由于我抱以上述觀點(diǎn),顯而易見我個(gè)人看重絕對(duì)排名勝于 Top 百分比。但會(huì)有很多人偏好于追求一個(gè)漂亮的 Top 百分比。我的建議是,想要 Top 百分比好看,或者目標(biāo)是銅牌和銀牌的同學(xué)應(yīng)該多參加人多的比賽。人再多,Top 10% 都保證有銅牌,Top 5% 都保證有銀牌;而人多的情況下進(jìn) Top 10% 甚至 Top 5% 的幾率也大。(金牌的規(guī)則不一樣,隊(duì)伍總數(shù) 1000+ 的情況下金牌數(shù)只有 10+0.2%*隊(duì)伍總數(shù)。參見 Kaggle Progression System)
2. Public Leaderboard 陷阱
數(shù)據(jù)集小的比賽雖然門檻低,卻并不真的簡(jiǎn)單容易。較小的樣本量會(huì)導(dǎo)致驗(yàn)證集和測(cè)試集的樣本分布差異較大。加上由于計(jì)算量小,模型迭代(這里指更新?lián)Q代,不是訓(xùn)練一個(gè) iteration)速度快,很容易導(dǎo)致一種后果:overfit 到驗(yàn)證集上,這種后果導(dǎo)致的常見悲慘結(jié)局是比賽結(jié)束的時(shí)候發(fā)現(xiàn) Public leaderboard 成績(jī)還不錯(cuò),但是 Private Leaderboard 上的排名一落千丈(通常 Public Leaderboard 會(huì)被當(dāng)成是某種意義上的驗(yàn)證集)。例如 Statoil/C-CORE Iceberg Classifier Challenge 的兩個(gè) leaderboard 上有很多人有一百多甚至兩百多的排名變化,相比較而言,數(shù)據(jù)量大了的三個(gè)數(shù)量級(jí)的 Cdiscount’s Image Classification Challenge 絕大部分人排名都沒有變化,少數(shù)有 1~2 名的浮動(dòng)。
對(duì)此我只有一句空洞的建議:合理的 evaluation 策略至關(guān)重要。Kaggle 排名第一位的 bestfitting(真名 Shubin Dai,中國(guó)人)稱:
A good CV is half of success. I won’t go to the next step if I can’t find a good way to evaluate my model.
———鏈接:Profiling Top Kagglers: Bestfitting, Currently #1 in the World
這些大佬們每次在比賽結(jié)束公布 Private Leaderboard 的時(shí)候排名都比較穩(wěn)定,不太容易下降很多。可見看似是取決于運(yùn)氣的排名大震蕩,在大佬手里是有辦法控制的。這大概就是真功夫吧。
3. 馬甲和私享代碼
在數(shù)據(jù)集小的比賽中,由于迭代速度比較快,每天提交的次數(shù)又有限制(大部分比賽是 5 次),所以經(jīng)常會(huì)有人注冊(cè)小號(hào)來提交結(jié)果。在數(shù)據(jù)集較大的比賽中,后期也偶有這樣的現(xiàn)象。有的人在排名比較好的時(shí)候會(huì)私下里把代碼分享給別人(比如同學(xué)),以求一人得道雞犬升天……。我在比賽中見過幾次別人注冊(cè)馬甲或私享代碼。譬如說一夜之間就冒出了一堆三無賬號(hào),成績(jī)還都差不多?;蛘咴诔煽?jī)對(duì)參數(shù)極其敏感的任務(wù)中一次提交就飛進(jìn) Top5%,一發(fā)入魂。一人多號(hào)和私享代碼是違背比賽精神的,也是 Kaggle 明令禁止的,并且也是 Kaggle 會(huì)探測(cè)和封殺的??杀氖牵?jīng)常會(huì)有中國(guó)人這樣做。為什么我這么確定?因?yàn)橛行┵~號(hào)的 ID 用的是拼音,或者地址選了 China。真是又壞又蠢,作弊本已可恥,卻還要披著中國(guó)人的形象。大概是覺得自己聰明,占了便宜卻無人知曉吧……然而最終這些賬號(hào)都被主辦方踢出了比賽或者刪號(hào)處理。
4. 刷全站排名
全站排名取決于你在過往比賽中取得的總積分,積分公式如下圖:
截圖來源:Improved Kaggle Rankings(圖侵刪)
積分是隨著時(shí)間呈指數(shù)衰減的。這意味著,如果要刷高自己的排名最高紀(jì)錄,那么參加幾次間隔很久的比賽,不如參加幾次間隔很短的比賽。
另外參加任何的比賽都不會(huì)減分,所以片面地追求全站排名不太在乎提高自身水平的,可以考慮在海量的比賽中打醬油。這是一個(gè)病態(tài)無聊但可行的策略。
5. 更多的 supervision
在絕大部分的比賽當(dāng)中,在訓(xùn)練集上做額外的標(biāo)記都是不違反規(guī)則的,只要在規(guī)定的時(shí)間(有些比賽是 deadline 的兩周以前)以前上傳到討論區(qū)和其他參賽者分享。譬如說,在魚類識(shí)別的任務(wù)中,你可以用 bounding box 標(biāo)記出魚的位置。在海獅計(jì)數(shù)的任務(wù)中你可以用 mask 來標(biāo)記出每一個(gè)屬于海獅的像素。這些額外的標(biāo)記通常都能幫助訓(xùn)練出更好的模型。但開銷也不小。另外要注意的是,在測(cè)試集上做標(biāo)記是明令禁止的作弊行為。
六、其它
1.參加計(jì)算機(jī)視覺類的比賽需要多少 GPU
一兩塊 Titan X, 1080 或 1080Ti 就夠了。一塊 980 也勉強(qiáng)可以。四塊以上的 GPU 當(dāng)然更好,但 GPU 多了其實(shí)很難充分利用到。運(yùn)算速度快到一定程度,人腦 debug、分析問題、想 idea 的時(shí)間就成了主要的速度瓶頸。如果不怎么分析問題,不怎么想 idea,走無腦窮舉試錯(cuò)的路線,以圖速度或圖省事,很容易走偏。高手們會(huì)根據(jù)自己的經(jīng)驗(yàn)和直覺來快速嘗試不同的模型,所以駕馭得了更多 GPU。如果你有“只要給我更多的 GPU 我肯定能大幅提高排名”這樣的自信,不妨試試 aws 上的 spot instance,如果確實(shí)如此,那就可以攢錢或求贊助來入手 GPU 了。
誠(chéng)然,小數(shù)據(jù)集的比賽對(duì) GPU 要求很低,甚至 750M 這樣的 GPU 也可以用。但是因?yàn)榈俣忍?,以?leaderboard 每天都有大浮動(dòng),這樣的比賽參加起來特別費(fèi)肝……
2. 什么樣的排名算是一個(gè)好的排名
Jeremy Howard 在 2017 年年初或 2016 年年末(記不清了)的 fast.ai 的教學(xué)視頻里(出處懶得求證了)說:排進(jìn) Top 50%,說明你的模型還 OK;排進(jìn) Top 10%,說明你是這個(gè)領(lǐng)域的專家;排進(jìn) Top 1說明你是世界上最頂尖的專家。他的這段話過于樂觀了。很多時(shí)候排名看起來還可以,只是因?yàn)檎嬲模ㄔV諸純潔:P)專家們和大佬們大多沒有時(shí)間參加 Kaggle 而已。但這么想似乎也是有失公允的,因?yàn)椴锁B和外行們也大都沒有參加 Kaggle。所以誰知道呢……?
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。