發表日期 3/28/2022, 12:54:03 PM
選自medium
作者:Eniola Olaleye
機器之心編譯
編輯:張倩
對於ML學習者和從業者來說,參加競賽是一個很好的鍛煉機會,還能賺取一些零花錢。那麼,你知道哪個平台比賽最多,成績比較好的那些團隊都在使用什麼架構、什麼模型嗎?在這篇文章中,一位名叫Eniola Olaleye的數據科學愛好者介紹瞭他們的統計結果。
統計網站:https://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結閤。