Closed shinmura0 closed 3 years ago
birdcallにする鳥を多くても3つに絞る (鳥1の3rdより) たとえ4つも5つも鳥が鳴いても、人間はアノテーションできないため、 3つくらいに絞るのが妥当。仮に、10個くらいbirdcallしても、現実的に そんなに鳴いているはずないので、false positiveを防ぐ効果がある。
SEDで30secのclipwise_prediction>0.3かつ、5secでframewise_prediction>0.3の種類をbirdcallにする ( 鳥1の1stより) framewise_predictionは短期間のイベントを拾えるので、鳥の鳴き声にマッチしていて 使っていきたいが、 そのまま使うと、false positiveが頻発する。学習の構造上、アテン ションをかけて長時間鳴くものをclipwise_predictionで励起(ここでBCEをとっている)して いるため、false positiveが出るのはしょうがない。ある意味、framewise_predictionの false positiveをアテンションで消している。本手法は、ある程度長期間(clipwise_prediction>0.3) 鳴く制約があるため、framewise_predictionのfalse positiveを減らす効果がある。
二番目を試したが、あまりうまくいかない。 ある程度高精度のモデルでなければ、効果が薄いのかもしれない。
とりあえず、後処理の
はうまくいくので、これを標準装備にする。
birdcallにする鳥を多くても3つに絞る (鳥1の3rdより) たとえ4つも5つも鳥が鳴いても、人間はアノテーションできないため、 3つくらいに絞るのが妥当。仮に、10個くらいbirdcallしても、現実的に そんなに鳴いているはずないので、false positiveを防ぐ効果がある。
SEDで30secのclipwise_prediction>0.3かつ、5secでframewise_prediction>0.3の種類をbirdcallにする ( 鳥1の1stより) framewise_predictionは短期間のイベントを拾えるので、鳥の鳴き声にマッチしていて 使っていきたいが、 そのまま使うと、false positiveが頻発する。学習の構造上、アテン ションをかけて長時間鳴くものをclipwise_predictionで励起(ここでBCEをとっている)して いるため、false positiveが出るのはしょうがない。ある意味、framewise_predictionの false positiveをアテンションで消している。本手法は、ある程度長期間(clipwise_prediction>0.3) 鳴く制約があるため、framewise_predictionのfalse positiveを減らす効果がある。