일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- torchserve
- datascience
- GCP
- Kaggle
- 네이버AItech
- wandb
- PytorchLightning
- leetcode
- DeepLearning
- rnn
- FDS
- vscode
- 프로그래머스
- FastAPI
- Matplotlib
- Kubernetes
- 백준
- 알고리즘
- GitHub Action
- NLP
- NaverAItech
- github
- GIT
- pep8
- docker
- 완전탐색
- pytorch
- python
- autoencoder
- 코딩테스트
- Today
- Total
Sangmun
Credit Card Fraud Detection Using Autoencoder Neural Network 논문 리뷰 본문
회사에서 이상금융거래 탐지 시스템을 운영하는 관계로 자연스럽게 해당 주제에 관심을 가지게 되어 찾아보게된 논문이다. 금융에서의 FD(Fraud Detection)문제도 다른 산업의 이상치 탐지 or 분석 문제와 궤를 같이하는 면이 많고, 또한 autoencoder를 기본으로 활용한 방안을 많이 찾아볼 수 있었다.
FDS를 구축하게 된다면 해당 논문의 내용만으로 이상금융거래 탐지에서 큰 효과를 얻기에는 힘들겠지만 대부분의 탐지 시스템에서 근간이 될 수 있는 내용임으로 해당 논문은 많은 도움이 될 수 있는 내용이라 생각한다.
# 출처 : https://arxiv.org/ftp/arxiv/papers/1908/1908.11553.pdf
1. 서론
서론은 대부분의 금융사기관련 논문들이 그러하듯 전자금융거래가 증가함과 동시에 전자금융거래의 허점을 이용한 사기도 함께 늘고 있다는 내용이다. 또한 이상금융거래 탐지 문제의 기본적인 특징도 언급해준다. 이상금융거래 탐지 문제의 특징은 아래와 같다.
* 이진분류문제
* 불균형한 데이터 세트( 대부분의 거래가 정상거래이고 이상금융거래는 전체 거래의 0.1% 정도를 차지한다 )
* 불균형한 데이터 세트 문제를 해결하기 위한 Minority class 샘플링 기법의 사용
이에 따라 해당 논문은 오버샘플링(SMOTE)기법을 이용하여 균형한 데이터 세트를 만들고 만들어진 균형한 데이터세트를 다시 Denoising autoencoder로 정제하여 이진분류를 하는 방법을 제안하였다.
2. 배경
해당 단락은 해당 논문에 사용된 기본적인 기법들에 대한 배경 설명이다.
* Autoencoder
위는 Autoencoder의 기본적인 구조이며 기본적으로 Feedforward network와 다른점은 한가지를 제외하고 없다. 한가지 제일 중요한 차이점은 input 의 차원 수와 output의 차원수가 동일해야된다는 점이다.
따라서 Autoencoder가 하는 역할은 입력 받은 input의 차원을 저차원으로 줄이는 encoding층을 거쳐 다시 원래 차원으로 원복시키는 decoding층을 통과 시킴으로써 input 값을 원복시키는 것이다.
* Denoising Autoencoder
Denoising Autoencoder는 입력받은 데이터가 손실되었을 경우에도 원래 데이터로 원복할 수 있는 기법을 학습시키는 네트워크이며, 보통 입력층에 Dropout을 적용하거나 Gaussian Noise를 추가하여 학습을 시킨다. 해당 논문에서는 입력층에 Gaussian Noise를 추가시키는 방법을 적용하였다.
* Oversampling
불균형한 데이터 세트를 동일하게 맞추기 위한 기법이며 Minority class를 majority class와 동일한 수로 맞추어 주는 기법이다.
그 외 기법으로는 majority class를 Minority class와 동일하게 맞추어 주는 Undersampling, 두 방법을 적절히 혼용하는 Hybrid 접근 방법이 있다.
* Classification fully connected model and Model evaluation metric
데이터 샘플링과 정제를 끝낸 이후 분류를 위한 네트워크는 Feedfoward network를 구성하였으며 출력측에 Softmax 함수를 적용하였다.
모델의 성능을 측정하기 위한 metric으로는 Recall를 사용하였다. 불균형한 데이터세트 분류 문제가 그러하듯 단순하게 Accuracy를 metric으로 사용한다면 이상금융거래 같은 문제는 단순히 분류기가 모든 거래를 정상거래로 판단하여 Accuracy가 99%가 나올것임으로 해당 metric은 이상금융거래 분류 문제에서 사용할 수 가 없다.
3. 방법론
해당 방법론을 테스트하기 위한 데이터 세트는 kaggle의 Credit Card Fraud Detection 데이터를 활용하였다.
# 출처 : https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud
해당 데이터 세트의 특징은 실제 데이터 세트라는 점이며 개인정보보호를 위하여 Time과 Amount를 제외한 모든 컬럼들이 표준화 되어있으며 컬럼명이 'V1 ~ V28'로 어떠한 특징인지 알아보지 않게 처리가 되어있다.
해당 데이터 세트는 기본적인 전처리는 이미 수행되어 있고 본 논문에서 제안한 아래와 같은 과정을 거쳐 추가 전처리 후 분류기로 보내진다.
아래는 본 논문에서 사용된 Denoised autoencoder의 layer 구성이다.
아래는 Classifer의 layer 구성이다.
결과는 아래의 그림과 같다. oversampling과 autoencoder 없이 적용한 모델은 당연하게도 대부분의 거래를 정상으로 판단하게 됨으로써 recall이 0으로 수렴하였다. 반대로 본 논문의 기법을 적용한 모델은 임계치가 0.6일때 정도에 가장 높은 성능을 보여주었다.
아래는 임계치별 metric 이다.
4. 결론
결론은 위에 언급한것과 같이 0.6일때 가장 좋은 성능을 보여주었다는 내용이다. 또한 본 논문에서 사용된 데이터는 상대적으로 차원이 적은 데이터임으로 추후에 좀 더 많은 차원을 가진 데이터를 대상으로 하는 autoencoder 혹은 차원축소 기법에 대한 연구가 필요하다는 내용으로 마무리 한다.
개인적인 의견으로는 본 논문에서 제안된 기법은 많은 도움이 되는 내용이나, oversampling된 데이터에 denoised autoencoder를 적용해서 어떻게 데이터 세트가 변화되었는지 기술되지 않은점과 비교대상 모델이 단순히 아무것도 적용되지 않은 단순한 Feedfoward 네트워크라는점은 약간은 아쉬운 점인 것 같다.
다음엔 역시 autoencoder를 활용한 다양한 블로그 글을 리뷰해보려고 한다.