Kaggle大神们都在用什么语言、框架、模型?这里有一份详细统计

本文统计了2021年各大机器学习竞赛的情况,发现Kaggle依然是竞赛最多的平台,PyTorch成为深度学习首选框架,占比达到77%,所有NLP解决方案都使用了Transformer模型。此外,计算机视觉领域的冠军多采用CNN,而集成模型在优胜方案中占据重要地位。
部署运行你感兴趣的模型镜像
来源:机器之心

对于ML学习者和从业者来说,参加竞赛是一个很好的锻炼机会,还能赚取一些零花钱。那么,你知道哪个平台比赛最多,成绩比较好的那些团队都在使用什么架构、什么模型吗?在这篇文章中,一位名叫Eniola Olaleye的数据科学爱好者介绍了他们的统计结果。

0d6f0879ffb1319cd2329a6a9c76f9de.png

统计网站: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、所有获奖的CV解决方案都使用了CNN;
6、所有获奖的NLP解决方案都使用了Transformer。

以下是这次调查的详细信息:

平台类型


在本次调查中,作者总共统计了16个平台上的83场竞赛。这些竞赛的总奖金池超过270万美元,其中奖金最丰厚的比赛是由Driven data举办的Facebook AI Image Similarity Challenge: Matching Track,奖金高达20万美元。

9f9a1777d7eba1a55b59fb9ed882d9b0.png

竞赛类型

此次调查显示,2021年最常见的竞赛类型是计算机视觉和自然语言处理。与2020年相比,这部分变化很大,当时NLP竞赛仅占竞赛总数的7.5%。

07ed0b2fc6eaaf5570605fc12f07b154.png

在众多NLP竞赛中,Zindi与AI4D(Artificial Intelligence for Development Africa)合作举办的竞赛数量最多,比赛内容包括将一种非洲语言翻译成英语或其他语言以及针对一种非洲语言进行情感分析。

770dd079ba65497b6b9da106717b247a.png

语言与框架

在这次调查中,主流的机器学习框架依然是基于Python的。Scikit-learn非常通用,几乎被用于每个领域。

d4019af47c44989e66a983a378bca54b.png
fc8e966932bda4c170f3f4826f4af89b.png

不出所料,两个最流行的机器学习库是Tensorflow和Pytorch。其中,Pytorch在深度学习比赛中最受欢迎。与2020年相比,在深度学习竞赛中使用PyTorch的人数突飞猛进,PyTorch框架每年都在快速发展。

4d60cf2a8bd2d5557d05e11922cde991.png

冠军模型


监督学习

a04bb1e585993ac5e866921fbc5801ac.png

在经典机器学习问题中,Catboost、LightGBM等梯度提升模型占据主流。

举个例子,在一个室内定位和导航的Kaggle竞赛中,选手需要设计算法,基于实时传感器数据预测智能手机在室内的位置。冠军解决方案考虑了三种建模方法:神经网络、LightGBM和K-Nearest Neighbors。但在最后的pipeline中,他们只用LightGBM和K-Nearest Neighbours达到了最高分。

计算机视觉

cac3e595a83374f336183c517870d805.png

自从AlexNet在2012年赢得ImageNet竞赛以来,CNN算法已经成为很多深度学习问题都在用的算法,特别是在计算机视觉方面。

循环神经网络和卷积神经网络并不相互排斥。尽管它们似乎被用来解决不同的问题,但重要的是这两个架构都可以处理某些类型的数据。例如,RNN使用序列作为输入。值得注意的是,序列并不局限于文本或音乐。视频是图像的集合,也可以用作序列。


循环神经网络,如LSTM,被用于数据具有时间特征的情况(如时间序列),以及数据上下文敏感的情况(如句子补全),其中反馈循环的记忆功能是达到理想性能的关键。RNN还在计算机视觉的下列领域中得到了成功的应用:

  • 「日间图片」与「夜间图片」是图像分类的一个例子(一对一RNN);

  • 图像描述(一对多RNN)是根据图像的内容为图像分配标题的过程,例如「狮子猎鹿」;

  • 手写体识别;

最后,RNN和CNN的结合是可能的,这可能是计算机视觉的最先进的应用。当数据适合CNN,但包含时间特征时,混合RNN和CNN的技术可能是有利的策略。

64300aa1076a4dcef57a8223a03edc36.png

在其他架构中,EfficientNet脱颖而出,因为它专注于提高模型的准确性和效率。EfficientNet使用一种简单而有效的技术——复合系数(compound coefficient)来放大模型,使用缩放策略创建了7个不同维度的模型,其精度超过了大多数卷积神经网络的SOTA水平。


NLP


像2020年一样,2021年NLP领域大型语言模型(如Transformer)的采用比例显著增加,创历史新高。作者找到了大约6个NLP解决方案,它们全都基于transformer。

275cd8de45982cc5cde52f2880ed0099.png

获胜团队情况

作者在数据集中追踪了35场比赛的获胜者。其中,只有9人之前从未在比赛中获奖。与2020年相比,可以看到赢得很多比赛的老参与者一次又一次获胜,只有少数几人首次得奖,在百分比上没有真正明显的变化。

689df8f581cb609937158ff722cd359b.png

a96553a3114ead05115c4256a5226520.png

优势方案

在机器学习竞赛的优胜方案中,集成模型成为了首选方法之一。集成方法中最常用的方法是求平均,即构建多个模型并通过将输出和的平均值相加将其组合在一起,从而达到更稳健的性能。

在调整一个模型时,一旦你达到了一个收益率下降的点,通常最好重新开始构建一个产生不同类型错误的新模型,并将它们的预测求平均。

09c5bf6bfabdaee7afc969b09d3db1c8.png0e4045f94fcdd930db8ff4012f4fe338.png

集成方法应用示例


在一个kaggle「木薯叶病分类」比赛中,选手要将木薯叶子图像分类为健康或四类疾病。冠军解决方案包括4个不同的模型CropNet、EfficientNet B4、ResNext50和Vit,并采用了平均方法。

获胜者从ResNext和ViT模型中取类权重的平均值,并在第二阶段将这种组合与MobileNet和EfficientnetB4结合。

7003b36ad67553a7238af3b47f67e2b1.png

原文链接:https://medium.com/machine-learning-insights/winning-approach-ml-competition-2022-b89ec512b1bb


觉得还不错就给我一个小小的鼓励吧!

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值