KR102521246B1 - 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치 - Google Patents

엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치 Download PDF

Info

Publication number
KR102521246B1
KR102521246B1 KR1020230011854A KR20230011854A KR102521246B1 KR 102521246 B1 KR102521246 B1 KR 102521246B1 KR 1020230011854 A KR1020230011854 A KR 1020230011854A KR 20230011854 A KR20230011854 A KR 20230011854A KR 102521246 B1 KR102521246 B1 KR 102521246B1
Authority
KR
South Korea
Prior art keywords
transaction
edge
fraud detection
nodes
state vector
Prior art date
Application number
KR1020230011854A
Other languages
English (en)
Inventor
이지은
김민수
한동형
나인주
Original Assignee
주식회사 그래파이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 그래파이 filed Critical 주식회사 그래파이
Priority to KR1020230011854A priority Critical patent/KR102521246B1/ko
Application granted granted Critical
Publication of KR102521246B1 publication Critical patent/KR102521246B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시예에 따른 트랜잭션 사기 탐지 방법은 트랜잭션의 발생에 대응하여 업데이트된 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작; 상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하는 동작; 업데이트된 상기 엣지의 상태 벡터 및 멀티 헤드 어텐션 네트워크에 기초하여, 상기 엣지를 구성하는 노드들의 상태 벡터를 업데이트하는 동작; 및 시간적 그래프 어텐션 네트워크에 기초하여, 업데이트된 상기 엣지의 상태 벡터 및 업데이트된 상기 노드들의 상태 벡터로부터, 상기 엣지의 현재 임베딩 벡터(current embedding vector)를 획득하는 동작을 포함할 수 있다.

Description

엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치{EDGE-BASED TRANSACTION FRAUD DETECTION METHOD AND APPARATUS FOR PERFORMING THE SAME}
아래 개시는 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치에 관한 것이다.
스마트폰의 대중화와 인터넷의 발달로 모바일·웹 애플리케이션을 통해 소셜 활동, 계좌 이체, 정보 검색 및 쇼핑 등 많은 작업이 가능해지면서 의심스러운 사용자(사기꾼)의 부적절한 행위 또한 다양해지고 있다. 한 예로 사기꾼들은 소셜 네트워크에서 가짜 뉴스를 퍼트리거나 악의적으로 허위 리뷰를 작성하기도 하고, 스팸 이메일을 보내 개인 정보를 훔치고, 신용카드 정보를 도용하여 고가의 물품을 구매하기도 한다. 이러한 다양한 사기 행위 중에서도 금융 거래 사기는 이전과 비교하여 사기 유형이 다양해짐은 물론, 피해 건수와 규모 역시 기하급수적으로 증가한 대표적인 사례이다.
나라별 주요 금융기관의 공식적인 통계치에 따르면, 2021년 한 해 동안 영국의 경우 카드, 원격 은행 업무, 수표에 대한 사기 손실액은 총 7억 3,040만 파운드로, APP(Authorised Push Payment) 사기로 인한 손실액은 5억 8,320만 파운드로 보고되었고, 미국의 경우 사칭 사기, 온라인 쇼핑 사기 등으로 인해 전년 대비 70% 이상 증가한 58억 달러 이상의 피해가 발생한 것으로 보고되었다. 이처럼 금융 분야에서의 사기는 피해 금액의 규모가 클 뿐만 아니라, 현재 전자 상거래와 전자 결제가 우리의 삶에 당연하게 자리 잡아가고 있는 만큼 의심스러운 트랜잭션을 탐지하고 방지하는 것은 큰 의미가 있다.
금융 거래 사기를 탐지하고 예방하기 위해 오랫동안 연구되어 온 방법 중 하나로 규칙 기반의 사기 탐지 방법이 있다. 규칙 기반의 사기 탐지 방법은 금융 분야의 전문가들이 기존에 발생한 사기 거래를 분석하여 사기 거래에서 나타나는 주요 특징들을 규칙화하고, 이러한 규칙을 바탕으로 새로운 거래를 필터링하는 방식으로 사기를 탐지한다. 정해진 규칙을 기반으로 사기를 탐지하기 때문에 구조가 단순하고 연산이 빠르며, 필터링 된 기준 규칙을 이용하여 특정 트랜잭션을 사기로 판단한 이유에 대해 정확하게 설명할 수 있다. 그러나 최근 전자 상거래의 거래 규모가 확대되고 결제 지급 수단이 다양해짐에 따라 새로운 사기 패턴들이 등장하며 점차 고도화되고 있다. 이와 같은 새롭고 복잡한 사기 패턴은 기존에 정립된 규칙의 효율성을 크게 저하시키기 때문에 규칙 기반 사기 탐지 모델 성능 하락의 주원인으로 꼽히며, 이를 대비하여 새로운 사기 패턴이 등장할 때마다 새로운 규칙을 정립하는 것은 막대한 비용과 시간을 필요로 한다.
이처럼 규칙 기반 사기 탐지 모델의 성능 하락과 한계가 드러나며 대안으로 과거 데이터로부터 기계 스스로 학습이 가능한 기계 학습(Machine Learning) 기술을 사기 탐지에 활용하는 방법들이 주목을 받기 시작하였다. 사기 탐지를 위해 의사결정트리(Decision tree), 랜덤포레스트(Random forest), 서포트 벡터 머신(Support Vector Machine) 등 다양한 기계 학습 알고리즘이 활용될 수 있다. 이러한 기계 학습 기반 사기 탐지 모델은 기존 사기 탐지 모델 대비 적은 비용 및 좋은 성능으로 초기 학계와 산업계에서 큰 관심을 받았으나, 최근 몇 년간은 이전만큼 관련 연구가 활발히 이뤄지지 않고 있다. 다른 분야와 마찬가지로 빅데이터의 활용이 가능해지며 전통적인 기계 학습보다는 인공 신경망을 활용하는 딥러닝 기반의 사기 탐지 모델로 관심이 옮겨가고 있으며, 이미 많은 발전으로 성능 향상폭이 크게 둔화함에 따라 새로운 방향의 연구들이 시도되고 있다.
일례로 그래프 데이터는 기존 정형 데이터와 달리 서로 다른 개체 간의 상호작용 및 의존성을 나타낼 수 있어 최근 사기 탐지 연구 분야에서 관심을 받고 있는 데이터이다. 그래프 신경망(Graph Neural Networks, GNN)은 이러한 그래프 데이터의 효과적인 학습을 위해 제안된 신경망으로, 그래프 구조와 노드(e.g., 사용자) 또는 엣지(e.g., 트랜잭션)의 속성을 결합하여 의심스러운 트랜잭션을 합법적인 트랜잭션과 구별 가능한 의미 있는 표현을 학습할 수 있다. 이와 같은 특성으로 인해 기존 사기 탐지 모델에서 탐지하기 어려운 복잡한 사기 패턴을 찾아낼 수 있으며, 실제로 최근 그래프 신경망을 활용한 방법들이 뛰어난 사기 탐지 성능을 보이고 있다.
일 실시예에 따른 트랜잭션 사기 탐지 방법은 트랜잭션의 발생에 대응하여 업데이트된 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작; 상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하는 동작; 업데이트된 상기 엣지의 상태 벡터 및 멀티 헤드 어텐션 네트워크에 기초하여, 상기 엣지를 구성하는 노드들의 상태 벡터를 업데이트하는 동작; 및 시간적 그래프 어텐션 네트워크에 기초하여, 업데이트된 상기 엣지의 상태 벡터 및 업데이트된 상기 노드들의 상태 벡터로부터, 상기 엣지의 현재 임베딩 벡터(current embedding vector)를 획득하는 동작을 포함할 수 있다.
상기 전처리된 트랜잭션 정보는, 상기 트랜잭션의 시간/날짜 정보, 상기 트랜잭션과 직전 트랜잭션의 시간 차이 정보, 및 상기 트랜잭션의 금액 정보를 포함할 수 있다. 상기 직전 트랜잭션은, 상기 트랜잭션의 발생 시점 직전에 발생된 것일 수 있다.
상기 시간/날짜 정보 및 상기 시간 차이 정보는 벡터로 변환된 것이고, 상기 금액 정보는 로그 변환이 수행된 것일 수 있다.
상기 엣지의 상태 벡터를 업데이트하는 동작은, 게이트 순환 유닛 셀에 기초하여, 상기 엣지의 최근 상태 벡터(recent state vector) 및 상기 전처리된 트랜잭션 정보로부터, 상기 엣지의 현재 상태 벡터(current state vector)를 획득하는 동작을 포함할 수 있다.
상기 엣지의 현재 상태 벡터는, 상기 트랜잭션의 발생에 대응하여 업데이트된 것일 수 있다. 상기 엣지의 최근 상태 벡터는, 직전 트랜잭션의 발생에 대응하여 업데이트된 것일 수 있다.
상기 노드들의 상태 벡터를 업데이트하는 동작은, 상기 엣지의 현재 상태 벡터, 상기 노드들의 최근 상태 벡터, 및 상기 노드들 중 어느 하나와 연결된 엣지의 최근 상태 벡터에 기초하여, 상기 노드들의 현재 상태 벡터를 획득하는 동작을 포함할 수 있다.
상기 시간적 그래프 어텐션 네트워크는, 상기 엣지의 이웃들의 상태 벡터를 집계(aggregate)하는 복수의 계층을 포함할 수 있다. 상기 복수의 계층은, 상기 엣지의 1-hop 이웃인, 노드들의 상태 벡터를 집계하는 어텐션 계층; 및 상기 엣지의 2-hop 이웃인, 엣지들의 상태 벡터를 집계하는 어텐션 계층을 포함할 수 있다.
순차적으로 연결된 상기 복수의 계층 각각은, 상기 트랜잭션의 발생 시점과 이웃의 최근 업데이트 시점의 차이 및 이전 계층의 출력을, 입력으로 하는 것일 수 있다.
MLP(Multi-Layer Perceptron)에 기초하여, 상기 엣지의 현재 임베딩 벡터로부터 상기 트랜잭션의 사기 여부를 판단하는 동작을 더 포함할 수 있다.
상기 엣지는, 삼분 그래프를 통해 가상의 노드로 구현된 것일 수 있다.
상기 삼분 그래프는, 엣지를 구성하는 두 노드가 동일한 멀티 엣지를, 하나의 가상의 노드로 구현하는 것일 수 있다.
일 실시예에 따른 트랜잭션 사기 탐지 방법은, 사전 전파된 이웃 엣지의 최근 상태 벡터에 기초하여, 새롭게 발생된 트랜잭션과 연관된 노드들의 현재 임베딩 벡터를 획득하는 동작; 상기 노드들의 현재 임베딩 벡터를 집계하여, 상기 트랜잭션과 연관된 엣지의 현재 임베딩 벡터를 획득하는 동작; MLP에 기초하여, 상기 엣지의 현재 임베딩 벡터로부터 상기 트랜잭션의 사기 여부를 판단하는 동작; 및 상기 엣지의 상태 벡터를 비동기적으로 업데이트하여 상기 노드들에 전파하는 동작을 포함할 수 있다. 상기 이웃 엣지는, 상기 노드들 중 어느 하나의 1-hop 이웃인, 상기 노드들 중 적어도 하나와 연결된 엣지를 포함할 수 있다.
상기 비동기적으로 업데이트하여 상기 노드들에 전파하는 동작은, 상기 트랜잭션의 발생에 대응하여 업데이트된 상기 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작; 및 상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하여 상기 노드들에 전파하는 동작을 포함할 수 있다.
상기 전처리된 트랜잭션 정보는, 상기 트랜잭션의 시간/날짜 정보, 상기 트랜잭션과 직전 트랜잭션의 시간 차이 정보, 및 상기 트랜잭션의 금액 정보를 포함할 수 있다.
상기 시간/날짜 정보 및 상기 시간 차이 정보는 벡터로 변환된 것이고, 상기 금액 정보는 로그 변환이 수행된 것일 수 있다.
상기 엣지는, 삼분 그래프를 통해 가상의 노드로 구현된 것일 수 있다.
상기 삼분 그래프는, 엣지를 구성하는 두 노드가 동일한 멀티 엣지를, 하나의 가상의 노드로 구현하는 것일 수 있다.
일 실시예에 따른 트랜잭션 사기 탐지 장치는, 인스트럭션들을 포함하는 메모리; 및 상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함할 수 있다. 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는 복수의 동작들을 수행할 수 있다. 상기 복수의 동작들은, 트랜잭션의 발생에 대응하여 업데이트된 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작; 상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하는 동작; 업데이트된 상기 엣지의 상태 벡터 및 멀티 헤드 어텐션 네트워크에 기초하여, 상기 엣지를 구성하는 노드들의 상태 벡터를 업데이트하는 동작; 및 시간적 그래프 어텐션 네트워크에 기초하여, 업데이트된 상기 엣지의 상태 벡터 및 업데이트된 상기 노드들의 상태 벡터로부터, 상기 엣지의 현재 임베딩 벡터(current embedding vector)를 획득하는 동작을 포함할 수 있다.
상기 복수의 동작은, MLP(Multi-Layer Perceptron)에 기초하여, 상기 엣지의 현재 임베딩 벡터로부터 상기 트랜잭션의 사기 여부를 판단하는 동작을 더 포함할 수 있다.
상기 시간적 그래프 어텐션 네트워크는, 상기 엣지의 이웃들의 상태 벡터를 집계(aggregate)하는 복수의 계층을 포함할 수 있다. 상기 복수의 계층은, 상기 엣지의 1-hop 이웃인, 노드들의 상태 벡터를 집계하는 어텐션 계층; 및 상기 엣지의 2-hop 이웃인, 엣지들의 상태 벡터를 집계하는 어텐션 계층을 포함할 수 있다.
도 1은 일 실시예에 따른 트랜잭션 사기 탐지 장치의 개략적인 블록도이다.
도 2는 일 실시예에 따른 엣지 기반 시간적 그래프 어텐션 네트워크(Edge-based Temporal Graph attention Networks, E-TGN)를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 삼분 그래프를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른, 트랜잭션 정보 전처리 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른, 엣지의 상태 벡터 획득 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른, 노드의 상태 벡터 획득 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른, 엣지의 임베딩 벡터 획득 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른, 비동기적으로 업데이트되는 엣지 기반 시간적 그래프 어텐션 네트워크(Edge-based Asynchronous Update Temporal Graph attention Networks, EAU-TGN)를 설명하기 위한 도면이다.
도 9 내지 도 14는 일 실시예에 따른, EAU-TGN의 동작을 설명하기 위한 도면이다.
도 15는 일 실시예에 따른, E-TGN 및 EAU-TGN의 성능을 설명하기 위한 그래프이다.
도 16은 일 실시예에 따른, E-TGN 및 EAU-TGN의 추론 속도를 설명하기 위한 그래프이다.
도 17은 일 실시예에 따른, E-TGN 및 EAU-TGN의 훈련 속도를 설명하기 위한 그래프이다.
도 18은 일 실시예에 따른, E-TGN 기반 트랜잭션 사기 탐지 방법을 설명하기 위한 흐름도이다.
도 19는 일 실시예에 따른, EAU-TGN에 기반한 트랜잭션 사기 탐지 방법을 설명하기 위한 흐름도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 예를 들어, '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한, '~부'는 하나 이상의 프로세서를 포함할 수 있다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 트랜잭션 사기 탐지 장치의 개략적인 블록도이다.
일 실시예에 따르면, 트랜잭션 사기 탐지 장치(100)는 시간 경과에 따라 변화하는 동적 그래프를 활용할 수 있다. 시점 t에서 새로운 트랜잭션 발생 시 그래프에서 엣지의 속성이 업데이트(또는 새로운 엣지가 생성)될 수 있다. 엣지는 트랜잭션에 대응될 수 있다. 엣지의 속성은 트랜잭션 정보를 포함할 수 있다. 엣지를 구성하는 노드는 트랜잭션의 참여자(예: 구매자, 판매자)에 각각 대응될 수 있다.
트랜잭션 사기 탐지 장치(100)는 엣지에 기반하여, 그래프의 동적성을 인코딩할 수 있다. 트랜잭션 사기 탐지 장치(100)는 E-TGN((Edge-based Temporal Graph attention Networks) 및/또는 EAU-TGN(Edge-based Asynchronous Update Temporal Graph attention Networks)에 기초하여, 트랜잭션 사기 탐지를 수행할 수 있다. E-TGN는 도 2 내지 도 7을 통해, 그리고 EAU-TGN는 도 8 내지 도 14를 통해 자세히 설명하도록 한다.
트랜잭션 사기 탐지 장치(100)는 엣지의 상태 벡터를 업데이트하고, 업데이트된 엣지의 상태 벡터에 기초하여 노드의 상태 벡터를 업데이트할 수 있다. 트랜잭션 사기 탐지 장치(100)는 엣지에 기반한 E-TGN에 기초하여, 트랜잭션의 사기 탐지를 정확하게 수행할 수 있다.
트랜잭션 사기 탐지 장치(100)는 상태 벡터의 업데이트를 비동기적으로 수행할 수도 있다. 트랜잭션 사기 탐지 장치(100)는 사전 전파된 상태 벡터를 활용하는 EAU-TGN에 기초하여, 트랜잭션의 사기 탐지를 빠르고 정확하게 수행할 수 있다.
트랜잭션 사기 탐지 장치(100)는 PC(personal computer), 데이터 서버, 또는 휴대용 장치 내에 구현될 수 있다.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 디바이스는 스마트 와치(smart watch), 스마트 밴드(smart band), 또는 스마트 링(smart ring)으로 구현될 수 있다.
도 1을 참조하면, 트랜잭션 사기 탐지 장치(100)는 프로세서(110) 및 메모리(120)를 포함할 수 있다.
프로세서(110)는 메모리(120)에 저장된 데이터를 처리할 수 있다. 프로세서(110)는 메모리(120)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(110)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(110)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
메모리(120)는 관계형 데이터 및/또는 메타그래프를 저장할 수 있다. 메모리(120)는 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
비휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
이하에서는 도 2 내지 도 7을 통해 E-TGN를 자세히 설명하도록 한다.
도 2는 일 실시예에 따른 엣지 기반 시간적 그래프 어텐션 네트워크(Edge-based Temporal Graph attention Networks, E-TGN)를 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 E-TGN에 기초하여, 트랜잭션 사기 탐지에 이용되는 임베딩 벡터를 획득할 수 있다. E-TGN은 세 가지의 스텝(예: 트랜잭션 정보 전처리, 상태 벡터 업데이트, 임베딩 벡터 획득)으로 구분되어 설명될 수 있다.
현재 시점 t에서 새로운 트랜잭션 발생 시 그래프에서 엣지(예: 노드 v2(예: 구매자)와 노드 v6(예: 판매자)를 연결하는 엣지)의 속성이 업데이트(또는 새로운 엣지가 생성)될 수 있다. 엣지는 트랜잭션에 대응될 수 있다. 엣지의 속성은 트랜잭션 정보를 포함할 수 있다. 엣지를 구성하는 노드(예: 노드 v2 및 노드 v6)는 트랜잭션의 참여자(예: 구매자, 판매자)에 각각 대응될 수 있다.
트랜잭션 사기 탐지 장치(100)는 트랜잭션의 발생에 대응하여 업데이트된 엣지(예: 노드 v2(예: 구매자)와 노드 v6(예: 판매자)를 연결하는 엣지)의 속성에 기초하여, 전처리된 트랜잭션 정보(210)를 생성할 수 있다. 트랜잭션 정보의 전처리 동작은 도 4를 통해 자세히 설명하도록 한다.
트랜잭션 사기 탐지 장치(100)는 전처리된 트랜잭션 정보(210)에 기초하여, 엣지(예: 노드 v2와 노드 v6을 연결하는 엣지)의 상태 벡터를 업데이트할 수 있다. 트랜잭션 사기 탐지 장치(100)는 전처리된 트랜잭션 정보(210) 및 게이트 순환 유닛 셀(220)에 기초하여, 엣지의 현재 상태 벡터(221)(예: 트랜잭션 발생 시점 t에서의 상태 벡터)를 획득할 수 있다. 엣지(예: 노드 v2와 노드 v6을 연결하는 엣지)의 상태 벡터는 엣지와 연관된 트랜잭션들(예: 구매자 v2와 판매자 v6 사이의 트랜잭션들)의 히스토리에 대응될 수 있다.
트랜잭션 사기 탐지 장치(100)는 엣지(예: 노드 v2와 노드 v6을 연결하는 엣지)의 현재 상태 벡터(221) 및 멀티 헤드 어텐션 네트워크(222)에 기초하여, 엣지를 구성하는 노드들(예: v2 및 v6)의 상태 벡터를 업데이트 할 수 있다. 트랜잭션 사기 탐지 장치(100)는 엣지의 현재 상태 벡터(221), 이웃 엣지(예: 노드들(v2, v6) 중 어느 하나와 연결된 엣지)(예: 도 6 참조)의 최근 상태 벡터, 및 멀티 헤드 어텐션 네트워크(222)에 기초하여, 노드들(예: v2 및 v6)의 현재 상태 벡터(223)(예: 트랜잭션 발생 시점 t에서의 상태 벡터)를 획득할 수 있다. 노드(예: 노드 v2)의 상태 벡터는 노드와 연관된 트랜잭션들(예: 노드 v2에 대응되는 구매자가 수행한 트랜잭션들)의 히스토리에 대응될 수 있다.
트랜잭션 사기 탐지 장치(100)는 시간적 그래프 어텐션 네트워크(230)에 기초하여, 엣지의 현재 상태 벡터(221) 및 노드들의 현재 상태 벡터(223)로부터, 엣지(예: 노드 v2와 노드 v6을 연결하는 엣지)의 현재 임베딩 벡터(current embedding vector)(예: 트랜잭션 발생 시점 t에서의 임베딩 벡터)를 획득할 수 있다.
트랜잭션 사기 탐지 장치(100)는 MLP(Multi-Layer Perceptron)(예: 도 11의 MLP)에 기초하여, 엣지의 현재 임베딩 벡터(231)로부터 트랜잭션의 사기 여부를 판단할 수 있다. 이하에서는 도 3을 통해 트랜잭션 사기 탐지 장치(100)가 활용하는 삼분 그래프를 설명한 뒤, 도 4 내지 도 7을 통해 E-TGN의 세 가지의 스텝(예: 트랜잭션 정보 전처리, 상태 벡터 업데이트, 임베딩 벡터 획득)을 순차적으로 설명하도록 한다.
도 3은 일 실시예에 따른 삼분 그래프를 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 삼분 그래프를 활용할 수 있다. 삼분 그래프는 엣지를 가상의 노드로 대응시킨 그래프일 수 있다.
트랜잭션 사기 탐지 장치(100)는 로그 데이터(301)로부터 삼분 그래프(302)를 구성할 수 있다. 삼분 그래프(302)를 구성할 때, 트랜잭션 사기 탐지 장치(100)는 연속 시간 동적 그래프의 모든 상호작용을 일대일 대응시키지 않고, 엣지를 이루는 두 노드가 같은 멀티 엣지를 하나의 노드(예: v1,5, v3,6, v2,5)로 표현할 수 있다. 트랜잭션 사기 탐지 장치(100)는 이를 통해 메모리 효율성을 높일 수 있고, 동일한 트랜잭션에 대해 의미 있는 상태 벡터와 임베딩 벡터를 구할 수 있다.
트랜잭션 사기 탐지 장치(100)는 엣지를 노드화한 삼분 그래프를 활용함으로써, 엣지 단위로 정보를 처리할 수 있다. 또한 엣지의 중복 빈도는 노드의 중복 빈도보다 현저히 낮기 때문에, 트랜잭션 사기 탐지 장치(100)는 배치 단위 연산의 계산 속도 효율성을 유지하면서도 정보 손실량을 적게 유지할 수 있다. 트랜잭션 사기의 특성상 트랜잭션 간의 관계성을 고려하는 것이 의미가 있을 수 있으므로, 트랜잭션 사기 탐지 장치(100)는 엣지를 가상의 노드화함으로써, 트랜잭션 사이의 관계를 2-hop 이웃 관계를 통해 반영할 수 있다.
삼분 그래프를 활용함에 따라, 트랜잭션 사기 탐지 장치(100)는 엣지를 노드로 구현하지만, 혼동을 피하기 위해 노드로 구현된 엣지는 이하에서 엣지라고 통일하여 표현하도록 한다.
도 4는 일 실시예에 따른, 트랜잭션 정보 전처리 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 트랜잭션 정보를 전처리할 수 있다.
트랜잭션 데이터의 속성 중 사기 탐지 모델 학습을 위해 고려해야 할 속성으로는, 트랜잭션 발생 시간/날짜 정보와 금액 정보가 있다. 그래프 신경망을 활용한 사기 탐지 연구의 대상으로 많이 사용되는 소셜 네트워크 데이터에서 가짜 뉴스, 허위 리뷰, 포스팅 등의 사기 정보가 자연어로 표현되는 것과 비교하여, 전술한 수치 정보들은 상이한 데이터 특성을 가질 수 있다. 따라서 효과적인 트랜잭션 사기 탐지를 위해서는 트랜잭션 데이터의 특성을 고려한 전처리 과정이 요구될 수 있다.
트랜잭션 발생 시간/날짜 정보는 트랜잭션 데이터의 주요 속성 중 하나이며 사기 패턴과도 연관이 있을 수 있다. 발생 시간 정보의 경우, 일반적인 사용자는 비슷한 시간대에 금융 거래를 하는 경향이 있다. 예를 들어 보통의 직장인은 점심·저녁 시간에는 직장 근처 식당에서의 거래가, 출·퇴근 시간에는 교통수단에서의 거래가 있을 수 있다. 이처럼 트랜잭션의 발생 시간은 사용자의 소비 패턴을 반영할 수 있으므로 트랜잭션 데이터에서 사용자의 정보가 부족한 부분을 완화할 수 있는 중요한 속성일 수 있다. 또한 이전 거래와의 시간 차이 정보는 기존 규칙 기반 사기 탐지 모델에서도 중요하게 고려하는 정보 중 하나일 수 있다. 이전 거래 발생 시간과의 차이를 확인했을 때 비교적 짧은 시간 내에 거래가 여러 번 일어나는 패턴은 대표적인 사기 패턴으로 알려져 있다. 더불어, 날짜 정보 역시 트랜잭션 사기와 밀접한 관련이 있을 수 있다. 트랜잭션 사기의 경우 특정 기간이 사기의 발생에 영향을 미칠 수 있는데, 대표적으로 미국에서 연중 가장 큰 규모의 쇼핑이 행해지는 블랙 프라이데이가 있다. 이 말고도 크리스마스, 새해, 어버이날, 부활절 등의 기념일을 기준으로 여러 이커머스 및 오프라인 쇼핑몰에서 다양한 할인 행사가 기획된다. 해당 기간 동안은 큰 할인 폭과 행사로 인해 거래 건수가 폭발적으로 증가함에 따라 사기 거래 피해 또한 많이 보고되고 있다. 따라서 효과적인 사기 탐지를 위해 모델 학습에 트랜잭션의 발생 시간/날짜 정보가 반영될 필요가 있다. 트랜잭션 사기 탐지 장치(100)는 텍스트로 표현된 트랜잭션 발생 시간/날짜 정보 및 트랜잭션 간 시간 차이 정보를 벡터로 변환할 수 있다.
트랜잭션 사기 탐지 장치(100)는 트랜잭션의 금액 정보에 대해 로그 변환을 수행할 수 있다. 그래프(401)는 로그 변환 이전의 금액 분포일 수 있고, 그래프(402)는 로그 변환 이후의 금액 분포일 수 있다. 트랜잭션 사기 탐지 장치(100)는 로그 변환을 통해 속성 값의 편차를 줄여 정규성을 높일 뿐만 아니라 해당 속성의 스케일이 미치는 영향을 조절할 수 있다
트랜잭션 사기 탐지 장치(100)가 생성한, 전처리된 트랜잭션 정보(infoi,j(t))는 수학식 1을 통해 표현될 수 있다.
[수학식 1]
Figure 112023010807836-pat00001
수학식 1에서,
Figure 112023010807836-pat00002
은 트랜잭션의 시간/날짜 정보,
Figure 112023010807836-pat00003
는 트랜잭션과 직전 트랜잭션의 시간 차이 정보, 및
Figure 112023010807836-pat00004
는 트랜잭션의 금액 정보일 수 있다.
도 5는 일 실시예에 따른, 엣지의 상태 벡터 획득 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 엣지의 상태 벡터를 업데이트할 수 있다.
트랜잭션 사기 탐지 장치(100)는 전처리된 트랜잭션 정보와 엣지의 최근 상태 벡터(current state vector)(예: 트랜잭션 발생 시점 바로 이전의 엣지 상태 벡터)(예: 직전 트랜잭션의 발생에 대응하여 업데이트된, 엣지의 상태 벡터)(예: si,j(t-))를 게이트 순환 유닛 셀(220)의 입력으로 넣어 엣지의 현재 상태 벡터(예: si,j(t))를 획득할 수 있다. 직전 트랜잭션은 트랜잭션의 발생 시점(예: 시점 t) 직전에 발생된 트랜잭션일 수 있다. 직전 트랜잭션은 노드 또는 엣지 별로 상이할 수 있다.
엣지의 현재 상태 벡터 획득 과정은 수학식 2를 통해 표현될 수 있다.
[수학식 2]
Figure 112023010807836-pat00005
수학식 2에서, infoi,j(t)는 전처리된 트랜잭션 정보일 수 있고, si,j(t-)는 엣지의 최근 상태 벡터일 수 있다.
트랜잭션 사기 탐지 장치(100)는 동일한 노드 쌍 사이에서 발생하는 상호작용은 동일한 엣지로 간주하여 상태 벡터를 업데이트할 수 있다. 만약 이전에 동일한 엣지가 발생하지 않아 기존의 엣지 상태 벡터가 존재하지 않는다 해도 0으로 초기화한 상태 벡터와 전처리된 데이터를 이용하여 엣지의 현재 상태 벡터를 획득할 수 있다.
도 6은 일 실시예에 따른, 노드의 상태 벡터 획득 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 노드의 상태 벡터를 업데이트할 수 있다.
트랜잭션 사기 탐지 장치(100)는 노드의 현재 상태 벡터 si(t)를 추출하기 위해, 노드와 연결된 엣지들의 최신 상태 벡터를 집계할 수 있다. 트랜잭션 사기 탐지 장치(100)는 시간 t9까지, 노드 v2, 및/또는 노드v6와 연결된 엣지들을 집계하여 t9 에서의 노드 v2의 상태 벡터(601) 및 노드v6의 상태 벡터(602)를 획득할 수 있다.
노드와 관련된 벡터를 먼저 구하고 엣지와 관련된 벡터는 엣지를 구성하는 두 노드 벡터의 단순 결합(e.g., 평균, 연결 등)으로 표현하는 노드 기반의 방법과는 달리, 트랜잭션 사기 탐지 장치(100)는 엣지 기반의 방법을 수행할 수 있다. 트랜잭션 사기 탐지 장치(100)는 엣지의 정보를 반영하는 것을 우선으로 하며 노드의 벡터는 이와 연결된 엣지의 벡터를 기반으로 결정될 수 있다. 따라서 트랜잭션 사기 탐지 장치(100)는 엣지에 기반하여 사기 탐지를 수행하는 것일 수 있다.
트랜잭션 사기 탐지 장치(100)는 노드의 상태 벡터를 업데이트하기 위해 멀티 헤드 어텐션 네트워크(예: 도 2의 멀티 헤드 어텐션 네트워크(222))를 사용할 수 있다. 트랜잭션 사기 탐지 장치(100)는 어텐션 메커니즘에 기반한 멀티 헤드 어텐션 네트워크를 통해 이웃 엣지별로 중요도를 반영할 수 있다. 화살표의 굵기는 이웃의 중요도에 대응될 수 있다.
노드의 현재 상태 벡터 획득 동작은 수학식 3을 통해 표현될 수 있다.
[수학식 3]
Figure 112023010807836-pat00006
수학식 3에서 si(t)는 노드 i의 현재 상태 벡터, si(t-)는 노드 i의 최근 상태 벡터,
Figure 112023010807836-pat00007
는 노드 i와 연결된 엣지의 최근 상태 벡터일 수 있다.
도 7은 일 실시예에 따른, 엣지의 임베딩 벡터 획득 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 노드의 현재 임베딩 벡터z2.6(t9)를 획득할 수 있다.
트랜잭션 사기 탐지 장치(100)는 시간적 그래프 어텐션 네트워크(예: 도 2의 시간적 그래프 어텐션 네트워크(230))에 기초하여, 엣지(예: v2,6)의 현재 상태 벡터 및 노드들(예: v2, v6)의 현재 상태 벡터로부터, 엣지(예: v2,6)의 현재 임베딩 벡터(current embedding vector)를 획득할 수 있다.
시간적 그래프 어텐션 네트워크는 엣지(예: v2,6)의 이웃들의 상태 벡터를 집계(aggregate)하는 복수의 계층을 포함할 수 있다. 복수의 계층은, 엣지(예: v2,6)의 1-hop 이웃인, 노드들(예: v2, v6)의 상태 벡터를 집계하는 어텐션 계층을 포함할 수 있다. 복수의 계층은 엣지(예: v2,6)의 2-hop 이웃인, 엣지들(예: v2,5, v2,4, v1,6, v3,6)의 상태 벡터를 집계하는 어텐션 계층을 포함할 수 있다. 복수의 계층은 순차적으로 연결된 것일 수 있다. 복수의 계층 각각은 트랜잭션의 발생 시점과 이웃의 최근 업데이트 시점의 차이 및 이전 계층의 출력을, 입력으로 할 수 있다.
트랜잭션 사기 탐지 장치(100)는 엣지의 상태 벡터를 업데이트하고, 업데이트된 엣지의 상태 벡터에 기초하여 노드의 상태 벡터를 업데이트할 수 있다. 트랜잭션 사기 탐지 장치(100)는 엣지에 기반한 E-TGN에 기초하여, 트랜잭션의 사기 탐지를 정확하게 수행할 수 있다. 이하에서는 도 8 내지 도 14를 통해 EAU-TGN를 자세히 설명하도록 한다
도 8은 일 실시예에 따른, 비동기적으로 업데이트되는 엣지 기반 시간적 그래프 어텐션 네트워크(Edge-based Asynchronous Update Temporal Graph attention Networks, EAU-TGN)를 설명하기 위한 도면이다.
정적 그래프는 노드에 비해 엣지의 수가 더 많은 것이 보편적이며, 동적 그래프의 경우에도 노드에 비해 엣지의 수가 더 빠르게 증가하는 경향을 보인다. 엣지 기반의 방법은 노드 기반의 방법에 비해 계산량이 많아 상대적으로 많은 시간이 소요될 수 있다. 사기 탐지 태스크에서는 사기를 정확하게 탐지하는 것뿐만 아니라 사기를 빠르게 판단하는 것 또한 중요할 수 있다. EAU-TGN은 사기 탐지 속도를 고려하여 구성된 네트워크일 수 있다.
도 8을 참조하면, 일 실시예에 따르면, EAU-TGN은 상태 벡터 업데이트를 비동기적으로 수행하고, 업데이트된 상태 벡터를 사전 전파해 둠으로써, 임베딩 벡터 추출 시간을 앞당겨 효율적으로 사기를 탐지할 수 있다. EAU-TGN은 상태 벡터 업데이트 동작과 임베딩 벡터 획득 과정을 분리한 것일 수 있다. EAU-TGN은 추가적인 메모리(예: 도 9의 메일 박스(910, 920))를 사용하여 이웃의 상태 벡터를 미리 전파하고 임베딩 벡터를 추출할 때 이를 이용하는 방식의 네트워크일 수 있다.
도 9 내지 도 14는 일 실시예에 따른, EAU-TGN의 동작을 설명하기 위한 도면이다.
도 9를 참조하면, 일 실시예에 따르면, 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))는 사전 전파된 이웃 엣지의 최근 상태 벡터에 기초하여, 새롭게 발생된 트랜잭션(예: 시점 t9에서 발생된, 엣지 v2,6에 대응되는 트랜잭션)과 연관된 노드(예: 노드 v2, 노드 v6)들의 현재 임베딩 벡터(예: z2(t9), z6(t9))(911, 921)를 획득할 수 있다.
사전 전파된 이웃 엣지의 상태 벡터는 메일 박스(910, 920)에 각각 저장된 것일 수 있다. 이웃 엣지는 노드들(예: 노드 v2, 노드 v6) 중 적어도 하나와 연결된 엣지를 포함할 수 있다. 이하에서 서술되는 이웃 엣지는, 노드 각각의 관점에서 1-hop 이웃을 의미하는 것일 수 있다. 도 2 내지 도 8을 통해 설명한 이웃은 엣지의 관점에서 서술된 것이므로, 이하의 기재와 혼동하지 않도록 한다. 예를 들어, 엣지 v2,6의 관점에서 이웃 엣지는 노드들(v2, v6) 중 어느 하나와 연결된 엣지이고, 2-hop 이웃일 수 있다. 노드 v2 또는 노드 v6의 관점에서 이웃 엣지는 노드들(v2, v6) 중 적어도 하나와 연결된 엣지이고, 1-hop 이웃일 수 있다. 사전 전파된 상태 벡터는 엣지(예: v2,6)의 상태 벡터(예: s26(t-))(901)를 포함할 수 있다. 노드 v2 관점에서, 사전 전파된 상태 벡터는 엣지(예: v2,4, v2,5)의 상태 벡터(예: s24(t-), s25(t-))를 더 포함할 수 있다. 노드 v6 관점에서, 사전 전파된 상태 벡터는 엣지(예: v1,6, v3,6)의 상태 벡터(예: s16(t-), s36(t-))를 더 포함할 수 있다.
도 10을 참조하면, 트랜잭션 사기 탐지 장치(100))는 노드들의 현재 임베딩 벡터(911, 921)를 집계하여, 트랜잭션과 연관된 엣지(예: v2,6)의 현재 임베딩 벡터(예: z26(t9))(1001)를 획득할 수 있다.
도 11을 참조하면, 트랜잭션 사기 탐지 장치(100))는 MLP(Multi-Layer Perceptron)(1101)에 기초하여, 엣지의 현재 임베딩 벡터로(1001)부터 트랜잭션의 사기 여부를 판단할 수 있다.
도 12를 참조하면, 트랜잭션 사기 탐지 장치(100))는 트랜잭션의 발생에 대응하여 업데이트된 엣지(예: v2,6)의 속성에 기초하여, 전처리된 트랜잭션 정보(예: info2,6(t9)(1201)를 생성할 수 있다. 트랜잭션 정보 생성 동작은 도 4를 통해 설명한 것과 실질적으로 동일하므로, 자세한 설명은 생략하도록 한다.
도 13을 참조하면, 트랜잭션 사기 탐지 장치(100))는 전처리된 트랜잭션 정보(1201)에 기초하여, 엣지(예: v2,6)의 상태 벡터를 업데이트할 수 있다. 트랜잭션 사기 탐지 장치(100)는 전처리된 트랜잭션 정보(1301)와 엣지의 최근 상태 벡터(current state vector)(예: 트랜잭션 발생 시점 t9 바로 이전의 상태 벡터)(예: 직전 트랜잭션의 발생에 대응하여 업데이트된, 엣지의 상태 벡터)(예: s2,6(t-))(901)를 게이트 순환 유닛 셀(1301)의 입력으로 넣어 엣지의 현재 상태 벡터(예: s2,6(t9))(1311)를 획득할 수 있다. 직전 트랜잭션은 트랜잭션의 발생 시점(예: 시점 t9) 직전에 발생된 트랜잭션일 수 있다. 직전 트랜잭션은 노드 또는 엣지 별로 상이할 수 있다.
도 13을 참조하면, 트랜잭션 사기 탐지 장치(100))는 엣지(예: v2,6)의 현재 상태 벡터(예: s2,6(t9))(1311)를 노드들(예: v2, v6)에 전파할 수 있다. 전파된 현재 상태 벡터(1311)는 메일 박스(910, 920)에 각각 저장될 수 있다.
EAU-TGN은 비동기적으로 시간별 상태 벡터를 업데이트함으로써, E-TGN과 달리 가장 최근 정보를 반영하지는 않는 네트워크일 수 있다. 그러나 EAU-TGN은 바로 직전의 정보를 반영하지 못할 뿐 엣지와 노드의 상태 벡터가 시간에 따른 그래프의 동적성을 반영한 네트워크일 수 있다. 또한 EAU-TGN은 풍부한 컴퓨팅 자원을 활용하여 업데이트 시점과 현재 시점 간의 간극을 줄일 수 있고, 임베딩 벡터의 추출에서 상당한 속도 향상을 통해 빠르게 사기를 탐지할 수 있다.
도 15는 일 실시예에 따른, E-TGN 및 EAU-TGN의 성능을 설명하기 위한 그래프이다.
트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))의 사기 탐지 성능은 트랜잭션 사기의 대표적인 사례인 카드 트랜잭션 사기 데이터셋을 사용하여 평가하도록 한다. 두 데이터셋 모두 거래 시간을 기준으로 트랜잭션을 정렬하고 가장 먼저 발생한 트랜잭션부터 총 데이터량의 70%에 해당하는 트랜잭션까지를 학습 데이터로, 나머지 30%의 데이터를 반으로 나누어 각각 검증용 데이터와 테스트용 데이터로 사용한다. 실제 금융 트랜잭션 데이터에서 개인 정보보호 문제로 인해 사용자에 대한 개인 정보는 비식별화되거나 공개되지 않는 점을 고려하여 트랜잭션 자체에 대한 데이터만 사용하도록 한다. 데이터셋은 하기의 표 1에 도시되어 있다.
[표 1]
Figure 112023010807836-pat00008
도 15를 참조하면, 두 가지 데이터셋(예: Sparkov, IBMv2)에 대한, 트랜잭션 사기 탐지 장치(100)가 활용하는 모델(예: E-TGN, EAU-TGN) 및 베이스라인 모델(예: TGN, APAN)의 수신자 조작 특성 곡선을 나타내는 그래프(1501, 1502)를 확인할 수 있다. 두 가지 데이터셋 모두에서 모델(예: E-TGN, EAU-TGN)의 수신자 조작 특성 곡선이 다른 베이스라인 모델(예: TGN, APAN)의 수신자 조작 특성 곡선보다 항상 위에 있는 것을 확인할 수 있다. 특히 거짓 양성 비율을 낮게(e.g., 0.2) 제한할 때 모델(예: E-TGN, EAU-TGN)이 다른 베이스라인 모델들보다 우수한 성능을 보이며, 이는 사기가 아닌 거래 중 사기로 잘못 분류한 거래가 적을 때 사기인 거래 중 사기로 맞게 분류한 거래가 많음을 의미하는 것일 수 있다.
도 16은 일 실시예에 따른, E-TGN 및 EAU-TGN의 추론 속도를 설명하기 위한 그래프이다. 도 17은 일 실시예에 따른, E-TGN 및 EAU-TGN의 훈련 속도를 설명하기 위한 그래프이다.
학습한 사기 탐지 모델을 실제 산업 환경에서 사용하기 위해서는 좋은 성능뿐 아니라 빠른 속도 또한 보장되어야 한다. 따라서 사기 탐지 태스크를 해결하기 위한 신경망을 설계할 때 추론 속도는 심도 있게 고려되어야 할 요소 중 하나이다.
도 16을 참조하면, 200개의 트랜잭션에 대해 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))가 활용하는 모델(예: E-TGN, EAU-TGN)과 베이스라인 모델(예: TGN, APAN)의 평균 추론 시간을 측정한 결과를 확인할 수 있다. EAU-TGN은 베이스라인 모델 TGN에 비해 최대 4.36배 빠른 추론 속도를 가질 수 있다. 또한 EAU-TGN은 E-TGN과 비교하여 Sparkov 데이터셋에서는 약 14.96배, IBMv2 데이터셋에서는 약 38.90배 빠르게 사기를 탐지할 수 있다. EAU-TGN은 사전 전파된 이웃의 상태 벡터를 활용하므로, 그래프의 규모 증가에 따른 영향을 최소화할 수 있어 장기적으로 보았을 때 매우 실용적인 모델이라 할 수 있다.
도 17을 참조하면, 추론 시간이 줄어듦에 따라 같이 줄어든, 모델 별 학습 시간을 확인할 수 있다. EAU-TGN의 한 에폭당 학습 시간은 E-TGN에 비해 최대 91.8% 줄어든 것을 확인할 수 있다. EAU-TGN의 경우, 한 에폭당 약 이백만 건의 트랜잭션에 대해 30 ∼ 45분의 학습 시간이 소요되며 전체 학습 시간은 약 1일 정도 소요되었다.
전술한 바와 같이, 트랜잭션 사기 탐지 장치(100)는 엣지에 기반하여, 그래프의 동적성을 인코딩할 수 있다. 트랜잭션 사기 탐지 장치(100)는 E-TGN((Edge-based Temporal Graph attention Networks) 및/또는 EAU-TGN(Edge-based Asynchronous Update Temporal Graph attention Networks)에 기초하여, 트랜잭션 사기 탐지를 수행할 수 있다. E-TGN는 도 2 내지 도 7을 통해, 그리고 EAU-TGN는 도 8 내지 도 14를 통해 자세히 설명하였다.
트랜잭션 사기 탐지 장치(100)는 엣지의 상태 벡터를 업데이트하고, 업데이트된 엣지의 상태 벡터에 기초하여 노드의 상태 벡터를 업데이트할 수 있다. 트랜잭션 사기 탐지 장치(100)는 엣지에 기반한 E-TGN에 기초하여, 트랜잭션의 사기 탐지를 정확하게 수행할 수 있다.
트랜잭션 사기 탐지 장치(100)는 상태 벡터의 업데이트를 비동기적으로 수행할 수도 있다. 트랜잭션 사기 탐지 장치(100)는 사전 전파된 상태 벡터를 활용하는 EAU-TGN에 기초하여, 트랜잭션의 사기 탐지를 빠르고 정확하게 수행할 수 있다.
도 18은 일 실시예에 따른, E-TGN 기반 트랜잭션 사기 탐지 방법을 설명하기 위한 흐름도이고, 도 19는 일 실시예에 따른, EAU-TGN에 기반한 트랜잭션 사기 탐지 방법을 설명하기 위한 흐름도이다.
도 18 및 도 19를 참조하면, 일 실시예에 따르면, 동작 1810 내지 1850 또는 동작 1910 내지 1940은 순차적으로 각각 수행될 수 있지만, 이에 한정되는 것은 아니다. 예를 들어, 둘 이상의 동작들이 병렬적으로 수행될 수 있다. 동작 1810 내지 1850 또는 동작 1910 내지 1940은 도 1 내지 도 17을 참조하여 설명한 트랜잭션 사기 탐지 장치(예: 도 1의 트랜잭션 사기 탐지 장치(100))의 동작과 실질적으로 동일할 수 있다. 이에 중복되는 설명은 생략하도록 한다.
동작 1810에서, 트랜잭션 사기 탐지 장치(100)는 트랜잭션의 발생에 대응하여 업데이트된 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성할 수 있다.
동작 1820에서, 트랜잭션 사기 탐지 장치(100)는 전처리된 트랜잭션 정보에 기초하여, 엣지의 상태 벡터를 업데이트할 수 있다.
동작 1830에서, 트랜잭션 사기 탐지 장치(100)는 업데이트된 엣지의 상태 벡터 및 멀티 헤드 어텐션 네트워크에 기초하여, 엣지를 구성하는 노드들의 상태 벡터를 업데이트할 수 있다.
동작 1840에서, 트랜잭션 사기 탐지 장치(100)는 시간적 그래프 어텐션 네트워크에 기초하여, 업데이트된 엣지의 상태 벡터 및 업데이트된 노드들의 상태 벡터로부터, 엣지의 현재 임베딩 벡터(current embedding vector)를 획득할 수 있다.
동작 1850에서, 트랜잭션 사기 탐지 장치(100)는 MLP에 기초하여, 엣지의 현재 임베딩 벡터로부터 트랜잭션의 사기 여부를 판단할 수 있다.
동작 1910에서, 트랜잭션 사기 탐지 장치(100)는 사전 전파된 이웃 엣지의 최근 상태 벡터에 기초하여, 새롭게 발생된 트랜잭션과 연관된 노드들의 현재 임베딩 벡터를 획득할 수 있다.
동작 1920에서, 트랜잭션 사기 탐지 장치(100)는 노드들의 현재 임베딩 벡터를 집계하여, 트랜잭션과 연관된 엣지의 현재 임베딩 벡터를 획득할 수 있다.
동작 1930에서, 트랜잭션 사기 탐지 장치(100)는 MLP에 기초하여, 엣지의 현재 임베딩 벡터로부터 트랜잭션의 사기 여부를 판단할 수 있다.
동작 1940에서, 트랜잭션 사기 탐지 장치(100)는 엣지의 상태 벡터를 비동기적으로 업데이트하여 노드들에 전파할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 트랜잭션 사기 탐지 장치가 수행하는 트랜잭션 사기 탐지 방법에 있어서,
    트랜잭션 사기 탐지 장치가, 트랜잭션의 발생에 대응하여 업데이트된 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작;
    트랜잭션 사기 탐지 장치가, 상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하는 동작;
    트랜잭션 사기 탐지 장치가, 업데이트된 상기 엣지의 상태 벡터 및 멀티 헤드 어텐션 네트워크에 기초하여, 상기 엣지를 구성하는 노드들의 상태 벡터를 업데이트하는 동작; 및
    트랜잭션 사기 탐지 장치가, 시간적 그래프 어텐션 네트워크에 기초하여, 업데이트된 상기 엣지의 상태 벡터 및 업데이트된 상기 노드들의 상태 벡터로부터, 상기 엣지의 현재 임베딩 벡터(current embedding vector)를 획득하는 동작
    을 포함하고,
    상기 엣지는, 상기 트랜잭션에 대응되는 것이고,
    상기 노드들은, 상기 트랜잭션의 참여자에 각각 대응되는 것이고,
    상기 멀티 헤드 어텐션 네트워크는, 상기 노드들의 상태 벡터를 업데이트 하기 위해, 상기 노드들과 연관된 엣지들의 최신 상태 벡터를 집계하기 위한 것인,
    트랜잭션 사기 탐지 방법.
  2. 제1항에 있어서,
    상기 전처리된 트랜잭션 정보는,
    상기 트랜잭션의 시간/날짜 정보, 상기 트랜잭션과 직전 트랜잭션의 시간 차이 정보, 및 상기 트랜잭션의 금액 정보
    를 포함하고,
    상기 직전 트랜잭션은,
    상기 트랜잭션의 발생 시점 직전에 발생된 것인,
    트랜잭션 사기 탐지 방법.
  3. 제2항에 있어서,
    상기 시간/날짜 정보 및 상기 시간 차이 정보는 벡터로 변환된 것이고,
    상기 금액 정보는 로그 변환이 수행된 것인,
    트랜잭션 사기 탐지 방법.
  4. 제1항에 있어서,
    상기 엣지의 상태 벡터를 업데이트하는 동작은,
    게이트 순환 유닛 셀에 기초하여, 상기 엣지의 최근 상태 벡터(recent state vector) 및 상기 전처리된 트랜잭션 정보로부터, 상기 엣지의 현재 상태 벡터(current state vector)를 획득하는 동작
    을 포함하는, 트랜잭션 사기 탐지 방법.
  5. 제4항에 있어서,
    상기 엣지의 현재 상태 벡터는,
    상기 트랜잭션의 발생에 대응하여 업데이트된 것이고,
    상기 엣지의 최근 상태 벡터는,
    직전 트랜잭션의 발생에 대응하여 업데이트된 것인,
    트랜잭션 사기 탐지 방법.
  6. 제1항에 있어서,
    상기 노드들의 상태 벡터를 업데이트하는 동작은,
    상기 엣지의 현재 상태 벡터, 상기 노드들의 최근 상태 벡터, 및 상기 노드들 중 어느 하나와 연결된 엣지의 최근 상태 벡터에 기초하여, 상기 노드들의 현재 상태 벡터를 획득하는 동작
    을 포함하는, 트랜잭션 사기 탐지 방법.
  7. 제1항에 있어서,
    상기 시간적 그래프 어텐션 네트워크는,
    상기 엣지의 이웃들의 상태 벡터를 집계(aggregate)하는 복수의 계층을 포함하고,
    상기 복수의 계층은,
    상기 엣지의 1-hop 이웃인, 노드들의 상태 벡터를 집계하는 어텐션 계층; 및
    상기 엣지의 2-hop 이웃인, 엣지들의 상태 벡터를 집계하는 어텐션 계층
    을 포함하는, 트랜잭션 사기 탐지 방법.
  8. 제7항에 있어서,
    순차적으로 연결된 상기 복수의 계층 각각은,
    상기 트랜잭션의 발생 시점과 이웃의 최근 업데이트 시점의 차이 및 이전 계층의 출력을, 입력으로 하는 것인,
    트랜잭션 사기 탐지 방법.
  9. 제1항에 있어서,
    MLP(Multi-Layer Perceptron)에 기초하여, 상기 엣지의 현재 임베딩 벡터로부터 상기 트랜잭션의 사기 여부를 판단하는 동작
    을 더 포함하는, 트랜잭션 사기 탐지 방법.
  10. 제1항에 있어서,
    상기 엣지는,
    삼분 그래프를 통해 가상의 노드로 구현된 것인,
    트랜잭션 사기 탐지 방법.
  11. 제10항에 있어서,
    상기 삼분 그래프는,
    엣지를 구성하는 두 노드가 동일한 멀티 엣지를, 하나의 가상의 노드로 구현하는 것인, 트랜잭션 사기 탐지 방법.
  12. 트랜잭션 사기 탐지 장치가 수행하는 트랜잭션 사기 탐지 방법에 있어서,
    트랜잭션 사기 탐지 장치가, 사전 전파된 이웃 엣지의 최근 상태 벡터에 기초하여, 새롭게 발생된 트랜잭션과 연관된 노드들의 현재 임베딩 벡터를 획득하는 동작;
    트랜잭션 사기 탐지 장치가, 상기 노드들의 현재 임베딩 벡터를 집계하여, 상기 트랜잭션과 연관된 엣지의 현재 임베딩 벡터를 획득하는 동작;
    트랜잭션 사기 탐지 장치가, MLP(Multi-Layer Perceptron)에 기초하여, 상기 엣지의 현재 임베딩 벡터로부터 상기 트랜잭션의 사기 여부를 판단하는 동작; 및
    상기 엣지의 상태 벡터를 비동기적으로 업데이트하여 상기 노드들에 전파하는 동작
    을 포함하고,
    상기 노드들은, 상기 트랜잭션의 참여자에 각각 대응되는 것이고,
    상기 엣지는, 상기 트랜잭션에 대응되는 것이고,
    상기 이웃 엣지는,
    상기 노드들 중 어느 하나의 1-hop 이웃인, 상기 노드들 중 적어도 하나와 연결된 엣지를 포함하고,
    상기 사전 전파된 이웃 엣지의 최근 상태 벡터는,
    상기 노드들의 현재 임베딩 벡터의 획득에 이용되는 것으로써, 현재 임베딩 벡터와는 비동기적으로 업데이트되어 사전 전파된 것인,
    트랜잭션 사기 탐지 방법.
  13. 제12항에 있어서,
    상기 비동기적으로 업데이트하여 상기 노드들에 전파하는 동작은,
    상기 트랜잭션의 발생에 대응하여 업데이트된 상기 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작; 및
    상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하여 상기 노드들에 전파하는 동작
    을 포함하는, 트랜잭션 사기 탐지 방법.
  14. 제13항에 있어서,
    상기 전처리된 트랜잭션 정보는,
    상기 트랜잭션의 시간/날짜 정보, 상기 트랜잭션과 직전 트랜잭션의 시간 차이 정보, 및 상기 트랜잭션의 금액 정보
    를 포함하는, 트랜잭션 사기 탐지 방법.
  15. 제14항에 있어서,
    상기 시간/날짜 정보 및 상기 시간 차이 정보는 벡터로 변환된 것이고,
    상기 금액 정보는 로그 변환이 수행된 것인,
    트랜잭션 사기 탐지 방법.
  16. 제12항에 있어서,
    상기 엣지는,
    삼분 그래프를 통해 가상의 노드로 구현된 것인,
    트랜잭션 사기 탐지 방법.
  17. 제16항에 있어서,
    상기 삼분 그래프는,
    엣지를 구성하는 두 노드가 동일한 멀티 엣지를, 하나의 가상의 노드로 구현하는 것인, 트랜잭션 사기 탐지 방법.
  18. 인스트럭션들을 포함하는 메모리; 및
    상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고,
    상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는 복수의 동작들을 수행하고,
    상기 복수의 동작들은,
    트랜잭션의 발생에 대응하여 업데이트된 엣지의 속성에 기초하여, 전처리된 트랜잭션 정보를 생성하는 동작;
    상기 전처리된 트랜잭션 정보에 기초하여, 상기 엣지의 상태 벡터를 업데이트하는 동작;
    업데이트된 상기 엣지의 상태 벡터 및 멀티 헤드 어텐션 네트워크에 기초하여, 상기 엣지를 구성하는 노드들의 상태 벡터를 업데이트하는 동작; 및
    시간적 그래프 어텐션 네트워크에 기초하여, 업데이트된 상기 엣지의 상태 벡터 및 업데이트된 상기 노드들의 상태 벡터로부터, 상기 엣지의 현재 임베딩 벡터(current embedding vector)를 획득하는 동작
    을 포함하고,
    상기 엣지는 상기 트랜잭션에 대응되는 것이고,
    상기 노드들은 상기 트랜잭션의 참여자에 각각 대응되는 것이고,
    상기 멀티 헤드 어텐션 네트워크는, 상기 노드들의 상태 벡터를 업데이트 하기 위해, 상기 노드들과 연관된 엣지들의 최신 상태 벡터를 집계하기 위한 것이고,
    상기 시간적 그래프 어텐션 네트워크는,
    상기 엣지의 이웃들의 상태 벡터를 집계(aggregate)하는 복수의 계층을 포함하고,
    상기 복수의 계층은,
    상기 엣지의 1-hop 이웃인, 노드들의 상태 벡터를 집계하는 어텐션 계층; 및
    상기 엣지의 2-hop 이웃인, 엣지들의 상태 벡터를 집계하는 어텐션 계층
    을 포함하는, 트랜잭션 사기 탐지 장치.
  19. 제18항에 있어서,
    상기 복수의 동작은,
    MLP(Multi-Layer Perceptron)에 기초하여, 상기 엣지의 현재 임베딩 벡터로부터 상기 트랜잭션의 사기 여부를 판단하는 동작
    을 더 포함하는, 트랜잭션 사기 탐지 장치.
  20. 삭제
KR1020230011854A 2023-01-30 2023-01-30 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치 KR102521246B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230011854A KR102521246B1 (ko) 2023-01-30 2023-01-30 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230011854A KR102521246B1 (ko) 2023-01-30 2023-01-30 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치

Publications (1)

Publication Number Publication Date
KR102521246B1 true KR102521246B1 (ko) 2023-04-14

Family

ID=85946699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230011854A KR102521246B1 (ko) 2023-01-30 2023-01-30 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치

Country Status (1)

Country Link
KR (1) KR102521246B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102663767B1 (ko) * 2023-07-04 2024-05-07 주식회사 보난자팩토리 Ai기반 가상자산 고위험 지갑주소 db 자동 업데이트 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101828503B1 (ko) * 2017-08-23 2018-03-29 주식회사 에이젠글로벌 앙상블 모델 생성 장치 및 방법
KR20210114308A (ko) * 2020-03-10 2021-09-23 연세대학교 산학협력단 요소 간 관계 추출 기반 이종 얼굴 인식 장치 및 방법
KR102336035B1 (ko) * 2021-06-17 2021-12-07 (주)시큐레이어 그래프 기반 이상 거래 탐지 시스템을 위한 비지도 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR20220124106A (ko) * 2021-03-02 2022-09-13 포항공과대학교 산학협력단 그래프 신경망 기반 가상 네트워크 관리 방법 및 장치
KR20220169778A (ko) * 2021-06-21 2022-12-28 고려대학교 산학협력단 프로그램 코드 처리 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101828503B1 (ko) * 2017-08-23 2018-03-29 주식회사 에이젠글로벌 앙상블 모델 생성 장치 및 방법
KR20210114308A (ko) * 2020-03-10 2021-09-23 연세대학교 산학협력단 요소 간 관계 추출 기반 이종 얼굴 인식 장치 및 방법
KR20220124106A (ko) * 2021-03-02 2022-09-13 포항공과대학교 산학협력단 그래프 신경망 기반 가상 네트워크 관리 방법 및 장치
KR102336035B1 (ko) * 2021-06-17 2021-12-07 (주)시큐레이어 그래프 기반 이상 거래 탐지 시스템을 위한 비지도 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR20220169778A (ko) * 2021-06-21 2022-12-28 고려대학교 산학협력단 프로그램 코드 처리 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102663767B1 (ko) * 2023-07-04 2024-05-07 주식회사 보난자팩토리 Ai기반 가상자산 고위험 지갑주소 db 자동 업데이트 방법

Similar Documents

Publication Publication Date Title
Sanober et al. An enhanced secure deep learning algorithm for fraud detection in wireless communication
Rathee et al. Adaptive-Miner: an efficient distributed association rule mining algorithm on Spark
Chang et al. Digital payment fraud detection methods in digital ages and Industry 4.0
US20230102337A1 (en) Method and apparatus for training recommendation model, computer device, and storage medium
Ruan et al. GADM: Manual fake review detection for O2O commercial platforms
KR102521246B1 (ko) 엣지 기반 트랜잭션 사기 탐지 방법 및 이를 수행하는 장치
US11983720B2 (en) Mixed quantum-classical method for fraud detection with quantum feature selection
US10812500B2 (en) Method of cyberthreat detection by learning first-order rules on large-scale social media
CN115795000A (zh) 基于联合相似度算法对比的围标识别方法和装置
CN113609345A (zh) 目标对象关联方法和装置、计算设备以及存储介质
Achary et al. Fraud detection in banking transactions using machine learning
Abdul Salam et al. Federated learning model for credit card fraud detection with data balancing techniques
Chao et al. Network Embedding‐Based Approach for Detecting Collusive Spamming Groups on E‐Commerce Platforms
Tang et al. Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU‐Accelerated Spark Platform
Shekhar et al. Entity resolution in dynamic heterogeneous networks
JP7236501B2 (ja) 文書類似度学習に基づくディープラーニングモデルの転移学習方法およびコンピュータ装置
CN115758271A (zh) 数据处理方法、装置、计算机设备和存储介质
Meng et al. Decoupling graph neural network with contrastive learning for fraud detection
CN114168804A (zh) 一种基于异质子图神经网络的相似信息检索方法和系统
Purwar et al. DBSCANI: noise-resistant method for missing value imputation
Kr Dutta et al. Affinity propagation based closed-form semi-supervised metric learning framework
Dang et al. Evaluating the contribution of relationship information in detecting fraud using graph neural networks
Goel et al. Classification Of Positive And Negative Fake Online Reviews Using Machine Learning Techniques
Yin et al. A review of learning-based E-commerce
Zhang et al. Data driven business rule generation based on fog computing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant