機械学習の教師データが不正確だと何が困り、それはどうして起こるのか
実世界での機械学習のタスクを行なっていると、同じラベルが付けられるべきものに異なったラベルが付けられているケースにしばしば出くわす。このようなケースで度々見られるのが、モデルの選択やパラメータの最適化だけで対応しようとするもので、そのようなアプローチでは精度要求がシビアなケース(例えば”リスクタスク対応の為の再現率100%の実現の課題と実装“に述べられているような場合にうまく対応することができない。
今回は、このような機械学習での教師データが不正確な場合にどのようにして対処するか、について述べる。学習データが不正確(例:機械学習の教師データが不正確な場合、以下のような問題が生じる。
- モデルの性能低下: 不正確な教師データを使用してモデルをトレーニングすると、モデルの性能が低下する可能性があり、不正確なラベルやノイズが含まれていると、モデルは誤った予測を行う傾向がある。
- バイアスの導入: 教師データには、アノテーターの主観やバイアスが反映される場合がある。不正確なデータがバイアスを持っている場合、モデルも同様のバイアスを学習する可能性があり、これにより、モデルの予測結果に偏りが生じる可能性がある。
- 汎化性能の低下: 不正確な教師データを使用すると、モデルが不正確なデータに過剰に適合してしまい、新しいデータに対してうまく予測できなくなるという、モデルの汎化性能が低下する可能性がある。
- 倫理的な問題: 不正確な教師データが偏見や差別を含んでいる場合、それを学習したモデルが同様の偏見や差別を反映する可能性がある。これにより、公平性や倫理性に関する問題が生じる可能性がある。
このような教師データの不正確性は以下のような要因で生じると考えられる。
- ラベルの誤り: 教師データには、アノテーターのミスや主観的な判断の違い、ラベル付けの一貫性の欠如などにより、ラベル付けの誤りが含まれる可能性がある。
- 不均衡なデータセット: クラスの分布が不均衡なデータセットでは、少数クラスのデータが少なくなり、それに対するラベル付けが不正確になる可能性がある。
- ノイズや外れ値: データセットにはノイズや外れ値が存在する場合があり、これにより、正確なラベル付けが困難になるか、モデルに誤った情報が伝わる可能性がある。
- バイアスや差別: データセットには、バイアスや差別的な要素が含まれる場合があり、これにより、ラベル付けやデータの収集が不正確になる可能性がある。
- 古いデータセット: 教師データが古くなっている場合、新たな傾向や変化を反映できないため、不正確な結果が生じる可能性がある。
教師データが不正確な機械学習への改善アプローチの概要
このようにして生じた不正確な教師データを補正するアプローチとして以下のようなものが考えられる。
- データの品質を向上させる: 教師データの正確性を向上するためには、データセットを再評価し、不正確なデータを特定して修正することが重要となる。データの品質向上には、不正確なデータの修正、欠損値の処理、外れ値の除去などが含まれる。
- 不正確なデータの特定と修正: 教師データの正確性を向上するためにデータセットを詳細に分析し、不正確なデータポイントを特定するアプローチも重要となる。これは例えば、ラベル付けが間違っている、ノイズが含まれている、重複があるなどの問題を見つけることにあたり、不正確なデータを修正するか、削除することで、データセットの品質を向上させることができるようになる。
- データ拡張: データセットに多様性をもたらすために、データ拡張を行うことも、教師データの正確性を向上するためのアプローチの一つとなる。これは例えば、画像データの場合、回転、反転、クロッピング、明るさの変化などの操作を行って、新しいデータを生成することで、モデルがさまざまなバリエーションに対して頑健になるようなものとなる。
- アンサンブル学習を使用する: 複数のモデルを組み合わせることで、不正確な教師データの影響を軽減することができる。”アンサンブル学習の概要とアルゴリズム及び実装例について“にも述べているアンサンブル学習を用いることで、異なるアルゴリズムやパラメータ設定を持つ複数のモデルをトレーニングし、それらの予測結果を組み合わせることでより信頼性の高い予測を行うことが可能となる。
- 半教師あり学習を使用する: 教師データの一部が不正確でも、ラベルのないデータを活用することができる半教師あり学習を適用することで改善が可能となる。ラベルのないデータを利用してモデルをトレーニングし、その予測結果を教師データの修正に使用することで、モデルの性能を向上させることができる。
- アクティブラーニングを使用する: “機械学習におけるアクティブラーニング技術について“で述べているアクティブラーニングでは、モデルが自ら新たなラベルを取得することができるものであり、不正確な教師データの影響を軽減するために、モデルが特に困難なサンプルや境界付近のサンプルに焦点を当て、それらに対して人間の専門家による正しいラベルを取得するアプローチとなる。
- モデルのロバスト性を向上させる: モデルをよりロバストにするためのアプローチもある。これは例えば、外れ値やノイズに対して耐性のあるモデルを使用する、正則化やドロップアウトを導入するなどの手法などで、これにより、不正確な教師データの影響を軽減することが可能となる。
- ドメイン適応を行う: 不正確な教師データが特定のドメインに偏っている場合、別のドメインの正確な教師データを使用してモデルをトレーニングし、それをターゲットドメインに適応させるアプローチで改善する場合がある。このドメイン適応により、不正確な教師データの影響を軽減することが可能となる。
以下にそれらの詳細について述べる。
1. 教師データの品質を向上させるアプローチについて
教師データの品質を向上させるためのアプローチとして以下のものが考えられる。
- 不正確なデータの特定と修正: データセットを詳細に検査し、不正確なデータポイントを特定する。これは例えば、誤ったラベル付け、欠損値、外れ値などで、不正確なデータを修正するか、削除することで、データセットの品質を向上させることができる。
- 人間の専門家の手動レビュー: データセットを人間の専門家によって手動でレビューして、不正確なデータを特定するアプローチもある。これは、専門家が誤ったラベル付けや明らかなエラーを修正したり、データの品質を確認したりするものとなる。
- クラウドソーシング: クラウドソーシングプラットフォームを利用して、不正確なデータを特定し修正するための作業を外部の人々に依頼することができる。これは例えば、不正確なラベルを修正したり、アノテーションの品質を確認したりする作業を委託することなどとなる。
- クロスチェックとバリデーション: 別の信頼性の高いデータソースを利用して、元の教師データと比較し、一致しないデータポイントを特定する。異なるデータソースからの一貫性のある情報を用いてデータのバリデーションを行うことで、不正確なデータをフィルタリングすることができる。
- アンサンブル学習と投票メカニズム: 複数のモデルを組み合わせてアンサンブル学習を行い、異なるモデルの予測結果を統合する際に投票メカニズムを使用することで、不正確なデータによる影響を軽減することができる。
- ノイズ除去や欠損値処理の手法の適用: データセット内のノイズや欠損値を処理するための手法を適用し、平均値や中央値で欠損値を埋める、ノイズを除去するためにフィルタリング手法を使用するなどのアプローチを取ることで改善を行う。
- 強化学習と人間による手動レビューの組み合わせ: “強化学習の活用領域(1)行動の最適化“でも述べているように強化学習を組み合わせた学習によるモデルの改善のアプローチがある。このアプローチは近年のchatGPTでも用いられ、注目されているものとなる。
前半は主に人手によるチェックを行うものであり、後半のものが機械学習や統計的処理を行うものとなる。人手によるチェックはヒューマンエラーの可能性があり、かつ処理にも時間がかかり、機械学習/統計処理のアプローチでは精度の不安が残るため、これらの方法を組み合わせることがよりベターなアプローチとなる。
2. 不正確なデータの特定と修正のアプローチについて
教師データの不正確なデータを特定し、修正するためのアプローチを以下に示す。
- 手動による検証と修正: データセットを詳細に検証し、不正確なデータを手動で特定し、誤ったラベル付け、明らかなエラー、データの欠損、外れ値などを特定し、修正することでデータの品質を向上させる。
- データ品質ルールの適用: データ品質ルールを設定し、それに基づいてデータを検証する。これにより、例えば、特定のデータ範囲外の値を持つデータポイントや、一貫性のないデータ形式を持つデータポイントを特定し、修正することが可能となる。
- クラウドソーシングを活用した修正: クラウドソーシングプラットフォームを利用して、外部の人々にデータの検証や修正を依頼することができる。これは例えば、不正確なラベルを修正するために作業者に指示を出したり、アノテーションの品質を確認してもらったりするようなものとなる。
- クロスチェックとバリデーション: 別の信頼性の高いデータソースを利用して、元の教師データと比較することで不正確なデータを特定する。これにより、データソース間の一貫性のないデータポイントを特定し、正しい情報で修正することができる。
- エキスパートのレビュー: 専門家やドメインのエキスパートによるデータのレビューを行う。彼らの専門知識を活用して、不正確なデータを特定し、正しい情報で修正することができる。
- 自動的なエラー検出と修正: 機械学習アルゴリズムや統計的手法を使用して、データの異常値や一貫性のないパターンを自動的に検出し、修正するアプローチとなる。これは例えば、外れ値検出や欠損値補完の手法を適用することで、不正確なデータを修正するようなものがある(異常検知技術の詳細は”異常検知と変化検知技術“を参照のこと)。
3. 教師データが不正確なケースでのデータ拡張のアプローチについて
教師データが不正確な場合でも、データ拡張手法を使用することでデータセットの多様性を向上させ改善に繋げることができる。以下にいくつかの一般的なデータ拡張アプローチについてのべる。
- 画像データの場合:
- ランダムな回転: 画像をランダムに回転させることで、視点の多様性を導入する。
- ミラーリング: 画像を水平方向に反転させることで、鏡像のバリエーションを作成する。
- クロッピング: 画像をランダムにクロップすることで、異なる領域に焦点を当てたデータを作成する。
- 明るさやコントラストの変化: 画像の明るさやコントラストを変化させることで、照明条件のバリエーションをシミュレートする。
- テキストデータの場合:
- 同義語の交換: 文章内の単語を同義語に置き換えることで、文の表現のバリエーションを作成する。
- ランダムな挿入や削除: 文章からランダムに単語を挿入または削除することで、文の長さや構造のバリエーションを導入する。
- シャッフル: 文章内の単語や文をランダムに並び替えることで、文の順序のバリエーションを作成する。
- 音声データの場合:
- ノイズの追加: 音声データにランダムなノイズを追加することで、環境条件のバリエーションを導入する。
- タイムストレッチ: 音声の再生速度を変化させることで、音声の時間的なバリエーションを作成する。
- 音量の変化: 音声の音量を変化させることで、音声の強弱のバリエーションを導入する。
これらのデータ拡張アプローチを使用することで、データセットのバリエーションを増やし、モデルの汎化性能を向上させることが可能となる。データ拡張に関しては”リスクタスク対応の為の再現率100%の実現の課題と実装“に述べているオーバーサンプリング等も参照のこと。このアプローチの適用には、ドメインやタスクに応じて適切なデータ拡張手法を選択することが重要となり、不正確なデータが含まれている場合には、データ拡張手法を適用する前に、不正確なデータの修正や除去を行うことも重要となる。
4. アンサンブル学習を使うアプローチについて
教師データが不正確な場合、アンサンブル学習は有用な手法となる。アンサンブル学習では複数のモデルを組み合わせて予測を行い、結果を統合することで、個々のモデルの弱点を補完し、性能の向上を図る。以下にいくつかのアンサンブル学習の手法について述べる。
- バギング (Bagging): バギングは、ブートストラップサンプリングと呼ばれる手法を用いて、複数のモデルを作成するアプローチとなる。具体的には、異なるブートストラップサンプルを使用してモデルを学習し、各モデルの予測結果を平均化することで最終的な予測を行うものとなる。これにより、不正確なデータによるノイズを軽減し、より安定した予測を得ることができる。
- ブースティング (Boosting): ブースティングは、弱いモデルを順次強化していく手法であり、最初に弱いモデルを作成し、それを用いて予測を行い、その後、予測誤差に重点を置いて次のモデルを作成し、結果を統合して予測を行うものとなる。このプロセスを反復することで、モデルの性能を向上させることができる。
- スタッキング (Stacking): スタッキングでは、複数の異なるモデルを組み合わせて、最終的な予測を行うもので、まず、異なるモデルで予測を行い、その予測結果を入力として、メタモデルを構築し、メタモデルは、個々のモデルの予測結果を統合するための学習を行い、最終的な予測を行うものとなる。スタッキングは、異なるモデルの強みを活かしてモデルの性能を向上させることができ。
アンサンブル学習は、不正確な教師データの影響を軽減するために有効な手法であり、異なるモデルを組み合わせることで、モデルのバイアスやバリアンスを制御し、よりロバストな予測を実現できるものとなる。詳細は、”アンサンブル法による機械学習 -基礎とアルゴリズム 読書メモ“を参照のこと。ただし、アンサンブル学習を適用する際には、多様なモデルを選択し、適切な統合手法を選ぶことが重要であり、モデルの多様性を確保するために、異なる教師データセットや学習アルゴリズムを使用することも必要となる。
5. 半教師あり学習を使うアプローチについて
教師データが不正確な場合には、半教師あり学習 (Semi-Supervised Learning) を使用することも有効なアプローチとなる。半教師あり学習は、少量の正確なラベル付きデータと大量の未ラベルデータを組み合わせて学習する手法であり、以下に代表的な半教師あり学習の手法について述べる。
- 自己教師あり学習 (Self-Training): 自己教師あり学習では、ラベル付きデータを使ってモデルを学習し、そのモデルを使って未ラベルデータに対する予測を行う。予測結果の中で、モデルが高い確信度で予測したデータを新たなラベル付きデータとして扱い、これを使ってモデルを再学習し、このプロセスを反復することで、未ラベルデータの一部をラベル付きデータとして活用しながらモデルを学習するものとなる。詳細は”自己教師あり学習の概要と各種アルゴリズム及び実装例について“にて述べている。
- 仮定密度近傍法 (Semi-Supervised Support Vector Machines, S3VM): 仮定密度近傍法は、未ラベルデータをクラスタリングして各クラスタに仮のラベルを付与し、それを用いてサポートベクターマシンを学習するものとなる。この手法では、未ラベルデータのクラスタリングと仮のラベル付けを行うことで、未知のクラスへの予測精度を向上させることが可能となる。
- 半教師ありディープラーニング (Semi-Supervised Deep Learning): 半教師ありディープラーニングでは、通常の教師あり学習と同様に深層ニューラルネットワークを使用し、未ラベルデータも学習プロセスに組み込んだものとなる。これには例えば、ディープ生成モデルや”GANの概要と様々な応用および実装例について“で述べている敵対的生成ネットワーク (GAN) を使用して、未ラベルデータを生成し、それを教師データとしてモデルを学習するようなものがある。
半教師あり学習は、スモールデータ機械学習のアプローチの一つであり、それらの詳細は”スモールデータ学習、論理と機械学習との融合、局所/集団学習“を参照のこと。また深層学習のアプローチに関しては”深層学習について“も参照のこと。
6. アクティブラーニングを利用するアプローチについて
教師データが不正確な場合には、アクティブラーニング (Active Learning) を使用することが有効なアプローチとなる。アクティブラーニングは、モデルが自らラベルを要求し、最も情報価値の高いデータを選択してラベル付けを行う手法であり、以下にいくつかのアクティブラーニングの手法について述べる。
- 不確実性サンプリング (Uncertainty Sampling): 不確実性サンプリングは、モデルの予測に対する不確実性が高いデータを選択してラベル付けを行うものとなる。これは例えば、分類タスクの場合、モデルが最も予測確信度が低いデータや、クラス間の境界付近のデータを選択し、これにより、モデルが自信を持って予測できないデータに注目し、ラベル付けのための専門家の労力を最適化するようなものとなる。
- クエリバイコンテント (Query by Committee): クエリバイコンテントでは、複数の異なるモデルや学習者(コミットティ)を作成し、それらの予測の一致度合いを用いてデータを選択するものとなる。これにより、各モデルが異なる予測を行うデータや、予測の一致度が低いデータを選択することで、より情報のあるデータを取得することができる。
- バディシステム (Buddy System): バディシステムでは、ラベル付けが疑わしいデータと確信度の高いデータをペアにして専門家に提出する。専門家は、疑わしいデータと対をなす確信度の高いデータを比較し、疑わしいデータのラベル付けを確認するか修正するかを判断する。これにより、疑わしいデータの品質を向上させることができる。
アクティブラーニングは、限られたコストや労力の中で最も情報価値の高いデータに注目し、モデルの性能向上を図る手法であり、これにより、不正確な教師データに対して効率的かつ効果的にラベル付けを行うことができるものとなる。それらのアクティブラーニングのアプローチとしては”アンサンブル法による機械学習 -基礎とアルゴリズム 読書メモ“に述べているようなアンサンブル学習によるものや、”強化学習の活用領域(1)行動の最適化“でも述べているような強化学習を組み合わせた質問応答学習等がある。
7. モデルのロバスト性を向上させるアプローチについて
教師データが不正確な場合、モデルのロバスト性を向上させるアプローチも改善の為の方策となる。以下に代表的な手法について述べる。
- データ正規化と前処理: データの正規化や前処理を行うことで、ノイズや不正確なデータの影響を軽減することができる。これは例えば、特徴量のスケーリングや正規化、欠損値の処理、外れ値の除去などを行うことで、モデルの安定性と性能を向上させるようにものとなる。
- アンサンブル学習: アンサンブル学習は、複数のモデルを組み合わせて予測を行う手法であり、異なるモデルの組み合わせにより、個々のモデルの弱点を補完し、ロバスト性を向上させることができるものとなる。アンサンブル学習には、バギング、ブースティング、スタッキングなどの手法がある。
- 正則化: 正則化は、モデルの複雑さを制御する手法であり、正則化を使用することで、モデルがノイズや不正確なデータに過剰にフィットするのを防ぎ、汎化性能を向上させることができるものとなる。一般的な正則化手法には、L1正則化やL2正則化、ドロップアウトなどがある。
- ノイズ耐性トレーニング: ノイズ耐性トレーニングは、教師データに意図的にノイズを付加してモデルを学習する手法であり、ノイズの存在により、モデルはより頑健な特徴を学習し、ノイズによる影響を軽減することができるものとなる。これにより、不正確なデータに対してもモデルのロバスト性が向上する。
- アウトオブディストリビューション検出: アウトオブディストリビューション検出は、モデルが未知のデータや不正確なデータを検出するための手法であり、モデルが学習したデータの分布とは異なるデータを特定することで、異常検出や外れ値検出を行うものとなる。これにより、不正確なデータの影響を最小限に抑えることができる。
8. ドメイン適応を行うアプローチについて
教師データが不正確な場合には、ドメイン適応 (Domain Adaptation) を使用することで、モデルの性能向上を図ることができる。ドメイン適応は、教師データとは異なるドメインのデータに対して、モデルを適応させる手法であり、以下に代表的なドメイン適応の手法について述べる。
- 転移学習 (Transfer Learning): 転移学習は、異なるドメイン間で学習された知識を再利用する手法となる。教師データが不正確なドメインではなく、正確なドメインでモデルを事前学習し、その学習済みモデルを不正確なドメインに適応させることで、モデルの性能を向上させることができる。詳細は”転移学習の概要とアルゴリズムおよび実装例について“を参照のこと。
- 密なドメイン適応 (Domain Adaptation with Domain Confusion): 密なドメイン適応は、教師データと未知のドメインデータの特徴の違いを最小化する手法となる。これは、教師データと未知のドメインデータを同じ特徴空間にマッピングすることで、ドメイン間の差異を縮小し、モデルのドメイン適応性を高めるものとなる。
- 教師なしドメイン適応 (Unsupervised Domain Adaptation): 教師なしドメイン適応では、教師データを使用せずにドメイン間の適応を行う。ドメイン間の共通の特徴を抽出するために、ドメイン間の類似性を最大化する手法や、ドメイン間の分布を調整する手法などがある。
- ドメイン生成モデル (Domain Generation Models): ドメイン生成モデルは、教師データと未知のドメインデータを生成する手法となる。生成モデルを使用して未知のドメインデータを合成し、それを教師データとして使用することで、モデルのドメイン適応性を向上させることが期待される。
転移学習に関しては”深層強化学習の研究動向:メタラーニングと転移学習、内発的動機づけとカリキュラムラーニング“や”強化学習の活用領域(2)学習の最適化“で述べている深層強化学習、あるいは”マルチタスク学習の概要と適用事例と実装例“で述べているマルチタスク学習など様々なアプローチがある。ドメイン生成モデルに関しては”Huggingfaceを使った文自動生成の概要“や、”PyTorchによる発展ディープラーニング“で述べている生成系の深層学習によるものや、”シミュレーションとデータサイエンスと人工知能“で述べているシミュレーションによるもの、あるいは”確率的生成モデルについて“で述べている確率生成モデルを用いるものなど様々なアプローチがある。
まとめ
今回述べたアプローチはすべての機械学習のベースに利用できるものであり、具体的なタスクを解く際に、これらを見ることで、効率的なアプローチで取れるものになると思う。
コメント
[…] 教師データが不正確な機械学習への対処方法 […]
[…] 教師データが不正確な機械学習への対処方法 […]
[…] ニックを使用して、難しいネガティブサンプルに重点を置くことができる。これらデータバランスの問題に関しては”教師データが不正確な機械学習への対処方法“を参照のこと。 […]
[…] ことができる。また、クラスの重み付けも検討することも重要なアプローチとなる。データの不均衡に対する詳細は”教師データが不正確な機械学習への対処方法“も参照のこと。 […]
[…] ィブ、中立などの感情カテゴリでテキストがラベル付けされたデータを集める。ラベル付け(教師データ)に関しては”教師データが不正確な機械学習への対処方法“も参照のこと。 […]
[…] データ収集戦略を採用する。これにより、不均衡なクラスに対する性能が向上する。データの不均衡に対する詳細は”教師データが不正確な機械学習への対処方法“も参照のこと。 […]