Kaggle大神們都在用什么語言、框架、模型?這里有一份詳細統(tǒng)計
統(tǒng)計網(wǎng)站:https://mlcontests.com/作者得出了幾個重要結論:
1、在所有競賽中,Kaggle上的競賽數(shù)量仍然占據(jù)1/3,而且獎金數(shù)量占270萬美元總獎金池的一半;
2、在所有比賽中,有67場比賽是在前5大平臺(Kaggle、AIcrowd、Tianchi、DrivenData 和 Zindi)上舉行的,有8場比賽是在去年只舉辦了一場比賽的平臺上舉行的;
3、幾乎所有的冠軍都使用了Python,只有一個冠軍使用了C++;
4、77%的深度學習解決方案使用了PyTorch(去年高達72%);
5、所有獲獎的CNN解決方案都使用了CNN;
6、所有獲獎的NLP解決方案都使用了Transformer。
以下是這次調查的詳細信息:
平臺類型
在本次調查中,作者總共統(tǒng)計了16個平臺上的83場競賽。這些競賽的總獎金池超過270萬美元,其中獎金最豐厚的比賽是由Driven data舉辦的Facebook AI Image Similarity Challenge: Matching Track,獎金高達20萬美元。
競賽類型
此次調查顯示,2021年最常見的競賽類型是計算機視覺和自然語言處理。與2020年相比,這部分變化很大,當時NLP競賽僅占競賽總數(shù)的7.5%。
在眾多NLP競賽中,Zindi與AI4D(Artificial Intelligence for Development Africa)合作舉辦的競賽數(shù)量最多,比賽內容包括將一種非洲語言翻譯成英語或其他語言以及針對一種非洲語言進行情感分析。
語言與框架
在這次調查中,主流的機器學習框架依然是基于Python的。Scikit-learn非常通用,幾乎被用于每個領域。
不出所料,兩個最流行的機器學習庫是Tensorflow和Pytorch。其中,Pytorch在深度學習比賽中最受歡迎。與2020年相比,在深度學習競賽中使用PyTorch的人數(shù)突飛猛進,PyTorch框架每年都在快速發(fā)展。
冠軍模型
監(jiān)督學習
在經(jīng)典機器學習問題中,Catboost、LightGBM等梯度提升模型占據(jù)主流。舉個例子,在一個室內定位和導航的Kaggle競賽中,選手需要設計算法,基于實時傳感器數(shù)據(jù)預測智能手機在室內的位置。冠軍解決方案考慮了三種建模方法:神經(jīng)網(wǎng)絡、LightGBM和K-Nearest Neighbors。但在最后的pipeline中,他們只用LightGBM和K-Nearest Neighbours達到了最高分。
計算機視覺
自從AlexNet在2012年贏得ImageNet競賽以來,CNN算法已經(jīng)成為很多深度學習問題都在用的算法,特別是在計算機視覺方面。
循環(huán)神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡并不相互排斥。盡管它們似乎被用來解決不同的問題,但重要的是這兩個架構都可以處理某些類型的數(shù)據(jù)。例如,RNN使用序列作為輸入。值得注意的是,序列并不局限于文本或音樂。視頻是圖像的集合,也可以用作序列。循環(huán)神經(jīng)網(wǎng)絡,如LSTM,被用于數(shù)據(jù)具有時間特征的情況(如時間序列),以及數(shù)據(jù)上下文敏感的情況(如句子補全),其中反饋循環(huán)的記憶功能是達到理想性能的關鍵。RNN還在計算機視覺的下列領域中得到了成功的應用:
- 「日間圖片」與「夜間圖片」是圖像分類的一個例子(一對一RNN);
- 圖像描述(一對多RNN)是根據(jù)圖像的內容為圖像分配標題的過程,例如「獅子獵鹿」;
- 手寫體識別;
最后,RNN和CNN的結合是可能的,這可能是計算機視覺的最先進的應用。當數(shù)據(jù)適合CNN,但包含時間特征時,混合RNN和CNN的技術可能是有利的策略。
在其他架構中,EfficientNet脫穎而出,因為它專注于提高模型的準確性和效率。EfficientNet使用一種簡單而有效的技術——復合系數(shù)(compound coefficient)來放大模型,使用縮放策略創(chuàng)建了7個不同維度的模型,其精度超過了大多數(shù)卷積神經(jīng)網(wǎng)絡的SOTA水平。
NLP
像2020年一樣,2021年NLP領域大型語言模型(如Transformer)的采用比例顯著增加,創(chuàng)歷史新高。作者找到了大約6個NLP解決方案,它們全都基于transformer。
獲勝團隊情況
作者在數(shù)據(jù)集中追蹤了35場比賽的獲勝者。其中,只有9人之前從未在比賽中獲獎。與2020年相比,可以看到贏得很多比賽的老參與者一次又一次獲勝,只有少數(shù)幾人首次得獎,在百分比上沒有真正明顯的變化。
優(yōu)勢方案
在機器學習競賽的優(yōu)勝方案中,集成模型成為了首選方法之一。集成方法中最常用的方法是求平均,即構建多個模型并通過將輸出和的平均值相加將其組合在一起,從而達到更穩(wěn)健的性能。
在調整一個模型時,一旦你達到了一個收益率下降的點,通常最好重新開始構建一個產(chǎn)生不同類型錯誤的新模型,并將它們的預測求平均。
集成方法應用示例
在一個kaggle「木薯葉病分類」比賽中,選手要將木薯葉子圖像分類為健康或四類疾病。冠軍解決方案包括4個不同的模型CropNet、EfficientNet B4、ResNext50和Vit,并采用了平均方法。
獲勝者從ResNext和ViT模型中取類權重的平均值,并在第二階段將這種組合與MobileNet和EfficientnetB4結合。