A detecção de fraude é um problema importante que tem aplicações em serviços financeiros, mídia social, comércio eletrônico, jogos e outros setores. Este post apresenta uma implementação de uma solução de detecção de fraude usando o modelo Relational Graph Convolutional Network (RGCN) para prever a probabilidade de uma transação ser fraudulenta por meio dos modos de inferência transdutiva e indutiva. Você pode implantar nossa implementação em um Amazon Sage Maker endpoint como uma solução de detecção de fraude em tempo real, sem a necessidade de armazenamento ou orquestração externa de gráficos, reduzindo significativamente o custo de implantação do modelo.
As empresas que procuram um serviço AWS AI totalmente gerenciado para detecção de fraudes também podem usar Detector de fraude da Amazon, que você pode usar para identificar pagamentos on-line suspeitos, detectar novas fraudes em contas, evitar abusos em programas de fidelidade e testes ou melhorar a detecção de controle de contas.
Visão geral da solução
O diagrama a seguir descreve uma rede de transações financeiras exemplar que inclui diferentes tipos de informações. Cada transação contém informações como identificadores de dispositivos, IDs de Wi-Fi, endereços IP, localizações físicas, números de telefone e muito mais. Representamos os conjuntos de dados de transações por meio de um grafo heterogêneo que contém diferentes tipos de nós e arestas. Em seguida, o problema de detecção de fraude é tratado como uma tarefa de classificação de nós neste grafo heterogêneo.
As redes neurais de gráfico (GNNs) têm se mostrado muito promissoras na resolução de problemas de detecção de fraudes, superando métodos populares de aprendizado supervisionado, como árvores de decisão com aumento de gradiente ou redes de feed-forward totalmente conectadas em conjuntos de dados de benchmarking. Em uma configuração típica de detecção de fraude, durante a fase de treinamento, um modelo GNN é treinado em um conjunto de transações rotuladas. Cada transação de treinamento é fornecida com um rótulo binário indicando se é fraudulenta. Esse modelo treinado pode então ser usado para detectar transações fraudulentas entre um conjunto de transações não rotuladas durante a fase de inferência. Existem dois modos diferentes de inferência: inferência transdutiva vs. inferência indutiva (que discutiremos mais adiante neste post).
Modelos baseados em GNN, como o RGCN, podem tirar proveito de informações topológicas, combinando estrutura de grafos e recursos de nós e arestas para aprender uma representação significativa que distingue transações maliciosas de transações legítimas. O RGCN pode efetivamente aprender a representar diferentes tipos de nós e arestas (relações) por meio da incorporação de gráficos heterogêneos. No diagrama anterior, cada transação está sendo modelada como um nó de destino e várias entidades associadas a cada transação são modeladas como tipos de nó não-alvo, como ProductCD
e P_emaildomain
. Os nós de destino têm recursos numéricos e categóricos atribuídos, enquanto outros tipos de nós não possuem recursos. O modelo RGCN aprende uma incorporação para cada tipo de nó não-alvo. Para a incorporação de um nó de destino, uma operação convolucional é usada para calcular sua incorporação usando seus recursos e incorporações de vizinhança. No restante do post, usamos os termos GNN e RGCN de forma intercambiável.
Vale a pena observar que estratégias alternativas, como tratar as entidades não-alvo como recursos e codificá-las de maneira única, muitas vezes seriam inviáveis devido às grandes cardinalidades dessas entidades. Por outro lado, codificá-los como entidades gráficas permite que o modelo GNN aproveite a topologia implícita nos relacionamentos entre entidades. Por exemplo, as transações que compartilham um número de telefone com transações fraudulentas conhecidas também têm maior probabilidade de serem fraudulentas.
A representação gráfica empregada por GNNs cria certa complexidade em sua implementação. Isso é especialmente verdadeiro para aplicativos como detecção de fraudes, nos quais a representação gráfica pode ser aumentada durante a inferência com nós recém-adicionados que correspondem a entidades desconhecidas durante o treinamento do modelo. Este cenário de inferência é geralmente referido como modo indutivo. Em contraste, modo transdutivo é um cenário que assume que a representação gráfica construída durante o treinamento do modelo não mudará durante a inferência. Os modelos GNN são frequentemente avaliados no modo transdutivo, construindo representações gráficas a partir de um conjunto combinado de exemplos de treinamento e teste, enquanto mascara os rótulos de teste durante a retropropagação. Isso garante que a representação do gráfico seja estática e o modelo GNN não requer implementação de operações para estender o gráfico com novos nós durante a inferência. Infelizmente, a representação gráfica estática não pode ser assumida ao detectar transações fraudulentas em um cenário do mundo real. Portanto, o suporte para inferência indutiva é necessário ao implantar modelos GNN para detecção de fraude em ambientes de produção.
Além disso, detectar transações fraudulentas em tempo real é crucial, especialmente em casos de negócios em que há apenas uma chance de impedir atividades ilegais. Por exemplo, usuários fraudulentos podem se comportar maliciosamente apenas uma vez com uma conta e nunca mais usar a mesma conta. A inferência em tempo real em modelos GNN apresenta complexidade adicional à implementação. Freqüentemente, é necessário implementar operações de extração de subgrafos para oferecer suporte à inferência em tempo real. A operação de extração de subgrafos é necessária para reduzir a latência de inferência quando a representação do gráfico é grande e realizar a inferência em todo o gráfico torna-se proibitivamente caro. Um algoritmo para inferência indutiva em tempo real com um modelo RGCN é executado da seguinte forma:
- Dado um lote de transações e um modelo RGCN treinado, estenda a representação gráfica com entidades do lote.
- Atribua vetores de incorporação de novos nós não-alvo com o vetor de incorporação médio de seu respectivo tipo de nó.
- Extraia um subgrafo induzido por k-hop out-neighborhood dos nós de destino do lote.
- Execute a inferência no subgrafo e retorne pontuações de previsão para os nós de destino do lote.
- Limpe a representação do gráfico removendo os nós adicionados recentemente (essa etapa garante que o requisito de memória para a inferência do modelo permaneça constante).
A principal contribuição deste post é apresentar um modelo RGCN implementando o algoritmo de inferência indutiva em tempo real. Você pode implantar nossa implementação RGCN em um terminal SageMaker como uma solução de detecção de fraude em tempo real. Nossa solução não requer armazenamento ou orquestração externa de gráficos e reduz significativamente o custo de implantação do modelo RGCN para tarefas de detecção de fraudes. O modelo também implementa o modo de inferência transdutiva, permitindo realizar experimentos para comparar o desempenho do modelo nos modos indutivo e transdutivo. O código do modelo e notebooks com experimentos podem ser acessados a partir do Repositório do GitHub de exemplos da AWS.
Este post se baseia no post Crie uma solução de detecção de fraude em tempo real baseada em GNN usando Amazon SageMaker, Amazon Neptune e Deep Graph Library. A postagem anterior criou uma solução de detecção de fraude em tempo real baseada em RGCN usando o SageMaker, Amazon Netuno, e as Biblioteca Deep Graph (DGL). A solução anterior usava um banco de dados Neptune como armazenamento gráfico externo, necessário AWS Lambda para orquestração para inferência em tempo real, e incluiu apenas experimentos em modo transdutivo.
O modelo RGCN apresentado neste post implementa todas as operações do algoritmo de inferência indutiva em tempo real usando apenas o DGL como dependência e não requer armazenamento de gráfico externo ou orquestração para implantação.
Primeiro avaliamos o desempenho do modelo RGCN nos modos transdutivo e indutivo em um conjunto de dados de referência. Como esperado, o desempenho do modelo no modo indutivo é um pouco menor do que no modo transdutivo. Também estudamos o efeito do hiperparâmetro k no desempenho do modelo. O hiperparâmetro k controla o número de saltos executados para extrair um subgrafo na Etapa 3 do algoritmo de inferência em tempo real. Valores mais altos de k produzirá subgráficos maiores e pode levar a um melhor desempenho de inferência às custas de uma latência mais alta. Como tal, também realizamos experimentos de temporização para avaliar a viabilidade do modelo RGCN para uma aplicação em tempo real.
Conjunto de dados
Usamos o Conjunto de dados de fraude IEEE-CIS, o mesmo conjunto de dados usado no anterior postar. O conjunto de dados contém mais de 590,000 registros de transações que possuem um rótulo de fraude binária (o isFraud
coluna). Os dados são divididos em duas tabelas: transação e identidade. No entanto, nem todos os registros de transação possuem informações de identidade correspondentes. Unimos as duas mesas no TransactionID
coluna, o que nos deixa com um total de 144,233 registros de transações. Classificamos a tabela por registro de data e hora da transação (o TransactionDT
coluna) e crie uma porcentagem de 80/20 dividida por tempo, produzindo 115,386 e 28,847 transações para treinamento e teste, respectivamente.
Para obter mais detalhes sobre o conjunto de dados e como formatá-lo para atender aos requisitos de entrada do DGL, consulte Detectando fraudes em redes heterogêneas usando o Amazon SageMaker e o Deep Graph Library.
construção do gráfico
Usamos o TransactionID
coluna para gerar nós de destino. Usamos as seguintes colunas para gerar 11 tipos de nós não-alvo:
card1
NFT`scard6
ProductCD
addr1
eaddr2
P_emaildomain
eR_emaildomain
Usamos 38 colunas como recursos categóricos de nós de destino:
M1
NFT`sM9
DeviceType
eDeviceInfo
id_12
NFT`sid_38
Usamos 382 colunas como recursos numéricos dos nós de destino:
TransactionAmt
dist1
edist2
id_01
NFT`sid_11
C1
NFT`sC14
D1
NFT`sD15
V1
NFT`sV339
Nosso grafo construído a partir das transações de treinamento contém 217,935 nós e 2,653,878 arestas.
Hiperparâmetros
Outros parâmetros são definidos para corresponder aos parâmetros relatados no postar. O trecho a seguir ilustra o treinamento do modelo RGCN nos modos transdutivo e indutivo:
Modo indutivo vs. modo transdutivo
Realizamos cinco tentativas para o modo indutivo e cinco tentativas para o modo transdutivo. Para cada tentativa, treinamos um modelo RGCN e o salvamos em disco, obtendo 10 modelos. Avaliamos cada modelo em exemplos de teste enquanto aumentamos o número de saltos (parâmetro k) usado para extrair um subgrafo para inferência, configurando k para 1, 2 e 3. Prevemos todos os exemplos de teste de uma só vez e calculamos a pontuação ROC AUC para cada tentativa. O gráfico a seguir mostra a média e os intervalos de confiança de 95% das pontuações de AUC.
Podemos ver que o desempenho no modo transdutivo é um pouco maior do que no modo indutivo. Para k=2, as pontuações médias de AUC para os modos indutivo e transdutivo são 0.876 e 0.883, respectivamente. Isso é esperado porque o modelo RGCN é capaz de aprender embeddings de todos os nós de entidade no modo transdutivo, incluindo aqueles no conjunto de teste. Em contraste, o modo indutivo permite apenas que o modelo aprenda incorporações de nós de entidade que estão presentes nos exemplos de treinamento e, portanto, alguns nós devem ser preenchidos com média durante a inferência. Ao mesmo tempo, a queda de desempenho entre os modos transdutivo e indutivo não é significativa e, mesmo no modo indutivo, o modelo RGCN consegue um bom desempenho com uma AUC de 0.876. Também observamos que o desempenho do modelo não melhora para valores de k>2. Isso implica que a configuração k=2 extrairia um subgrafo suficientemente grande durante a inferência, resultando em desempenho ideal. Esta observação também é confirmada pelo nosso próximo experimento.
Também é importante notar que, para o modo transdutivo, o AUC de 0.883 do nosso modelo é maior do que o AUC correspondente de 0.870 relatado no anterior postar. Usamos mais colunas como recursos numéricos e categóricos dos nós de destino, o que pode explicar a pontuação AUC mais alta. Também observamos que os experimentos do post anterior realizaram apenas uma única tentativa.
Inferência em um lote pequeno
Para este experimento, avaliamos o modelo RGCN em uma pequena configuração de inferência em lote. Utilizamos cinco modelos que foram treinados em modo indutivo no experimento anterior. Comparamos o desempenho desses modelos ao prever em duas configurações: inferência de lote completo e pequeno. Para inferência em lote completo, prevemos em todo o conjunto de teste, como foi feito no experimento anterior. Para inferência de pequenos lotes, prevemos em pequenos lotes particionando o conjunto de teste em 28 lotes de tamanho igual com aproximadamente 1,000 transações em cada lote. Calculamos as pontuações AUC para ambas as configurações usando diferentes valores de k. O gráfico a seguir mostra a média e os intervalos de confiança de 95% para configurações de inferência de lote completo e pequeno.
Observamos esse desempenho para inferência de pequenos lotes quando k=1 é menor do que para o lote completo. No entanto, o desempenho de inferência de lote pequeno corresponde ao lote completo quando k>1. Isso pode ser atribuído a subgrafos muito menores sendo extraídos para pequenos lotes. Confirmamos isso comparando os tamanhos dos subgráficos com o tamanho do gráfico inteiro construído a partir das transações de treinamento. Comparamos os tamanhos dos grafos em termos de número de nós. Para k=1, o tamanho médio do subgráfico para inferência em lote pequeno é inferior a 2% do gráfico de treinamento. E para inferência em lote completo quando k=1, o tamanho do subgráfico é 22%. Quando k=2, tamanhos de subgráficos para inferência de lote pequeno e completo são 54% e 64%, respectivamente. Por fim, os tamanhos dos subgráficos para ambas as configurações de inferência atingem 100% para k=3. Em outras palavras, quando k>1, o subgrafo para um lote pequeno torna-se suficientemente grande, permitindo que a inferência de lote pequeno alcance o mesmo desempenho que a inferência de lote completo.
Também registramos a latência de previsão para cada lote. Realizamos nossos experimentos em uma instância ml.r5.12xlarge, mas você pode usar uma instância menor com 64 G de memória para executar os mesmos experimentos. O gráfico a seguir mostra a média e os intervalos de confiança de 95% de pequenas latências de previsão em lote para diferentes valores de k.
A latência inclui todas as cinco etapas do algoritmo de inferência indutiva em tempo real. Vemos isso quando k=2, a previsão de 1,030 transações leva 5.4 segundos em média, resultando em uma taxa de transferência de 190 transações por segundo. Isso confirma que a implementação do modelo RGCN é adequada para detecção de fraudes em tempo real. Também notamos que o anterior postar não forneceu valores de latência rígidos para sua implementação.
Conclusão
O modelo RGCN lançado com esta postagem implementa o algoritmo para inferência indutiva em tempo real e não requer armazenamento ou orquestração externa de gráficos. O parâmetro k na Etapa 3 do algoritmo especifica o número de saltos executados para extrair o subgrafo para inferência e resulta em uma compensação entre a precisão do modelo e a latência da previsão. Nós usamos o Conjunto de dados de fraude IEEE-CIS em nossos experimentos, e validamos empiricamente que o valor ótimo do parâmetro k para este conjunto de dados é 2, alcançando uma pontuação AUC de 0.876 e latência de previsão de menos de 6 segundos por 1,000 transações.
Esta postagem forneceu um processo passo a passo para treinar e avaliar um modelo RGCN para detecção de fraude em tempo real. A classe de modelo incluída implementa métodos para todo o ciclo de vida do modelo, incluindo métodos de serialização e desserialização. Isso permite que o modelo seja usado para detecção de fraude em tempo real. Você pode treinar o modelo como um estimador PyTorch SageMaker e, em seguida, implantá-lo em um endpoint SageMaker usando o seguinte caderno como modelo. O terminal é capaz de prever fraudes em pequenos lotes de transações brutas em tempo real. Você também pode usar Recomendador de inferência do Amazon SageMaker para selecionar o melhor tipo de instância e configuração para o endpoint de inferência com base em suas cargas de trabalho.
Para obter mais informações sobre esse tópico e implementação, recomendamos que você explore e teste nossos scripts por conta própria. Você pode acessar os blocos de anotações e o código de classe de modelo relacionado no Repositório do GitHub de exemplos da AWS.
Sobre os autores
Dmitry Bespalov é cientista sênior aplicado no laboratório de soluções de aprendizado de máquina da Amazon, onde ajuda clientes da AWS em diferentes setores a acelerar a adoção de IA e nuvem.
Marca Ryan é Cientista Aplicado no Laboratório de Soluções de Machine Learning da Amazon. Ele tem experiência específica na aplicação de aprendizado de máquina a problemas de saúde e ciências da vida. Em seu tempo livre, gosta de ler história e ficção científica.
Yanjun Qi é gerente sênior de ciência aplicada no laboratório de soluções de aprendizado de máquina da Amazon. Ela inova e aplica aprendizado de máquina para ajudar os clientes da AWS a acelerar a adoção de IA e nuvem.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- 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
- Capaz
- Sobre
- abuso
- acelerar
- Acesso
- acessadas
- Conta
- precisão
- Alcança
- alcançar
- em
- atividades
- adicionado
- Adição
- Adicional
- endereços
- Adoção
- Vantagem
- AI
- algoritmo
- Todos os Produtos
- permite
- alternativa
- Amazon
- Aprendizado de máquina da Amazon
- Amazon Netuno
- Amazon Sage Maker
- entre
- e
- Aplicação
- aplicações
- aplicado
- Aplicando
- aproximadamente
- Ordem
- atribuído
- associado
- assumiu
- aumentado
- média
- AWS
- baseado
- Porque
- torna-se
- ser
- referência
- aferimento
- MELHOR
- Melhor
- entre
- interesse?
- construir
- Constrói
- construído
- negócio
- transportar
- casos
- chance
- alterar
- classe
- classificação
- Na nuvem
- adoção de nuvem
- código
- Coluna
- colunas
- combinado
- combinando
- comparar
- comparando
- complexidade
- Computar
- Conduzir
- confiança
- Configuração
- Confirmar
- CONFIRMADO
- conectado
- constante
- construção
- formação
- contém
- contraste
- contribuição
- controles
- Correspondente
- Custo
- crio
- cria
- crucial
- Clientes
- dados,
- banco de dados
- conjuntos de dados
- decisão
- profundo
- Padrão
- definido
- Dependência
- implantar
- Implantação
- desenvolvimento
- detalhes
- Detecção
- dispositivo
- dgl
- DID
- diferente
- discutir
- Não faz
- Cair
- durante
- cada
- Loja virtual
- efeito
- efetivamente
- permite
- permitindo
- encorajar
- Ponto final
- garante
- Todo
- entidades
- entidade
- ambientes
- especialmente
- avaliar
- avaliadas
- avaliação
- Mesmo
- Cada
- exemplo
- exemplos
- esperado
- caro
- vasta experiência
- experimentar
- Explicação
- explorar
- estender
- externo
- extrato
- Funcionalidades
- Ficção
- Finalmente
- financeiro
- serviços financeiros
- Primeiro nome
- seguinte
- segue
- formato
- fraude
- detecção de fraude
- fraudulento
- Gratuito
- da
- cheio
- totalmente
- jogos
- gerar
- ter
- GitHub
- Bom estado, com sinais de uso
- gráfico
- ótimo
- Queijos duros
- saúde
- ajudar
- ajuda
- superior
- história
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- HTTPS
- identificar
- Identidade
- Ilegal
- executar
- implementação
- implementação
- implementa
- importar
- importante
- melhorar
- in
- Em outra
- incluído
- inclui
- Incluindo
- aumentando
- indústrias
- INFORMAÇÕES
- entrada
- instância
- introduzido
- Introduz
- IP
- Endereços IP
- IT
- juntar
- Chave
- conhecido
- laboratório
- O rótulo
- Rótulos
- grande
- Maior
- Latência
- conduzir
- APRENDER
- aprendizagem
- Biblioteca
- vida
- Ciências da Vida
- wifecycwe
- Provável
- carregar
- locais
- procurando
- Lealdade
- programa de fidelidade
- máquina
- aprendizado de máquina
- Gerente
- Match
- significativo
- Mídia
- Memória
- métodos
- ML
- Moda
- modelo
- modelos
- modos
- mais
- necessário
- Netuno
- rede
- redes
- redes neurais
- Novo
- Próximo
- nó
- nós
- número
- números
- observar
- obtendo
- ONE
- online
- Pagamentos on-line
- operação
- Operações
- ideal
- orquestração
- Outros
- superando
- próprio
- pandas
- parâmetro
- parâmetros
- passou
- pagamentos
- percentagem
- Realizar
- atuação
- realização
- fase
- telefone
- físico
- platão
- Inteligência de Dados Platão
- PlatãoData
- Popular
- Publique
- predizer
- prevendo
- predição
- presente
- presentes
- evitar
- anterior
- Prévio
- Problema
- problemas
- processo
- produzir
- Produção
- Agenda
- promessa
- fornecer
- fornecido
- pytorch
- Qi
- Cru
- alcançar
- Leitura
- reais
- mundo real
- em tempo real
- registro
- registros
- reduzir
- reduz
- redução
- a que se refere
- relacionado
- relações
- Relacionamentos
- liberado
- removendo
- Informou
- representar
- representação
- requerer
- requeridos
- requerimento
- aqueles
- DESCANSO
- resultando
- Resultados
- retorno
- Execute
- Ryan
- sábio
- Inferência do SageMaker
- mesmo
- Salvar
- cenário
- Ciência
- Ficção científica
- CIÊNCIAS
- Cientista
- Scripts
- Segundo
- segundo
- senior
- serviço
- Serviços
- conjunto
- contexto
- Configurações
- instalação
- vários
- Partilhar
- mostrando
- Shows
- periodo
- de forma considerável
- solteiro
- Tamanho
- tamanhos
- pequeno
- menor
- So
- Redes Sociais
- meios de comunicação social
- solução
- Soluções
- alguns
- específico
- velocidade
- divisão
- splits
- Passo
- Passos
- paragem
- armazenamento
- estratégias
- estrutura
- Estudo
- subgráfico
- subgrafos
- tal
- terno
- adequado
- ajuda
- suspeito
- mesa
- Tire
- assumir o controle
- toma
- Target
- Tarefa
- tarefas
- modelo
- condições
- teste
- ensaio
- A
- The Graph
- deles
- assim
- assim sendo
- Através da
- Taxa de transferência
- tempo
- timestamp
- cronometragem
- para
- também
- tópico
- Total
- Trem
- treinado
- Training
- transação
- Transações
- tratamento
- Árvores
- julgamento
- ensaios
- verdadeiro
- tipos
- típico
- us
- usar
- usuários
- geralmente
- validado
- valor
- Valores
- via
- qual
- enquanto
- Wi-fi
- precisarão
- sem
- palavras
- Equivalente há
- seria
- Vocês
- investimentos
- zefirnet