거래 이상탐지 시스템 프로젝트

핀테크 보안의 핵심, 이상 거래 탐지 시스템에 대하여


③ 딥러닝 편, 강*완 님


  • 간편결제, 개인화 추천 등 데이터를 활용한 기술이 발전하는 만큼 성장하는 분야가 있습니다. 바로, 금융 사기와 관련된 보안 기술입니다.

    데이터 전문가를 길러내는 커넥to 데이터 사이언스에서는 금융 기관의 ‘이상 거래 탐지 시스템’에 대해 어떻게 배우고 있을까요? 강*완 수강생에게 직접 들어봤습니다.

Q. 안녕하세요. 자기소개 부탁드립니다.


안녕하세요. 컴퓨터공학을 전공한 강*완입니다. 대학교 3학년 때 가상현실과 로봇을 연구하는 연구실에 들어가 가상공간 설계, 시뮬레이터 개발 등 프로젝트를 진행한 경험이 있습니다. 운영체계, 메모리, 가상현실 등 접하는 분야마다 재밌었고, 분산 시스템과 관련한 수업을 들으면서 데이터 직무에 대한 관심을 갖게 됐습니다. 취업 준비 과정에서 관심 있는 직무들의 JD(Job Description)를 보니 데이터 수집하거나 가공하고 분석하는 능력이 필요할 것 같다는 생각이 들어 커넥to에 지원해 공부하고 있습니다.

제로베이스 네카라쿠배 데이터 사이언스

△ 커넥to 데이터 사이언스 1기 강*완 님

Q. 오늘 설명해 주실 ‘이상 거래 탐지 시스템’은 어떤 개념인가요?


이상 거래 탐지 시스템 (FDS, Fraud Detection System)은 전자 금융거래 시, 단말기 정보와 접속 정보 거래 정보 등을 수집 및 분석하여 이상 금융 거래를 차단하는 기술입니다. IT 기술이 급속히 증가하면서 핀테크 산업 역시 급부상했습니다. 이로 인해 간편 결제 시스템이 출시되었고, 결제 방법이 간단해지면서 보안 절차들은 사라졌고, 이와 동시에 신종 금융 사기에 취약해졌죠. 이러한 이유로 발생한 금융 범죄, 신종 사기를 AI를 활용해 탐지하는 것이라고 생각하시면 될 것 같습니다.

예전에는 전형적인 사기라고 판단된 경우에만 예측이 가능했다면, 이제는 딥러닝 기술이 나오면서 금융권에서도 탐지 시스템을 도입해 실시간으로 발생하는 신종 범죄에 대해 대응하고 있습니다. 오늘은 그 시스템의 동작 과정을 간단히 설명해드리고자 합니다.

이상 거래 탐지 학습 블로그

Q. 오늘날 꼭 필요한 기술이네요. 은행에서는 어떤 경우에 이상 거래가 일어났다고 판단하나요? 


금융, 생활 정보를 취합해 판단하는데요. 이를테면 어떤 이용자가 카드를 결제하는 패턴이 있겠죠. 오전에는 교통비, 저녁에는 야식 등 소비 패턴이 다 저장이 되겠죠. 금액대도 그렇고요. 그런데 갑자기 새벽 시간에 천만 원을 거래한다면 비정상 거래라고 탐지해요. 보통 오전에는 출근하니까요. 이런 식의 거래를 은행에서는 비정상 거래라고 본다고 들었습니다.

Q. 이상 거래 탐지 시스템, 어떻게 이루어지나요? 전 과정을 설명해주세요.


금융거래 데이터는 데이터의 불균형이 엄청나게 크다는 특징이 있어요. 제가 데이터 사이언스에서 활용한 데이터는 캐글에서 제공받은 데이터인데요. 22만 개의 데이터 중 정상적인 데이터는 99.8%였고, 비정상 데이터는 0.2%에 불과했습니다. 수치적으로 보면 비정상 거래 데이터는 440개밖에 없었죠. 상대적으로 정말 적은 숫자지만 AI 기술로 이를 감지해야 한다는 게 목표예요.

정상인지 비정상인지를 분류하는 AI 모델로는 랜덤 포레스트, xg boost라는 트리 모델을 가장 많이 사용하는데요. 여기서 가장 중요한 포인트는 정상 데이터와 비정상 데이터의 비율을 1:1로 맞춰야 한다는 점입니다. (*랜덤 포레스트에 대해 더 알고 싶다면 여기를 참조해주세요.)


1:1로 맞추려면 두 가지 방법이 있습니다. 더 많은 수의 데이터를 작은 데이터에 맞추는 것을 다운 샘플링(Down sampling), 반대를 업 샘플링(Up sampling)이라고 하는데요. 이상 거래 탐지처럼 아주 불균형이 심한 경우에는 둘다 사용하지 않는다고 배웠어요. 그래서 SMOTE라고 하는, 비정상 데이터의 표본을 뽑아서 이들만의 특성을 가진 것을 임의로 생성하는 기술을 활용해 보았습니다. 440개의 비정상 데이터에서 440개의 특성을 골라 99.8%까지 만들어요. 그렇게 되면 비율이 1:1이 되겠죠. 이제 학습시킬 준비가 된 겁니다. 그렇게 마련한 비정상 데이터 2만 개를, 정상 데이터 2만 개와 학습시켰습니다.

이때는 정상-비정상 분류만 하면 되기 때문에 회귀 분류를 사용했는데, 예측 정확도가 높지 않았어요. 그래서 다른 분류법들을 활용해 봤고, 결과적으로는 xg boost의 정확도가 가장 높았습니다. 비정상 데이터 중에서는 88%, 정상 거래에서는 99%의 결과를 얻을 수 있었습니다.

Q. 숫자나 데이터 레이블을 보고 비정상 데이터라고는 어떻게 판단하나요?


제가 활용한 데이터는 28가지였어요. 숫자로만 보면 알 수 없으니 Box Plot 형식으로 그림을 그려봤습니다. 0에서 벗어나서 너무 위나 아래에 있다면 비정상이라고 라벨링을 할 수 있었습니다. 아쉽게도 현재는 이미 비정상 데이터라고 판별된 데이터를 받았기 때문에, 직접 이를 가르는 작업은 해보지 못했지만 실제 이상 거래 탐지에서는 아주 많은 데이터, 비정상 데이터를 판별, 학습시켜야 겠죠.

이상 거래 탐지 학습 블로그

Q. 이상 거래 탐지라는 주제를 선정한 이유가 있나요?


데이터 관련 다양한 주제 중, 신용 이상 탐지 데이터셋을 다루면서 이상 거래(Anomaly detection)에 대해 처음 알게 되었습니다. 정상 데이터에 비해 비정상 데이터는 엄청나게 적게 발생됨에도 불구하고, 딥러닝을 활용한 이상 거래 탐지 모델이 높은 정확도로 ‘비정상'데이터를 예측하는 부분에 흥미를 갖게 되어 이 주제를 선정하게 되었습니다.

Q. 이상 거래 탐지 관련해서 눈여겨 보고 있는 이슈가 있다고요. 어떤 건가요?


말씀드렸듯이 이상 거래 탐지는 금융권에서 보안의 측면에서 핵심이라고 할 수 있는데요. 작년부터 금융권에서는 ‘마이데이터’라고 하는 데이터 관련 이슈가 뜨거워졌습니다. 마이데이터는 개인의 금융, 생활, 통신, 의료 등 다양한 분야의 데이터를 기업이 활용할 수 있는 건데요. 어떤 상권에서 어떻게 소비하는지, 의료, 교육 정보는 어떤지 등을 금융권에서도 만질 수 있게 되었습니다. 이렇게 수집된 데이터를 활용해 더 좋은 서비스, 더 다양한 사업이 등장할 수 있을 것 같습니다. 그동안 데이터 전문가가 다루는 데이터는 한정적이라고 생각했는데, 마이데이터를 통해 더 다양한 사업에 기여하고, 활약할 수 있지 않을까 해서 큰 기대가 됩니다.

Q. 데이터 사이언스에서 진행한 프로젝트는 어땠나요?


최근에 커넥to에서 머신러닝 프로젝트를 했어요. 저희 팀은 고용노동부에서 받은 설문 데이터를 토대로 직업을 추천해 주는 시스템을 만드는 프로젝트를 했습니다. 취업률도 낮고, 어떤 직업을 고를지 막막하고, 무작정 공무원을 준비하는 게 시류인 요즘 시대에 개인에게 꼭 맞는 직업을 골라주고, 능력에 맞게 추천해 주는 취지였죠.

