この記事の目的
トレーニングに安心して使用できるデータを用意するため、バイアスやデータ品質について学ぶ
トレーニング前のバイアスメトリクス
クラス不均衡
データのクラスが不均衡であること。
10人分のデータが存在しているのに、10人中7人が20代で3人が40代、という場合。40代のデータが十分ではないため、年齢に偏ったバイアスが検出される可能性がある。
ラベルの割合の差 (DPL)
異なる属性に生じた正の結果の不均衡のこと。
前述した10人分のデータのうち、40代3人は全員持病を持っているが、20代7人は2人しか持っていないとき。偏ったラベル付けが原因で、年齢ベースのバイアスが生じる可能性がある。
モデルのバイアスについてはSageMaker Clarifyで検出、評価、レポートの作成が行える。
画像データセット等のクラス不均衡に対応するための手法
クラス不均衡に対応するためには、データを増やす、あるいは減らす等の対策をとる必要がある。
(上にあげた例でいえば、40代のデータをもっと増やしたり、20代を減らしたりしてバランスをとる。)
合成データ作成
基になる実際のデータと同じ数学的特性がありますが、同じ情報は含まれていません。
つまり、元になったデータとよく似た、けれど一致しないデータを作成すること。
作成手法もいくつかある。
敵対的生成ネットワーク(GAN)
二つのニューラルネットワークを用意し、片方に元となったデータからオリジナルのデータを作成させ、もう片方に作成したデータがオリジナルに存在するかどうかを予測させる。
二つのニューラルネットワークを競わせるため「敵対的」と言う。
リサンプリング
SageMaker Data Wrangler でできちゃう。
オーバーサンプリング
少ないデータをランダムに複製して増やすこと。
SMOTE (Synthetic Minority Oversampling Technique)
少ないデータを補間する形で合成データを生成すること。
オーバーサンプリングの手法の一つ。
アンダーサンプリング
多いデータをランダムに削除して減らすこと。
データ準備の段階で気を付けること
データが偏らないよう、準備の段階で工夫することもできる。
データセットの分割
トレーニング、テスト、推論につかうデータセットをきちんと分け、同じものは使用しないようにすることで、バイアスを軽減できる他、過学習の予防にもなる。
シャッフル
データの順序をランダムにしておくこと。
例えば犬と猫の画像データなら、前半に犬、後半に猫、ではなく、順番がランダムになるよう処理をしておくことで、モデルが順序に依存しない。
データ拡張
画像データセットに手を加え、データの数を増やすこと。
たとえば元の画像を回転させたり、反転させたり、明るさや色を調整することで、特定の状況や照明に偏らないデータを作成することができる。
テキストデータの場合は、同義語を置き換えたりする。
データ品質について
AWS Glue Data Quality
データの品質を自動的に監視・評価するためのサービス。
レポートの作成や、データが定められた品質を下回った場合にアラートを飛ばすことができる。AWS Glue DataBrewでデータの前処理をした後に、Data Qualityで加工したデータが一定の品質を保っているかを確認する、などの併用ができる。