Kaggle大神們都在用什麼語言、框架、模型?這裏有一份詳細統計

語言: CN / TW / HK

選自medium

作者:Eniola Olaleye

機器之心編譯

編輯:張倩

對於ML學習者和從業者來説,參加競賽是一個很好的鍛鍊機會,還能賺取一些零花錢。那麼,你知道哪個平台比賽最多,成績比較好的那些團隊都在使用什麼架構、什麼模型嗎?在這篇文章中,一位名叫Eniola Olaleye的數據科學愛好者介紹了他們的統計結果。

統計網站:http://mlcontests.com/

作者得出了幾個重要結論:

1、在所有競賽中,Kaggle上的競賽數量仍然佔據1/3,而且獎金數量佔270萬美元總獎金池的一半;

2、在所有比賽中,有67場比賽是在前5大平台(Kaggle、AIcrowd、Tianchi、DrivenData 和 Zindi)上舉行的,有8場比賽是在去年只舉辦了一場比賽的平台上舉行的;

3、幾乎所有的冠軍都使用了Python,只有一個冠軍使用了C++;

4、77%的深度學習解決方案使用了PyTorch(去年高達72%);

5、所有獲獎的CNN解決方案都使用了CNN;

6、所有獲獎的NLP解決方案都使用了Transformer。

以下是這次調查的詳細信息:

平台類型

在本次調查中,作者總共統計了16個平台上的83場競賽。這些競賽的總獎金池超過270萬美元,其中獎金最豐厚的比賽是由Driven data舉辦的Facebook AI Image Similarity Challenge: Matching Track,獎金高達20萬美元。

競賽類型

此次調查顯示,2021年最常見的競賽類型是計算機視覺和自然語言處理。與2020年相比,這部分變化很大,當時NLP競賽僅佔競賽總數的7.5%。

在眾多NLP競賽中,Zindi與AI4D(Artificial Intelligence for Development Africa)合作舉辦的競賽數量最多,比賽內容包括將一種非洲語言翻譯成英語或其他語言以及針對一種非洲語言進行情感分析。

語言與框架

在這次調查中,主流的機器學習框架依然是基於Python的。Scikit-learn非常通用,幾乎被用於每個領域。

不出所料,兩個最流行的機器學習庫是Tensorflow和Pytorch。其中,Pytorch在深度學習比賽中最受歡迎。與2020年相比,在深度學習競賽中使用PyTorch的人數突飛猛進,PyTorch框架每年都在快速發展。

冠軍模型

監督學習

在經典機器學習問題中,Catboost、LightGBM等梯度提升模型佔據主流。

舉個例子,在一個室內定位和導航的Kaggle競賽中,選手需要設計算法,基於實時傳感器數據預測智能手機在室內的位置。冠軍解決方案考慮了三種建模方法:神經網絡、LightGBM和K-Nearest Neighbors。但在最後的pipeline中,他們只用LightGBM和K-Nearest Neighbours達到了最高分。

計算機視覺

自從AlexNet在2012年贏得ImageNet競賽以來,CNN算法已經成為很多深度學習問題都在用的算法,特別是在計算機視覺方面。

循環神經網絡和卷積神經網絡並不相互排斥。儘管它們似乎被用來解決不同的問題,但重要的是這兩個架構都可以處理某些類型的數據。例如,RNN使用序列作為輸入。值得注意的是,序列並不侷限於文本或音樂。視頻是圖像的集合,也可以用作序列。

循環神經網絡,如LSTM,被用於數據具有時間特徵的情況(如時間序列),以及數據上下文敏感的情況(如句子補全),其中反饋循環的記憶功能是達到理想性能的關鍵。RNN還在計算機視覺的下列領域中得到了成功的應用:

「日間圖片」與「夜間圖片」是圖像分類的一個例子(一對一RNN);

圖像描述(一對多RNN)是根據圖像的內容為圖像分配標題的過程,例如「獅子獵鹿」;

手寫體識別;

最後,RNN和CNN的結合是可能的,這可能是計算機視覺的最先進的應用。當數據適合CNN,但包含時間特徵時,混合RNN和CNN的技術可能是有利的策略。

在其他架構中,EfficientNet脱穎而出,因為它專注於提高模型的準確性和效率。EfficientNet使用一種簡單而有效的技術——複合係數(compound coefficient)來放大模型,使用縮放策略創建了7個不同維度的模型,其精度超過了大多數卷積神經網絡的SOTA水平。

NLP

像2020年一樣,2021年NLP領域大型語言模型(如Transformer)的採用比例顯著增加,創歷史新高。作者找到了大約6個NLP解決方案,它們全都基於transformer。

獲勝團隊情況

作者在數據集中追蹤了35場比賽的獲勝者。其中,只有9人之前從未在比賽中獲獎。與2020年相比,可以看到贏得很多比賽的老參與者一次又一次獲勝,只有少數幾人首次得獎,在百分比上沒有真正明顯的變化。

優勢方案

在機器學習競賽的優勝方案中,集成模型成為了首選方法之一。集成方法中最常用的方法是求平均,即構建多個模型並通過將輸出和的平均值相加將其組合在一起,從而達到更穩健的性能。

在調整一個模型時,一旦你達到了一個收益率下降的點,通常最好重新開始構建一個產生不同類型錯誤的新模型,並將它們的預測求平均。

集成方法應用示例

在一個kaggle「木薯葉病分類」比賽中,選手要將木薯葉子圖像分類為健康或四類疾病。冠軍解決方案包括4個不同的模型CropNet、EfficientNet B4、ResNext50和Vit,並採用了平均方法。

獲勝者從ResNext和ViT模型中取類權重的平均值,並在第二階段將這種組合與MobileNet和EfficientnetB4結合。