Sardine named a Leader in The Forrester Wave™: Financial Crime Management Solutions, Q3 2026

Learn More

文章ではなく支出データで言語モデルを学習させたところ、不正検知率が35%向上しました

Chen Zamir
Chen Zamir
bg-image
bg-image
Sardine.AIの広告:「支出データで言語モデルをトレーニングしたところ、不正を35%多く検知」、紫色のモジュールが相互につながった抽象的なイラストが添えられている。
Subscribe to newsletter
Share

数年おきに、不正検知を永遠に変えると謳う新技術が登場します。しかし、たいていはそうなりません。だからこそ私たちは、自社のものも含め、AIに関する大げさな主張を健全な懐疑心をもって受け止めています。

そこで、私たちはこの実験を行いました。

ChatGPTを支えるものと同種のモデルを使い、テキストではなく実際のカード取引データで学習させました。そして、そこで得られた学習成果を、すでに本番環境で運用しているカード発行時の不正検知モデルに組み込みました。

このモデルは、高リスクと判定される取引の割合を変えることなく、従来よりも24~35%多くの不正を検知しました。しかも、過去のどの取引が実際に不正だったのかを一度も学習データとして与えられることなく、この成果を達成しました。

これらの結果には大いに期待が膨らみました。しかし、より現実的な視点に立つと、他のユースケースでも同じ結果をどれほど容易に得られるかという点に関して、いくつか留意すべき事項があります。

決済基盤モデルのトレーニング

このアイデアは、大規模言語モデルの学習方法から直接着想を得ています。ChatGPTのようなモデルは膨大な量のテキストを読み込み、これまでに出てきた単語をもとに次の単語を予測するという、1つのシンプルなタスクを繰り返し学習します。それを何十億回も繰り返すことで、モデルは言語の仕組みを深く理解するようになります。

私たちは決済にも同じ手法を応用しました。各顧客のカード利用履歴を、取引が発生した順に並べた一連のデータとして扱います。そして、顧客の過去の取引をもとに次の取引を予測するよう、モデルを学習させました。

そのためには、モデルが単語を読むのと同じように、取引を読み取れる必要があります。そこで各取引を、加盟店は誰か、何を販売しているか、いくら動いたか、どのチャネルを経由したか、そしてその顧客の前回の取引からどれくらい時間が経っているか、といった要素に分解します。これらを時系列に並べることで、顧客の取引履歴は、モデルが文章を読むように最初から最後まで読み取れるものになります。

ここからモデルが学習するのは、その人の支出パターンです。どの加盟店で、どのような順序で、どのくらいの頻度で、いくら購入するのか。これを数百万件の取引について繰り返すことで、モデルは顧客一人ひとりにとって何が通常なのかを詳細に把握できるようになります。

なお、どの取引が不正であるかはモデルに一切教えていません。これは意図的なものです。モデルに不正を直接追わせるのではなく、個々の人にとって通常の支出がどのようなものかを学習させることで、そのパターンから外れたものが自然と浮かび上がるようにしたかったからです。

個々の取引について、モデルは2つのものを生成します。1つ目は、その時点までの顧客の行動をすべてコンパクトな数値表現にまとめたもので、機械学習では「埋め込み」と呼ばれます。2つ目は「驚き」のスコアです。これは、顧客の履歴を踏まえたときに、その取引がどの程度予想外に見えるかを示す指標です。

また、スコアリングモデルをニューラルネットワークに置き換えたわけではない点も重要です。当社のイシュイングモデルは、XGBoostで構築した勾配ブースティング決定木を用い、長年にわたって設計してきた77個の特徴量に基づいて、すでにすべての取引をスコアリングしています。新しい埋め込みは、既存の77個の特徴量に加えて追加の特徴量として組み込んだだけで、その後、拡張された特徴量セットを使って同じXGBoostモデルを再学習しました。

結果

テストしたすべてのしきい値において、埋め込みを追加することで、不正検知件数が24%~35%増加しました。リスクが最も高い取引の上位1%を対応対象としてフラグ付けする一般的な運用基準では、改善率は28%でした。

すべてのしきい値を横断して、確認済みの不正取引をリストの最上位に押し上げるモデルを高く評価するAUC-PRという標準的なランキング指標で測定したところ、68%の改善が見られました。

また、スコアリングモデルがスコアを算出する際に、埋め込み表現を実際にどの程度活用しているかも確認しました。重要度順に並べると、埋め込み表現はモデルが最も重視する特徴量の上位に入り、上位25個のうち半数以上を占めていました。

しかし、最初に構築したバージョンは、実際には既存のモデルよりも性能が劣っていました。決定木モデルに名前の付いていない新たな入力を数百個与えると、有用なシグナルと同じくらい、判断を誤らせるノイズも増えてしまいます。この問題を克服するには、かなりのチューニングが必要でした。最終的なモデルでは、与えた入力を活用するために、ベースラインのほぼ2倍の決定木が必要になりました。

また、より多くの顧客データで学習させるほど、モデルの性能も向上しました。複数の顧客のデータを横断して学習させた場合、単一の顧客データだけで学習させた場合と比べて、性能が約3分の1向上しました。より多くの取引データに触れることで、カード利用全般の傾向をより深く学習できます。これは、共有ネットワークだからこそ実現できるデータの広がりです。

しかし、最も印象的な結果が得られたのは、学習データから完全に除外していたクライアントでした。言語モデルの学習に一切使用されていないデータを持つポートフォリオを対象に、他のポートフォリオと同じ方法でカード発行モデルを構築したところ、埋め込み表現によって性能が29%向上しました。

このモデルは、カード利用について十分に汎用的な知識を学習しており、取引を一件も見たことのないポートフォリオにも役立てることができました。興味深いことに、改善幅が最も大きかったのは、モデルが不正利用であると最も強く確信した取引、つまり決済が拒否されたりカードが凍結されたりする可能性が最も高い取引でした。

この結果は、実務上のメリットをもたらします。このモデルは不正ラベルではなく通常の取引履歴から学習するため、新規クライアントは、十分な量の不正取引が確認され、実用的なモデルを構築できるようになるまで何か月も待つ必要がありません。モデルに必要な取引履歴は、クライアントが導入を開始する時点ですでに存在しています。

パフォーマンス向上をもたらした要因

この結果を左右したのは発行データの構造であり、特にその3つの特徴でした。

1つ目は、長期にわたって時系列に蓄積された履歴です。カード会員は何年もの間、週に何度も同じカードを利用するため、カード発行会社には顧客一人ひとりの行動に関する詳細な記録が蓄積されます。今回のテストでは、90%を超える顧客について、少なくとも75件の過去の取引記録が保存されていました。これは非常に多くのシグナルであり、取引の順序には、単純な合計値だけでは決して得られない情報が含まれています。

2つ目は、カード発行会社が個々の取引について把握できる情報がいかに少ないかという点です。カードのオーソリゼーション情報が発行銀行に届く頃には、加盟店と決済ネットワークによって、その背景情報の大半が取り除かれています。銀行には、使用された端末や決済時のセッション、実際に購入された商品は見えません。把握できるのは、カード、金額、加盟店カテゴリー、そしてタイムスタンプだけです。

だからこそ、私たちのカード発行モデルは、わずか77個の主要な特徴量だけで動作していました。それ以上の特徴量を構築するための材料がほとんどなかったのです。そして、これはこのアプローチが最も効果を発揮するケースでもあります。既存の特徴量が乏しいからこそ、従来の特徴量では捉えられなかった情報を言語モデルが補う余地が生まれるのです。

3つ目の理由は、シーケンスは平坦化になじまない一方で、従来の特徴量が行っているのはまさにその平坦化だからです。過去30日間の取引件数を数える。金額の平均を取る。この購入が顧客の通常の行動からどの程度外れているかを測る。いずれも一定の期間を切り取るものであり、その期間内の順序やリズムは失われてしまいます。

この原則を分かりやすく説明するために、例を挙げてみましょう。あるカードが平日は決まったパターンで使われているとします。毎朝オフィス近くでコーヒーを買い、帰宅途中に食料品を購入し、隔週の金曜日にガソリンを入れる、といった具合です。ところがある週、勤務時間中に、それまで一度も利用したことのない店舗で、同じカードを使ったオンラインでの電子機器購入が1時間以内に3件発生しました。

単一の集計指標だけでは、この異変を捉えることはできません。金額はいずれも顧客の通常の範囲内に収まり、30日間の取引件数も平常どおりで、各加盟店を個別に見ても特に目立つ点はありません。異常なのは一連の取引の流れ、加盟店カテゴリーの順序、そして顧客が何か月も維持してきた利用パターンからの逸脱です。

シーケンスモデルでは、ウィンドウを選ぶ必要はありません。時系列に並んだ履歴全体を読み取り、過去のどのイベントが次のイベントの予測に役立つかを自ら判断します。

さらに、特徴量エンジニアでは思いつかないような事柄にも対応できます。加盟店名の表記は統一されていません。「HARBOR COFFEE #4471」と「Harbor Coffee Co」は、人間には同じ店だと分かりますが、コンピューターには無関係な2つの文字列に見えます。シーケンスモデルは、両者での購入がデータ上よく似ていること、つまり金額やタイミングが近く、前後に発生する取引の種類も同じであることから、これらを同一の店として扱うことを学習します。

もちろん、基盤モデルが生み出すものはすべて、原理的には人手で設計できるという見方もできます。問題は、そのコストです。不正とデータの両方を理解する人材が何か月もかけて取り組む必要がありますが、そうした人材はどのリスク管理チームでも最も希少です。しかも、構築した特徴量は、その後も長期にわたって保守し続けなければなりません。

期待どおりにいかないと予想される点

単純に考えれば、基盤モデルはカード発行にとどまらず、より広い意味で不正検知の未来を担う存在だと言えます。しかし、カード発行でこれほどうまく機能した背景にある特性こそが、他のユースケースへの適用に慎重になっている理由でもあります。

シーケンスを読み取ることが有効かどうかは、アカウントごとにどれだけの履歴が蓄積されるか、そして各イベントからどれだけ詳細な情報が得られるかという2つの要素で決まります。カード発行は、履歴が豊富で個々の情報が乏しいという極端なケースです。しかし、ほかの不正検知のユースケースは、これとはまったく異なります。

加盟店やアクワイアラーから見える状況は、ほぼその逆です。誰かがECサイトで購入手続きをすると、加盟店はデバイス、セッション、買い物かごの中身、配送先住所、そして購入時に提示された本人情報を確認できます。こうした特徴量はすでに幅広く、十分に成熟しています。また、買い物客がそのサイトを頻繁に訪れるとしても、平均75回近く利用することはまずないため、読み取れる履歴はごくわずかです。イベントごとの情報がより詳細である一方、アカウントごとの履歴は少ないため、このようなユースケースでは、シーケンスベースの基盤モデルはおそらくそれほど高い性能を発揮しないと考えています。

オンボーディングやゲスト購入は、その対極にあります。イベントは1回だけで、過去の履歴はまったくありません。読み取るべきシーケンスがないため、このアプローチが貢献できる余地もありません。

ウォレットや送金アプリは、その中間に位置します。利用者はある程度の履歴が蓄積されるほど頻繁に取引を行い、サービス提供者はカード発行会社よりも各取引について多くの情報を把握できます。

しかし、カード発行のユースケースでは、このアプローチは非常に有効です。利用できる生データが限られており、そこから作成できる特徴量も少ないため、豊富な新しい特徴量を追加すれば、自然と性能が向上します。一方、生データがすでに充実していて、既存の特徴量がその大部分を捉えている場合、同じ埋め込み表現を追加しても得られる効果は小さくなります。

研究から本番運用へ

このような仕組みを実際の規制環境で稼働させるには、まだ2つの課題を解決する必要があります。そして、その2つこそが、そもそもどこに導入できるかを左右する可能性が最も高い課題です。

1つ目は説明可能性です。従来型の特徴量が判断を左右する場合、その理由を明示できます。たとえば、「この取引は金額が顧客の通常の10倍だったため、フラグが立てられた」と説明できます。しかし、判断を左右しているのが埋め込みベクトルの192番目の次元となると、具体的に示せるものはありません。

しかし、その数値が何を意味するかはモデルが独自に決めたものであり、人間がそこから意味を読み取ることはできません。規制対象の業界では、説明ができないことは致命的な問題です。

2つ目はレイテンシーです。取引をリアルタイムで処理する必要が生じたまさにその瞬間に、顧客の全履歴を基盤モデルに入力して処理することになります。しかし、これは基盤モデルが得意とするタスクではありません。一般的には、埋め込みを事前に計算して保存しておき、鮮度を多少犠牲にする代わりに処理速度を大幅に高めます。ここでは、このトレードオフは十分に許容できると考えられます。取引が1件増えたところで、その人の過去6か月間の支出傾向はほとんど変わらないからです。

これらの課題への対処方法については確かな見通しがあるものの、研究段階では意図的に対象外としました。概念実証(PoC)の構築に成功した今、本番環境への導入に向けて、実用化を進めています。

基盤モデルは不正検知の未来となるのか?

冒頭で触れた懐疑的な見方に立ち返りましょう。カード発行業務については、これまでに得られたエビデンスから、このアプローチには採用するだけの価値があると言えます。すでに信頼しているモデルに、より質の高い入力データを与えることで、不正ラベルを一切必要とせず、不正検知数を最大3分の1増やせるからです。

しかし、イシュイングから離れ、より豊富な特徴量セットとより短い履歴を扱う場合、この優位性は縮小し、場合によっては完全になくなると予想しています。これは現在も積極的に進めている研究です。

基盤モデルが自社に適しているかを検討する前に、まず答えるべき、よりシンプルな問いがあります。それは、実際のデータがどのようなものか、ということです。

ここまでお読みいただいた内容は要約版です。 ホワイトペーパー完全版『基盤リスクモデルの構築』は、実際にこのモデルを構築するチーム向けに書かれています。自社のデータサイエンティストが実践できるよう、手法の全容に加え、各しきい値におけるすべての結果、モデルが実際に必要とする履歴データ量の分析、さらに説明可能性やレイテンシー、まだ実施していない実験に至るまで、未解決の課題について率直に解説しています。

このようなアプローチが自社に適しているかどうかを検討されている方は、こちらで詳細をご確認いただけます