Il rilevamento delle frodi è un problema importante che ha applicazioni nei servizi finanziari, nei social media, nell'e-commerce, nei giochi e in altri settori. Questo post presenta un'implementazione di una soluzione di rilevamento delle frodi utilizzando il modello Relational Graph Convolutional Network (RGCN) per prevedere la probabilità che una transazione sia fraudolenta attraverso le modalità di inferenza trasduttiva e induttiva. Puoi distribuire la nostra implementazione in un file Amazon Sage Maker endpoint come soluzione di rilevamento delle frodi in tempo reale, senza richiedere l'archiviazione o l'orchestrazione di grafici esterni, riducendo così in modo significativo il costo di implementazione del modello.
Possono utilizzare anche le aziende che cercano un servizio AWS AI completamente gestito per il rilevamento delle frodi Amazon Fraud Detector, che puoi utilizzare per identificare pagamenti online sospetti, rilevare nuovi account fraudolenti, prevenire l'abuso di programmi di fidelizzazione e di prova o migliorare il rilevamento dell'acquisizione di account.
Panoramica della soluzione
Il diagramma seguente descrive una rete di transazioni finanziarie esemplare che include diversi tipi di informazioni. Ogni transazione contiene informazioni come identificatori del dispositivo, ID Wi-Fi, indirizzi IP, posizioni fisiche, numeri di telefono e altro. Rappresentiamo i set di dati delle transazioni attraverso un grafico eterogeneo che contiene diversi tipi di nodi e bordi. Quindi, il problema di rilevamento delle frodi viene gestito come un'attività di classificazione dei nodi su questo grafico eterogeneo.
Le reti neurali a grafo (GNN) si sono dimostrate molto promettenti nell'affrontare i problemi di rilevamento delle frodi, superando i metodi di apprendimento supervisionato più diffusi come alberi decisionali potenziati dal gradiente o reti feed-forward completamente connesse su set di dati di benchmarking. In una tipica configurazione di rilevamento delle frodi, durante la fase di addestramento, un modello GNN viene addestrato su una serie di transazioni etichettate. Ogni transazione di addestramento viene fornita con un'etichetta binaria che indica se è fraudolenta. Questo modello addestrato può quindi essere utilizzato per rilevare transazioni fraudolente tra una serie di transazioni senza etichetta durante la fase di inferenza. Esistono due diverse modalità di inferenza: inferenza trasduttiva e inferenza induttiva (di cui parleremo più avanti in questo post).
I modelli basati su GNN, come RGCN, possono trarre vantaggio dalle informazioni topologiche, combinando sia la struttura del grafico che le caratteristiche di nodi e bordi per apprendere una rappresentazione significativa che distingue le transazioni dannose da quelle legittime. RGCN può effettivamente imparare a rappresentare diversi tipi di nodi e bordi (relazioni) tramite l'incorporamento di grafici eterogenei. Nel diagramma precedente, ogni transazione viene modellata come nodo di destinazione e diverse entità associate a ciascuna transazione vengono modellate come tipi di nodo non di destinazione, come ProductCD
ed P_emaildomain
. Ai nodi di destinazione sono assegnate caratteristiche numeriche e categoriche, mentre altri tipi di nodi sono privi di caratteristiche. Il modello RGCN apprende un incorporamento per ogni tipo di nodo non di destinazione. Per l'incorporamento di un nodo di destinazione, viene utilizzata un'operazione convoluzionale per calcolarne l'incorporamento utilizzando le sue caratteristiche e l'incorporamento del vicinato. Nel resto del post, usiamo i termini GNN e RGCN in modo intercambiabile.
Vale la pena notare che strategie alternative, come trattare le entità non target come caratteristiche e codificarle a caldo, sarebbero spesso irrealizzabili a causa delle grandi cardinalità di queste entità. Al contrario, la loro codifica come entità grafo consente al modello GNN di sfruttare la topologia implicita nelle relazioni tra entità. Ad esempio, anche le transazioni che condividono un numero di telefono con transazioni fraudolente note hanno maggiori probabilità di essere fraudolente.
La rappresentazione grafica utilizzata dai GNN crea una certa complessità nella loro implementazione. Ciò è particolarmente vero per applicazioni come il rilevamento delle frodi, in cui la rappresentazione del grafico può essere aumentata durante l'inferenza con nuovi nodi aggiunti che corrispondono a entità sconosciute durante l'addestramento del modello. Questo scenario di inferenza è solitamente indicato come modalità induttiva. In contrasto, modalità trasduttiva è uno scenario che presuppone che la rappresentazione grafica costruita durante l'addestramento del modello non cambierà durante l'inferenza. I modelli GNN vengono spesso valutati in modalità trasduttiva costruendo rappresentazioni grafiche da un insieme combinato di esempi di addestramento e test, mascherando le etichette dei test durante la retropropagazione. Ciò garantisce che la rappresentazione del grafico sia statica e che il modello GNN non richieda l'implementazione di operazioni per estendere il grafico con nuovi nodi durante l'inferenza. Sfortunatamente, non è possibile presumere una rappresentazione grafica statica quando si rilevano transazioni fraudolente in un ambiente reale. Pertanto, è necessario il supporto per l'inferenza induttiva quando si distribuiscono modelli GNN per il rilevamento delle frodi negli ambienti di produzione.
Inoltre, il rilevamento delle transazioni fraudolente in tempo reale è fondamentale, soprattutto nei casi aziendali in cui esiste una sola possibilità di fermare le attività illegali. Ad esempio, gli utenti fraudolenti possono comportarsi in modo dannoso solo una volta con un account e non utilizzare mai più lo stesso account. L'inferenza in tempo reale sui modelli GNN introduce ulteriore complessità all'implementazione. Spesso è necessario implementare operazioni di estrazione di sottografi per supportare l'inferenza in tempo reale. L'operazione di estrazione del sottografo è necessaria per ridurre la latenza dell'inferenza quando la rappresentazione del grafico è ampia e l'esecuzione dell'inferenza sull'intero grafico diventa proibitivamente costosa. Un algoritmo per l'inferenza induttiva in tempo reale con un modello RGCN funziona come segue:
- Dato un batch di transazioni e un modello RGCN addestrato, estendere la rappresentazione grafica con le entità del batch.
- Assegna i vettori di incorporamento di nuovi nodi non target con il vettore di incorporamento medio del rispettivo tipo di nodo.
- Estrarre un sottografo indotto da k-hop out-vicinanza dei nodi di destinazione dal batch.
- Eseguire l'inferenza sul sottografo e restituire i punteggi di previsione per i nodi di destinazione del batch.
- Pulisci la rappresentazione del grafico rimuovendo i nuovi nodi aggiunti (questo passaggio garantisce che il requisito di memoria per l'inferenza del modello rimanga costante).
Il contributo chiave di questo post è presentare un modello RGCN che implementa l'algoritmo di inferenza induttiva in tempo reale. Puoi implementare la nostra implementazione RGCN su un endpoint SageMaker come soluzione di rilevamento delle frodi in tempo reale. La nostra soluzione non richiede l'archiviazione o l'orchestrazione di grafici esterni e riduce significativamente il costo di implementazione del modello RGCN per le attività di rilevamento delle frodi. Il modello implementa anche la modalità di inferenza trasduttiva, consentendoci di eseguire esperimenti per confrontare le prestazioni del modello in modalità induttiva e trasduttiva. È possibile accedere al codice del modello e ai quaderni con gli esperimenti dal file Repository GitHub di esempi AWS.
Questo post si basa sul post Crea una soluzione di rilevamento delle frodi in tempo reale basata su GNN utilizzando Amazon SageMaker, Amazon Neptune e Deep Graph Library. Il post precedente ha creato una soluzione di rilevamento delle frodi in tempo reale basata su RGCN utilizzando SageMaker, Amazon Nettuno, e il Libreria Deep Graph (DGL). La soluzione precedente utilizzava un database Neptune come archivio grafico esterno, necessario AWS Lambda per l'orchestrazione per l'inferenza in tempo reale e includeva solo esperimenti in modalità trasduttiva.
Il modello RGCN introdotto in questo post implementa tutte le operazioni dell'algoritmo di inferenza induttiva in tempo reale utilizzando solo il DGL come dipendenza e non richiede l'archiviazione o l'orchestrazione di grafici esterni per la distribuzione.
Per prima cosa valutiamo le prestazioni del modello RGCN in modalità trasduttiva e induttiva su un set di dati di riferimento. Come previsto, le prestazioni del modello in modalità induttiva sono leggermente inferiori a quelle in modalità trasduttiva. Studiamo anche l'effetto dell'iperparametro k sulle prestazioni del modello. L'iperparametro k controlla il numero di salti eseguiti per estrarre un sottografo nel passaggio 3 dell'algoritmo di inferenza in tempo reale. Valori più alti di k produrrà sottografi più grandi e può portare a migliori prestazioni di inferenza a scapito di una maggiore latenza. Pertanto, conduciamo anche esperimenti di temporizzazione per valutare la fattibilità del modello RGCN per un'applicazione in tempo reale.
dataset
Usiamo il Set di dati antifrode IEEE-CIS, lo stesso set di dati utilizzato nel precedente settimana. Il set di dati contiene oltre 590,000 record di transazioni che hanno un'etichetta di frode binaria (il file isFraud
colonna). I dati sono suddivisi in due tabelle: transazione e identità. Tuttavia, non tutti i record delle transazioni dispongono di informazioni sull'identità corrispondenti. Uniamo i due tavoli sul TransactionID
colonna, che ci lascia con un totale di 144,233 registrazioni di transazioni. Ordiniamo la tabella in base al timestamp della transazione (the TransactionDT
colonna) e creare una percentuale 80/20 suddivisa per tempo, producendo rispettivamente 115,386 e 28,847 transazioni per l'addestramento e il test.
Per maggiori dettagli sul set di dati e su come formattarlo per soddisfare i requisiti di input del DGL, fare riferimento a Rilevamento di frodi in reti eterogenee utilizzando Amazon SageMaker e Deep Graph Library.
Costruzione del grafico
Usiamo il TransactionID
colonna per generare i nodi di destinazione. Utilizziamo le seguenti colonne per generare 11 tipi di nodi non target:
card1
attraversocard6
ProductCD
addr1
edaddr2
P_emaildomain
edR_emaildomain
Utilizziamo 38 colonne come caratteristiche categoriche dei nodi target:
M1
attraversoM9
DeviceType
edDeviceInfo
id_12
attraversoid_38
Usiamo 382 colonne come caratteristiche numeriche dei nodi target:
TransactionAmt
dist1
eddist2
id_01
attraversoid_11
C1
attraversoC14
D1
attraversoD15
V1
attraversoV339
Il nostro grafico costruito dalle transazioni di addestramento contiene 217,935 nodi e 2,653,878 spigoli.
iperparametri
Altri parametri sono impostati in modo da corrispondere ai parametri riportati nel precedente settimana. Il seguente frammento illustra l'addestramento del modello RGCN in modalità trasduttiva e induttiva:
Modalità induttiva vs. trasduttiva
Eseguiamo cinque prove per la modalità induttiva e cinque prove per la modalità trasduttiva. Per ogni prova addestriamo un modello RGCN e lo salviamo su disco, ottenendo 10 modelli. Valutiamo ogni modello su esempi di test aumentando il numero di salti (parametro k) utilizzato per estrarre un sottografo per inferenza, impostazione k a 1, 2 e 3. Prevediamo su tutti gli esempi di test contemporaneamente e calcoliamo il punteggio ROC AUC per ogni prova. Il grafico seguente mostra la media e gli intervalli di confidenza al 95% dei punteggi AUC.
Possiamo vedere che le prestazioni in modalità trasduttiva sono leggermente superiori a quelle in modalità induttiva. Per k= 2, i punteggi AUC medi per le modalità induttiva e trasduttiva sono rispettivamente 0.876 e 0.883. Ciò è previsto perché il modello RGCN è in grado di apprendere gli incorporamenti di tutti i nodi di entità in modalità trasduttiva, inclusi quelli nel set di test. Al contrario, la modalità induttiva consente solo al modello di apprendere incorporamenti di nodi di entità presenti negli esempi di addestramento, e pertanto alcuni nodi devono essere riempiti con la media durante l'inferenza. Allo stesso tempo, il calo delle prestazioni tra modalità trasduttiva e induttiva non è significativo e anche in modalità induttiva il modello RGCN raggiunge buone prestazioni con un AUC di 0.876. Osserviamo inoltre che le prestazioni del modello non migliorano per i valori di k>2. Ciò implica che l'impostazione k=2 estrarrebbe un sottografo sufficientemente grande durante l'inferenza, ottenendo prestazioni ottimali. Questa osservazione è confermata anche dal nostro prossimo esperimento.
Vale anche la pena notare che, per la modalità trasduttiva, l'AUC del nostro modello di 0.883 è superiore alla corrispondente AUC di 0.870 riportata nel precedente settimana. Usiamo più colonne come caratteristiche numeriche e categoriche dei nodi target, che possono spiegare il punteggio AUC più alto. Notiamo anche che gli esperimenti nel post precedente hanno eseguito solo una singola prova.
Inferenza su un piccolo lotto
Per questo esperimento, valutiamo il modello RGCN in un'impostazione di inferenza di piccoli lotti. Utilizziamo cinque modelli addestrati in modalità induttiva nell'esperimento precedente. Confrontiamo le prestazioni di questi modelli durante la previsione in due impostazioni: inferenza batch completa e piccola. Per l'inferenza batch completa, prevediamo sull'intero set di test, come è stato fatto nell'esperimento precedente. Per l'inferenza di piccoli batch, prevediamo in piccoli batch suddividendo il set di test in 28 batch di dimensioni uguali con circa 1,000 transazioni in ogni batch. Calcoliamo i punteggi AUC per entrambe le impostazioni utilizzando diversi valori di k. Il grafico seguente mostra la media e gli intervalli di confidenza del 95% per le impostazioni di inferenza batch complete e di piccole dimensioni.
Osserviamo che le prestazioni per l'inferenza di piccoli lotti quando k=1 è inferiore rispetto al batch completo. Tuttavia, le prestazioni di inferenza di piccoli batch corrispondono al batch completo quando k>1. Ciò può essere attribuito a sottografi molto più piccoli estratti per piccoli lotti. Lo confermiamo confrontando le dimensioni del sottografo con le dimensioni dell'intero grafico costruito dalle transazioni di addestramento. Confrontiamo le dimensioni del grafico in termini di numero di nodi. Per k=1, la dimensione media del sottografo per l'inferenza di piccoli lotti è inferiore al 2% del grafico di addestramento. E per l'inferenza batch completa quando k=1, la dimensione del sottografo è del 22%. Quando k= 2, le dimensioni del sottografo per l'inferenza batch piccola e completa sono rispettivamente del 54% e del 64%. Infine, le dimensioni dei sottografi per entrambe le impostazioni di inferenza raggiungono il 100% per k=3. In altre parole, quando k>1, il sottografo per un piccolo batch diventa sufficientemente grande, consentendo all'inferenza di piccoli batch di raggiungere le stesse prestazioni dell'inferenza di batch completi.
Registriamo anche la latenza di previsione per ogni batch. Eseguiamo i nostri esperimenti su un'istanza ml.r5.12xlarge, ma puoi utilizzare un'istanza più piccola con 64 G di memoria per eseguire gli stessi esperimenti. Il grafico seguente mostra la media e gli intervalli di confidenza al 95% delle latenze di previsione di piccoli batch per diversi valori di k.
La latenza include tutti e cinque i passaggi dell'algoritmo di inferenza induttiva in tempo reale. Lo vediamo quando k=2, la previsione su 1,030 transazioni richiede in media 5.4 secondi, con un throughput di 190 transazioni al secondo. Ciò conferma che l'implementazione del modello RGCN è adatta per il rilevamento delle frodi in tempo reale. Notiamo anche che il precedente settimana non ha fornito valori di latenza hard per la loro implementazione.
Conclusione
Il modello RGCN rilasciato con questo post implementa l'algoritmo per l'inferenza induttiva in tempo reale e non richiede l'archiviazione o l'orchestrazione di grafici esterni. Il parametro k nel passaggio 3 dell'algoritmo specifica il numero di salti eseguiti per estrarre il sottografo per l'inferenza e si traduce in un compromesso tra accuratezza del modello e latenza di previsione. Abbiamo usato il Set di dati antifrode IEEE-CIS nei nostri esperimenti, e convalidato empiricamente che il valore ottimale del parametro k per questo set di dati è 2, ottenendo un punteggio AUC di 0.876 e una latenza di previsione inferiore a 6 secondi per 1,000 transazioni.
Questo post ha fornito un processo dettagliato per la formazione e la valutazione di un modello RGCN per il rilevamento delle frodi in tempo reale. La classe del modello inclusa implementa metodi per l'intero ciclo di vita del modello, inclusi i metodi di serializzazione e deserializzazione. Ciò consente di utilizzare il modello per il rilevamento delle frodi in tempo reale. Puoi addestrare il modello come stimatore PyTorch SageMaker e quindi distribuirlo a un endpoint SageMaker utilizzando quanto segue taccuino come modello. L'endpoint è in grado di prevedere le frodi su piccoli lotti di transazioni grezze in tempo reale. Puoi anche usare Raccomandatore di inferenza Amazon SageMaker per selezionare il tipo e la configurazione di istanza migliori per l'endpoint di inferenza in base ai carichi di lavoro.
Per ulteriori informazioni su questo argomento e sull'implementazione, ti invitiamo a esplorare e testare i nostri script per conto tuo. È possibile accedere ai notebook e al relativo codice della classe del modello dal file Repository GitHub di esempi AWS.
Informazioni sugli autori
Dmitry Bespalov è un Senior Applied Scientist presso l'Amazon Machine Learning Solutions Lab, dove aiuta i clienti AWS in diversi settori ad accelerare l'adozione di IA e cloud.
Marca Ryan è uno scienziato applicato presso l'Amazon Machine Learning Solutions Lab. Ha una specifica esperienza nell'applicazione dell'apprendimento automatico ai problemi della sanità e delle scienze della vita. Nel tempo libero ama leggere storia e fantascienza.
Yanjun Qi è Senior Applied Science Manager presso l'Amazon Machine Learning Solution Lab. Innova e applica l'apprendimento automatico per aiutare i clienti AWS ad accelerare l'adozione dell'intelligenza artificiale e del cloud.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: 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
- capace
- WRI
- abuso
- accelerare
- accesso
- accessibile
- Il mio account
- precisione
- Realizza
- il raggiungimento
- operanti in
- attività
- aggiunto
- aggiunta
- aggiuntivo
- indirizzi
- Adozione
- Vantaggio
- AI
- algoritmo
- Tutti
- consente
- alternativa
- Amazon
- Apprendimento automatico di Amazon
- Amazon Nettuno
- Amazon Sage Maker
- tra
- ed
- Applicazioni
- applicazioni
- applicato
- AMMISSIONE
- circa
- Italia
- addetto
- associato
- assunto
- aumentata
- media
- AWS
- basato
- perché
- diventa
- essendo
- Segno di riferimento
- analisi comparativa
- MIGLIORE
- Meglio
- fra
- marca
- costruire
- costruisce
- costruito
- affari
- trasportare
- casi
- possibilità
- il cambiamento
- classe
- classificazione
- Cloud
- adozione del cloud
- codice
- Colonna
- colonne
- combinato
- combinando
- confrontare
- confronto
- complessità
- Calcolare
- Segui il codice di Condotta
- fiducia
- Configurazione
- Confermare
- CONFERMATO
- collegato
- costante
- costruire
- costruzione
- contiene
- contrasto
- contributo
- controlli
- Corrispondente
- Costo
- creare
- crea
- cruciale
- Clienti
- dati
- Banca Dati
- dataset
- decisione
- deep
- Predefinito
- definito
- Dipendenza
- schierare
- distribuzione
- deployment
- dettagli
- rivelazione
- dispositivo
- Piace
- DID
- diverso
- discutere
- non
- Cadere
- durante
- ogni
- ecommerce
- effetto
- in maniera efficace
- Abilita
- consentendo
- incoraggiare
- endpoint
- assicura
- Intero
- entità
- entità
- ambienti
- particolarmente
- valutare
- valutato
- la valutazione
- Anche
- Ogni
- esempio
- Esempi
- previsto
- costoso
- esperienza
- esperimento
- Spiegare
- esplora
- estendere
- esterno
- estratto
- Caratteristiche
- Fantasia
- Infine
- finanziario
- servizi finanziari
- Nome
- i seguenti
- segue
- formato
- frode
- rilevazione di frodi
- fraudolenti
- Gratis
- da
- pieno
- completamente
- gaming
- generare
- ottenere
- GitHub
- buono
- grafico
- grande
- Hard
- assistenza sanitaria
- Aiuto
- aiuta
- superiore
- storia
- Come
- Tutorial
- Tuttavia
- HTML
- HTTPS
- identificare
- Identità
- Illegale
- realizzare
- implementazione
- Implementazione
- attrezzi
- importare
- importante
- competenze
- in
- In altre
- incluso
- inclusi
- Compreso
- crescente
- industrie
- informazioni
- ingresso
- esempio
- introdotto
- Introduce
- IP
- Gli indirizzi IP
- IT
- join
- Le
- conosciuto
- laboratorio
- Discografica
- per il tuo brand
- grandi
- superiore, se assunto singolarmente.
- Latenza
- portare
- IMPARARE
- apprendimento
- Biblioteca
- Vita
- Life Sciences
- ciclo di vita
- probabile
- caricare
- posizioni
- cerca
- lealtà
- programma di fedeltà
- macchina
- machine learning
- direttore
- partita
- significativo
- Media
- Memorie
- metodi
- ML
- Moda
- modello
- modelli
- modalità di
- Scopri di più
- necessaria
- Nettuno
- Rete
- reti
- reti neurali
- New
- GENERAZIONE
- nodo
- nodi
- numero
- numeri
- osservare
- ottenendo
- ONE
- online
- Pagamenti online
- operazione
- Operazioni
- ottimale
- orchestrazione
- Altro
- sovraperformance
- proprio
- panda
- parametro
- parametri
- Passato
- pagamenti
- percentuale
- Eseguire
- performance
- esecuzione
- fase
- telefono
- Fisico
- Platone
- Platone Data Intelligence
- PlatoneDati
- Popolare
- Post
- predire
- previsione
- predizione
- presenti
- presents
- prevenire
- precedente
- Precedente
- Problema
- problemi
- processi
- produrre
- Produzione
- Programma
- PROMETTIAMO
- fornire
- purché
- pytorch
- Qi
- Crudo
- raggiungere
- Lettura
- di rose
- mondo reale
- tempo reale
- record
- record
- ridurre
- riduce
- riducendo
- di cui
- relazionato
- relazioni
- Relazioni
- rilasciato
- rimozione
- Segnalati
- rappresentare
- rappresentazione
- richiedere
- necessario
- requisito
- quelli
- REST
- risultante
- Risultati
- ritorno
- Correre
- Ryan
- sagemaker
- Inferenza di SageMaker
- stesso
- Risparmi
- scenario
- Scienze
- Fantascienza
- SCIENZE
- Scienziato
- script
- Secondo
- secondo
- anziano
- servizio
- Servizi
- set
- regolazione
- impostazioni
- flessibile.
- alcuni
- Condividi
- mostrato
- Spettacoli
- significativa
- significativamente
- singolo
- Taglia
- Dimensioni
- piccole
- inferiore
- So
- Social
- Social Media
- soluzione
- Soluzioni
- alcuni
- specifico
- velocità
- dividere
- Si divide
- step
- Passi
- sosta
- conservazione
- strategie
- La struttura
- Studio
- sottografo
- sottografi
- tale
- Completo
- adatto
- supporto
- sospettoso
- tavolo
- Fai
- acquisizione
- prende
- Target
- Task
- task
- modello
- condizioni
- test
- Testing
- Il
- Il grafo
- loro
- in tal modo
- perciò
- Attraverso
- portata
- tempo
- timestamp
- sincronizzazione
- a
- pure
- argomento
- Totale
- Treni
- allenato
- Training
- delle transazioni
- Le transazioni
- trattare
- Alberi
- prova
- studi clinici
- vero
- Tipi di
- tipico
- us
- uso
- utenti
- generalmente
- convalidato
- APPREZZIAMO
- Valori
- via
- quale
- while
- Wi-fi
- volere
- senza
- parole
- valore
- sarebbe
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro