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

[第4回 Data-Centric AI勉強会] Benetechコンペ エラー分析によるデー...

YumeNeko
November 07, 2023
390

[第4回 Data-Centric AI勉強会] Benetechコンペ エラー分析によるデータ追加とアノテーションの工夫について

第4回 Data-Centric AI勉強会でのLT資料です。

YumeNeko

November 07, 2023
Tweet

Transcript

  1. コンペ概要:データ • コンペデータとして約60000枚の画像が提供 • 実際の論文から抽出された抽出画像は約1000枚 • 残りの59000枚は人工的に作成した生成画像 • テストデータはすべて抽出画像で構成される •

    Publicは学習データと同じデータソースから収集された抽出画像 • Privateは学習データとは異なるデータソースから収集された抽出画像 • ロバスト性を保ちながら精度を上げる必要がある 4 抽出画像例 生成画像例
  2. 今日の話 5 • 今回はコンペ後半にやっていたデータ追加とアノテーションの話をします [Public LBの推移] ベースライン作成 初期改善案検討 モデル変更による スコア改善

    エラー解析による スコア改善 学習ログ解析による スコア改善 4/15 5/4 5/28 6/14 6/19 この辺でやってたことに関する話
  3. エラー解析による改善案検討 • アイデアが枯渇してきたので再度スコアが低いサンプルを実際に見てみる • スコアが低いサンプルの傾向は大きく2パターンあることを確認 6 ① 抽出画像特有の特徴を持っている ・コンペで提供されている生成画像は 質があまり良くない(かなりシンプル)

    ・実際の抽出画像はもっと複雑な特徴を持っている ② Scatter ・予測とGTの点の個数が一致しない (一致しない時点でスコアが0になる) ・単純に点の数が多い ・明らかなノイズに引っ張られる 予測対象外のラベル エラーバーがある ノイズや凡例を誤認識
  4. Tips1: 疑似ラベルを用いた半自動アノテーション 8 一般的な疑似ラベルアノテーション モデルの推論結果をアノテーションとして使用する X = ['18-24', '25-34’, ‘35-44’]

    Y = [2.7, 1.5, 0.8 ] 未アノテーションサンプル アノテーション済データ で学習したモデル 推論結果 推論結果をアノテーションとする
  5. Tips1: 疑似ラベルを用いた半自動アノテーション 9 一般的な疑似ラベルアノテーション モデルの推論結果をアノテーションとして使用する X = ['18-24', '25-34’, ‘35-44’]

    Y = [2.7, 1.5, 0.8 ] 未アノテーションサンプル アノテーション済データ で学習したモデル 推論結果 推論結果をアノテーションとする 推論結果が間違えている可能性も当然ある → モデルの性能がそこそこ良いことが前提 多少のミスは無視される
  6. Tips1: 疑似ラベルを用いた半自動アノテーション 10 一般的な疑似ラベルアノテーション モデルの推論結果をアノテーションとして使用する X = ['18-24', '25-34’, ‘35-44’]

    Y = [2.7, 1.5, 0.8 ] 未アノテーションサンプル アノテーション済データ で学習したモデル 推論結果 推論結果をアノテーションとする 推論結果が間違えている可能性も当然ある → モデルの性能がそこそこ良いことが前提 多少のミスは無視される スコアが低い(=モデルが苦手)なサンプルを 重点的に追加してるのに、モデルの推論結果を そのまま信用して良いの?
  7. Tips1: 疑似ラベルを用いた半自動アノテーション 11 今回採用した疑似ラベルアノテーション 信頼できる部分だけモデルの予測を使用して、間違いやすい部分は人間がラベリング X = ['18-24', '25-34’, ‘35-44’]

    X = ['18-24', '25-34', '35-44’] Y = [2.2, 1.3, 0.8 ] モデルの推論結果 モデルが高精度で予測できる部分は そのまま使う Ex) VerticalBarのX値 モデルが間違いやすい部分は人間が手動でアノテーション 最終結果をアノテーションとする
  8. まとめ • データを適切に増やすことで大きく性能改善する(こともある) • 闇雲に増やすのではなく、苦手なデータ・足りないデータを見極めて追加することが大事 • 正確にアノテーションすることが大前提 • どれだけデータを増やしてもアノテーションが悪いと効果が薄くなる •

    validationもアノテーションが悪いと正しく評価ができなくなる • 限られたリソースの中でアノテーションをするための工夫も大事 • 気合と根性でどうにかなる枚数には限界がある (そもそも無理すると効率は下がるし、ミスが目立ってアノテーションの質が下がる) 12
  9. エラー解析による改善案検討 • 位置予測は物体検出モデルを使用すれば実現可能 • ラベル位置検出は公開Notebookモデルがあったのでそのまま利用 • Scatter点検出は公開モデルが無かったので自前で準備 • 当然アノテーションも無いので自分でラベリングする 15

    ② Scatter ・コンペデータとICDARデータはひたすら Labelmeで手動アノテーション ・500枚くらいを気合で頑張る ・生成データは点、ラベルを色付けした画像を同時に出力 画像処理で半自動でラベリング ・それでも点の被りとかは間違うので怪しいデータは 目視チェック&手動修正 ・10000枚くらいを根性で頑張る