trtd56 / BirdCLEF

1 stars 0 forks source link

nocall対策 #14

Closed shinmura0 closed 3 years ago

shinmura0 commented 3 years ago

publicLBでは、nocallが54%存在。おそらく、privateでも同じくらい存在すると 思うので、nocallに比重を置いた学習が必要かも。

一つの対策として、train_soundscapesのnocall部分を学習させる。 ・学習時、nocallを0.54の確率で出現させ、学習(あえて不均衡にする) ・nocallのときだけ重みをつけてfocal lossやBCEに突っ込む

trtd56 commented 3 years ago

以前の鳥コンペで試したPANNs inferenceが使えるかも? https://github.com/qiuqiangkong/audioset_tagging_cnn

懸念点としてPANNsが学習してない鳥の声もno callになってしまう(前回はそれで使えなかった)

shinmura0 commented 3 years ago

「PANNs inference」はCNN14をそのまま使って推論するということでしょうか?

trtd56 commented 3 years ago

ですです

前回ここで試したのですが、 https://www.kaggle.com/takamichitoda/birdcall-nocall-prediction-by-panns-inference 元モデルがBird vocalization, bird call, bird songといったラベルがあるので、それを使いました

shinmura0 commented 3 years ago

なかなか良い感じですね。false negativeが少なさそう。

学習データにない・・・のお話は、逆に利用してpositive発見器として1次フィルタ 代わりに使えるかもしれません。PANNs inferenceでpositiveとなれば、絶対何か 鳥を挙げる、逆にnegativeとなれば、そこで初めて今回用のモデルで推論する みたいな・・・ただ、CNN14がどんな品種の鳥で学習したのか知りたいところは あります。