419. Rainforest Connection Species Audio Detection | rfcx-species-audio-detection
祝贺获得顶尖名次的选手们!
这是我第一次参加音频比赛,所以我尝试了很多可能不太靠谱的想法,但也学到了很多。特别是康奈尔鸟叫声识别和 Freesound 音频标记 2019 比赛的解决方案对我帮助很大。
我的最终成绩并不算突出,但我想分享一些我认为(因为我的分数不够高,所以不能完全确定)对我有效(提高了 CV 或 Public 分数)的方法,并希望听听其他 Kaggle 选手的经验。
mask 指示标签已知的位置。未知标签的 true 值初始化为 0。tmp_true = (1 - lsoft) * true + lsoft * torch.sigmoid(pred)
true = torch.where(masks == 0, tmp_true, true)
loss = nn.BCEWithLogitsLoss()(pred, true)
def lsep_loss(input, target):
input_differences = input.unsqueeze(1) - input.unsqueeze(2)
target_differences = target.unsqueeze(2) - target.unsqueeze(1)
target_differences = torch.maximum(torch.tensor(0).to(input.device), target_differences)
exps = input_differences.exp() * target_differences
lsep = torch.log(1 + exps.sum(2).sum(1))
return lsep.mean()
mask = (x > 0).float()
features = (x*mask).sum(dim=(2, 3))/(torch.maximum(mask.sum(dim=(2, 3)), torch.tensor(1e-8).to(mask.device)))