Confident Learning: Estimating Uncertainty in Dataset Labels

概要

  • Noisy labeledなデータセットでうまく学習する手法であるConfident Learningの紹介
  • python packageになっているので簡単に試せる
    •  
    • ハイパラがないのが良き
    • ランダムフォレストとかロジスティック回帰とかでも使える
  • より現実的な問題設定で他の手法の結果を凌駕

Confident Learning: Estimating Uncertainty in Dataset Labels(ICML2020)

  • Noisy labeledなデータセットに対する改善策は大きく2つ
    • データセットを綺麗にする
    • ノイズがあってもそこそこ学習できる仕組み(今回のトピック)
  • Label Smoothing
    • ある程度ノイズが存在すると仮定し、うまく学習する手法
    • 正解ラベルのone-hot-vectorを0, 1ではっきりさせず、少しぼかす
      • 例) クラスA, B, C, D, E, Fの6クラス分類問題の場合
        • LS適用前: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]
        • LS適用後: [0.9, 0.02, 0.02, 0.02, 0.02, 0.02]
          • つまりラベルAとアノテーションされたデータのうち、90%は正解ラベルAで、ラベルB, C, D, E, Fに2%ずつ誤ってアノテーションされているだろうという仮定
    • ラベルの誤り方には、偏りがあるのでは?
      • 例) 狼は犬と間違えやすいが、シマウマとはあまり間違えない。
    • ラベルのぼかし方は、均等ではなく、データセットのラベル誤りの多さに対応すべきでは?
      • Confident Leaningを提案
  • Confident Learningのメリット
    • どのクラスがどのラベルに間違えられやすいかわかる
    • どのデータが間違っているのかもわかる
    • ニューラルネット以外の識別器でも使える
    • ハイパラがない
    • 簡単にすぐ使える
  • 使い方
    • まず、Noisy labeledデータセットで学習し、学習済みモデルで確立を出力する
    • 正解ラベルと誤りラベルの同時分布を推定する
    • ラベルが間違ってそうなデータを抽出し、データをクリーニングする
  • 性能
    • 現実的な問題設定
      • クラスインバランスやモデルの性能に対してロバスト
    • 実験結果がよい
      • CIFAR-10を用いた実験で、他の手法よりも同等もしくは良い性能を発揮
      • より現実に近い問題設定で他の手法の性能を凌駕