第二名解决方案说明
第二名解决方案说明
作者:Matsushita
发布时间:2022-06-02
好吧,我想是时候解释一下那个在私有排行榜上位列第二的解决方案了。
与获胜者的帖子(祝贺你们!)类似,我不会深入每一个细节;这些细节将通过技术报告提供。
总体概况
我的解决方案主要基于处理卫星遥感(RS)产品的深度卷积神经网络。具体来说,基础模型由两个CNN特征提取器组成(去掉了最后的全连接分类层的标准图像分类架构)。它们并行运行并摄取RS图像的不同部分:第一个接收数据集的RGB部分,第二个接收高度、近红外(NIR)和NDVI(归一化植被指数:(NIR-red)/(NIR+red))的堆叠。我之前曾使用土地覆盖图作为输入代替NDVI,但向像CNN这样的连续模型提供序数类索引的离散图并不直观,也不太合理,因此改用了NDVI。
这两个特征提取器并行处理它们分配的三通道图像,但不共享参数。它们各自输出一个相同大小的潜在特征向量,该向量被拼接后,经过高比例的Dropout(概率为0.45效果最好),并通过一个映射到17,034个物种的全连接层转换为每类激活值。使用标准的softmax交叉熵损失来训练模型(更多内容见下文)。
有助于提高准确性的因素
我进行了大量的实验,尝试了许多不同的想法;许多都没有成功(通常情况也是如此)。然而,以下四点提供了显著的准确性提升:
- 正确的模型架构:我最初为两个特征提取器分支各使用了一个ResNet-50。这效果还不错,但仅仅通过切换到Inception-v4,我就获得了近2%的提升。我也尝试了DenseNet-201,其表现与ResNet-50相似。更复杂和最新的架构也在尝试之列,包括ConvNext和Vision Transformer(ViT B/16)。尽管硬件性能不错(见下文),这两个模型训练时间极长,并且导致了严重的过拟合(训练集Top-30为35%,验证集为5%)。
- 预训练:由于拥有数百万自由参数的巨大搜索空间,深度学习模型通常需要某种形式的预训练才能很好地适应。我的列表中有不同的预训练方式,但最终效果最好的是简单地使用ImageNet预训练的权重。其他想法见下文。
- 空间块标签交换:虽然上述两点对于模型能否正常工作很重要,但这一点对于我模型的性能来说是最关键的。这是一个针对我们面临的“仅存在”标签问题的训练概念:在特定位置未观察到某个物种并不意味着该物种不存在。这种情况加上每个数据点仅分配一个单一物种的事实,在技术上违反了教科书式的启发式方法(如交叉熵损失)所做的假设:该损失假设每个数据点恰好有一个正确的标签,且所有其他类别应为零(它最小化了预测概率空间中的熵)。虽然GeoLifeCLEF数据集是这样设置的,但这导致预测问题变得不适定。因此,找到一种考虑到这一点的训练策略是明智的。一个流行的想法是使用温度softmax,但这只能在某种程度上减轻模型的冲击。我的解决方案——空间块标签交换,试图通过以下方式放宽严格的一类要求:它首先创建一个方形单元格(0.01x0.01° 经纬度)的空间网格,并将每个训练点分配到其所在的单元格中。在训练期间,它随后对每个数据点进行查找,并以10%的概率随机将其标签替换为同一网格单元中邻居的标签。这是一种简单但某种程度上直观的正则化手段,它帮助模型获得了另外2%的准确率。我尝试了不同的替换概率,以及更复杂的策略(例如,根据网格单元内物种的遭遇概率进行交换),但最简单的方法效果最好。
- 集成学习:与许多比赛一样(我相信),不同模型的集成效果最好。对于提交,我集成了十个不同的训练模型;一些ResNet-50,一些Inception-v4,一个DenseNet-201。每个模型都经过了略微不同的调整训练(例如,不同的学习率、不同的随机种子),但总体概念始终保持不变。我集成了输出概率,但是以一种基于伪置信度的方式:我执行了测试时增强(也很重要),并记录了每个测试样本和每个模型在增强过程中的置信度方差。然后我对每个模型的方差进行归一化和反转,使其绑定到[0,1],并在所有十个模型运行中应用softmax。这为我提供了一种粗略的模型置信度概念。将softmax分数与增强过程中的平均模型置信度相乘并求和,得出了最终的预测分数,我从中提取了前30个物种。集成在单一模型的基础上又带来了约2%的提升。
尝试过但未成功的方法
像GeoLifeCLEF这样的设置和挑战绝对会让人尝试许多不同的想法。提供我尝试过的所有技巧的详尽列表超出了本帖的范围,但这里有一些比较相关但未能奏效的方法:
- 其他协变量:我尝试将环境栅格(每个数据点提取一个值)以及GPS坐标插入模型。这些都没有很好的效果。我将原因归结为相对于RS产生的特征,归一化特征的困难,以及首先提取特征的困难(从环境协变量到潜在特征需要使用MLP,这总是有点乱)。获胜者在这里做得更好,他们对协变量使用了非DL模型,例如随机森林。这表明DL并不总是答案(考虑到我只用了DL,这听起来很讽刺)。此外,