一、ID识别问题

ID1:

ID2:

下图是哪个ID:

二、训练数据分布

  • 51033张训练图片, 27956张测试图片,public LB用了24%的测试图片,最后结果以private LB的结果为准
  • Whale和Dolphin两个类别的数据分布
  • Whale和Dolphin下面总共26中类别
  • 5w多张图片总共含有15587个ID,前10个ID的分布如下:
  • 训练图片中有很多ID只有一张图片
  • 测试图片中,有些ID 没有在训练图片中出现

三、我的解决方案


训练的时候,采用effiecientnetb7作为特征提取器,使用gem pooling,加入CBAM attention,四个neck,四个loss;测试的时候,将四个neck的特征cat到一起,就是提取的embeddings。

四、我的用到的tricks

  • 学习率:warmup+cos下降
  • 冻结bn层:小的batch_size下不能正确估计统计变量E(x)和V(x),还不如不更新。详细看这里
  • 混合精度训练:GPU下的某些操作,将float32转换为float16,损失少量的精度,可以节省大量的内存。详细看这里
  • 梯度累加:梯度累加几个batch_size之后再更新,loss求平均时防止梯度爆炸。详细看这里
  • CBAM attention:通道和空间域的attention。
  • test_tta:Test Time Augmentation
  • 不同input size之间的ensemble:确定input size 时,CNN 学会了找到特定大小的特定特征;那么,修改input size后再训练,学习后的CNN找到的其他大小下的其他特征,因此可以用不同的input size,看哪种更接近最优值。

五、tricks的效果

下面的表格是我在effiecientnetb5上的训练结果,因为effiecientnetb5更新快,score是在public LB上的分数:

六、有用未成功的tricks

  • Progressive Resizing
    step1:Train model on size: small
    step2:Save weights and re-train model on larger image size
    step3:Save weights again and re-train on final image sizes

  • Differential Learning Rates
    上层特征,用小的学习率,低层特征,用较大学习率

  • PsuedoLabelling
    训练—测试—加入训练集—再训练—再测试

下面内容是我重点参考的,觉得非常有用的

不用翻墙的kaggle 讨论:
1、9 Computer Vision Tricks to Improve Performance
2、7 More Computer Vision Tricks to Improve Score
3、Previous Happywhale Competition Solutions
4、CNN Input Size Explained

下面链接需要翻墙:
这个blog有四个大trick:
trick1: freeze
Novel techniques to win an Image Classification hackathon (Part-1)
trick2: progressive trainning
Novel techniques to win an Image Classification hackathon (Part-2)
trick3: attentation
Novel techniques to win an Image Classification hackathon (Part-3)
trick4:Ensemble and TTA
Novel techniques to win an Image Classification hackathon (Part-4)

这个第7名的方案是我主要参考的方案:
Thanks Radek 7th place solution to HWI 2019 competition

第一次参加kaggle竞赛:Happywhale - Whale and Dolphin Identification(ID识别问题:top9.4% 150/1558)相关推荐

  1. 第一次参加Kaggle拿银总结

    转载:http://scarletpan.github.io/summary-of-get-a-silver-medal-in-kaggle/ 在这篇博客开始之前,我必须感谢@Prof. Cai给我提 ...

  2. 第一次参加kaggle比赛的一些收获与心得,记录一下

    #摘要 虽然陆陆续续接触过深度学习的一些相关知识,但是从来没有系统地学习和总结过.加上之前研究的领域是SLAM(实时建图和定位),没有很好的机会直接应用深度学习技术,实践深度学习的机会也比较少.近段时 ...

  3. 参加kaggle竞赛是怎样一种体验?

    作者:Naiyan Wang 链接:http://www.zhihu.com/question/24533374/answer/34631808 来源:知乎 著作权归作者所有.商业转载请联系作者获得授 ...

  4. 【第一次参加kaggle比赛记录-Quora Insincere Questions Classification】- Word Embedding

    In summary, word embeddings are a representation of the *semantics* of a word, efficiently encoding ...

  5. 我,14岁初中生,从零开始拿到了Kaggle竞赛冠军

    视学算法报道 机器之心编辑部 因为对数学感兴趣,勇敢的少年决定投身 Kaggle. 知乎上有这样一个问题已经收到了超过 700 条回答. 在这之下有人冷嘲热讽,有人给出了鼓励和建议.从人们回答的时间来 ...

  6. 业界 | 如何达到Kaggle竞赛top 2%?这里有一篇特征探索经验帖

    本文作者 Abhay Pawar 多次参加 Kaggle 竞赛,并在 Instacart Market Basket Analysis 竞赛中拿到 top 2% 的名次.他在多年竞赛中总结出了一套特征 ...

  7. 从零开始拿到了Kaggle竞赛冠军

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 因 ...

  8. 从零开始拿到了Kaggle竞赛冠军--学习笔记(不是本人)

    本文转载自:机器之心 因为对数学感兴趣,勇敢的少年决定投身 Kaggle. 知乎上有这样一个问题已经收到了超过 700 条回答. 在这之下有人冷嘲热讽,有人给出了鼓励和建议.从人们回答的时间来看,问题 ...

  9. kaggle竞赛之Hungry Geese比赛

    kaggle竞赛之Hungry Geese比赛 1. 比赛内容和规则 1.1 比赛内容 1.2 比赛规则 2. 强化学习算法思路 2.1 HandyRL 2.2 蒙特卡罗树搜索 3. 经验总结 本文主 ...

最新文章

  1. 中科大硬核“毕业证”:“一生一芯”计划下,5位本科生带自研芯片毕业
  2. spring26-1: bean的实例方式
  3. linux下面的时间设置
  4. 【ABAP增强】基于BADI的增强
  5. 画时域随机信号波形_【鼎阳硬件智库原创︱测试测量】任意波形发生器的基本输出波形及其相关参数...
  6. c语言样本,C语言样本教案 第二章
  7. DOM-3 【utils/待讲评】节点属性、方法、封装方法、DOM结构
  8. c++的vector容器
  9. 使用浏览器获取网页模板(HTML+CSS)
  10. 局域网只看到少数电脑_利用局域网高速传输大文件的两种方法
  11. IndexedDB 简单封装
  12. web-ylbtech(合同管理)-数据库设计
  13. jsf标签,jsp标签与jstl标签
  14. 剑指offer面试题54. 二叉搜索树的第k大节点(逆中序遍历)
  15. 蓝桥杯:填字母游戏(第八届决赛javaB第五题) 博弈+递归+回溯+map记忆化
  16. Excel-VBA 快速上手(三、数组和字典)
  17. 牛刀小试-99乘法表
  18. 在线考试系统的倒计时
  19. numpy第三章-索引器、多级索引
  20. Centos7 系统登录密码忘记解决方法

热门文章

  1. 在10月24日十点二十四谈谈程序员的哲学观
  2. 助听器App 安卓 耳返
  3. python分题型练习
  4. 【深入学习51单片机】二、一个极简RTOS源码分析
  5. 如何在两个月的时间内发表一篇EI/SCI论文-我的时间管理心得
  6. jenkins使用Jenkinsfile参数化构建中转站
  7. Do作为助动词_15
  8. 字符串的indexOf用法
  9. 2002-2020各省进出口月度数据(分贸易方式)
  10. 【罗盘时钟---使用html,js,css编写。附源代码及效果】