La détection de la fraude est un problème important qui a des applications dans les services financiers, les médias sociaux, le commerce électronique, les jeux et d'autres industries. Cet article présente une implémentation d'une solution de détection de fraude utilisant le modèle RGCN (Relational Graph Convolutional Network) pour prédire la probabilité qu'une transaction soit frauduleuse via les modes d'inférence transductif et inductif. Vous pouvez déployer notre implémentation sur un Amazon Sage Maker endpoint en tant que solution de détection de fraude en temps réel, sans nécessiter de stockage ou d'orchestration de graphes externes, réduisant ainsi considérablement le coût de déploiement du modèle.
Les entreprises à la recherche d'un service d'IA AWS entièrement géré pour la détection des fraudes peuvent également utiliser Détecteur de fraude Amazon, que vous pouvez utiliser pour identifier les paiements en ligne suspects, détecter la fraude à l'ouverture d'un nouveau compte, empêcher l'utilisation abusive des programmes d'essai et de fidélité ou améliorer la détection du piratage de compte.
Vue d'ensemble de la solution
Le schéma suivant décrit un exemple de réseau de transactions financières qui comprend différents types d'informations. Chaque transaction contient des informations telles que des identifiants d'appareil, des identifiants Wi-Fi, des adresses IP, des emplacements physiques, des numéros de téléphone, etc. Nous représentons les ensembles de données de transaction à travers un graphe hétérogène qui contient différents types de nœuds et d'arêtes. Ensuite, le problème de détection de fraude est traité comme une tâche de classification de nœuds sur ce graphe hétérogène.
Les réseaux de neurones graphiques (GNN) se sont révélés très prometteurs pour résoudre les problèmes de détection de fraude, surpassant les méthodes d'apprentissage supervisé populaires telles que les arbres de décision à gradient ou les réseaux à anticipation entièrement connectés sur des ensembles de données de référence. Dans une configuration typique de détection de fraude, pendant la phase de formation, un modèle GNN est formé sur un ensemble de transactions étiquetées. Chaque transaction de formation est munie d'une étiquette binaire indiquant si elle est frauduleuse. Ce modèle formé peut ensuite être utilisé pour détecter les transactions frauduleuses parmi un ensemble de transactions non étiquetées pendant la phase d'inférence. Il existe deux modes d'inférence différents : l'inférence transductive et l'inférence inductive (dont nous parlerons plus loin dans cet article).
Les modèles basés sur GNN, comme RGCN, peuvent tirer parti des informations topologiques, combinant à la fois la structure du graphe et les caractéristiques des nœuds et des bords pour apprendre une représentation significative qui distingue les transactions malveillantes des transactions légitimes. RGCN peut apprendre efficacement à représenter différents types de nœuds et d'arêtes (relations) via l'incorporation de graphes hétérogènes. Dans le diagramme précédent, chaque transaction est modélisée en tant que nœud cible, et plusieurs entités associées à chaque transaction sont modélisées en tant que types de nœuds non cibles, comme ProductCD
et les P_emaildomain
. Les nœuds cibles ont des caractéristiques numériques et catégorielles attribuées, tandis que les autres types de nœuds sont sans caractéristiques. Le modèle RGCN apprend une intégration pour chaque type de nœud non cible. Pour l'intégration d'un nœud cible, une opération convolutive est utilisée pour calculer son intégration à l'aide de ses caractéristiques et de ses intégrations de voisinage. Dans le reste de l'article, nous utilisons indifféremment les termes GNN et RGCN.
Il convient de noter que des stratégies alternatives, telles que le traitement des entités non cibles comme des fonctionnalités et leur encodage à chaud, seraient souvent irréalisables en raison des grandes cardinalités de ces entités. Inversement, les coder sous forme d'entités graphiques permet au modèle GNN de tirer parti de la topologie implicite dans les relations d'entités. Par exemple, les transactions qui partagent un numéro de téléphone avec des transactions frauduleuses connues sont également plus susceptibles d'être frauduleuses.
La représentation graphique employée par les GNN crée une certaine complexité dans leur mise en œuvre. Cela est particulièrement vrai pour les applications telles que la détection de fraude, dans lesquelles la représentation graphique peut être augmentée lors de l'inférence avec des nœuds nouvellement ajoutés qui correspondent à des entités inconnues lors de la formation du modèle. Ce scénario d'inférence est généralement appelé mode inductif. En revanche, mode transductif est un scénario qui suppose que la représentation graphique construite pendant la formation du modèle ne changera pas pendant l'inférence. Les modèles GNN sont souvent évalués en mode transductif en construisant des représentations graphiques à partir d'un ensemble combiné d'exemples d'apprentissage et de test, tout en masquant les étiquettes de test pendant la rétropropagation. Cela garantit que la représentation du graphe est statique et que le modèle GNN ne nécessite pas la mise en œuvre d'opérations pour étendre le graphe avec de nouveaux nœuds lors de l'inférence. Malheureusement, la représentation graphique statique ne peut pas être supposée lors de la détection de transactions frauduleuses dans un environnement réel. Par conséquent, la prise en charge de l'inférence inductive est requise lors du déploiement de modèles GNN pour la détection des fraudes dans les environnements de production.
De plus, la détection des transactions frauduleuses en temps réel est cruciale, en particulier dans les cas commerciaux où il n'y a qu'une seule chance d'arrêter les activités illégales. Par exemple, les utilisateurs frauduleux peuvent se comporter de manière malveillante une seule fois avec un compte et ne plus jamais utiliser le même compte. L'inférence en temps réel sur les modèles GNN introduit une complexité supplémentaire dans la mise en œuvre. Il est souvent nécessaire d'implémenter des opérations d'extraction de sous-graphes pour prendre en charge l'inférence en temps réel. L'opération d'extraction de sous-graphe est nécessaire pour réduire la latence d'inférence lorsque la représentation du graphe est grande et que l'exécution de l'inférence sur l'ensemble du graphe devient d'un coût prohibitif. Un algorithme d'inférence inductive en temps réel avec un modèle RGCN fonctionne comme suit :
- Étant donné un lot de transactions et un modèle RGCN formé, étendez la représentation graphique avec des entités du lot.
- Attribuez des vecteurs d'intégration de nouveaux nœuds non cibles avec le vecteur d'intégration moyen de leur type de nœud respectif.
- Extraire un sous-graphe induit par k-hop out-voisinage des nœuds cibles du lot.
- Effectuez une inférence sur le sous-graphe et renvoyez les scores de prédiction pour les nœuds cibles du lot.
- Nettoyez la représentation graphique en supprimant les nœuds nouvellement ajoutés (cette étape garantit que les besoins en mémoire pour l'inférence du modèle restent constants).
La principale contribution de cet article est de présenter un modèle RGCN implémentant l'algorithme d'inférence inductive en temps réel. Vous pouvez déployer notre implémentation RGCN sur un terminal SageMaker en tant que solution de détection de fraude en temps réel. Notre solution ne nécessite pas de stockage ou d'orchestration de graphes externes, et réduit considérablement le coût de déploiement du modèle RGCN pour les tâches de détection de fraude. Le modèle implémente également le mode d'inférence transductive, nous permettant de réaliser des expériences pour comparer les performances du modèle en modes inductif et transductif. Le code modèle et les cahiers d'expériences sont accessibles à partir du Dépôt GitHub d'exemples AWS.
Ce post s'appuie sur le post Créez une solution de détection de fraude en temps réel basée sur GNN à l'aide d'Amazon SageMaker, d'Amazon Neptune et de la bibliothèque Deep Graph. Le post précédent a construit une solution de détection de fraude en temps réel basée sur RGCN à l'aide de SageMaker, Amazone Neptuneainsi que, Bibliothèque de graphes profonds (DGL). La solution précédente utilisait une base de données Neptune comme stockage externe de graphiques, nécessaire AWS Lambda pour l'orchestration pour l'inférence en temps réel, et n'incluait que des expériences en mode transductif.
Le modèle RGCN présenté dans cet article implémente toutes les opérations de l'algorithme d'inférence inductive en temps réel en utilisant uniquement le DGL comme dépendance, et ne nécessite pas de stockage de graphe externe ni d'orchestration pour le déploiement.
Nous évaluons d'abord les performances du modèle RGCN en modes transductif et inductif sur un jeu de données de référence. Comme prévu, les performances du modèle en mode inductif sont légèrement inférieures à celles en mode transductif. Nous étudions également l'effet de l'hyperparamètre k sur les performances du modèle. L'hyperparamètre k contrôle le nombre de sauts effectués pour extraire un sous-graphe à l'étape 3 de l'algorithme d'inférence en temps réel. Des valeurs plus élevées de k produira des sous-graphes plus grands et peut conduire à de meilleures performances d'inférence au détriment d'une latence plus élevée. À ce titre, nous menons également des expériences de synchronisation pour évaluer la faisabilité du modèle RGCN pour une application en temps réel.
Ensemble de données
Nous utilisons les Ensemble de données sur la fraude IEEE-CIS, le même jeu de données qui a été utilisé dans le précédent poster. L'ensemble de données contient plus de 590,000 XNUMX enregistrements de transactions portant une étiquette de fraude binaire (le isFraud
colonne). Les données sont divisées en deux tables : transaction et identité. Cependant, tous les enregistrements de transaction n'ont pas d'informations d'identité correspondantes. On joint les deux tables sur le TransactionID
colonne, ce qui nous laisse avec un total de 144,233 XNUMX enregistrements de transactions. Nous trions le tableau par horodatage de transaction (le TransactionDT
colonne) et créez une répartition en pourcentage 80/20 en fonction du temps, produisant respectivement 115,386 28,847 et XNUMX XNUMX transactions pour la formation et les tests.
Pour plus de détails sur l'ensemble de données et sur la façon de le formater pour répondre aux exigences d'entrée du DGL, reportez-vous à Détection de la fraude dans des réseaux hétérogènes à l'aide d'Amazon SageMaker et de Deep Graph Library.
Construction graphique
Nous utilisons les TransactionID
colonne pour générer des nœuds cibles. Nous utilisons les colonnes suivantes pour générer 11 types de nœuds non cibles :
card1
à traverscard6
ProductCD
addr1
et lesaddr2
P_emaildomain
et lesR_emaildomain
Nous utilisons 38 colonnes comme caractéristiques catégorielles des nœuds cibles :
M1
à traversM9
DeviceType
et lesDeviceInfo
id_12
à traversid_38
Nous utilisons 382 colonnes comme caractéristiques numériques des nœuds cibles :
TransactionAmt
dist1
et lesdist2
id_01
à traversid_11
C1
à traversC14
D1
à traversD15
V1
à traversV339
Notre graphe construit à partir des transactions d'apprentissage contient 217,935 2,653,878 nœuds et XNUMX XNUMX XNUMX arêtes.
Hyperparamètres
D'autres paramètres sont définis pour correspondre aux paramètres indiqués dans le précédent poster. L'extrait de code suivant illustre la formation du modèle RGCN en modes transductif et inductif :
Mode inductif ou mode transductif
Nous effectuons cinq essais pour le mode inductif et cinq essais pour le mode transductif. Pour chaque essai, nous formons un modèle RGCN et l'enregistrons sur disque, obtenant 10 modèles. Nous évaluons chaque modèle sur des exemples de test en augmentant le nombre de sauts (paramètre k) utilisé pour extraire un sous-graphe pour l'inférence, en définissant k à 1, 2 et 3. Nous prédisons sur tous les exemples de test à la fois et calculons le score ROC AUC pour chaque essai. Le graphique suivant montre la moyenne et les intervalles de confiance à 95 % des scores AUC.
On constate que les performances en mode transductif sont légèrement supérieures à celles en mode inductif. Pour k= 2, les scores AUC moyens pour les modes inductifs et transductifs sont respectivement de 0.876 et 0.883. Ceci est attendu car le modèle RGCN est capable d'apprendre les incorporations de tous les nœuds d'entité en mode transductif, y compris ceux de l'ensemble de test. En revanche, le mode inductif permet uniquement au modèle d'apprendre les incorporations de nœuds d'entité qui sont présents dans les exemples d'apprentissage, et par conséquent, certains nœuds doivent être remplis par la moyenne lors de l'inférence. Dans le même temps, la baisse des performances entre les modes transductif et inductif n'est pas significative, et même en mode inductif, le modèle RGCN réalise de bonnes performances avec une AUC de 0.876. Nous observons également que les performances du modèle ne s'améliorent pas pour les valeurs de k>2. Cela implique que la mise en place k=2 extrairait un sous-graphe suffisamment grand lors de l'inférence, ce qui se traduirait par des performances optimales. Cette observation est également confirmée par notre expérience suivante.
Il convient également de noter que, pour le mode transductif, l'AUC de notre modèle de 0.883 est supérieure à l'AUC correspondante de 0.870 rapportée dans le précédent poster. Nous utilisons plus de colonnes comme caractéristiques numériques et catégorielles des nœuds cibles, ce qui peut expliquer le score AUC plus élevé. Nous notons également que les expériences du post précédent n'ont effectué qu'un seul essai.
Inférence sur un petit lot
Pour cette expérience, nous évaluons le modèle RGCN dans un petit cadre d'inférence par lots. Nous utilisons cinq modèles qui ont été entraînés en mode inductif dans l'expérience précédente. Nous comparons les performances de ces modèles lors de la prédiction dans deux contextes : l'inférence complète et l'inférence par petits lots. Pour l'inférence par lot complet, nous prédisons sur l'ensemble du test, comme cela a été fait dans l'expérience précédente. Pour l'inférence par petits lots, nous prévoyons par petits lots en divisant l'ensemble de test en 28 lots de taille égale avec environ 1,000 XNUMX transactions dans chaque lot. Nous calculons les scores AUC pour les deux paramètres en utilisant différentes valeurs de k. Le graphique suivant montre la moyenne et les intervalles de confiance à 95 % pour les paramètres d'inférence par lots complets et petits.
Nous observons que les performances pour l'inférence de petits lots lorsque k=1 est inférieur à celui du lot complet. Cependant, les performances d'inférence de petits lots correspondent à un lot complet lorsque k>1. Cela peut être attribué à des sous-graphes beaucoup plus petits extraits pour de petits lots. Nous le confirmons en comparant les tailles des sous-graphes avec la taille du graphe entier construit à partir des transactions d'apprentissage. Nous comparons les tailles de graphe en termes de nombre de nœuds. Pour k=1, la taille moyenne des sous-graphes pour l'inférence par petits lots est inférieure à 2 % du graphe d'apprentissage. Et pour l'inférence complète du lot lorsque k=1, la taille du sous-graphe est de 22 %. Quand k= 2, les tailles de sous-graphes pour l'inférence par petits lots et par lots complets sont respectivement de 54 % et 64 %. Enfin, les tailles de sous-graphes pour les deux paramètres d'inférence atteignent 100 % pour k=3. Autrement dit, quand k>1, le sous-graphe d'un petit lot devient suffisamment grand, permettant à l'inférence par petit lot d'atteindre les mêmes performances que l'inférence par lot complet.
Nous enregistrons également la latence de prédiction pour chaque lot. Nous réalisons nos expériences sur une instance ml.r5.12xlarge, mais vous pouvez utiliser une instance plus petite avec 64 Go de mémoire pour exécuter les mêmes expériences. Le graphique suivant montre la moyenne et les intervalles de confiance à 95 % des latences de prédiction de petits lots pour différentes valeurs de k.
La latence comprend les cinq étapes de l'algorithme d'inférence inductive en temps réel. On voit que quand k=2, la prédiction sur 1,030 5.4 transactions prend en moyenne 190 secondes, ce qui donne un débit de XNUMX transactions par seconde. Cela confirme que la mise en œuvre du modèle RGCN est adaptée à la détection de fraude en temps réel. Nous notons également que le précédent poster n'ont pas fourni de valeurs de latence dure pour leur mise en œuvre.
Conclusion
Le modèle RGCN publié avec cet article implémente l'algorithme d'inférence inductive en temps réel et ne nécessite pas de stockage ou d'orchestration de graphes externes. Le paramètre k à l'étape 3 de l'algorithme spécifie le nombre de sauts effectués pour extraire le sous-graphe pour l'inférence, et aboutit à un compromis entre la précision du modèle et la latence de prédiction. Nous avons utilisé le Ensemble de données sur la fraude IEEE-CIS dans nos expériences, et validé empiriquement que la valeur optimale du paramètre k pour cet ensemble de données est de 2, obtenant un score AUC de 0.876 et une latence de prédiction inférieure à 6 secondes pour 1,000 XNUMX transactions.
Cet article a fourni un processus étape par étape pour la formation et l'évaluation d'un modèle RGCN pour la détection des fraudes en temps réel. La classe de modèle incluse implémente des méthodes pour l'ensemble du cycle de vie du modèle, y compris les méthodes de sérialisation et de désérialisation. Cela permet au modèle d'être utilisé pour la détection de fraude en temps réel. Vous pouvez former le modèle en tant qu'estimateur PyTorch SageMaker, puis le déployer sur un point de terminaison SageMaker en utilisant ce qui suit cahier comme modèle. Le terminal est capable de prédire la fraude sur de petits lots de transactions brutes en temps réel. Vous pouvez aussi utiliser Outil de recommandation d'inférence Amazon SageMaker pour sélectionner le meilleur type d'instance et la meilleure configuration pour le point de terminaison d'inférence en fonction de vos charges de travail.
Pour plus d'informations sur ce sujet et sa mise en œuvre, nous vous encourageons à explorer et à tester nos scripts par vous-même. Vous pouvez accéder aux blocs-notes et au code de classe de modèle associé à partir du Dépôt GitHub d'exemples AWS.
À propos des auteurs
Dimitri Bespalov est Senior Applied Scientist au Amazon Machine Learning Solutions Lab, où il aide les clients AWS de différents secteurs à accélérer leur adoption de l'IA et du cloud.
Marque Ryan est un scientifique appliqué au Amazon Machine Learning Solutions Lab. Il possède une expérience spécifique dans l'application de l'apprentissage automatique aux problèmes des soins de santé et des sciences de la vie. Pendant son temps libre, il aime lire l'histoire et la science-fiction.
Yanjun Qi est Senior Applied Science Manager au Amazon Machine Learning Solution Lab. Elle innove et applique l'apprentissage automatique pour aider les clients d'AWS à accélérer leur adoption de l'IA et du cloud.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: 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
- 95%
- a
- Capable
- A Propos
- abus
- accélérer
- accès
- accédé
- Compte
- précision
- Atteint
- la réalisation de
- à travers
- d'activités
- ajoutée
- ajout
- Supplémentaire
- adresses
- Adoption
- Avantage
- AI
- algorithme
- Tous
- permet
- alternative
- Amazon
- Apprentissage automatique d'Amazon
- Amazone Neptune
- Amazon Sage Maker
- parmi
- et les
- Application
- applications
- appliqué
- Application
- d'environ
- tableau
- attribué
- associé
- assumé
- augmentée
- moyen
- AWS
- basé
- car
- devient
- va
- référence
- analyse comparative
- LES MEILLEURS
- Améliorée
- jusqu'à XNUMX fois
- brand
- construire
- construit
- construit
- la performance des entreprises
- porter
- cas
- Chance
- Change
- classe
- classification
- le cloud
- adoption du cloud
- code
- Colonne
- Colonnes
- combiné
- combinant
- comparer
- comparant
- complexité
- calcul
- Conduire
- confiance
- configuration
- Confirmer
- CONFIRMÉ
- connecté
- constant
- la construction
- construction
- contient
- contraste
- contribution
- contrôles
- Correspondant
- Prix
- engendrent
- crée des
- crucial
- Clients
- données
- Base de données
- ensembles de données
- décision
- profond
- Réglage par défaut
- défini
- Dépendance
- déployer
- déployer
- déploiement
- détails
- Détection
- dispositif
- aimer
- DID
- différent
- discuter
- Ne fait pas
- Goutte
- pendant
- chacun
- e-commerce
- effet
- de manière efficace
- permet
- permettant
- encourager
- Endpoint
- Assure
- Tout
- entités
- entité
- environnements
- notamment
- évaluer
- évalué
- évaluer
- Pourtant, la
- Chaque
- exemple
- exemples
- attendu
- cher
- d'experience
- expérience
- Expliquer
- explorez
- étendre
- externe
- extrait
- Fonctionnalités:
- Fiction
- finalement
- la traduction de documents financiers
- services financiers
- Prénom
- Abonnement
- suit
- le format
- fraude
- détection de fraude
- frauduleux
- gratuitement ici
- De
- plein
- d’étiquettes électroniques entièrement
- jeux
- générer
- obtenez
- GitHub
- Bien
- graphique
- l'
- Dur
- la médecine
- vous aider
- aide
- augmentation
- Histoire
- Comment
- How To
- Cependant
- HTML
- HTTPS
- identifier
- Identite
- Illégal
- Mettre en oeuvre
- la mise en oeuvre
- la mise en œuvre
- met en oeuvre
- importer
- important
- améliorer
- in
- Dans d'autres
- inclus
- inclut
- Y compris
- croissant
- secteurs
- d'information
- contribution
- instance
- introduit
- Introduit
- IP
- adresses IP
- IT
- rejoindre
- ACTIVITES
- connu
- laboratoire
- Libellé
- Etiquettes
- gros
- plus importantes
- Latence
- conduire
- APPRENTISSAGE
- apprentissage
- Bibliothèque
- VIE
- Life Sciences
- vos produits
- Probable
- charge
- emplacements
- recherchez-
- Fidélité
- programme de fidélité
- click
- machine learning
- manager
- Match
- significative
- Médias
- Mémoire
- méthodes
- ML
- Mode
- modèle
- numériques jumeaux (digital twin models)
- modes
- PLUS
- nécessaire
- Neptune
- réseau et
- réseaux
- les réseaux de neurones
- Nouveauté
- next
- nœud
- nœuds
- nombre
- numéros
- observer
- obtention
- ONE
- en ligne
- Paiements en ligne
- opération
- Opérations
- optimaux
- orchestration
- Autre
- surperformant
- propre
- pandas
- paramètre
- paramètres
- passé
- Paiements
- pourcentage
- Effectuer
- performant
- effectuer
- phase
- Téléphone
- Physique
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Populaire
- Post
- prévoir
- prévoir
- prédiction
- représentent
- cadeaux
- empêcher
- précédent
- Avant
- Problème
- d'ouvrabilité
- processus
- produire
- Vidéo
- Programme
- PROMETTONS
- fournir
- à condition de
- pytorch
- Qi
- raw
- nous joindre
- en cours
- réal
- monde réel
- en temps réel
- record
- Articles
- réduire
- réduit
- réduire
- visée
- en relation
- rapports
- Les relations
- libéré
- enlever
- Signalé
- représentent
- représentation
- exigent
- conditions
- exigence
- ceux
- REST
- résultant
- Résultats
- retourner
- Courir
- Ryan
- sagemaker
- Inférence SageMaker
- même
- Épargnez
- scénario
- Sciences
- Science-fiction
- STARFLEET SCIENCES
- Scientifique
- scripts
- Deuxièmement
- secondes
- supérieur
- service
- Services
- set
- mise
- Paramétres
- installation
- plusieurs
- Partager
- montré
- Spectacles
- significative
- de façon significative
- unique
- Taille
- tailles
- petit
- faibles
- So
- Réseaux sociaux
- réseaux sociaux
- sur mesure
- Solutions
- quelques
- groupe de neurones
- vitesse
- scission
- splits
- étapes
- Étapes
- arrêt
- storage
- les stratégies
- structure
- Étude
- sous-graphique
- sous-graphiques
- tel
- Combinaison
- convient
- Support
- soupçonneux
- table
- Prenez
- prise de contrôle
- prend
- Target
- Tâche
- tâches
- modèle
- conditions
- tester
- Essais
- Le
- Le graphique
- leur
- ainsi
- donc
- Avec
- débit
- fiable
- horodatage
- timing
- à
- trop
- sujet
- Total
- Train
- qualifié
- Formation
- transaction
- Transactions
- traitement
- Arbres
- procès
- essais cliniques
- oui
- types
- débutante
- us
- utilisé
- utilisateurs
- d'habitude
- validé
- Plus-value
- Valeurs
- via
- qui
- tout en
- Wi-fi
- sera
- sans
- des mots
- vaut
- pourra
- Vous n'avez
- Votre
- zéphyrnet