ドリフト検出

Drift Detection

ドリフト検出とは

ドリフト検出とは、機械学習モデルの入力データや予測対象の性質が時間とともに変化する現象(ドリフト)を自動的に検知する技術です。データドリフト(入力データの分布変化)とコンセプトドリフト(入力と出力の関係性の変化)が主な検出対象です。ドリフトの発生はモデルの予測精度低下につながるため、早期に検知して対策を講じることが重要です。

表:ドリフト検出の要点まとめ
ひとことで言うと時間とともにデータや予測対象の性質が変わり、モデルが合わなくなる現象を見つけること。
どこで起きるか消費者の嗜好の変化、原材料の変更、制度改正、コロナのような環境激変。
注意点精度が落ちてから気づくのでは遅い。入力分布の変化で早期に検知する。

ドリフトの種類と検出手法

データドリフトは、学習データと本番データの統計的分布の差異として検出されます。KS検定、PSI(Population Stability Index)、KLダイバージェンスなどの統計的手法が用いられます。コンセプトドリフトは、モデルの予測精度の変化を監視することで検出します。突発的なドリフト、漸進的なドリフト、周期的なドリフトなど、変化のパターンも多様であり、それぞれに適した検出手法を選択する必要があります。

図:ドリフトを検出して対処する
1学習時の分布を保存基準となる状態
▶
2現在の分布と比較統計的に差を測る
▶
3ずれを検知しきい値を超えたら警告
▶
4原因を確認業務側の変化を調べる
▶
5再学習する新しいデータで更新

ドリフト検出の実務的対応

ドリフトが検出された場合、対応策にはいくつかの選択肢があります。軽微な場合はモデルの再学習(リトレーニング)で対応し、大幅な変化があった場合はモデルの再設計が必要になることもあります。自動再学習パイプラインを構築しておくことで、ドリフトへの迅速な対応が可能になります。ビジネスへの影響を考慮した閾値設定と、適切なエスカレーションルールの整備も実務上重要です。