567. Google Research - Identify Contrails to Reduce Global Warming | google-research-identify-contrails-reduce-global-warming
我们使用 human_pixel_masks 作为真实标签。我们尝试了多种方式整合 human_individual_labels,但未能取得改进。我们没有尝试对这些标签进行平均并训练软标签。我们的集成中包含了一个模型,该模型计算所有单个掩码的损失,并将损失最大的一个作为辅助损失包含进来。
我们尝试利用时间信息改进单一模型,但未能超越2D设置,因此转而创建一个使用不同编码器和解码器的多样化集成。我们使用了不同的CNN和Transformer作为骨干网络,也有一些模型使用了Transformer解码器(UNetFormer)。
我们进行了许多实验,以利用额外时间段形式的额外数据,以便以某种方式整合这些信息,即使不是直接建模。最终对伪标签设置有效的方法(既能改进单一模型又能为集成增加多样性)如下:
对于大多数实验,我们使用了主办方提供的分割方式,即在整个训练数据上训练,并在 validation.csv 上进行评估。早期我们进行了一些KFold实验,但OOF CV被高估,且在保留集(validation.csv)上的CV分数表现不佳。
我们使用了两种变体,根据真实标签(256x256)进行评估:
i) 模型输出放大2倍尺寸 --> interpolate(256, mode='nearest') --> 计算Dice分数
ii) 模型直接输出256尺寸
注:我们的大多数实验使用了(i),尽管我们认为第二种无需插值的设置更可靠
最终集成
CV: 0.7026 / Public LB: 0.71868 / Private LB: 0.71059| 骨干网络 | 架构 | CV | TTA | 伪标签 | Mixup |
|---|---|---|---|---|---|
| efficientnet-b7 | Unet (SMP) | 0.6428 | 是 | 否 | 是 |
| tf_efficientnet_b8 | Unet++ (Timm) | 0.6704 | 否 | 否 | 是 |
| tf_efficientnet_b8 | Unet++ (Timm) | 0.6752 | 是 | 否 | 是 |
| maxvit_small_tf_512 | Unet (Timm) | 0.6677 | 否 | 否 | 是 |
| convnext_base | Unet++ (Timm) | 0.6618 | 否 | 是 | 是 |
| convnext_large | Unet (Timm) | 0.6670 | 否 | 是 | 是 |
| timm-resnest200e | Unet | 0.6869 | 是 | 否 | 否 |
| timm-resnest200e | Unet | 0.6853 | 是 | 否 | 是 |
| timm-resnest200e | Unet | 0.6885 | 是 | 是 | 是 |
| convnext_large_384_in22ft1k | UnetFormer | 0.6788 | 是 | 否 | 是 |
| tf_efficientnet_b6 | UnetFormer | 0.6532 | 否 | 否 | 否 |
| eva02_large_patch14_448 | Unet | 0.6542 | 是 | 否 | 否 |
| convnext_large_384_in22ft1k | UnetFormer | 0.6841 | 是 | 否 | 是 |
该集成方案是我们的最佳CV分数 / 最佳Public LB(第6名) 和 最佳Private LB(第11名)。
我们要感谢主办方和Kaggle团队组织了这场有趣的研究竞赛。我们也感谢所有在讨论和笔记本中分享想法的Kagglers。