不正行為は、eコマース、ソーシャルメディア、金融サービスなど、多くの業界に深刻な影響を与えています。詐欺行為は、企業や消費者に大きな損失を与える可能性があります。アメリカの消費者は、2021年に詐欺行為によって58億ドル以上の損失を被ったと報告しており、2020年比で70%以上増加しています。(ML)モデルなど、多くの技術が用いられてきました。実世界のデータにおいて、ある要素が他の要素と強く関係することがよくあります。グラフ構造は、異常検知に有用な情報を提供することができます。ID、物理的な場所、電話番号などの共有エンティティを介して関連づけられています。エンコーディングしても意味がないため、従来の特徴量ベースのモデルでは利用が難しいとされています。不正検知においてはこのような関係は、ユーザが不正行為者であるかどうかの予測に役立つ可能性があります。あるユーザが既知の不正行為者と複数のエンティティを共有している場合、そのユーザは不正行為者である可能性が高くなります。不正検知のための手法として注目されています。モデルは、グラフ構造とノードやエッジの属性(ユーザや取引の情報など)の両方を組み合わせて、悪意のあるユーザやイベントを正当なものと区別するための意味のある表現を学習することができます。この機能は、不正行為者が結託して不正を示すような特徴を隠しても、残った不正の痕跡から詐欺を検出するために極めて重要です。ソリューションはオフラインのバッチ学習と推論モードに依存しているため、悪意のあるイベントが起こり、損失が発生した後で不正行為者を発見します。損失を防ぐためには、不正なユーザや活動をリアルタイムで検知することが重要です。不正行為を防ぐチャンスが一度しかないようなビジネスケースにおける重要性は顕著です。コマースプラットフォームでは、アカウント登録は誰でも行うことができるため、不正行為者は一度不正な行為を行ったアカウントを再度利用することはありません。不正行為者をリアルタイムで予測することは重要です。そのようなソリューションの構築は困難です。モデルをバッチ処理からリアルタイム処理に変換するためのオンラインリソースは限られています。供給できるストリーミングデータパイプラインを構築することも困難です。ベースのリアルタイム推論ソリューションのリファレンスアーキテクチャやサンプルはありません。モデルを使ったリアルタイム不正検出のエンドツーエンドソリューションを構築する方法を紹介します。4つのタスクに焦点を当てています。使用して異種ネットワークの不正を検出する」における作業を拡張したものです。半教師あり学習の詳細については、そちらの記事を参照してください。2つの主要なパートがあります。モデルを学習し、学習したモデルをデプロイするパイプラインです。S3)の両方に保存しています。モデルを学習させ、取引が不正かどうかを予測します。アップロードされます。エンドポイントとしてデプロイされます。よってオーケストレーションされます。2つめは、リアルタイムの不正取引検知の部分です。グラフデータベースにクエリし、受信した取引に関連するサブグラフを抽出します。ポータルを備えており、不正な取引と正当な取引の両方を含むオンライン取引を生成することができます。ポータルでは、不正検出の様子をリアルタイムで可視化することができます。アプリケーションを迅速に構築しています。ポータルを示しています。GitHubリポジトリで公開されています。データ処理このセクションでは、サンプルデータセットを処理し、表形式の生データを、異なる列の間に検出された関係を示す関係を持つグラフに変換する方法を簡単に説明します。dataset」を使用しています。したがって、データ処理の基本原理は同じです。簡単に説明すると、不正データセットには取引テーブルとアイデンティティテーブルがあり、コンテキスト情報(例えば、取引で使用されたデバイスなど)と共に約50万件の匿名化された取引情報が記録されています。いくつかの取引データは、取引が不正であるかどうかを示す二値のラベル情報を含んでいます。我々の課題は、ラベルが含まれていない取引のうち、どれが不正で、どれが正当であるかを予測することです。テーブルを異種グラフに変換する方法の一般的なプロセスを示しています。各テーブルから2つの列を抽出します。つのノードとして設定します。列のようなカテゴリー列から選び、ここではそれぞれのカテゴリーを個別のノードとして設定しました。ユニークなカテゴリが現れたら、それらを1つのエッジで接続します。2部グラフに変換します。1つのノードにマージされます。このステップを経て、2部グラフの異種グラフが作成されます。ノードの特徴量として結合します。値は、モデル学習のためのラベルとして使用されます。ノードのノード分類タスクを行います。学習するためのグラフデータの準備の詳細については、前回の記事の「特徴抽出」と「グラフの作成」のセクションを参照してください。src/sagemaker/01.FD_SL_Process_IEEE-CIS_Dataset.ipynbを使ってデータ処理の実験ができます。介して巨大なデータセットを並列処理します。以下は、このワークフローを作成するためのコードスニペットです。バッチロードしています。このバッチロードプロセスは、以下のコードスニペットに示されています。モデル学習処理を開始します。学習インスタンスを作成することができます。方式は、学習環境のセットアップの手間を大幅に削減できる可能性があります。モデルの学習に関する詳細が記載されています。イメージの生成です(以下のコードスニペットを参照)。ベースのイメージを使用しました。関連ライブラリをインストールします。モデルコードもイメージにコピーします。モデルを選択しました。モデルは異種グラフのノードに対して学習可能な埋め込みを学習することができます。学習された埋め込みは、ノードラベルを予測するための全結合層の入力として使用されます。学習するためには、学習処理の前にいくつかのハイパーパラメータを定義する必要があります。モデルの層数、学習エポック、オプティマイザ、最適化パラメータなどです。設定のサブセットについては、以下のコードを参照してください。