データドリフトとコンセプトドリフトの違い:文書分類の3つの変化を切り分ける

入力の分布が変わることと、同じ入力に対する正解の関係が変わることは別です。前者をデータドリフト、後者をコンセプトドリフトと呼ぶ整理が使われます。実務では用語の範囲が異なる場合もあるため、監視対象を式や具体例で定義します。ここでは架空の問い合わせ文書を「配送」「請求」に分類する問題で考えます。

入力の分布P(X)と、正解の条件P(Y|X)を分ける

Xを文書の特徴、Yを分類先とすると、P(X)はどんな文書がどれだけ来るか、P(Y|X)はその文書ならどの分類先になるかを表します。「配送の問い合わせが増えた」と「同じ問い合わせの担当が変更された」は、同じ種類の変化ではありません。

架空の変化まず疑う対象確認する証拠
新しい入力フォームができ、短い文書が増えた入力分布P(X)文書長、フォーム種別、欠損率の推移
業務規則が変わり「配送費の請求」を請求担当へ回すことになった正解との関係P(Y|X)改訂したラベル基準、同種文書の正解変更
前処理の版変更で空欄を0として扱うようになったデータ処理の不一致前処理差分、学習時と運用時の入力比較

入力が変わっても性能が落ちるとは限りません。一方、入力の表面的な統計が同じでも、正解の規則が変われば性能は変わり得ます。入力だけを監視してコンセプトドリフトを確認したことにはできません。

正解が届く前と後で、見られるものが違う

文書の正しい分類先が人の確認後に届くなら、その前に見られるのは入力や出力の分布です。正解が届いた後で、評価指標や誤りの内訳を比較できます。ラベル到着が遅れている期間を、性能が安定した期間と混同しないでください。

段階教材の監視項目言えることの限界
正解到着前文書件数、長さ、フォーム種別、未入力率、予測クラス割合分布の変化を発見できても、分類の正誤は確定できない
正解到着後同じ基準での分類指標、フォーム別の誤り、ラベル基準の版少数の期間や基準変更が混ざると比較しづらい

警報が出たら、再学習の前に4点を点検する

  1. 入力形式の変更がないか。列名、型、単位、欠損記号を確認する。
  2. 学習時と運用時で、同じ前処理が動いているか。
  3. 新しい集団が増えたか。全体だけでなくフォームや言語別に件数を確認する。
  4. 正解ラベルの付け方が変わっていないか。

Googleの公式教材も、学習と運用のデータ・特徴量の不一致を監視し、部分集団の性能を見る重要性を説明しています。[出典1] アラートのたびにモデルを作り直すと、入力処理の不具合を学習で隠してしまう場合があります。

比較期間と記録を固定する

曜日や繁忙期によって件数が変わる業務なら、比較する期間の条件をそろえます。単に前日との差が大きいことをドリフトと断定しません。対象期間、件数、ラベル到着率、モデル版、前処理版、業務規則版を同じ記録に置きます。

監視表の結論には「入力変化あり・正解未到着のため性能影響は未判定」のように、分かることと保留することを併記できます。運用後も評価や更新が必要だという点は、機械学習システムの継続的な管理の一部です。[出典2]

出典

  1. Google: Production ML systems — Monitoring pipelines。
  2. Google: Productionization。