不正行為の検出は、金融サービス、ソーシャル メディア、e コマース、ゲーム、およびその他の業界で適用される重要な問題です。 この投稿では、リレーショナル グラフ畳み込みネットワーク (RGCN) モデルを使用して、トランスダクティブおよびインダクティブの両方の推論モードを通じてトランザクションが不正である可能性を予測する不正検出ソリューションの実装を紹介します。 私たちの実装を アマゾンセージメーカー 外部のグラフ ストレージやオーケストレーションを必要とせず、リアルタイムの不正検出ソリューションとしてエンドポイントを使用できるため、モデルの展開コストが大幅に削減されます。
不正検出のための完全マネージド型の AWS AI サービスを探している企業も使用できます アマゾン詐欺検出器を使用して、疑わしいオンライン決済を特定したり、新しいアカウント詐欺を検出したり、試用版やロイヤルティ プログラムの悪用を防止したり、アカウント乗っ取りの検出を改善したりできます。
ソリューションの概要
次の図は、さまざまな種類の情報を含む金融取引ネットワークの例を示しています。 各トランザクションには、デバイス識別子、Wi-Fi ID、IP アドレス、物理的な場所、電話番号などの情報が含まれています。 さまざまなタイプのノードとエッジを含む異種グラフを通じて、トランザクション データセットを表します。 そして、不正検出問題は、この異種グラフ上のノード分類タスクとして処理されます。
グラフ ニューラル ネットワーク (GNN) は、不正検出の問題への取り組みに大きな期待を寄せており、勾配ブースト デシジョン ツリーやベンチマーキング データセットでの完全に接続されたフィードフォワード ネットワークなどの一般的な教師あり学習方法よりも優れています。 典型的な不正検出のセットアップでは、トレーニング フェーズ中に、一連のラベル付きトランザクションで GNN モデルがトレーニングされます。 各トレーニング トランザクションには、不正かどうかを示すバイナリ ラベルが付けられます。 このトレーニング済みのモデルを使用して、推論段階で一連のラベル付けされていないトランザクションの中から不正なトランザクションを検出できます。 推論には XNUMX つの異なるモードがあります: 伝達的推論と帰納的推論です (この記事の後半で詳しく説明します)。
RGCN のような GNN ベースのモデルは、トポロジー情報を利用して、グラフ構造とノードおよびエッジの機能の両方を組み合わせて、悪意のあるトランザクションと正当なトランザクションを区別する意味のある表現を学習できます。 RGCN は、異種グラフ埋め込みを介して、さまざまなタイプのノードとエッジ (関係) を効果的に表現することを学習できます。 前の図では、各トランザクションはターゲット ノードとしてモデル化されており、各トランザクションに関連付けられているいくつかのエンティティは、次のように非ターゲット ノード タイプとしてモデル化されています。 ProductCD
および P_emaildomain
. ターゲット ノードには数値およびカテゴリの特徴が割り当てられていますが、他のノード タイプには特徴がありません。 RGCN モデルは、非ターゲット ノード タイプごとに埋め込みを学習します。 ターゲット ノードの埋め込みでは、畳み込み演算を使用して、その特徴と近傍埋め込みを使用してその埋め込みを計算します。 この投稿の残りの部分では、GNN と RGCN という用語を同じ意味で使用します。
非ターゲット エンティティを機能として扱い、それらをワンホット エンコーディングするなどの代替戦略は、これらのエンティティのカーディナリティが大きいため、実行できないことが多いことに注意してください。 逆に、それらをグラフ エンティティとしてエンコードすると、GNN モデルはエンティティ関係で暗黙のトポロジを利用できます。 たとえば、電話番号を既知の不正取引と共有する取引も、不正である可能性が高くなります。
GNN で採用されているグラフ表現は、その実装にいくらかの複雑さをもたらします。 これは、モデルのトレーニング中に知られていないエンティティに対応する新しく追加されたノードを使用して、推論中にグラフ表現が拡張される可能性がある不正検出などのアプリケーションに特に当てはまります。 この推論シナリオは通常、 誘導モード。 対照的に、 伝達モード は、モデルのトレーニング中に構築されたグラフ表現が推論中に変更されないことを前提とするシナリオです。 GNN モデルは、多くの場合、逆伝播中にテスト ラベルをマスクしながら、トレーニングとテストの例を組み合わせたセットからグラフ表現を構築することにより、伝達モードで評価されます。 これにより、グラフ表現が静的であることが保証され、GNN モデルは、推論中に新しいノードでグラフを拡張するための操作の実装を必要としません。 残念ながら、現実世界の設定で不正なトランザクションを検出する場合、静的なグラフ表現を想定することはできません。 したがって、不正検出用の GNN モデルを本番環境にデプロイする場合は、帰納的推論のサポートが必要です。
さらに、不正取引をリアルタイムで検出することは、特に違法行為を阻止するチャンスが XNUMX 回しかないビジネス ケースでは非常に重要です。 たとえば、不正なユーザーは、あるアカウントで一度だけ悪意を持って行動し、同じアカウントを二度と使用しない可能性があります。 GNN モデルのリアルタイム推論では、実装がさらに複雑になります。 リアルタイムの推論をサポートするために、サブグラフ抽出操作を実装する必要があることがよくあります。 サブグラフ抽出操作は、グラフ表現が大きく、グラフ全体で推論を実行すると法外にコストがかかる場合に、推論の待ち時間を短縮するために必要です。 RGCN モデルを使用したリアルタイム帰納的推論のアルゴリズムは、次のように実行されます。
- トランザクションのバッチとトレーニング済みの RGCN モデルが与えられた場合、バッチのエンティティを使用してグラフ表現を拡張します。
- それぞれのノード タイプの平均埋め込みベクトルを使用して、新しい非ターゲット ノードの埋め込みベクトルを割り当てます。
- によって誘導された部分グラフを抽出する k- バッチからターゲット ノードの近隣をホップします。
- サブグラフで推論を実行し、バッチのターゲット ノードの予測スコアを返します。
- 新しく追加されたノードを削除して、グラフ表現をクリーンアップします (この手順により、モデルの推論に必要なメモリが一定に保たれます)。
この記事の主な貢献は、リアルタイム帰納的推論アルゴリズムを実装する RGCN モデルを提示することです。 リアルタイムの不正検出ソリューションとして、当社の RGCN 実装を SageMaker エンドポイントにデプロイできます。 当社のソリューションは、外部のグラフ ストレージやオーケストレーションを必要とせず、不正検出タスクの RGCN モデルの展開コストを大幅に削減します。 このモデルは伝達推論モードも実装しているため、誘導モードと伝達モードでモデルのパフォーマンスを比較するための実験を実行できます。 実験を含むモデル コードとノートブックには、 AWS の例の GitHub リポジトリ.
この投稿は投稿に基づいています Amazon SageMaker、Amazon Neptune、Deep Graph Library を使用して、GNN ベースのリアルタイムの不正検出ソリューションを構築する. 前回の投稿では、SageMaker を使用して RGCN ベースのリアルタイムの不正検出ソリューションを構築しました。 アマゾン海王星、 そしてその ディープグラフライブラリ (DGL)。 以前のソリューションでは、必要な外部グラフ ストレージとして Neptune データベースを使用していました。 AWSラムダ リアルタイム推論のオーケストレーション用であり、伝達モードでの実験のみが含まれていました。
この投稿で紹介した RGCN モデルは、DGL のみを依存関係として使用して、リアルタイム帰納的推論アルゴリズムのすべての操作を実装し、展開のための外部グラフ ストレージやオーケストレーションを必要としません。
最初に、ベンチマーク データセットの伝達モードと誘導モードで RGCN モデルのパフォーマンスを評価します。 予想どおり、誘導モードでのモデルのパフォーマンスは、伝達モードよりもわずかに低くなります。 ハイパーパラメータの効果についても研究しています k モデルのパフォーマンスについて。 ハイパーパラメータ k リアルタイム推論アルゴリズムのステップ 3 でサブグラフを抽出するために実行されるホップ数を制御します。 より高い値 k より大きなサブグラフが生成され、レイテンシが高くなりますが、推論のパフォーマンスが向上する可能性があります。 そのため、タイミング実験を行って、リアルタイム アプリケーションの RGCN モデルの実現可能性を評価します。
データセット
私たちは、使用 IEEE-CIS不正データセット、前に使用されたものと同じデータセット 役職. データセットには、バイナリ詐欺ラベル ( isFraud
桁)。 データは、トランザクションと ID の XNUMX つのテーブルに分割されます。 ただし、すべてのトランザクション レコードに対応する ID 情報があるわけではありません。 上の XNUMX つのテーブルを結合します。 TransactionID
これにより、合計 144,233 のトランザクション レコードが残ります。 テーブルをトランザクションのタイムスタンプ ( TransactionDT
列) を作成し、時間で 80/20 の割合で分割して、トレーニングとテスト用にそれぞれ 115,386 と 28,847 のトランザクションを生成します。
データセットの詳細と、DGL の入力要件に合わせてフォーマットする方法については、次を参照してください。 Amazon SageMakerとDeep Graph Libraryを使用して異種ネットワークの不正を検出する.
グラフの構築
私たちは、使用 TransactionID
ターゲット ノードを生成するための列。 次の列を使用して、11 種類の非ターゲット ノードを生成します。
card1
card6
ProductCD
addr1
およびaddr2
P_emaildomain
およびR_emaildomain
ターゲット ノードのカテゴリ特徴として 38 列を使用します。
M1
M9
DeviceType
およびDeviceInfo
id_12
id_38
ターゲット ノードの数値的特徴として 382 列を使用します。
TransactionAmt
dist1
およびdist2
id_01
id_11
C1
C14
D1
D15
V1
V339
トレーニング トランザクションから構築されたグラフには、217,935 のノードと 2,653,878 のエッジが含まれています。
ハイパーパラメータ
他のパラメータは、以前に報告されたパラメータと一致するように設定されています 役職. 次のスニペットは、伝達モードと誘導モードでの RGCN モデルのトレーニングを示しています。
誘導対変換モード
誘導モードの場合は 10 回、伝達モードの場合は XNUMX 回の試行を行います。 試行ごとに、RGCN モデルをトレーニングしてディスクに保存し、XNUMX 個のモデルを取得します。 ホップ数を増やしながら、テスト例で各モデルを評価します (パラメーター k) 推論用のサブグラフを抽出するために使用、設定 k すべてのテスト例を一度に予測し、各試行の ROC AUC スコアを計算します。 次のプロットは、AUC スコアの平均と 1% 信頼区間を示しています。
トランスダクティブ モードのパフォーマンスは、インダクティブ モードよりもわずかに高いことがわかります。 ために k= 2、誘導モードと変換モードの平均 AUC スコアは、それぞれ 0.876 と 0.883 です。 これは、RGCN モデルが、テスト セット内のものを含め、伝達モードですべてのエンティティ ノードの埋め込みを学習できるためです。 対照的に、誘導モードでは、モデルはトレーニング例に存在するエンティティ ノードの埋め込みのみを学習できるため、推論中に一部のノードを平均値で埋める必要があります。 同時に、伝達モードと誘導モードの間のパフォーマンスの低下は重要ではなく、誘導モードでも、RGCN モデルは 0.876 の AUC で良好なパフォーマンスを達成します。 また、モデルのパフォーマンスが次の値では改善されないこともわかります。 k>2。 これは、その設定を意味します k=2 は、推論中に十分に大きなサブグラフを抽出し、最適なパフォーマンスを実現します。 この観察は、次の実験でも確認されています。
また、トランスダクティブ モードの場合、モデルの AUC 0.883 は、以前に報告された対応する AUC 0.870 よりも高いことにも注意してください。 役職. ターゲットノードの数値的およびカテゴリ的特徴としてより多くの列を使用します。これにより、AUCスコアが高くなることを説明できます。 また、前回の投稿の実験は XNUMX 回の試行のみを行ったことにも注意してください。
小さなバッチでの推論
この実験では、小規模なバッチ推論設定で RGCN モデルを評価します。 前の実験で誘導モードでトレーニングされた 28 つのモデルを使用します。 フル バッチ推論とスモール バッチ推論の 1,000 つの設定で予測したときのこれらのモデルのパフォーマンスを比較します。 完全なバッチ推論では、前の実験で行ったように、テスト セット全体を予測します。 小さなバッチの推論では、テスト セットを同じサイズの XNUMX のバッチに分割し、各バッチで約 XNUMX のトランザクションを使用して、小さなバッチで予測します。 の異なる値を使用して、両方の設定の AUC スコアを計算します。 k. 次のプロットは、フルおよびスモール バッチ推論設定の平均および 95% 信頼区間を示しています。
小規模なバッチ推論のパフォーマンスは、次の場合に観察されます。 k=1 はフル バッチよりも低くなります。 ただし、スモール バッチの推論パフォーマンスはフル バッチに匹敵します。 k>1。 これは、小さなバッチで抽出されたはるかに小さなサブグラフに起因する可能性があります。 サブグラフのサイズを、トレーニング トランザクションから構築されたグラフ全体のサイズと比較することで、これを確認します。 グラフのサイズをノード数で比較します。 ために k=1、小さなバッチ推論の平均サブグラフ サイズは、トレーニング グラフの 2% 未満です。 そして、完全なバッチ推論の場合 k=1、サブグラフ サイズは 22% です。 いつ k=2、小規模および完全なバッチ推論のサブグラフ サイズは、それぞれ 54% と 64% です。 最後に、両方の推論設定のサブグラフ サイズが 100% に達します。 k=3。 つまり、いつ k>1 の場合、小さなバッチのサブグラフは十分に大きくなり、小さなバッチの推論が完全なバッチの推論と同じパフォーマンスに達することができます。
また、すべてのバッチの予測レイテンシも記録します。 ml.r5.12xlarge インスタンスで実験を実行しますが、64 G メモリの小さいインスタンスを使用して同じ実験を実行できます。 次のプロットは、さまざまな値の小さいバッチ予測レイテンシの平均と 95% 信頼区間を示しています。 k.
レイテンシには、リアルタイム帰納的推論アルゴリズムの XNUMX つのステップすべてが含まれます。 私たちはそれを見ます k=2、1,030 トランザクションの予測には平均 5.4 秒かかり、190 秒あたり XNUMX トランザクションのスループットになります。 これにより、RGCN モデルの実装がリアルタイムの不正検出に適していることが確認されました。 また、以前の 役職 実装のハード レイテンシ値を提供しませんでした。
まとめ
この投稿でリリースされた RGCN モデルは、リアルタイム帰納的推論のアルゴリズムを実装しており、外部のグラフ ストレージやオーケストレーションを必要としません。 パラメータ k アルゴリズムのステップ 3 では、推論のためにサブグラフを抽出するために実行されるホップ数を指定します。これにより、モデルの精度と予測レイテンシーの間のトレードオフが生じます。 使用した IEEE-CIS不正データセット 私たちの実験では、パラメーターの最適値が経験的に検証されました k このデータセットの場合は 2 で、AUC スコア 0.876 と 6 トランザクションあたり 1,000 秒未満の予測レイテンシを達成しています。
この投稿では、リアルタイムの不正検出のために RGCN モデルをトレーニングおよび評価するための段階的なプロセスを説明しました。 含まれているモデル クラスは、シリアル化および逆シリアル化メソッドを含む、モデル ライフサイクル全体のメソッドを実装します。 これにより、モデルをリアルタイムの不正検出に使用できます。 モデルを PyTorch SageMaker estimator としてトレーニングし、次を使用して SageMaker エンドポイントにデプロイできます。 ノート テンプレートとして。 エンドポイントは、未加工のトランザクションの小さなバッチでリアルタイムで不正行為を予測できます。 使用することもできます AmazonSageMaker推論レコメンダー ワークロードに基づいて、推論エンドポイントに最適なインスタンス タイプと構成を選択します。
このトピックと実装の詳細については、スクリプトを自分で調べてテストすることをお勧めします。 ノートブックと関連するモデル クラス コードには、 AWS の例の GitHub リポジトリ.
著者について
ドミトリー・ベスパロフ Amazon Machine Learning Solutions Lab の上級応用科学者であり、さまざまな業界の AWS のお客様が AI とクラウドの採用を加速するのを支援しています。
ライアンブランド Amazon Machine Learning Solutions Lab の応用科学者です。 彼は、ヘルスケアとライフ サイエンスの問題に機械学習を適用した特別な経験を持っています。 余暇には、歴史やサイエンス フィクションを読むことを楽しんでいます。
ヤンジュン・チー Amazon Machine Learning Solution Lab の上級応用科学マネージャーです。 彼女は機械学習を革新して適用し、AWS のお客様が AI とクラウドの採用を加速できるように支援しています。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/build-a-gnn-based-real-time-fraud-detection-solution-using-the-deep-graph-library-without-using-external-graph-storage/
- 000
- 1
- 10
- 100
- 11
- 2%
- 28
- 7
- 視聴者の38%が
- a
- できる
- 私たちについて
- 虐待
- 加速する
- アクセス
- アクセス
- 精度
- 達成する
- 達成する
- 越えて
- 活動
- 追加されました
- 添加
- NEW
- アドレス
- 養子縁組
- 利点
- AI
- アルゴリズム
- すべて
- ことができます
- 代替案
- Amazon
- アマゾン機械学習
- アマゾン海王星
- アマゾンセージメーカー
- 間で
- および
- 申し込み
- 適用された
- 適用
- 約
- 配列
- 割り当てられた
- 関連する
- 想定される
- 増強された
- 平均
- AWS
- ベース
- なぜなら
- になる
- さ
- ベンチマーク
- ベンチマーク
- BEST
- より良いです
- の間に
- ブランド
- ビルド
- 構築します
- 内蔵
- ビジネス
- キャリー
- 例
- チャンス
- 変化する
- class
- 分類
- クラウド
- クラウドの採用
- コード
- コラム
- コラム
- 組み合わせた
- 結合
- 比較します
- 比較
- 複雑さ
- 計算
- プロフェッショナルな方法で
- 信頼
- 確認します
- 確認済み
- 交流
- 定数
- 構築
- 建設
- 含まれています
- コントラスト
- 貢献
- controls
- 対応する
- 費用
- 作ります
- 作成します。
- 重大な
- Customers
- データ
- データベース
- データセット
- 決定
- 深いです
- デフォルト
- 定義済みの
- 依存関係
- 展開します
- 展開する
- 展開
- 細部
- 検出
- デバイス
- dgl
- DID
- 異なります
- 話し合います
- そうではありません
- Drop
- 間に
- 各
- eコマース
- 効果
- 効果的に
- 可能
- 有効にする
- 奨励する
- エンドポイント
- 確実に
- 全体
- エンティティ
- エンティティ
- 環境
- 特に
- 評価する
- 評価
- 評価します
- さらに
- あらゆる
- 例
- 例
- 予想される
- 高価な
- 体験
- 実験
- 説明する
- 探る
- 伸ばす
- 外部
- エキス
- 特徴
- フィクション
- 最後に
- ファイナンシャル
- 金融業務
- 名
- フォロー中
- 次
- 形式でアーカイブしたプロジェクトを保存します.
- 詐欺
- 不正検出
- 不正な
- 無料版
- から
- フル
- 完全に
- 賭博
- 生成する
- 取得する
- GitHubの
- 良い
- グラフ
- 素晴らしい
- ハード
- ヘルスケア
- 助けます
- ことができます
- より高い
- history
- 認定条件
- How To
- しかしながら
- HTML
- HTTPS
- 識別する
- アイデンティティ
- 違法
- 実装する
- 実装
- 実装
- 実装する
- import
- 重要
- 改善します
- in
- その他の
- 含まれました
- 含ま
- 含めて
- の増加
- 産業
- 情報
- 導入
- 紹介します
- IP
- IPアドレス
- IT
- join
- キー
- 既知の
- ラボ
- ラベル
- ラベル
- 大
- より大きい
- レイテンシ
- つながる
- LEARN
- 学習
- 図書館
- 生活
- 生命科学
- wifecycwe
- 可能性が高い
- 負荷
- 場所
- 探して
- 忠誠心
- ロイヤルティプログラム
- 機械
- 機械学習
- マネージャー
- 一致
- 意味のある
- メディア
- メモリ
- メソッド
- ML
- モード
- モデル
- モード
- 他には?
- 必要
- ネプチューン
- ネットワーク
- ネットワーク
- ニューラルネットワーク
- 新作
- 次の
- ノード
- 数
- 番号
- 観察する
- 入手
- ONE
- オンライン
- オンラインでの支払い
- 操作
- 業務執行統括
- 最適な
- 編成
- その他
- 優れたパフォーマンス
- 自分の
- パンダ
- パラメーター
- パラメータ
- 渡された
- 支払い
- 割合
- 実行する
- パフォーマンス
- 実行
- 相
- 電話
- 物理的な
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 人気
- ポスト
- 予測する
- 予測
- 予測
- 現在
- プレゼント
- 防ぐ
- 前
- 事前の
- 問題
- 問題
- プロセス
- 作り出す
- 生産
- 演奏曲目
- 約束
- 提供します
- 提供
- パイトーチ
- Qi
- Raw
- リーチ
- リーディング
- リアル
- 現実の世界
- への
- 記録
- 記録
- 減らします
- 軽減
- 縮小
- 言及
- 関連する
- 関係
- の関係
- リリース
- 除去
- 報告
- 表す
- 表現
- 必要とする
- の提出が必要です
- 要件
- それらの
- REST
- 結果として
- 結果
- return
- ラン
- Ryan Tan
- セージメーカー
- SageMaker の推論
- 同じ
- Save
- シナリオ
- 科学
- サイエンスフィクション
- 科学
- 科学者
- スクリプト
- 二番
- 秒
- シニア
- サービス
- サービス
- セッションに
- 設定
- 設定
- いくつかの
- シェアする
- 示す
- 作品
- 重要
- 著しく
- サイズ
- サイズ
- 小さい
- より小さい
- So
- 社会
- ソーシャルメディア
- 溶液
- ソリューション
- 一部
- 特定の
- スピード
- split
- 分割
- 手順
- ステップ
- 停止
- ストレージ利用料
- 作戦
- 構造
- 勉強
- サブグラフ
- サブグラフ
- そのような
- スーツ
- 適当
- サポート
- 疑わしい
- テーブル
- 取る
- 乗っ取り
- 取り
- ターゲット
- 仕事
- タスク
- template
- 条件
- test
- テスト
- グラフ
- アプリ環境に合わせて
- それによって
- したがって、
- 介して
- スループット
- 時間
- タイムスタンプ
- タイミング
- 〜へ
- あまりに
- トピック
- トータル
- トレーニング
- 訓練された
- トレーニング
- トランザクション
- 取引
- 治療
- 樹木類
- トライアル
- 試験
- true
- 典型的な
- us
- つかいます
- users
- 通常
- 検証済み
- 値
- 価値観
- 、
- which
- while
- Wi-Fiあり
- 意志
- 無し
- 言葉
- 価値
- でしょう
- You
- あなたの
- ゼファーネット