はじめに
この記事では、Stripe社が公式ブログで公開している「How We Built It: Stripe Radar」の内容をまとめています。
Stripe Radarとは
Stripe Radarは、オンライン決済プラットフォームStripeが提供する詐欺防止ソリューションです。このツールは、ユーザーが「購入」ボタンをクリックした瞬間から、その取引が確認されるまでのわずかな時間内に動作します。Stripe Radarは、1,000以上の特徴量を評価し、取引が詐欺的かどうかを100ミリ秒以内に判断します。具体的には、100ミリ秒以内にこの判断を下します。
オンライン決済詐欺は、企業と消費者にとって深刻な問題です。効果的な詐欺防止ツールは、正確で、高速で、そして各取引ごとに低コストで動作する必要があります。さらに、悪い取引をブロックする一方で、誤検出(良い支払いがブロックされる)を最小限に抑えるバランスが求められます。Stripe Radarは、これらの要件を満たすよう設計されています。
How We Built It: Stripe Radarでは、Stripe RadarのようMLシステムを構築する上での次のレッスンを紹介しています。
Lesson 1: 機械学習アーキテクチャに安住しない
Stripe Radarの開発初期には、比較的シンプルな機械学習(ML)モデル(例:ロジスティック回帰)が使用されていました。しかし、Stripeのネットワークが成長し、ML技術が進化するにつれて、より高度なモデル(例:ディープニューラルネットワーク)へと移行しています。
最新のアーキテクチャ変更は、2022年半ばに行われました。この変更で、XGBoostモデルとディープニューラルネットワーク(DNN)からなる「Wide & Deep model」から、純粋なDNNモデルへと移行しました。この結果、モデルの訓練速度が向上し、スケーラビリティが高まりました。
現在のMLのアーキテクチャに安住しすぎず、「もし今日からやり直すとしたら、どんなモデルを作るだろうか?」と自問自答することが大切です。
Lesson 2: 新しい機械学習特徴量を常に探求する
詐欺防止モデルの性能を向上させるためには、特徴量エンジニアリングが不可欠です。Stripe Radarチームは、過去の詐欺攻撃を詳細に調査し、詐欺者の思考パターンを理解しようと努力しています。
特徴量を効果的に識別し、実装するためには、いくつかのプロセスが必要です。Stripe Radarチームは、新しい詐欺トレンドに対する研究を毎週行い、その結果を基に特徴量を考案しています。一度特徴量が決まれば、その影響を理解するためにプロトタイプが作成されます。
Lesson 3: 説明性は検出と同じくらい重要
詐欺を検出するだけでなく、その判断がどのように行われたのかをユーザーに説明することも非常に重要です。特に、誤検出(偽陽性)が発生した場合や、詐欺的な取引が誤って許可された場合、ユーザーはその理由を知りたいと思います。Stripe Radarは、この課題に対処するために「Risk Insight機能」を導入しています。
Risk Insight機能では、取引が拒否された理由に寄与した特徴量をユーザーに表示します。例えば、カード保有者の名前が提供されたメールアドレスと一致するか、以前に同じIPアドレスに関連付けられたカードの数などがあります。これにより、ユーザーは特定の拒否の文脈を理解しやすくなります。
まとめ
Stripe Radarの開発過程は、詐欺防止技術の進化とともに多くの重要な教訓を提供しています。最初の教訓は、MLアーキテクチャに安住しないことです。技術の進化とともに、モデルも進化し続ける必要があります。第二の教訓は、新しい特徴量を常に探求することです。特性エンジニアリングは、詐欺防止モデルの性能を向上させる鍵です。最後に、説明性は検出と同じくらい重要であるという点です。ユーザーに対する透明性は、信頼と理解を深めるために不可欠です。
参考