Detektion af svindel er et vigtigt problem, der har applikationer i finansielle tjenester, sociale medier, e-handel, spil og andre industrier. Dette indlæg præsenterer en implementering af en svindeldetektionsløsning ved hjælp af Relational Graph Convolutional Network (RGCN)-modellen til at forudsige sandsynligheden for, at en transaktion er svigagtig gennem både den transduktive og den induktive inferenstilstand. Du kan implementere vores implementering til en Amazon SageMaker endpoint som en real-time svindeldetektionsløsning uden at kræve ekstern graflagring eller orkestrering, hvilket reducerer implementeringsomkostningerne for modellen markant.
Virksomheder, der leder efter en fuldt administreret AWS AI-tjeneste til afsløring af svindel, kan også bruge Amazon svindeldetektor, som du kan bruge til at identificere mistænkelige onlinebetalinger, opdage svindel med nye kontoer, forhindre misbrug af forsøg og loyalitetsprogram eller forbedre registreringen af kontoovertagelser.
Løsningsoversigt
Det følgende diagram beskriver et eksempel på et finansielt transaktionsnetværk, der omfatter forskellige typer information. Hver transaktion indeholder oplysninger som enhedsidentifikatorer, Wi-Fi-id'er, IP-adresser, fysiske placeringer, telefonnumre og mere. Vi repræsenterer transaktionsdatasættene gennem en heterogen graf, der indeholder forskellige typer noder og kanter. Derefter håndteres svindeldetekteringsproblemet som en nodeklassificeringsopgave på denne heterogene graf.
Graph neurale netværk (GNN'er) har vist stort lovende med hensyn til at tackle problemer med registrering af svindel, udkonkurrere populære overvågede læringsmetoder som gradient-boostede beslutningstræer eller fuldt forbundne feed-forward-netværk på benchmarking-datasæt. I en typisk opsætning af svindeldetektering trænes en GNN-model i træningsfasen på et sæt mærkede transaktioner. Hver træningstransaktion er forsynet med en binær etiket, der angiver, om den er svigagtig. Denne trænede model kan derefter bruges til at opdage svigagtige transaktioner blandt et sæt umærkede transaktioner i slutningsfasen. Der findes to forskellige inferensformer: transduktiv inferens vs. induktiv inferens (som vi diskuterer mere senere i dette indlæg).
GNN-baserede modeller, som RGCN, kan drage fordel af topologisk information, der kombinerer både grafstruktur og funktioner i noder og kanter for at lære en meningsfuld repræsentation, der adskiller ondsindede transaktioner fra legitime transaktioner. RGCN kan effektivt lære at repræsentere forskellige typer noder og kanter (relationer) via heterogen grafindlejring. I det foregående diagram bliver hver transaktion modelleret som en målknude, og flere entiteter tilknyttet hver transaktion bliver modelleret som ikke-målknudetyper, som f.eks. ProductCD
, P_emaildomain
. Målknudepunkter har numeriske og kategoriske funktioner tildelt, hvorimod andre knudetyper er uden træk. RGCN-modellen lærer en indlejring for hver ikke-målknudetype. Til indlejring af en målknude bruges en foldningsoperation til at beregne dens indlejring ved hjælp af dens funktioner og naboskabsindlejringer. I resten af indlægget bruger vi udtrykkene GNN og RGCN i flæng.
Det er værd at bemærke, at alternative strategier, såsom at behandle ikke-målentiteter som funktioner og one-hot-kodning af dem, ofte ville være umulige på grund af disse entiteters store kardinaliteter. Omvendt gør kodning af dem som grafenheder det muligt for GNN-modellen at drage fordel af den implicitte topologi i entitetsrelationerne. For eksempel er der større sandsynlighed for, at transaktioner, der deler et telefonnummer med kendte svigagtige transaktioner, også er svigagtige.
Grafrepræsentationen, der anvendes af GNN'er, skaber en vis kompleksitet i deres implementering. Dette gælder især for applikationer såsom svindeldetektion, hvor grafrepræsentationen kan blive udvidet under inferens med nyligt tilføjede noder, der svarer til enheder, der ikke er kendt under modeltræning. Dette slutningsscenarie omtales normalt som induktiv tilstand. I modsætning, transduktiv tilstand er et scenarie, der antager, at grafrepræsentationen konstrueret under modeltræning ikke ændres under inferens. GNN-modeller evalueres ofte i transduktiv tilstand ved at konstruere grafrepræsentationer ud fra et kombineret sæt trænings- og testeksempler, mens testetiketter maskeres under tilbageudbredelse. Dette sikrer, at grafrepræsentationen er statisk, og der kræver GNN-modellen ikke implementering af operationer for at udvide grafen med nye noder under inferens. Desværre kan statisk grafrepræsentation ikke antages, når svigagtige transaktioner detekteres i en virkelig verden. Derfor kræves der understøttelse af induktiv inferens, når GNN-modeller implementeres til registrering af svindel i produktionsmiljøer.
Derudover er det afgørende at opdage svigagtige transaktioner i realtid, især i forretningssager, hvor der kun er én chance for at stoppe ulovlige aktiviteter. For eksempel kan svigagtige brugere opføre sig ondsindet kun én gang med en konto og aldrig bruge den samme konto igen. Realtidsslutning om GNN-modeller introducerer yderligere kompleksitet til implementeringen. Det er ofte nødvendigt at implementere subgraf-ekstraktionsoperationer for at understøtte realtidsslutning. Undergrafekstraktionsoperationen er nødvendig for at reducere slutningsforsinkelsen, når grafrepræsentationen er stor, og det bliver uoverkommeligt dyrt at udføre slutninger på hele grafen. En algoritme til induktiv inferens i realtid med en RGCN-model kører som følger:
- Givet en batch af transaktioner og en trænet RGCN-model, udvide grafrepræsentationen med enheder fra batchen.
- Tildel indlejringsvektorer for nye ikke-målknuder med den gennemsnitlige indlejringsvektor for deres respektive knudepunktstype.
- Udtræk en subgraf induceret af k-hop ud-nabolaget af målknuderne fra batchen.
- Udfør slutninger om undergrafen og returner forudsigelsesscore for batchens målknudepunkter.
- Ryd op i grafrepræsentationen ved at fjerne nyligt tilføjede noder (dette trin sikrer, at hukommelseskravet til modelslutning forbliver konstant).
Det vigtigste bidrag fra dette indlæg er at præsentere en RGCN-model, der implementerer den induktive inferensalgoritme i realtid. Du kan implementere vores RGCN-implementering til et SageMaker-slutpunkt som en løsning til registrering af svindel i realtid. Vores løsning kræver ikke ekstern graflagring eller orkestrering og reducerer implementeringsomkostningerne for RGCN-modellen til svindeldetekteringsopgaver markant. Modellen implementerer også transduktiv inferenstilstand, hvilket gør os i stand til at udføre eksperimenter for at sammenligne modelydelse i induktive og transduktive tilstande. Modelkoden og notesbøger med eksperimenter kan tilgås fra AWS-eksempler GitHub-repo.
Dette indlæg bygger på indlægget Byg en GNN-baseret real-time svindeldetektionsløsning ved hjælp af Amazon SageMaker, Amazon Neptune og Deep Graph Library. Det forrige indlæg byggede en RGCN-baseret real-time svindeldetektionsløsning ved hjælp af SageMaker, Amazon Neptun, og Deep Graph Library (DGL). Den tidligere løsning brugte en Neptune-database som ekstern graflagring, påkrævet AWS Lambda til orkestrering til realtidsslutning og inkluderede kun eksperimenter i transduktiv tilstand.
RGCN-modellen introduceret i dette indlæg implementerer alle operationer af den induktive inferensalgoritme i realtid ved kun at bruge DGL som en afhængighed og kræver ikke ekstern graflagring eller orkestrering til implementering.
Vi evaluerer først ydeevnen af RGCN-modellen i transduktive og induktive tilstande på et benchmark-datasæt. Som forventet er modelydelsen i induktiv tilstand lidt lavere end i transduktiv tilstand. Vi studerer også effekten af hyperparameter k på modellens ydeevne. Hyperparameteren k styrer antallet af hop, der udføres for at udtrække en subgraf i trin 3 i realtids-inferensalgoritmen. Højere værdier af k vil producere større subgrafer og kan føre til bedre slutningsydelse på bekostning af højere latenstid. Som sådan udfører vi også timing-eksperimenter for at evaluere gennemførligheden af RGCN-modellen til en realtidsapplikation.
datasæt
Vi bruger IEEE-CIS svindeldatasæt, det samme datasæt, som blev brugt i det foregående indlæg. Datasættet indeholder over 590,000 transaktionsposter, der har en binær svindeletiket (den isFraud
kolonne). Dataene er opdelt i to tabeller: transaktion og identitet. Det er dog ikke alle transaktionsposter, der har tilsvarende identitetsoplysninger. Vi samler de to borde på TransactionID
kolonne, hvilket efterlader os med i alt 144,233 transaktionsposter. Vi sorterer tabellen efter transaktionstidsstempel (den TransactionDT
kolonne) og opret en 80/20 procentdel opdelt efter tid, hvilket giver 115,386 og 28,847 transaktioner til henholdsvis træning og test.
For flere detaljer om datasættet og hvordan det formateres, så det passer til inputkravet fra DGL, henvises til Opdagelse af bedrageri i heterogene netværk ved hjælp af Amazon SageMaker og Deep Graph Library.
Grafkonstruktion
Vi bruger TransactionID
kolonne for at generere målknudepunkter. Vi bruger følgende kolonner til at generere 11 typer ikke-målknuder:
card1
vedcard6
ProductCD
addr1
,addr2
P_emaildomain
,R_emaildomain
Vi bruger 38 kolonner som kategoriske træk ved målknudepunkter:
M1
vedM9
DeviceType
,DeviceInfo
id_12
vedid_38
Vi bruger 382 kolonner som numeriske træk ved målknudepunkter:
TransactionAmt
dist1
,dist2
id_01
vedid_11
C1
vedC14
D1
vedD15
V1
vedV339
Vores graf konstrueret ud fra træningstransaktionerne indeholder 217,935 noder og 2,653,878 kanter.
Hyperparametre
Andre parametre er indstillet til at matche parametrene rapporteret i det foregående indlæg. Følgende uddrag illustrerer træning af RGCN-modellen i transduktive og induktive tilstande:
Induktiv vs. transduktiv tilstand
Vi udfører fem forsøg for induktiv og fem forsøg for transduktiv tilstand. For hvert forsøg træner vi en RGCN-model og gemmer den på disken, hvorved vi opnår 10 modeller. Vi evaluerer hver model på testeksempler, mens vi øger antallet af hop (parameter k) bruges til at udtrække en undergraf til inferens, indstilling k til 1, 2 og 3. Vi forudsiger på alle testeksempler på én gang og beregner ROC AUC-score for hvert forsøg. Følgende plot viser middelværdien og 95 % konfidensintervaller for AUC-score.
Vi kan se, at ydeevnen i transduktiv tilstand er lidt højere end i induktiv tilstand. Til k=2, gennemsnitlige AUC-score for induktive og transduktive tilstande er henholdsvis 0.876 og 0.883. Dette forventes, fordi RGCN-modellen er i stand til at lære indlejringer af alle entitetsknuder i transduktiv tilstand, inklusive dem i testsættet. I modsætning hertil tillader induktiv tilstand kun modellen at lære indlejringer af entitetsknudepunkter, der er til stede i træningseksemplerne, og derfor skal nogle noder være middeludfyldte under inferens. Samtidig er faldet i ydeevne mellem transduktiv og induktiv tilstand ikke signifikant, og selv i induktiv tilstand opnår RGCN-modellen god ydeevne med en AUC på 0.876. Vi observerer også, at modellens ydeevne ikke forbedres for værdier af k>2. Dette indebærer den indstilling k=2 ville udtrække en tilstrækkelig stor subgraf under inferens, hvilket resulterer i optimal ydeevne. Denne observation bekræftes også af vores næste eksperiment.
Det er også værd at bemærke, at for transduktiv tilstand er vores models AUC på 0.883 højere end den tilsvarende AUC på 0.870 rapporteret i det foregående indlæg. Vi bruger flere kolonner som numeriske og kategoriske træk ved målknudepunkter, hvilket kan forklare den højere AUC-score. Vi bemærker også, at eksperimenterne i det forrige indlæg kun udførte et enkelt forsøg.
Konklusioner om et lille parti
Til dette eksperiment evaluerer vi RGCN-modellen i en lille batch-inferensindstilling. Vi bruger fem modeller, der blev trænet i induktiv tilstand i det forrige eksperiment. Vi sammenligner disse modellers ydeevne, når vi forudsiger i to indstillinger: fuld og lille batch-slutning. For fuld batch-slutning forudsiger vi på hele testsættet, som det blev gjort i det forrige eksperiment. For små batch-slutninger forudsiger vi i små batches ved at opdele testsættet i 28 batches af samme størrelse med cirka 1,000 transaktioner i hver batch. Vi beregner AUC-score for begge indstillinger ved hjælp af forskellige værdier af k. Følgende plot viser middelværdien og 95 % konfidensintervaller for fuld og lille batch-inferensindstillinger.
Vi observerer denne ydeevne for lille batch-inferens, når k=1 er lavere end for fuld batch. Imidlertid matcher lille batch-inferens ydeevne fuld batch når k>1. Dette kan tilskrives meget mindre undergrafer, der udtrækkes for små partier. Vi bekræfter dette ved at sammenligne undergrafstørrelser med størrelsen af hele grafen konstrueret ud fra træningstransaktionerne. Vi sammenligner grafstørrelser med hensyn til antal noder. Til k=1, den gennemsnitlige subgrafstørrelse for lille batch-inferens er mindre end 2 % af træningsgrafen. Og for fuld batch-slutning hvornår k=1, undergrafstørrelsen er 22%. Hvornår k=2, undergrafstørrelser for lille og fuld batch-slutning er henholdsvis 54 % og 64 %. Endelig når undergrafstørrelser for begge inferensindstillinger 100 % for k=3. Med andre ord, hvornår k>1, bliver subgrafen for en lille batch tilstrækkelig stor, hvilket gør det muligt for lille batch-slutning at opnå samme ydeevne som fuld batch-slutning.
Vi registrerer også forudsigelsesforsinkelse for hver batch. Vi udfører vores eksperimenter på en ml.r5.12xlarge instans, men du kan bruge en mindre instans med 64 G hukommelse til at køre de samme eksperimenter. Følgende plot viser middelværdien og 95 % konfidensintervaller for små batch-forudsigelsesforsinkelser for forskellige værdier af k.
Latensen inkluderer alle fem trin af den induktive inferensalgoritme i realtid. Det ser vi hvornår k=2, at forudsige 1,030 transaktioner tager i gennemsnit 5.4 sekunder, hvilket resulterer i en gennemstrømning på 190 transaktioner i sekundet. Dette bekræfter, at implementeringen af RGCN-modellen er egnet til real-time afsløring af svindel. Vi bemærker også, at den forrige indlæg leverede ikke hårde latensværdier til deres implementering.
Konklusion
RGCN-modellen udgivet med dette indlæg implementerer algoritmen for induktiv inferens i realtid og kræver ikke ekstern graflagring eller orkestrering. Parameteren k i trin 3 af algoritmen specificerer antallet af hop udført for at udtrække subgrafen til slutning, og resulterer i en afvejning mellem modelnøjagtighed og forudsigelsesforsinkelse. Vi brugte IEEE-CIS svindeldatasæt i vores eksperimenter, og empirisk valideret, at den optimale værdi af parameter k for dette datasæt er 2, hvilket opnår en AUC-score på 0.876 og forudsigelsesforsinkelse på mindre end 6 sekunder pr. 1,000 transaktioner.
Dette indlæg gav en trin-for-trin-proces til træning og evaluering af en RGCN-model til afsløring af svindel i realtid. Den inkluderede modelklasse implementerer metoder for hele modellens livscyklus, herunder serialisering og deserialiseringsmetoder. Dette gør det muligt at bruge modellen til at opdage svindel i realtid. Du kan træne modellen som en PyTorch SageMaker-estimator og derefter implementere den til et SageMaker-slutpunkt ved at bruge følgende notesbog som skabelon. Slutpunktet er i stand til at forudsige svindel på små partier af råtransaktioner i realtid. Du kan også bruge Amazon SageMaker Inference Recommender for at vælge den bedste instanstype og konfiguration for inferensslutpunktet baseret på dine arbejdsbelastninger.
For mere information om dette emne og implementering opfordrer vi dig til at udforske og teste vores scripts på egen hånd. Du kan få adgang til notesbøgerne og den tilhørende modelklassekode fra AWS-eksempler GitHub-repo.
Om forfatterne
Dmitriy Bespalov er Senior Applied Scientist ved Amazon Machine Learning Solutions Lab, hvor han hjælper AWS-kunder på tværs af forskellige industrier med at accelerere deres AI og cloud-adoption.
Ryan Brand er en anvendt videnskabsmand ved Amazon Machine Learning Solutions Lab. Han har specifik erfaring med at anvende maskinlæring på problemer inden for sundhedspleje og biovidenskab. I sin fritid nyder han at læse historie og science fiction.
Yanjun Qi er Senior Applied Science Manager hos Amazon Machine Learning Solution Lab. Hun innoverer og anvender maskinlæring for at hjælpe AWS-kunder med at fremskynde deres AI og cloud-adoption.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: 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
- I stand
- Om
- misbrug
- fremskynde
- adgang
- af udleverede
- Konto
- nøjagtighed
- opnår
- opnå
- tværs
- aktiviteter
- tilføjet
- Desuden
- Yderligere
- adresser
- Vedtagelse
- Fordel
- AI
- algoritme
- Alle
- tillader
- alternativ
- Amazon
- Amazon maskinindlæring
- Amazon Neptun
- Amazon SageMaker
- blandt
- ,
- Anvendelse
- applikationer
- anvendt
- Anvendelse
- cirka
- Array
- tildelt
- forbundet
- antaget
- augmented
- gennemsnit
- AWS
- baseret
- fordi
- bliver
- være
- benchmark
- benchmarking
- BEDSTE
- Bedre
- mellem
- brand
- bygge
- bygger
- bygget
- virksomhed
- bære
- tilfælde
- chance
- lave om
- klasse
- klassificering
- Cloud
- cloud adoption
- kode
- Kolonne
- Kolonner
- kombineret
- kombinerer
- sammenligne
- sammenligne
- kompleksitet
- Compute
- Adfærd
- tillid
- Konfiguration
- Bekræfte
- BEKRÆFTET
- tilsluttet
- konstant
- konstruere
- opbygge
- indeholder
- kontrast
- bidrag
- kontrol
- Tilsvarende
- Koste
- skabe
- skaber
- afgørende
- Kunder
- data
- Database
- datasæt
- beslutning
- dyb
- Standard
- definerede
- Afhængighed
- indsætte
- implementering
- implementering
- detaljer
- Detektion
- enhed
- dgl
- DID
- forskellige
- diskutere
- Er ikke
- Drop
- i løbet af
- hver
- ecommerce
- effekt
- effektivt
- muliggør
- muliggør
- tilskynde
- Endpoint
- sikrer
- Hele
- enheder
- enhed
- miljøer
- især
- evaluere
- evalueret
- evaluere
- Endog
- Hver
- eksempel
- eksempler
- forventet
- dyrt
- erfaring
- eksperiment
- Forklar
- udforske
- udvide
- ekstern
- ekstrakt
- Funktionalitet
- Fiktion
- Endelig
- finansielle
- finansielle tjenesteydelser
- Fornavn
- efter
- følger
- format
- bedrageri
- bedrageri afsløring
- svigagtig
- Gratis
- fra
- fuld
- fuldt ud
- spil
- generere
- få
- GitHub
- godt
- graf
- stor
- Hård Ost
- sundhedspleje
- hjælpe
- hjælper
- højere
- historie
- Hvordan
- How To
- Men
- HTML
- HTTPS
- identificere
- Identity
- Ulovlig
- gennemføre
- implementering
- gennemføre
- redskaber
- importere
- vigtigt
- Forbedre
- in
- I andre
- medtaget
- omfatter
- Herunder
- stigende
- industrier
- oplysninger
- indgang
- instans
- introduceret
- Introducerer
- IP
- IP-adresser
- IT
- deltage
- Nøgle
- kendt
- lab
- etiket
- Etiketter
- stor
- større
- Latency
- føre
- LÆR
- læring
- Bibliotek
- Livet
- Life Sciences
- livscyklus
- Sandsynlig
- belastning
- placeringer
- leder
- Loyalitet
- loyalitetsprogram
- maskine
- machine learning
- leder
- Match
- meningsfuld
- Medier
- Hukommelse
- metoder
- ML
- tilstand
- model
- modeller
- modes
- mere
- nødvendig
- Neptune
- netværk
- net
- neurale netværk
- Ny
- næste
- node
- noder
- nummer
- numre
- observere
- opnå
- ONE
- online
- Online betalinger
- drift
- Produktion
- optimal
- orkestrering
- Andet
- at overgå
- egen
- pandaer
- parameter
- parametre
- Bestået
- betalinger
- procentdel
- Udfør
- ydeevne
- udfører
- fase
- telefon
- fysisk
- plato
- Platon Data Intelligence
- PlatoData
- Populær
- Indlæg
- forudsige
- forudsige
- forudsigelse
- præsentere
- gaver
- forhindre
- tidligere
- Forud
- Problem
- problemer
- behandle
- producere
- produktion
- Program
- løfte
- give
- forudsat
- pytorch
- Qi
- Raw
- nå
- Læsning
- ægte
- virkelige verden
- realtid
- optage
- optegnelser
- reducere
- reducerer
- reducere
- benævnt
- relaterede
- relationer
- Relationer
- frigivet
- fjernelse
- rapporteret
- repræsentere
- repræsentation
- kræver
- påkrævet
- krav
- dem
- REST
- resulterer
- Resultater
- afkast
- Kør
- Ryan
- sagemaker
- SageMaker Inference
- samme
- Gem
- scenarie
- Videnskab
- Science Fiction
- VIDENSKABER
- Videnskabsmand
- scripts
- Anden
- sekunder
- senior
- tjeneste
- Tjenester
- sæt
- indstilling
- indstillinger
- setup
- flere
- Del
- vist
- Shows
- signifikant
- betydeligt
- enkelt
- Størrelse
- størrelser
- lille
- mindre
- So
- Social
- sociale medier
- løsninger
- Løsninger
- nogle
- specifikke
- hastighed
- delt
- splits
- Trin
- Steps
- standsning
- opbevaring
- strategier
- struktur
- Studere
- delgraf
- underbilleder
- sådan
- Dragt
- egnede
- support
- mistænksom
- bord
- Tag
- overtage
- tager
- mål
- Opgaver
- opgaver
- skabelon
- vilkår
- prøve
- Test
- Grafen
- deres
- derved
- derfor
- Gennem
- kapacitet
- tid
- tidsstempel
- timing
- til
- også
- emne
- I alt
- Tog
- uddannet
- Kurser
- transaktion
- Transaktioner
- behandling
- Træer
- retssag
- forsøg
- sand
- typer
- typisk
- us
- brug
- brugere
- sædvanligvis
- valideret
- værdi
- Værdier
- via
- som
- mens
- Wi-fi
- vilje
- uden
- ord
- værd
- ville
- Du
- Din
- zephyrnet