データの価値を測る予測困難度とは? vol2

C-scoreを利用して、データごとの予測困難度を定量化する方法をご紹介

概要

本記事では、データセットの各サンプルの予測困難度を定量化する技術を紹介します。 予測困難度に関するvol1の記事で紹介した手法と異なる手法を用いて実装を行っております。

isid-ai.jp

具体的には、C-score [1] を紹介します。C-scoreはICLR 2021に採択されているGoogleの論文“Characterizing Structural Regularities of Labeled Data in Overparameterized Models”で発表された手法です。

本題

本ブログではデータセットを分析する技術であり、画像の予測困難度の定量化する手法を紹介します。また、紹介する手法の再現実装をおこないました。 この手法が発展することで、データ分析、予測精度改善がより発展することを期待します。

予測困難度とは

予測困難度とは、予測する難しさを指します。今日紹介する手法はどちらも、学習した深層モデルとデータセットが与えられた時、どの入力の予測が難しいのかをランキングします。

予測困難度の活用方法

3つの場面でそれぞれ活用できます。

データセットの探索

ユーザ-はデータセットの全体的な分布を理解し、低頻度のサンプルなど整理できます。 そもそも画像データセットにはテーブルデータのような属性が含まれていないため、画像データセットの探索は、可視化する軸が少なく難しいです。

データの分析

他クラスと間違えやすい画像やノイジーな画像が調べられます。 モデルのバイアス傾向が分かります。

学習方法の改善

カリキュラム学習[2]で予測困難度の低いサンプルから学習する戦略に活用することができます。

予測困難度の手法の定義

C-score は、各サンプルが持つ特徴が分類境界付近に近くどのクラスに分類するか判断が難しいのか、クラス内の中心に近く簡単に分類できるものなのかを示しています。 学習済みモデルに対して、中間層の特徴量同士を比較し、特徴量が近傍の特徴と同じラベルで一貫しているほど、C-scoreは高く、一貫していないほど低くなります。式は以下になります。

ここで、y はC-scoreの値を計算したい対象のラベル、x も同様に対象サンプルの特徴量を表します。また添字のあるyi は各サンプルのラベル、xi は各サンプルの特徴量、 式2はハイパーパラメータh をもったRBFカーネルです。

式(1)の意味合い

対象サンプルと同じクラスに属し、特徴量空間で別サンプルの特徴量が近いとC-scoreが大きくなります。一方で、別クラスだが特徴両空間上で対象サンプルの特徴と近い場合(分類境界上の場合)、C-scoreが小さくなります。また、対象サンプル周りにサンプルがない場合も同様にC-scoreが小さくなります。

また、対象クラスと同じクラスのみを使用したC-scoreの算出方法もあります。以下が式になります。

式(2)の意味合い

別クラスのサンプルを考慮せず、対象サンプルと同じクラスのサンプルのみ用いてC-scoreを計算します。対象サンプルが、特徴空間上で対象クラスの中心にあるとC-Scoreが大きくなります。

一方で、対象サンプルが分類境界付近に関わらず、特徴空間上で対象クラスの端の方に位置するとC-scoreが小さくなります。つまり、分類境界上は確信度が小さくなりますが、この(2)では、確信度が高くて特徴空間上で対象クラスの端の方にあるサンプルはC-scoreが小さくなります。

実装した所感としては、全てのラベルで比較を実施すると、計算時間がかかりました。今回は計算リソースの都合上、式(2)を用いてC-scoreを算出しました。

C-scoreの高い例

特徴量空間内で猫クラスの中心に対象サンプルが存在するケース

再現実装の実験設定

CIFAR-10のデータセット[3]でResNet18を利用しました。 C-scoreの計算には最終層の特徴を用いました。

予測困難度と不確実性の関係

C-scoreが低いサンプルは分類が難しく、精度が悪いことが期待されます。 下図を見ていただくと、C-scoreが低いと確信度は低く、エントロピーが高くなる傾向にあることが確認できます。

[図の横軸はC-scoreを示し、縦軸は確信度とエントロピーを指します。 C-scoreが小さくなるほど、確信度の低いサンプルが含まれていることがわかります。]

