训练2021年每个SOTA模型,他的「核武」策略意外收获Kaggle银牌

简介: 训练2021年每个SOTA模型,他的「核武」策略意外收获Kaggle银牌
可谓是「无心插柳柳成荫」。


在 Kaggle 的世界,软件开发者、金融模式和行为研究公司 Deep trading 的创始人 Yam Peleg 称得上一位「大神」。目前,他在 Notebooks Grandmaster 中排名第 11,在 Discussion Grandmaster 中排名第 5。


最近,他干的一件事在 reddit 上引发了网友热议:他训练了 2021 年的每一个 SOTA 模型,并在最近的一项 Kaggle 图像分类比赛中意外斩获了一枚银牌。这项 Kaggle 比赛名为「Pawpularity Contest」,这是一个典型的多模态回归问题,根据宠物图片来预测它们的可爱程度。

图源:https://www.kaggle.com/c/petfinder-pawpularity-score


他的思路是这样的:训练每个 SOTA 模型,使用 100 亿参数的集合的集合(ensemble of ensembles)来「核武攻击」(Nuke)Kaggle 比赛的排行榜。

对于这一策略(trick)的命名 ——「Nuke option」,网友表示非常喜欢,并将在其他比赛中用这一命名。


另一位网友称赞道,「在 Kaggle 环境中完成所有事情真了不起。」


方案解读

根据 Yam Peleg 的 Notebook 介绍,他训练的模型包括如下:

  • EfficientNet
  • NFNet
  • ViT
  • Swin Transformer
  • Deep Orthogonal Fusion of Local and Global Features(DOLG)
  • Hybrid Swin Transformer
  • External Attention Transformer(EAT)


他将自己的方案称为「Nuclear Protocols for Image Classification」,并表示只有用尽了其他方案才考虑使用。pipeline 如下图所示:提出的方法是 7 个堆叠 pipeline(140 + 模型)的集合,并且每个 pipeline 都有一个在提取图像嵌入上训练的第二阶段(2nd)模型。


实现步骤

训练这些 SOTA 模型之前,Yam Peleg 首先导入库:


接着安装其他配置,完成数据填充(seeding):

配置部分截图


然后是 TPU 配置、加载元数据、CV 的分层 K 折回归(Stratified KFold for Regression)、增强(Augmentations)等步骤。数据 pipeline 如下所示:

  • 读取原始文件,然后解码到 tf.Tensor
  • 按需求重新调整图像大小
  • 将数据类型变为 float32
  • 缓存数据以提升速度
  • 使用增强来降低过拟合,并使模型更稳健
  • 将数据分割为 batch


最后依次训练模型,并将 Notebook 提交至了 Pawpularity Contest 中,获得了一枚银牌。


完整排行榜:https://www.kaggle.com/c/petfinder-pawpularity-score/leaderboard

参考链接:https://www.kaggle.com/yamqwe/the-nuclear-option-trainhttps://www.reddit.com/r/MachineLearning/comments/s6spou/p_i_trained_every_single_sota_from_2021_and/

相关文章
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
908 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
Java Maven
解决【IDEA】Maven项目pom.xml依赖包下载太慢
【IDEA】Maven项目pom.xml依赖包下载太慢
解决【IDEA】Maven项目pom.xml依赖包下载太慢
|
10月前
|
监控 前端开发 数据可视化
React音频进度条组件开发全攻略
本文介绍了音频播放器的实现与优化,涵盖基础功能、进阶交互、问题诊断及企业级增强方案。首先通过绑定音频元素和进度条展示核心逻辑,解决状态循环更新和除零错误等典型问题。接着实现拖拽定位、缓冲加载等功能,处理移动端兼容性和性能优化。针对时间不同步、内存泄漏等问题提出解决方案,并介绍异步状态管理和内存防护策略。最后探讨键盘导航、可视化扩展等企业级特性,总结最佳实践,包括状态隔离、性能监控、无障碍支持及测试方案,建议使用TypeScript和Storybook提升开发效率和类型安全性。
263 30
React音频进度条组件开发全攻略
|
8月前
|
人工智能 自然语言处理 Java
从国外到国产,AI 编程工具混战,开发者究竟该如何抉择?
AI编程工具正深刻变革开发模式,从国外的GitHub Copilot、Cursor、Trae到国内的飞算JavaAI与通义灵码,各具特色。Copilot依托开源代码与强大模型提升效率,但成本高且偶有“AI幻觉”;Cursor适合中高级开发者,续写速度快但团队版有限制;Trae以免费GPT-4和中文界面吸引用户,但可持续性存疑。国产工具方面,飞算JavaAI专注全流程Java开发,一键生成工程代码,大幅提升效率;通义灵码支持多语言,功能丰富且与IDE无缝集成。开发者需根据语言、阶段、成本等因素权衡选择,找到最适合自身需求的工具,实现开发效率与质量的飞跃。
|
搜索推荐 安全 物联网
智能家居技术的未来:集成化与个性化的融合
本文将深入探讨智能家居技术的发展趋势,特别是集成化和个性化如何成为未来智能家居系统设计的核心。文章将分析当前智能家居技术面临的挑战,并展示通过集成化提高系统效率、降低成本的方法。同时,讨论个性化服务在提升用户体验方面的重要性,以及如何通过数据驱动和人工智能技术实现这一目标。最后,文章将预测未来智能家居技术的发展方向,包括物联网设备的进一步整合、安全性的提升,以及智能家居技术在健康监测和环境可持续性方面的应用潜力。
421 1
|
SQL 存储 监控
GreatSQL 异步复制及搭建
【9月更文挑战第13天】GreatSQL 的异步复制使主库无需等待从库确认即可继续处理新事务,从而提升性能。搭建步骤包括:安装 GreatSQL,配置主库与从库,创建复制用户,获取主库状态,启动复制,并检查复制状态。需确保网络稳定,定期监控并备份数据,以防数据不一致。
185 11
|
存储 编解码 算法
HDCP你听过吗?
HDCP你听过吗?
1508 0
|
机器学习/深度学习 PyTorch 算法框架/工具
【五分钟会,半小时懂】人声分离Demucs
【五分钟会,半小时懂】人声分离Demucs
3230 1
|
算法 关系型数据库 数据库