가장 큰 문제점은 고려할 특성이 많다는 점, 데이터 타입이 다르다는 점이었어요. 서베이에 150개의 특성(문항)이 있었는데 하나하나 영향을 미치는 정도가 달랐어요. 전공이나 자격증은 직업 선택에 비교적 큰 영향을 주지만, 가까운 거리, 따뜻한 환경 같은 질문은 큰 요소가 아니었죠. 그리고 5개의 척도로 답변된 문항이 있는가 하면, 주관식으로 답한 문항도 있었죠. 주관식의 경우에는 물론 자연어 처리 AI 모델을 활용할 수 있지만, 상당 부분은 컴퓨터가 이해할 수 있도록 수기로 데이터를 정제했습니다.

이러한 과정을 거치면서 중요한 특성을 찾기 위해 무한정 학습시켰어요. 150개에서 중요한 요소 40개만 간추려 직업 추천 모델을 만들었습니다. 재밌었던 것은 40개 질문 중 중요도가 높다고 컴퓨터가 판단한 상위권 질문들이었어요. ‘전공은 무엇인지, 어떤 자격증이 있는지, 글을 잘 쓰는지, 경청하는지, 상대방의 말을 잘 이해하는지’인데요. 실제로도 언어 능력, 직무 능력이 실제로도 중요하잖아요. 컴퓨터에게 알려주지 않았는데 스스로 학습하고, 예측한 과정이 정말 신기했어요.

결론적으로는 580개의 직업 중에서 응답자에게 직업 10가지를 추천해 주었는데, 실제 80% 정도의 확률로 (현재 직업과) 비슷하게 나왔어요. 직접 직업 추천 모델을 만들고, 이를 테스트하는 과정이 재밌고 신기했습니다.

Q. 데이터 사이언스 수료 후, 어떤 커리어를 생각하고 계신가요?


데이터 사이언스 입과 전에는 데이터 직무에 관심을 가지긴 했지만 데이터 분석에 관해서는 단 하나도 모르는 상태였어요. 데이터 분석의 과정을 배우고, 각 산업 분야에 맞게 분석해 보는 걸 경험할 수 있어 만족스럽고 또 새롭고 재밌습니다. 커넥to 데이터 사이언스에서는 집값 예측, 신용 금융 데이터, 사람의 움직임을 데이터로 해놓은 HR 데이터셋 등 정말 많은 종류의 데이터를 다뤄볼 수 있었죠.

저는 성향 상 욕심이 많은 편이에요. 대학에서 Digital twin이라는 기술을 접하면서 본격적으로 데이터 분야로 진로를 생각하게 되었는데, 데이터 사이언티스트로 일을 하면서도 데이터도 처리하고, 분석해 인사이트도 얻고 나누고 싶었어요.

데이터 전반을 모두 익히고, 데이터 분석가, 데이터 엔지니어, 데이터 사이언티스트라는 세 가지 직무에 모든 가능성을 열어두고 준비하고 있습니다.

Q. 끝으로 커넥to 과정 수료까지 각오 한마디 들려주세요.


데이터 사이언스 직무 수요가 개발자만큼 많지 않고 직무 허들도 높아서 같이 공부하는 수강생분들이 고민하는 것 같습니다. 커넥to 프론트엔드 1기분들처럼 좋은 결과를 낼 수 있을까 불안해하고요. 하지만 저는 부족한 점은 부족한 거고, 여기에서 더 역량을 쌓아서 어떻게든 해보면 되지 않을까 생각합니다. 커넥to 수업 시간에는 데이터 분석에 맞춰서 공부하고 있고, 밤 11시부터는 개인적으로 데이터 엔지니어 파트를 따로 공부하고 있어요. 물론 힘들지만 강의, 수업 자료, 프로젝트, 공부 환경 등 많은 것들을 제공해 주시기 때문에 저 또한 열심히 해서 좋은 결과를 내야겠죠. 계속해서 격려하고 응원하면서 끝까지 해볼 생각입니다.

제로베이스 데이터 사이언스 스쿨은 제로베이스 데이터 취업 스쿨과 같은 과정입니다.


추천 컨텐츠