Upgrade to Pro — share decks privately, control downloads, hide ads and more …

関東Kaggler会発表資料

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for takoi takoi
August 10, 2026

 関東Kaggler会発表資料

Avatar for takoi

takoi

August 10, 2026

Other Decks in Technology

Transcript

  1. 自己紹介 • 氏名 : 蛸井宏和 • Kaggle : Competitions Grandmaster

    • テーブルデータのコンペに参加することが多い ©Rist Inc. 3
  2. 生成AI時代のアイディアの一例 • 生成AIに聞けば、色々アイディアが出てくる ◦ アイディアが似たり寄ったりになりやすい • そことは重ならないアイディアでBirdCLEF+ 2025 ゴールド •

    アイディアを出す一つの方向性として解法を紹介 ©Rist Inc. ◦ ただし、一般化して他で活かせるかは正直怪しい ◦ 「こういう考えもあるか」程度に聞いてください 4
  3. BirdCLEF+ 2025の解法紹介 : コンペ概要 コロンビアのエル・シレンシオ自然保護区で録音された音声からどの種が鳴いているかを予測する コンペ • 予測する種は206種類で、鳥類以外も予測対象になっている ◦ •

    • train data(labelあり)と test data の間にドメインシフトがある ◦ train data(labelあり)test data と違う場所で録音されている ◦ test data と同じ場所で録音された label なしの data は提供されている label が不均衡 ◦ ©Rist Inc. 鳥類 146 / 両生類 34 / 昆虫 17 / 哺乳類 9 最も少ない種だと2つしか学習データにない 7
  4. BirdCLEF+ 2025の解法紹介 : データ • • • • train_audio /

    *.ogg ◦ xeno-canto.org、iNaturalist、Colombian Sound Archive (CSA)より収集 ◦ ファイル数 : 28,564 ◦ 32kHz、長さはバラバラ train_soundscapes / *.ogg ◦ testと同じ場所で録音されたデータ ◦ ラベルなし ◦ ファイル数 : 9,726 ◦ 32kHz、1つのファイル 60s train.csv ◦ train_audioのメタデータ ◦ あるファイルでどの種が鳴いているかという情報がある(音声のどの部分で鳴いているかは不明) taxonomy.csv ◦ ©Rist Inc. 予測対象についてのデータ 8
  5. BirdCLEF+ 2025の解法紹介 : 評価指標 / 推論環境 • • ©Rist Inc.

    評価指標 : macro-averaged ROC-AUC ◦ それぞれの種でAUCを計算して、平均 ◦ 評価対象にない種は除外 推論環境 ◦ CPUのみ ◦ 推論時間 : 90分 9
  6. BirdCLEF+ 2025の解法紹介 : ソリューション概要 • コンペの進め方 : Public Scoreを見て進める ◦

    trainとtestでドメインシフトがあって、CVが参考にならないため • 前処理 : メルスペクトログラム • モデル : SED(Sound Event Detection) ©Rist Inc. ◦ 音声コンペでよく使われるモデル構成 ◦ 出力が2種類ある ▪ clipwise output : 入力した音声全体に対して1つの予測 ▪ framewise output : 音声を短い区間に区切って、区間ごとに予測 ◦ 学習時はこの2つの出力で loss を計算する ◦ 予測に使うのは、このうちどちらか 10
  7. BirdCLEF+ 2025の解法紹介 : lossの計算方法 • clipwise output のみ sigmoid を通して出力範囲を

    0〜1 にしたうえで BCEWithLogitsLoss に入れた • framewise output は logits のまま BCEWithLogitsLoss loss = 0.5 * BCEWithLogitsLoss()(sigmoid(clipwise_logit), y) # ← sigmoid が二重にかかる loss += 0.5 * BCEWithLogitsLoss()(framewise_logit, y) ©Rist Inc. # ← 通常どおり 11
  8. BirdCLEF+ 2025の解法紹介 : loss の計算時に何が起きるか • sigmoid が2回かかるので、loss に入る値は 0.5〜0.731

    に圧縮される ◦ • label 0 に対しても最小 0.5 なので、loss がゼロにならない ◦ ©Rist Inc. σ(0) = 0.5、σ(1) = 0.731 下げるには、出力をできるだけ 0.5 に近づける必要がある ▪ logit を大きく負に振る必要がある ▪ 出力が小さくなる 12
  9. BirdCLEF+ 2025の解法紹介 : Scoreの比較 • labelつきのtrain dataのみで学習 • clipwise output(sigmoid二重)で評価

    ◦ • この時点ではclipwise outputの方がframewise outputよりscoreが良かった sigmoid 二重が正則化として働いた? 1 : 今回のloss Public Score Private Score (参考) CV 0.900 0.908 0.963 0.887 0.896 0.969 (sigmoid二重) 2 : 通常のloss ※ ©Rist Inc. それぞれでパラメータなどのチューニング済み 14
  10. BirdCLEF+ 2025の解法紹介 : Pseudo Labelの活用 • label がついていない soundscape に

    pseudo label を付与して学習に利用 • labelありのtrain dataで学習 → pseudo label 付与 → labelありtrain data + pseudo labelで学習 → pseudo label付与 → labelありtrain data + pseudo labelのサイクルを 回していく ©Rist Inc. 16
  11. BirdCLEF+ 2025の解法紹介 : Pseudo Labelの活用 • Pseudo label 1周目はclipwise output(sigmoid二重)を利用

    • labelありtrain data + pseudo labelでモデルを学習してPublic Scoreは改善 • Pseudo label 2周目にclipwise output(sigmoid二重)を利用すると、Public Score は改善しなくなった ©Rist Inc. 17
  12. BirdCLEF+ 2025の解法紹介 : Pseudo Labelの活用 • Pseudo label2周目以降framewise outputに切り替えることにより、pseudo label3周目

    までPublic Scoreが伸び続けた ◦ • ©Rist Inc. 間違った処理による影響を加味してさらなる精度改善に繋げた点 最終結果 : 6位 20