Bedrägeriupptäckt är ett viktigt problem som har applikationer inom finansiella tjänster, sociala medier, e-handel, spel och andra branscher. Det här inlägget presenterar en implementering av en bedrägeriupptäcktslösning som använder RGCN-modellen (Relational Graph Convolutional Network) för att förutsäga sannolikheten att en transaktion är bedräglig genom både det transduktiva och induktiva slutledningsläget. Du kan distribuera vår implementering till en Amazon SageMaker endpoint som en bedrägeriupptäcktslösning i realtid, utan att kräva extern graflagring eller orkestrering, vilket avsevärt minskar implementeringskostnaden för modellen.
Företag som letar efter en fullt hanterad AWS AI-tjänst för bedrägeriupptäckt kan också använda Amazon bedrägeri detektor, som du kan använda för att identifiera misstänkta onlinebetalningar, upptäcka nya kontobedrägerier, förhindra missbruk av tester och lojalitetsprogram eller förbättra upptäckten av kontoövertagande.
Lösningsöversikt
Följande diagram beskriver ett exempel på ett finansiellt transaktionsnätverk som innehåller olika typer av information. Varje transaktion innehåller information som enhetsidentifierare, Wi-Fi-ID, IP-adresser, fysiska platser, telefonnummer och mer. Vi representerar transaktionsdatauppsättningarna genom en heterogen graf som innehåller olika typer av noder och kanter. Sedan hanteras bedrägeriupptäcktsproblemet som en nodklassificeringsuppgift på denna heterogena graf.
Graph Neural Networks (GNN) har visat mycket lovande när det gäller att ta itu med problem med att upptäcka bedrägerier, överträffa populära övervakade inlärningsmetoder som gradientförstärkta beslutsträd eller helt anslutna feed-forward-nätverk på benchmarkingdatauppsättningar. I ett typiskt bedrägeriupptäckningsupplägg, under utbildningsfasen, tränas en GNN-modell på en uppsättning märkta transaktioner. Varje träningstransaktion är försedd med en binär etikett som anger om den är bedräglig. Denna tränade modell kan sedan användas för att upptäcka bedrägliga transaktioner bland en uppsättning omärkta transaktioner under slutledningsfasen. Det finns två olika sätt för inferens: transduktiv slutledning vs. induktiv inferens (som vi diskuterar mer senare i detta inlägg).
GNN-baserade modeller, som RGCN, kan dra fördel av topologisk information och kombinera både grafstruktur och funktioner hos noder och kanter för att lära sig en meningsfull representation som skiljer skadliga transaktioner från legitima transaktioner. RGCN kan effektivt lära sig att representera olika typer av noder och kanter (relationer) via heterogen grafinbäddning. I det föregående diagrammet modelleras varje transaktion som en målnod, och flera enheter associerade med varje transaktion modelleras som icke-målnodtyper, som ProductCD
och P_emaildomain
. Målnoder har numeriska och kategoriska funktioner tilldelade, medan andra nodtyper är funktionslösa. RGCN-modellen lär sig en inbäddning för varje icke-målnodtyp. För inbäddningen av en målnod används en faltningsoperation för att beräkna dess inbäddning med hjälp av dess funktioner och grannskapsinbäddningar. I resten av inlägget använder vi termerna GNN och RGCN omväxlande.
Det är värt att notera att alternativa strategier, som att behandla icke-målenheterna som funktioner och en-hot-kodning av dem, ofta skulle vara omöjliga på grund av dessa entiteters stora kardinaliteter. Omvänt, kodning av dem som grafentiteter gör det möjligt för GNN-modellen att dra fördel av den implicita topologin i entitetsrelationerna. Till exempel är det mer sannolikt att transaktioner som delar ett telefonnummer med kända bedrägliga transaktioner också är bedrägliga.
Grafrepresentationen som används av GNN skapar viss komplexitet i deras implementering. Detta gäller särskilt för applikationer som bedrägeriupptäckt, där grafrepresentationen kan utökas under slutledning med nytillagda noder som motsvarar enheter som inte är kända under modellträning. Detta slutledningsscenario brukar kallas induktivt läge. I kontrast, transduktivt läge är ett scenario som antar att grafrepresentationen som konstruerats under modellträning inte kommer att förändras under slutledning. GNN-modeller utvärderas ofta i transduktivt läge genom att konstruera grafrepresentationer från en kombinerad uppsättning tränings- och testexempel, samtidigt som testetiketter maskeras under back-propagation. Detta säkerställer att grafrepresentationen är statisk, och där kräver GNN-modellen inte implementering av operationer för att utöka grafen med nya noder under slutledning. Tyvärr kan statisk grafrepresentation inte antas vid upptäckt av bedrägliga transaktioner i en verklig miljö. Därför krävs stöd för induktiv slutledning vid distribution av GNN-modeller för bedrägeriupptäckt i produktionsmiljöer.
Dessutom är det avgörande att upptäcka bedrägliga transaktioner i realtid, särskilt i affärsfall där det bara finns en chans att stoppa illegala aktiviteter. Till exempel kan bedrägliga användare bete sig illvilligt bara en gång med ett konto och aldrig använda samma konto igen. Realtids slutledning om GNN-modeller introducerar ytterligare komplexitet till implementeringen. Det är ofta nödvändigt att implementera subgrafextraktionsoperationer för att stödja inferens i realtid. Subgrafextraktionsoperationen behövs för att minska slutledningslatens när grafrepresentationen är stor och att utföra slutledning på hela grafen blir oöverkomligt dyrt. En algoritm för induktiv slutledning i realtid med en RGCN-modell körs enligt följande:
- Med tanke på en grupp transaktioner och en tränad RGCN-modell, utöka grafrepresentationen med entiteter från batchen.
- Tilldela inbäddningsvektorer för nya icke-målnoder med medelinbäddningsvektorn för deras respektive nodtyp.
- Extrahera en subgraf inducerad av k-hoppa utanför grannskapet av målnoderna från partiet.
- Utför slutledning om subgrafen och returnera förutsägelsepoäng för batchens målnoder.
- Rensa upp grafrepresentationen genom att ta bort nytillkomna noder (detta steg säkerställer att minneskravet för modellinferens förblir konstant).
Det viktigaste bidraget från det här inlägget är att presentera en RGCN-modell som implementerar den induktiva slutledningsalgoritmen i realtid. Du kan distribuera vår RGCN-implementering till en SageMaker-slutpunkt som en lösning för upptäckt av bedrägerier i realtid. Vår lösning kräver ingen extern graflagring eller orkestrering, och minskar avsevärt distributionskostnaderna för RGCN-modellen för uppgifter om bedrägeriupptäckt. Modellen implementerar också transduktivt inferensläge, vilket gör det möjligt för oss att utföra experiment för att jämföra modellprestanda i induktiva och transduktiva lägen. Modellkoden och anteckningsböcker med experiment kan nås från AWS-exempel GitHub-repo.
Det här inlägget bygger på inlägget Bygg en GNN-baserad lösning för upptäckt av bedrägerier i realtid med Amazon SageMaker, Amazon Neptune och Deep Graph Library. Det tidigare inlägget byggde en RGCN-baserad lösning för upptäckt av bedrägerier i realtid med SageMaker, Amazon Neptunus, Och den Deep Graph Library (DGL). Den tidigare lösningen använde en Neptune-databas som extern graflagring, vilket krävs AWS Lambda för orkestrering för realtidsinferens, och inkluderade endast experiment i transduktivt läge.
RGCN-modellen som introduceras i det här inlägget implementerar alla operationer av den induktiva inferensalgoritmen i realtid med endast DGL som ett beroende, och kräver inte extern graflagring eller orkestrering för implementering.
Vi utvärderar först prestandan för RGCN-modellen i transduktiva och induktiva lägen på en benchmarkdatauppsättning. Som förväntat är modellens prestanda i induktivt läge något lägre än i transduktivt läge. Vi studerar också effekten av hyperparameter k på modellens prestanda. Hyperparametern k styr antalet hopp som utförs för att extrahera en subgraf i steg 3 av realtidsinferensalgoritmen. Högre värden på k kommer att producera större subgrafer och kan leda till bättre slutledningsprestanda på bekostnad av högre latens. Som sådan genomför vi också tidsexperiment för att utvärdera genomförbarheten av RGCN-modellen för en realtidsapplikation.
dataset
Vi använder IEEE-CIS-bedrägeringsdatasätt, samma datauppsättning som användes i föregående inlägg. Datauppsättningen innehåller över 590,000 XNUMX transaktionsposter som har en binär bedrägerietikett (den isFraud
kolumn). Uppgifterna är uppdelade i två tabeller: transaktion och identitet. Dock har inte alla transaktionsposter motsvarande identitetsinformation. Vi förenar de två borden på TransactionID
kolumn, vilket ger oss totalt 144,233 XNUMX transaktionsposter. Vi sorterar tabellen efter transaktionens tidsstämpel (den TransactionDT
kolumnen) och skapa en 80/20 procentandel uppdelad på tid, vilket ger 115,386 28,847 respektive XNUMX XNUMX transaktioner för utbildning och testning.
För mer information om datamängden och hur man formaterar den för att passa indatakraven för DGL, se Upptäcka bedrägerier i heterogena nätverk med hjälp av Amazon SageMaker och Deep Graph Library.
Grafkonstruktion
Vi använder TransactionID
kolumn för att generera målnoder. Vi använder följande kolumner för att generera 11 typer av icke-målnoder:
card1
dig genomcard6
ProductCD
addr1
ochaddr2
P_emaildomain
ochR_emaildomain
Vi använder 38 kolumner som kategoriska egenskaper för målnoder:
M1
dig genomM9
DeviceType
ochDeviceInfo
id_12
dig genomid_38
Vi använder 382 kolumner som numeriska egenskaper för målnoder:
TransactionAmt
dist1
ochdist2
id_01
dig genomid_11
C1
dig genomC14
D1
dig genomD15
V1
dig genomV339
Vår graf konstruerad från träningstransaktionerna innehåller 217,935 2,653,878 noder och XNUMX XNUMX XNUMX kanter.
Hyperparametrar
Andra parametrar är inställda för att matcha parametrarna som rapporterades i föregående inlägg. Följande utdrag illustrerar träning av RGCN-modellen i transduktiva och induktiva lägen:
Induktivt vs. transduktivt läge
Vi utför fem försök för induktivt och fem försök för transduktivt läge. För varje test utbildar vi en RGCN-modell och sparar den på disken och får 10 modeller. Vi utvärderar varje modell på testexempel samtidigt som vi ökar antalet hopp (parameter k) används för att extrahera en subgraf för slutledning, inställning k till 1, 2 och 3. Vi förutsäger alla testexempel på en gång och beräknar ROC AUC-poängen för varje försök. Följande plot visar medelvärdet och 95 % konfidensintervall för AUC-poäng.
Vi kan se att prestandan i transduktivt läge är något högre än i induktivt läge. För k=2, genomsnittliga AUC-poäng för induktiva och transduktiva lägen är 0.876 respektive 0.883. Detta förväntas eftersom RGCN-modellen kan lära sig inbäddningar av alla entitetsnoder i transduktivt läge, inklusive de i testsetet. Däremot tillåter induktivt läge bara modellen att lära sig inbäddningar av entitetsnoder som finns i träningsexemplen, och därför måste vissa noder fyllas i medelvärde under slutledning. Samtidigt är prestandafallet mellan transduktivt och induktivt läge inte signifikant, och även i induktivt läge uppnår RGCN-modellen bra prestanda med en AUC på 0.876. Vi observerar också att modellens prestanda inte förbättras för värden på k>2. Detta innebär att inställningen k=2 skulle extrahera en tillräckligt stor subgraf under slutledning, vilket resulterar i optimal prestanda. Denna observation bekräftas också av vårt nästa experiment.
Det är också värt att notera att för transduktivt läge är vår modells AUC på 0.883 högre än motsvarande AUC på 0.870 som rapporterades i föregående inlägg. Vi använder fler kolumner som numeriska och kategoriska egenskaper för målnoder, vilket kan förklara den högre AUC-poängen. Vi noterar också att experimenten i det föregående inlägget endast utförde en enda prövning.
Slutsats om en liten sats
För detta experiment utvärderar vi RGCN-modellen i en liten batch-inferensinställning. Vi använder fem modeller som tränades i induktivt läge i föregående experiment. Vi jämför prestanda för dessa modeller när vi förutsäger i två inställningar: full och liten batch slutledning. För full batch slutledning förutsäger vi på hela testsetet, som gjordes i föregående experiment. För små batch slutledningar, förutsäger vi i små batcher genom att dela upp testsetet i 28 batcher av samma storlek med cirka 1,000 XNUMX transaktioner i varje batch. Vi beräknar AUC-poäng för båda inställningarna med olika värden på k. Följande plot visar medelvärdet och 95 % konfidensintervall för full och liten batch slutledningsinställningar.
Vi observerar den prestandan för slutledning av små partier när k=1 är lägre än för full batch. Men prestanda för små partier matchar full batch när k>1. Detta kan tillskrivas mycket mindre subgrafer som extraheras för små partier. Vi bekräftar detta genom att jämföra subgrafstorlekar med storleken på hela grafen konstruerad från träningstransaktionerna. Vi jämför grafstorlekar vad gäller antal noder. För k=1, den genomsnittliga subgrafstorleken för slutledning av små partier är mindre än 2 % av träningsdiagrammet. Och för full batch slutledning när k=1, subgrafstorleken är 22 %. När k=2, subgrafstorlekar för liten och full batch slutledning är 54 % respektive 64 %. Slutligen når subgrafstorlekarna för båda slutledningsinställningarna 100 % för k=3. Med andra ord, när k>1, blir subgrafen för en liten sats tillräckligt stor, vilket gör att slutledning av små satser kan nå samma prestanda som slutledning för full sats.
Vi registrerar även prediktionslatens för varje batch. Vi utför våra experiment på en ml.r5.12xlarge instans, men du kan använda en mindre instans med 64 G minne för att köra samma experiment. Följande plot visar medelvärdet och 95 % konfidensintervall för små batch-förutsägelsefördröjningar för olika värden av k.
Latensen inkluderar alla fem stegen i den induktiva inferensalgoritmen i realtid. Vi ser att när k=2, att förutsäga 1,030 5.4 transaktioner tar i genomsnitt 190 sekunder, vilket resulterar i en genomströmning på XNUMX transaktioner per sekund. Detta bekräftar att implementeringen av RGCN-modellen är lämplig för att upptäcka bedrägerier i realtid. Vi noterar också att föregående inlägg angav inte hårda latensvärden för deras implementering.
Slutsats
RGCN-modellen som släpptes med det här inlägget implementerar algoritmen för induktiv slutledning i realtid och kräver ingen extern graflagring eller orkestrering. Parametern k i steg 3 av algoritmen specificerar antalet hopp som utförs för att extrahera subgrafen för slutledning, och resulterar i en avvägning mellan modellnoggrannhet och prediktionslatens. Vi använde IEEE-CIS-bedrägeringsdatasätt i våra experiment, och empiriskt validerat att det optimala värdet av parametern k för denna datauppsättning är 2, vilket uppnår en AUC-poäng på 0.876 och prediktionslatens på mindre än 6 sekunder per 1,000 XNUMX transaktioner.
Det här inlägget gav en steg-för-steg-process för utbildning och utvärdering av en RGCN-modell för upptäckt av bedrägerier i realtid. Den inkluderade modellklassen implementerar metoder för hela modellens livscykel, inklusive serialisering och deserialiseringsmetoder. Detta gör att modellen kan användas för att upptäcka bedrägerier i realtid. Du kan träna modellen som en PyTorch SageMaker estimator och sedan distribuera den till en SageMaker endpoint genom att använda följande anteckningsbok som mall. Slutpunkten kan förutsäga bedrägerier på små partier av råtransaktioner i realtid. Du kan också använda Amazon SageMaker Inference Recommender för att välja den bästa instanstypen och konfigurationen för slutpunktens slutpunkt baserat på dina arbetsbelastningar.
För mer information om detta ämne och implementering uppmuntrar vi dig att utforska och testa våra skript på egen hand. Du kan komma åt bärbara datorer och tillhörande modellklasskod från AWS-exempel GitHub-repo.
Om författarna
Dmitrij Bespalov är Senior Applied Scientist vid Amazon Machine Learning Solutions Lab, där han hjälper AWS-kunder inom olika branscher att påskynda deras AI och molninförande.
Ryan Brand är en tillämpad forskare vid Amazon Machine Learning Solutions Lab. Han har specifik erfarenhet av att tillämpa maskininlärning på problem inom hälsovård och biovetenskap. På fritiden läser han gärna historia och science fiction.
Yanjun Qi är Senior Applied Science Manager på Amazon Machine Learning Solution Lab. Hon förnyar och tillämpar maskininlärning för att hjälpa AWS-kunder att påskynda deras AI- och molnintroduktion.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: 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
- Able
- Om Oss
- missbruk
- accelerera
- tillgång
- Accessed
- Konto
- noggrannhet
- uppnår
- uppnå
- tvärs
- aktiviteter
- lagt till
- Dessutom
- Annat
- adresser
- Antagande
- Fördel
- AI
- algoritm
- Alla
- tillåter
- alternativ
- amason
- Amazon maskininlärning
- Amazon Neptunus
- Amazon SageMaker
- bland
- och
- Ansökan
- tillämpningar
- tillämpas
- Tillämpa
- cirka
- array
- delad
- associerad
- antas
- augmented
- genomsnitt
- AWS
- baserat
- därför att
- blir
- Där vi får lov att vara utan att konstant prestera,
- riktmärke
- benchmarking
- BÄST
- Bättre
- mellan
- varumärke
- SLUTRESULTAT
- bygger
- byggt
- företag
- bära
- fall
- chans
- byta
- klass
- klassificering
- cloud
- moln adoption
- koda
- Kolumn
- Kolonner
- kombinerad
- kombinera
- jämföra
- jämförande
- Komplexiteten
- Compute
- Genomför
- förtroende
- konfiguration
- Bekräfta
- BEKRÄFTAT
- anslutna
- konstant
- konstruera
- konstruktion
- innehåller
- Däremot
- bidrag
- kontroller
- Motsvarande
- Pris
- skapa
- skapar
- avgörande
- Kunder
- datum
- Databas
- datauppsättningar
- Beslutet
- djup
- Standard
- definierade
- Dependency
- distribuera
- utplacera
- utplacering
- detaljer
- Detektering
- anordning
- dgl
- DID
- olika
- diskutera
- inte
- Drop
- under
- varje
- e-handel
- effekt
- effektivt
- möjliggör
- möjliggör
- uppmuntra
- Slutpunkt
- säkerställer
- Hela
- enheter
- enhet
- miljöer
- speciellt
- utvärdera
- utvärderade
- utvärdering
- Även
- Varje
- exempel
- exempel
- förväntat
- dyra
- erfarenhet
- experimentera
- Förklara
- utforska
- förlänga
- extern
- extrahera
- Funktioner
- Fiktion
- Slutligen
- finansiella
- finansiella tjänster
- Förnamn
- efter
- följer
- format
- bedrägeri
- spårning av bedrägerier
- bedräglig
- Fri
- från
- full
- fullständigt
- Gaming
- generera
- skaffa sig
- GitHub
- god
- diagram
- stor
- Hård
- hälso-och sjukvård
- hjälpa
- hjälper
- högre
- historia
- Hur ser din drömresa ut
- How To
- Men
- html
- HTTPS
- identifiera
- Identitet
- Olaglig
- genomföra
- genomförande
- genomföra
- redskap
- importera
- med Esport
- förbättra
- in
- I andra
- ingår
- innefattar
- Inklusive
- ökande
- industrier
- informationen
- ingång
- exempel
- introducerade
- Introducerar
- IP
- IP-adresser
- IT
- delta
- Nyckel
- känd
- lab
- etikett
- Etiketter
- Large
- större
- Latens
- leda
- LÄRA SIG
- inlärning
- Bibliotek
- livet
- Life Sciences
- livscykel
- sannolikt
- läsa in
- platser
- du letar
- Lojalitet
- lojalitetsprogram
- Maskinen
- maskininlärning
- chef
- Match
- meningsfull
- Media
- Minne
- metoder
- ML
- Mode
- modell
- modeller
- lägen
- mer
- nödvändigt för
- Neptune
- nät
- nätverk
- neurala nätverk
- Nya
- Nästa
- nod
- noder
- antal
- nummer
- observera
- erhållande
- ONE
- nätet
- online-betalningar
- drift
- Verksamhet
- optimala
- orkestrering
- Övriga
- presterande bättre än
- egen
- pandor
- parameter
- parametrar
- Godkänd
- betalningar
- procentuell
- Utföra
- prestanda
- utför
- fas
- telefon
- fysisk
- plato
- Platon Data Intelligence
- PlatonData
- Populära
- Inlägg
- förutse
- förutsäga
- förutsägelse
- presentera
- presenterar
- förhindra
- föregående
- Innan
- Problem
- problem
- process
- producera
- Produktion
- Program
- löfte
- ge
- förutsatt
- pytorch
- Qi
- Raw
- nå
- Läsning
- verklig
- verkliga världen
- realtid
- post
- register
- minska
- minskar
- reducerande
- avses
- relaterad
- relationer
- Förhållanden
- frigörs
- bort
- Rapporterad
- representerar
- representation
- kräver
- Obligatorisk
- krav
- att
- REST
- resulterande
- Resultat
- avkastning
- Körning
- Ryan
- sagemaker
- SageMaker Inference
- Samma
- Save
- scenario
- Vetenskap
- Science Fiction
- VETENSKAPER
- Forskare
- skript
- Andra
- sekunder
- senior
- service
- Tjänster
- in
- inställning
- inställningar
- inställning
- flera
- Dela
- visas
- Visar
- signifikant
- signifikant
- enda
- Storlek
- storlekar
- Small
- mindre
- So
- Social hållbarhet
- sociala medier
- lösning
- Lösningar
- några
- specifik
- fart
- delas
- Delar upp
- Steg
- Steg
- stoppa
- förvaring
- strategier
- struktur
- Läsa på
- delgraf
- underbilder
- sådana
- följer
- lämplig
- stödja
- misstänksam
- bord
- Ta
- övertagande
- tar
- Målet
- uppgift
- uppgifter
- mall
- villkor
- testa
- Testning
- Smakämnen
- Grafen
- deras
- vari
- därför
- Genom
- genomströmning
- tid
- tidsstämpel
- Tidpunkten
- till
- alltför
- ämne
- Totalt
- Tåg
- tränad
- Utbildning
- transaktion
- Transaktioner
- behandling
- Träd
- rättegång
- försök
- sann
- typer
- typisk
- us
- användning
- användare
- vanligen
- validerade
- värde
- Värden
- via
- som
- medan
- Wi-fi
- kommer
- utan
- ord
- värt
- skulle
- Om er
- Din
- zephyrnet