第7名解决方案
第7名解决方案
作者:T Nakamura
发布时间:2021-05-11
首先,我要感谢主办方举办这次比赛。祝贺所有奖牌获得者。让我分享一下我的解决方案。
概览


模型
训练/验证集划分
GroupKfold(5折),根据 label_group 中的样本数量分布进行分层。
图像模型
- 骨干网络:NFNet-F0 配合 GeM 池化(训练时 p=3(固定),推理时 p=4)
- 输入尺寸:420x420
- 轮次:30
- 优化器:madgrad(momentum=0.9, weight_decay=1e-5) [1]
- 学习率调度器:余弦退火 (1e-5 --> 1e-8)
- 距离度量:余弦相似度
- 损失函数:多相似度损失 (alpha=2, beta=50, base=0.5) 配合 XBM(memory_size=1024) [2]
- 批大小:32,通过随机采样相同 label_group 中的图像对生成 mini-batch
- 数据增强:Rotate, ColorJitter, RandomBrightnessContrast, RandomGamma, HorizontalFlip, CoarseDropout
文本模型
- 骨干网络:DistilBERT (distilbert-base-indonesian)
- 轮次:30
- 优化器:madgrad(momentum=0.9, weight_decay=1e-5)
- 学习率调度器:余弦退火 (1e-4 --> 1e-8)
- 距离度量:余弦相似度
- 损失函数:多相似度损失 (alpha=2, beta=50, base=0.5)
- 挖掘器:多相似度挖掘器 (epsilon=0.1)
- 批大小:256,通过随机采样相同 label_group 中的标题对生成 mini-batch
- 数据增强:OneOf([random_delete, random_swap, random_swap+random_delete, random_swap*2]) 概率为 p=0.1
- random_delete:如果 len(title) > 2,随机删除一个单词
- random_swap:如果 len(title) > 2,随机交换两个单词
交叉验证分数
5折平均 F1 分数如下。alpha-QE 的参数在每折中分别进行了优化。
| alpha-QE |
图像 |
文本 |
拼接 图像/文本 |
| No |
0.83031 |
0.80803 |
0.88777 |
| Yes |
- |
- |
0.91179 |
私有排行榜阈值
我绘制了图像数量与最佳阈值的曲线图,观察到随着图像数量增加,最佳阈值呈指数衰减,因此我在最终提交时降低了阈值。但这恶化了私有 LB 分数(0.762, 0.757)。如果我不更改在公共 LB 上调整的阈值,我的模型可以获得 0.765 分。