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を用いた実験で、他の手法よりも同等もしくは良い性能を発揮
- より現実に近い問題設定で他の手法の性能を凌駕