Detectarea fraudei este o problemă importantă care are aplicații în servicii financiare, social media, comerț electronic, jocuri și alte industrii. Această postare prezintă o implementare a unei soluții de detectare a fraudei folosind modelul de rețea convoluțională de grafic relațional (RGCN) pentru a prezice probabilitatea ca o tranzacție să fie frauduloasă atât prin modul de inferență transductiv cât și inductiv. Puteți implementa implementarea noastră într-un Amazon SageMaker endpoint ca soluție de detectare a fraudei în timp real, fără a necesita stocare sau orchestrare externă a graficelor, reducând astfel semnificativ costul de implementare al modelului.
Companiile care caută un serviciu AWS AI complet gestionat pentru detectarea fraudelor pot folosi și ele Detector de fraude Amazon, pe care îl puteți utiliza pentru a identifica plățile online suspecte, pentru a detecta frauda de cont nou, pentru a preveni abuzul de probă și a programelor de loialitate sau pentru a îmbunătăți detectarea preluării contului.
Prezentare generală a soluțiilor
Următoarea diagramă descrie o rețea exemplară de tranzacții financiare care include diferite tipuri de informații. Fiecare tranzacție conține informații precum identificatori de dispozitiv, ID-uri Wi-Fi, adrese IP, locații fizice, numere de telefon și multe altele. Reprezentăm seturile de date ale tranzacțiilor printr-un grafic eterogen care conține diferite tipuri de noduri și margini. Apoi, problema de detectare a fraudei este tratată ca o sarcină de clasificare a nodurilor pe acest grafic eterogen.
Rețelele neuronale grafice (GNN) s-au dovedit foarte promițătoare în abordarea problemelor de detectare a fraudei, depășind metodele populare de învățare supravegheată, cum ar fi arborii de decizie cu gradient sau rețelele feed-forward complet conectate pe seturi de date de evaluare comparativă. Într-o configurație tipică de detectare a fraudei, în timpul fazei de instruire, un model GNN este antrenat pe un set de tranzacții etichetate. Fiecare tranzacție de instruire este prevăzută cu o etichetă binară care indică dacă este frauduloasă. Acest model antrenat poate fi utilizat apoi pentru a detecta tranzacții frauduloase între un set de tranzacții neetichetate în timpul fazei de inferență. Există două moduri diferite de inferență: inferența transductivă vs. inferența inductivă (despre care discutăm mai multe mai târziu în această postare).
Modelele bazate pe GNN, precum RGCN, pot profita de informațiile topologice, combinând atât structura graficului, cât și caracteristicile nodurilor și marginilor pentru a învăța o reprezentare semnificativă care distinge tranzacțiile rău intenționate de tranzacțiile legitime. RGCN poate învăța în mod eficient să reprezinte diferite tipuri de noduri și muchii (relații) prin încorporarea graficelor eterogene. În diagrama precedentă, fiecare tranzacție este modelată ca un nod țintă și mai multe entități asociate cu fiecare tranzacție sunt modelate ca tipuri de noduri non-țintă, cum ar fi ProductCD
și P_emaildomain
. Nodurile țintă au caracteristici numerice și categoriale atribuite, în timp ce alte tipuri de noduri sunt lipsite de caracteristici. Modelul RGCN învață o încorporare pentru fiecare tip de nod non-țintă. Pentru încorporarea unui nod țintă, se utilizează o operație convoluțională pentru a calcula încorporarea acestuia folosind caracteristicile și înglobările de vecinătate. În restul postării, folosim termenii GNN și RGCN în mod interschimbabil.
Este demn de remarcat faptul că strategiile alternative, cum ar fi tratarea entităților non-țintă ca caracteristici și codificarea unică a acestora, ar fi adesea imposibil de realizat din cauza cardinalităților mari ale acestor entități. În schimb, codificarea lor ca entități grafice permite modelului GNN să profite de topologia implicită în relațiile cu entitate. De exemplu, tranzacțiile care partajează un număr de telefon cu tranzacții frauduloase cunoscute au mai multe șanse să fie și ele frauduloase.
Reprezentarea grafică folosită de GNN creează o oarecare complexitate în implementarea lor. Acest lucru este valabil mai ales pentru aplicații precum detectarea fraudelor, în care reprezentarea graficului poate fi crescută în timpul inferenței cu noduri nou adăugate care corespund unor entități necunoscute în timpul antrenamentului modelului. Acest scenariu de inferență este de obicei denumit modul inductiv. În schimb, modul transductiv este un scenariu care presupune că reprezentarea grafică construită în timpul antrenamentului modelului nu se va schimba în timpul inferenței. Modelele GNN sunt adesea evaluate în modul transductiv prin construirea de reprezentări grafice dintr-un set combinat de exemple de antrenament și de testare, în timp ce maschează etichetele de testare în timpul propagării inverse. Acest lucru asigură că reprezentarea graficului este statică și acolo modelul GNN nu necesită implementarea operațiunilor de extindere a graficului cu noi noduri în timpul inferenței. Din păcate, reprezentarea grafică statică nu poate fi presupusă atunci când se detectează tranzacții frauduloase într-un cadru real. Prin urmare, suportul pentru inferența inductivă este necesar atunci când implementați modele GNN pentru detectarea fraudelor în mediile de producție.
În plus, detectarea tranzacțiilor frauduloase în timp real este crucială, mai ales în cazurile de afaceri în care există o singură șansă de a opri activitățile ilegale. De exemplu, utilizatorii frauduloși pot avea un comportament rău intenționat doar o dată cu un cont și nu pot mai folosi niciodată același cont. Inferența în timp real asupra modelelor GNN introduce o complexitate suplimentară implementării. Este adesea necesar să se implementeze operațiuni de extragere a subgrafelor pentru a sprijini inferența în timp real. Operația de extragere a subgrafului este necesară pentru a reduce latența de inferență atunci când reprezentarea graficului este mare și efectuarea inferenței pe întregul grafic devine prohibitiv de costisitoare. Un algoritm pentru inferența inductivă în timp real cu un model RGCN rulează după cum urmează:
- Având în vedere un lot de tranzacții și un model RGCN instruit, extindeți reprezentarea grafică cu entitățile din lot.
- Atribuiți vectori de încorporare ai nodurilor noi non-țintă cu vectorul de încorporare mediu al tipului de nod respectiv.
- Extrage un subgraf indus de k-hop în vecinătatea nodurilor țintă din lot.
- Efectuați inferențe asupra subgrafului și returnați scorurile de predicție pentru nodurile țintă ale lotului.
- Curățați reprezentarea graficului prin eliminarea nodurilor nou adăugate (acest pas asigură că necesarul de memorie pentru inferența modelului rămâne constant).
Contribuția cheie a acestei postări este prezentarea unui model RGCN care implementează algoritmul de inferență inductivă în timp real. Puteți implementa implementarea noastră RGCN la un punct final SageMaker ca soluție de detectare a fraudelor în timp real. Soluția noastră nu necesită stocare sau orchestrare externă a graficelor și reduce semnificativ costul de implementare al modelului RGCN pentru sarcinile de detectare a fraudei. Modelul implementează, de asemenea, modul de inferență transductiv, permițându-ne să realizăm experimente pentru a compara performanța modelului în moduri inductiv și transductiv. Codul modelului și caietele cu experimente pot fi accesate din Exemple AWS GitHub repo.
Această postare se bazează pe postare Construiți o soluție de detectare a fraudei în timp real bazată pe GNN folosind Amazon SageMaker, Amazon Neptune și Deep Graph Library. Postarea anterioară a creat o soluție de detectare a fraudei în timp real bazată pe RGCN folosind SageMaker, Amazon Neptun, Şi Biblioteca Deep Graph (DGL). Soluția anterioară a folosit o bază de date Neptune ca stocare externă a graficelor, necesară AWS Lambdas pentru orchestrare pentru inferență în timp real și a inclus doar experimente în modul transductiv.
Modelul RGCN introdus în această postare implementează toate operațiunile algoritmului de inferență inductivă în timp real folosind doar DGL ca dependență și nu necesită stocare externă a graficelor sau orchestrare pentru implementare.
Mai întâi evaluăm performanța modelului RGCN în modurile transductiv și inductiv pe un set de date de referință. După cum era de așteptat, performanța modelului în modul inductiv este puțin mai scăzută decât în modul transductiv. De asemenea, studiem efectul hiperparametrului k asupra performanței modelului. Hiperparametrul k controlează numărul de hopuri efectuate pentru a extrage un subgraf în Pasul 3 al algoritmului de inferență în timp real. Valori mai mari ale k va produce subgrafe mai mari și poate duce la o performanță de inferență mai bună în detrimentul unei latențe mai mari. Ca atare, efectuăm și experimente de sincronizare pentru a evalua fezabilitatea modelului RGCN pentru o aplicație în timp real.
Setul de date
Noi folosim Setul de date privind fraudele IEEE-CIS, același set de date care a fost folosit anterior post. Setul de date conține peste 590,000 de înregistrări ale tranzacțiilor care au o etichetă binară de fraudă (the isFraud
coloană). Datele sunt împărțite în două tabele: tranzacție și identitate. Cu toate acestea, nu toate înregistrările tranzacțiilor au informații de identitate corespunzătoare. Unim cele două mese de pe TransactionID
coloană, care ne lasă cu un total de 144,233 de înregistrări ale tranzacțiilor. Sortăm tabelul după marcajul de timp al tranzacției (the TransactionDT
coloană) și creați un procent de 80/20 împărțit în timp, producând 115,386 și, respectiv, 28,847 de tranzacții pentru instruire și, respectiv, testare.
Pentru mai multe detalii despre setul de date și despre cum să-l formatați pentru a se potrivi cerințelor de intrare ale DGL, consultați Detectarea fraudei în rețele eterogene folosind Amazon SageMaker și Deep Graph Library.
Construcția graficului
Noi folosim TransactionID
coloană pentru a genera noduri țintă. Folosim următoarele coloane pentru a genera 11 tipuri de noduri non-țintă:
card1
princard6
ProductCD
addr1
șiaddr2
P_emaildomain
șiR_emaildomain
Folosim 38 de coloane ca caracteristici categorice ale nodurilor țintă:
M1
prinM9
DeviceType
șiDeviceInfo
id_12
prinid_38
Folosim 382 de coloane ca caracteristici numerice ale nodurilor țintă:
TransactionAmt
dist1
șidist2
id_01
prinid_11
C1
prinC14
D1
prinD15
V1
prinV339
Graficul nostru construit din tranzacțiile de antrenament conține 217,935 de noduri și 2,653,878 de muchii.
Hiperparametrele
Alți parametri sunt setați pentru a se potrivi cu parametrii raportați anterior post. Următorul fragment ilustrează antrenarea modelului RGCN în moduri transductiv și inductiv:
Mod inductiv vs transductiv
Efectuăm cinci încercări pentru modul inductiv și cinci încercări pentru modul transductiv. Pentru fiecare probă, antrenăm un model RGCN și îl salvăm pe disc, obținând 10 modele. Evaluăm fiecare model pe exemple de testare în timp ce creștem numărul de hop (parametru k) folosit pentru a extrage un subgraf pentru inferență, setare k la 1, 2 și 3. Predicăm pentru toate exemplele de test simultan și calculăm scorul ROC AUC pentru fiecare studiu. Următorul grafic arată media și intervalele de încredere de 95% ale scorurilor AUC.
Putem vedea că performanța în modul transductiv este puțin mai mare decât în modul inductiv. Pentru k=2, scorurile medii AUC pentru modurile inductiv și transductiv sunt 0.876 și, respectiv, 0.883. Acest lucru este de așteptat deoarece modelul RGCN este capabil să învețe înglobarea tuturor nodurilor de entitate în modul transductiv, inclusiv cele din setul de testare. În schimb, modul inductiv permite modelului doar să învețe înglobări ale nodurilor de entitate care sunt prezente în exemplele de antrenament și, prin urmare, unele noduri trebuie să fie umplute cu medii în timpul inferenței. În același timp, scăderea performanței între modurile transductiv și inductiv nu este semnificativă și chiar și în modul inductiv, modelul RGCN realizează performanțe bune cu un AUC de 0.876. De asemenea, observăm că performanța modelului nu se îmbunătățește pentru valorile de k>2. Aceasta implică acea setare k=2 ar extrage un subgraf suficient de mare în timpul inferenței, rezultând o performanță optimă. Această observație este confirmată și de următorul nostru experiment.
De asemenea, este de remarcat faptul că, pentru modul transductiv, AUC-ul modelului nostru de 0.883 este mai mare decât AUC corespunzătoare de 0.870 raportat în precedentul post. Folosim mai multe coloane ca caracteristici numerice și categoriale ale nodurilor țintă, ceea ce poate explica scorul AUC mai mare. De asemenea, observăm că experimentele din postarea anterioară au efectuat doar o singură încercare.
Inferență pe un lot mic
Pentru acest experiment, evaluăm modelul RGCN într-o setare de inferență de lot mic. Folosim cinci modele care au fost antrenate în modul inductiv în experimentul anterior. Comparăm performanța acestor modele atunci când predicăm în două setări: inferență de lot complet și mic. Pentru deducerea completă a lotului, predicăm pentru întregul set de testare, așa cum sa făcut în experimentul anterior. Pentru inferența în loturi mici, estimam în loturi mici, împărțind setul de testare în 28 de loturi de dimensiune egală cu aproximativ 1,000 de tranzacții în fiecare lot. Calculăm scorurile AUC pentru ambele setări folosind valori diferite ale k. Următorul diagramă arată media și intervalele de încredere de 95% pentru setările de inferență în lot complet și mic.
Observăm acea performanță pentru inferența în loturi mici când k=1 este mai mic decât pentru lotul complet. Cu toate acestea, performanța de inferență a loturilor mici se potrivește cu lotul complet când k>1. Acest lucru poate fi atribuit extragrafelor subgrafe mult mai mici pentru loturi mici. Confirmăm acest lucru prin compararea dimensiunilor subgrafului cu dimensiunea întregului grafic construit din tranzacțiile de antrenament. Comparăm dimensiunile graficelor în ceea ce privește numărul de noduri. Pentru k=1, dimensiunea medie a subgrafului pentru inferența în loturi mici este mai mică de 2% din graficul de antrenament. Și pentru deducerea unui lot complet când k=1, dimensiunea subgrafului este de 22%. Când k=2, dimensiunile subgrafelor pentru inferența loturilor mici și complete sunt de 54% și, respectiv, 64%. În cele din urmă, dimensiunile subgrafelor pentru ambele setări de inferență ajung la 100% pentru k=3. Cu alte cuvinte, când k>1, subgraful pentru un lot mic devine suficient de mare, permițând inferenței loturilor mici să atingă aceeași performanță ca inferența unui lot complet.
Înregistrăm, de asemenea, latența de predicție pentru fiecare lot. Efectuăm experimentele noastre pe o instanță ml.r5.12xlarge, dar puteți folosi o instanță mai mică cu memorie de 64 G pentru a rula aceleași experimente. Următorul grafic arată media și intervalele de încredere de 95% ale latențelor de predicție a loturilor mici pentru diferite valori ale k.
Latența include toți cei cinci pași ai algoritmului de inferență inductivă în timp real. Vedem asta când k=2, estimarea a 1,030 de tranzacții durează în medie 5.4 secunde, rezultând un debit de 190 de tranzacții pe secundă. Acest lucru confirmă faptul că implementarea modelului RGCN este potrivită pentru detectarea fraudelor în timp real. De asemenea, menționăm că precedentul post nu a furnizat valori dure de latență pentru implementarea lor.
Concluzie
Modelul RGCN lansat cu această postare implementează algoritmul pentru inferență inductivă în timp real și nu necesită stocare sau orchestrare externă a graficelor. Parametrul k în Pasul 3 al algoritmului specifică numărul de sărituri efectuate pentru a extrage subgraful pentru inferență și are ca rezultat un compromis între acuratețea modelului și latența predicției. Noi am folosit Setul de date privind fraudele IEEE-CIS în experimentele noastre și a validat empiric că valoarea optimă a parametrului k pentru acest set de date este 2, obținând un scor AUC de 0.876 și o latență de predicție mai mică de 6 secunde la 1,000 de tranzacții.
Această postare a oferit un proces pas cu pas pentru instruirea și evaluarea unui model RGCN pentru detectarea fraudelor în timp real. Clasa de model inclusă implementează metode pentru întregul ciclu de viață al modelului, inclusiv metode de serializare și deserializare. Acest lucru permite ca modelul să fie utilizat pentru detectarea fraudelor în timp real. Puteți antrena modelul ca estimator PyTorch SageMaker și apoi îl puteți implementa într-un punct final SageMaker utilizând următoarele caiet ca șablon. Punctul final este capabil să prezică frauda în loturi mici de tranzacții brute în timp real. De asemenea, puteți utiliza Recomandator de inferențe Amazon SageMaker pentru a selecta cel mai bun tip de instanță și configurație pentru punctul final de inferență pe baza sarcinilor dvs. de lucru.
Pentru mai multe informații despre acest subiect și implementare, vă încurajăm să explorați și să testați singur scripturile noastre. Puteți accesa blocnotesurile și codul de clasă de model aferent din Exemple AWS GitHub repo.
Despre Autori
Dmitri Bespalov este cercetător senior aplicat la Amazon Machine Learning Solutions Lab, unde ajută clienții AWS din diferite industrii să-și accelereze adoptarea AI și a cloud-ului.
Ryan Brand este un om de știință aplicat la Amazon Machine Learning Solutions Lab. Are experiență specifică în aplicarea învățării automate la problemele din domeniul sănătății și științele vieții. În timpul liber, îi place să citească istorie și science fiction.
Yanjun Qi este manager senior de științe aplicate la Amazon Machine Learning Solution Lab. Ea inovează și aplică învățarea automată pentru a ajuta clienții AWS să-și accelereze adoptarea AI și a cloud-ului.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: 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
- Capabil
- Despre Noi
- abuz
- accelera
- acces
- accesate
- Cont
- precizie
- Realizeaza
- realizarea
- peste
- activităţi de
- adăugat
- plus
- Suplimentar
- adrese
- Adoptare
- Avantaj
- AI
- Algoritmul
- TOATE
- permite
- alternativă
- Amazon
- Învățare automată Amazon
- Amazon Neptun
- Amazon SageMaker
- printre
- și
- aplicație
- aplicatii
- aplicat
- Aplicarea
- aproximativ
- Mulțime
- alocate
- asociate
- asumat
- augmented
- in medie
- AWS
- bazat
- deoarece
- devine
- fiind
- Benchmark
- analiza comparativă
- CEL MAI BUN
- Mai bine
- între
- marca
- construi
- construiește
- construit
- afaceri
- transporta
- cazuri
- șansă
- Schimbare
- clasă
- clasificare
- Cloud
- adoptarea norului
- cod
- Coloană
- Coloane
- combinate
- combinând
- comparaţie
- compararea
- complexitate
- Calcula
- Conduce
- încredere
- Configuraţie
- Confirma
- CONFIRMAT
- legat
- constant
- construirea
- construcţie
- conține
- contrast
- contribuţie
- controale
- Corespunzător
- A costat
- crea
- creează
- crucial
- clienţii care
- de date
- Baza de date
- seturi de date
- decizie
- adânc
- Mod implicit
- definit
- Dependenţă
- implementa
- Implementarea
- desfășurarea
- detalii
- Detectare
- dispozitiv
- dgl
- FĂCUT
- diferit
- discuta
- Nu
- Picătură
- în timpul
- fiecare
- E-commerce
- efect
- în mod eficient
- permite
- permițând
- încuraja
- Punct final
- asigură
- Întreg
- entități
- entitate
- medii
- mai ales
- evalua
- evaluat
- evaluarea
- Chiar
- Fiecare
- exemplu
- exemple
- de aşteptat
- scump
- experienţă
- experiment
- Explica
- explora
- extinde
- extern
- extrage
- DESCRIERE
- Ficţiune
- În cele din urmă
- financiar
- Servicii financiare
- First
- următor
- urmează
- format
- fraudă
- detectarea fraudei
- necinstit
- Gratuit
- din
- Complet
- complet
- jocuri
- genera
- obține
- GitHub
- bine
- grafic
- mare
- Greu
- de asistență medicală
- ajutor
- ajută
- superior
- istorie
- Cum
- Cum Pentru a
- Totuși
- HTML
- HTTPS
- identifica
- Identitate
- Ilegal
- punerea în aplicare a
- implementarea
- Punere în aplicare a
- ustensile
- import
- important
- îmbunătăţi
- in
- În altele
- inclus
- include
- Inclusiv
- crescând
- industrii
- informații
- intrare
- instanță
- introdus
- Prezintă
- IP
- Adresele IP
- IT
- alătura
- Cheie
- cunoscut
- de laborator
- Etichetă
- etichete
- mare
- mai mare
- Latență
- conduce
- AFLAȚI
- învăţare
- Bibliotecă
- Viaţă
- Life Sciences
- ciclu de viață
- Probabil
- încărca
- Locații
- cautati
- Loialitate
- program de fidelizare
- maşină
- masina de învățare
- manager
- Meci
- semnificativ
- Mass-media
- Memorie
- Metode
- ML
- mod
- model
- Modele
- moduri de
- mai mult
- necesar
- Neptun
- reţea
- rețele
- rețele neuronale
- Nou
- următor
- nod
- noduri
- număr
- numere
- observa
- obținerea
- ONE
- on-line
- plăți online
- operaţie
- Operațiuni
- optimă
- orchestrație
- Altele
- surclasa
- propriu
- panda
- parametru
- parametrii
- Trecut
- plăți
- procent
- Efectua
- performanță
- efectuarea
- fază
- telefon
- fizic
- Plato
- Informații despre date Platon
- PlatoData
- Popular
- Post
- prezice
- estimarea
- prezicere
- prezenta
- cadouri
- împiedica
- precedent
- anterior
- Problemă
- probleme
- proces
- produce
- producere
- Program
- promisiune
- furniza
- prevăzut
- pirtorh
- Qi
- Crud
- ajunge
- Citind
- real
- lumea reală
- în timp real
- record
- înregistrări
- reduce
- reduce
- reducerea
- menționat
- legate de
- relaţii
- Relaţii
- eliberat
- eliminarea
- Raportat
- reprezenta
- reprezentare
- necesita
- necesar
- cerință
- respectiv
- REST
- rezultând
- REZULTATE
- reveni
- Alerga
- Ryan
- sagemaker
- SageMaker Inference
- acelaşi
- Economisiți
- scenariu
- Ştiinţă
- Romane științifico-fantastice
- ȘTIINȚE
- Om de stiinta
- script-uri
- Al doilea
- secunde
- senior
- serviciu
- Servicii
- set
- instalare
- setări
- configurarea
- câteva
- Distribuie
- indicat
- Emisiuni
- semnificativ
- semnificativ
- singur
- Mărimea
- dimensiuni
- mic
- mai mici
- So
- Social
- social media
- soluţie
- soluţii
- unele
- specific
- viteză
- împărţi
- șpalturi
- Pas
- paşi
- oprire
- depozitare
- strategii
- structura
- Studiu
- subgrafic
- subgrafe
- astfel de
- Costum
- potrivit
- a sustine
- suspicios
- tabel
- Lua
- preluare
- ia
- Ţintă
- Sarcină
- sarcini
- șablon
- termeni
- test
- Testarea
- Graficul
- lor
- astfel
- prin urmare
- Prin
- debit
- timp
- timestamp-ul
- sincronizare
- la
- de asemenea
- subiect
- Total
- Tren
- dresat
- Pregătire
- tranzacție
- Tranzacții
- tratare
- Copaci
- proces
- studii
- adevărat
- Tipuri
- tipic
- us
- utilizare
- utilizatorii
- obișnuit
- validate
- valoare
- Valori
- de
- care
- în timp ce
- Wi-fi
- voi
- fără
- cuvinte
- valoare
- ar
- Tu
- Ta
- zephyrnet