確信度の方を確認すると、C-scoreが0.5付近で最も確信度が低くなっていることが確認できます。C-scoreが0.5より低いものは、自信をもって間違えた答えを出してしまっていると考えられます。つまり、C-scoreが0.5付近に、より複雑な画像が存在している可能性があります。

予測困難度を活用したデータセットの探索

予測困難度を全体的に探索することで、データセットの全体的な分布が見えてきます。

C-scoreの場合
CIFAR-10のテストデータに含まれる鳥クラスの全サンプルのC-scoreを図の上部に示しました。予測困難度同様、難しい画像と易しい画像が少ないことがわかります(C-scoreは値が低いほど難しいことを表すことに注意)

予測困難度を活用したデータ分析

1)他のクラスと間違えやすい画像が抽出されます。

C-scoreが大きい画像には、アングルが似通った画像が多いことが確認できます。下図に、C-score>0.8の抽出例と全体の分類結果を示します。ほとんどがbird(鳥)と正しく分類されていますが、極少数cat(猫)として間違っています。鳥っぽい画像は猫に見えることがあるのですね。おもしろい発見です。

C-score:高 (C-score>0.8)

分類結果

C-scoreが0.5付近の画像は、回答にばらつきがあり、鳥ということは正当できても、自信がないものが多いです。

下図に、0.4<C-score<0.6の抽出例と全体の分類結果を示します。ダチョウのような、特殊な鳥の種類が多いことが確認できます。

また、背景に手が映り込んでいたり、背景と同色になって判断しにくいものが確認できました。確かに、ダチョウは一般的な鳥とは体格が異なっているので学習不足であれば、誤分類してしまいそうです。ダチョウの画像を増やしたり、ダチョウは別のラベルをつけて分類したりすることでより精度の高いモデルができることが期待できます。

C-score:中 (0.4<C-score<0.6)

分類結果

2)確信度を見ながら、自信を持って間違えているサンプルを探れます。

C-scoreが小さい画像は、人の目で見ても何の画像か判断するのが難しいものの割合が多いです。

下図に、C-score<0.3の抽出例と全体の分類結果を示します。birdをairplaneと間違えるものが多く、カラフルな画像はautomobileと予測していることが分かります。色調を変えるようなオーギュメンテーションを実施することで精度の向上が期待されます。

C-score:低 (C-score<0.3)

分類結果

予測困難度を活用した予測精度の改善

訓練データの予測困難度が高い画像を除外することで精度が改善するか?

予測困難度が高い画像を取り除くだけでは、精度は変わりませんでした。 そこで、カリキュラム学習を実施しました。

C-scoreの大きい画像から学習を始め、徐々にC-scoreの小さい画像をデータセットに追加しながら学習することで、85.65%→86.08%まで改善しました。また、収束も高速化し、C-scoreを用いたカリキュラム学習を実施する前は30エポック用いていたのですが、カリキュラム学習時は22エポックで改善する結果を得ることができました。

不正解だったラベルのC-scoreの平均も0.504→0.532となっており、C-scoreが低いものも正しく分類できるようになったことが確認できました。

まとめ

本ブログでは、データの価値を考える指標として、予測困難度を表すC-score を紹介しました。データの価値の定量化は、どの指標が効果的かはタスクによって異なります。簡単に様々な指標でデータの価値を測れることが期待されます。

関連研究

[1] Ziheng Jiang, Chiyuan Zhang, Kunal Talwar, Michael C. Moze. “Characterizing Structural Regularities of Labeled Data in Overparameterized Models.” The International Conference on Learning Representations (2021).

[2] Wang, Xin, Yudong Chen, and Wenwu Zhu.“A survey on curriculum learning.” IEEE Transactions on Pattern Analysis and Machine Intelligence (2021).

[3] CIFAR10 / CIFAR100: Krizhevsky, Alex, and Geoffrey Hinton. “Learning multiple layers of features from tiny images.“ (2009), URL: https://www.cs.toronto.edu/~kriz/cifar.html

執筆
AITC製品開発グループ
阿田木 勇八