머신 러닝의 세 가지 모델 : 의사 결정 트리, 베이지안, k평균 군집분석
[보안뉴스 문가용 기자] 요즘 보안 관련 컨퍼런스나 발표회에 가면 반드시 나오는 말이 있다. “우리가 현재 최고의 AI 기술을 보유하고 있다!” 그런데 그런 사람들에게 “그래서 결국 그게 무슨 뜻인가?”하고 물으면 대부분 덜 발달된 기계처럼 홍보 문구만 영혼 없이 읊기 시작해, 아, 저 사람 본인이 인공지능이었었나, 하고 놀라게 된다. 이제 당신네 회사가 인공지능을 보유하고 있는지 아닌지는 소비자들의 관심사가 아니다. 그 인공지능이 할 수 있는 역할과 그 원리를 설명해줄 수 있어야 한다.
ⓒ iclickart
하지만 보안 업체들이라고 해서 인공지능이나 머신 러닝에 대한 완벽한 이해와 전략을 갖추고 있는 건 아니다. 이해한다고 해서 무조건 받아들일 수 있는 것 또한 아니다. 머신 러닝이 제대로 효력을 발휘하려면 많은 데이터를 학습해야 하는데, 충분한 데이터를 줄 수 있는 곳이 많지 않다. 그래서 홍보 문구를 만들기 위한 개념으로서 인공지능을 활용하는 기업이 있는가 하면, 사실은 매우 빠른 패턴 매칭 기술을 인공지능으로 둔갑시키는 곳도 있다.
보안 업체가 급한 마음에 AI에 돈을 허투루 쓰지 않기 위해서는 반드시 숙지해야 할 기본 사항들이 있어서 소개한다. 또한 이 기본사항들은 누군가 “우리 AI 가지고 있어! 최고야!”라고 광고할 때 올바른 질문을 던질 수 있도록 돕기 위한 것이기도 하다.
인공지능이란 무엇이며, 나랑 무슨 상관인가?
인공지능의 정의는 다양하다. 나는 개인적으로 행동을 모니터링하고, 배우고, 그걸 통해 문제 해결을 시도해볼 수 있는 시스템이라고 이해하고 있다. 여기서 중요한 건 문제를 해결한다는 점이다. 예를 들어 인공지능 체스 플레이어를 보자. 인공지능이 체스를 둘 수 있다고 모두가 인정하는 건 그 시스템이 여러 체스의 규칙을 잘 배워서가 아니라, 무궁무진한 가능성 중 하나를 택해 말을 실제로 움직이고 게임에서 이기기 때문이다. 말을 특정한 위치로 움직인다는 것이 문제 해결이고, 이를 위해 기기는 상대의 움직임을 관찰하고 체스를 학습한다.
반면 ‘누가 암산이 더 빠른가?’와 같은 게임을 하는 시스템을 ‘인공지능’이라고 하지는 않는다. 체스와 달리 게임 내에서 할 수 있는 일이 제한적이기 때문이다. 단순 작업 혹은 단순 연산을 빠르게 수행할 수 있다고 해서 우리는 인공지능이라는 용어를 가져다쓰지 않는다. 현재 보안 산업의 상황을 대입하면, 패턴 매칭을 잘 하는 솔루션을 가지고 인공지능이라고 말하는 건 거짓이라는 거다.
그러므로 누군가 인공지능 기능을 갖췄다고 주장한다면, 제일 처음 물어야 할 건 “당신네 인공지능이 하는 게 진짜 문제 해결인가? 뭘 해줄 수 있는가?”다. 이 때 돌아오는 대답이 “구매해서 도입하면 곧바로 사용이 가능하다”거나 “구축이 매우 쉬워서 학습 없이 현장 투입 가능하다”라면, 이름만 인공지능일 가능성이 높다. 패턴 매칭 잘 하는 솔루션이 나쁘다는 게 아니다. 하지만 끊임없이 변하는 현대의 사이버 환경에서 우리가 해야 할 게임은 체스에 가깝다는 것이다.
그 다음으로 물어야 할 질문은 “어떤 종류의 머신 러닝을 활용하고 있는가?”다. 의사 결정 트리 학습(decision tree learning)이라면, 패턴 매칭 시스템에 가장 흔하게 사용되는 것 중 하나다. 의사 결정 트리라면 새롭게 관찰된 내용들을 전에 미리 입력된 결론이나 행위에 연결시키는 기능으로 구성되어 있다. 예를 들면, “이 C2 도메인인이 캡처된 패킷에서 발견되고, 이 해시 값이 네트워크 모니터링 중 탐지되었다면, 이러 저러한 위협 행위자가 개입되어 있는 것”이라는 판단을 한다는 것이다. 이는 분명 일손을 크게 줄여준다는 장점을 가지고 있다. 하지만 우리가 인공지능에 기대하는 바와는 거리가 멀다.
또 자주 등장하는 건 베이지안(Bayesian) 모델이다. 의사 결정 트리가 대수학이라면 베이지안 모델은 미적분학이다. 베이지안만 해도 인공지능이라고 볼 수 있다. 베이지안 모델은 한 환경에 분포되어 있는 여러 변수들의 상태를 관찰하고, true 혹은 false 값으로 나눠 데이터표에 정리한다. 이 표를 바탕으로 인공지능 시스템이 사건이 실제 발생했을 확률을 계산한다. 즉 결론이 항상 열려 있는 모델이며, 실제 관찰된 것을 바탕으로 수상한 행위인지 아닌지를 파악해 알려주는 것이다. 베이지안 모델이 관찰, 기록, 정리, 분석하는 데이터가 많으면 많을수록 정확도가 높아진다.
개인적으로 가장 좋아하는 머신 러닝 기법은 군집분석(clustering) 혹은 k평균 군집분석(k-means clustering)이다. 환경 내 원격 측정된 값들을 모아 그래프를 그려내는 것으로, 수백만 개의 점이 비슷한 구역에 몰려 있는 상태에서, 한 군데 이상 위치에 찍혀 있는 점을 쉽게 파악하는 게 가능하다. 이 머신 러닝 시스템에는 패턴이 아예 필요하지 않다. 현재 상태의 데이터를 그대로 받아들이고, 정상의 데이터들은 어떤 모습인지 알려주며 동시에 이상 데이터가 어디에 있는지를 보여주는 방법이다.
이 모든 것을 다 합하면
훌륭한 AI 시스템은 1) 이미 알려진 패턴들을 처리하기 위한 의사 결정 트리 요소와 2) 이상 현상을 탐지하기 위한 베이지안 분석 모델과 3) 기준치 분석 및 모니터링을 위한 군집분석 기능을 다 가지고 있는 것이다. 구매를 고려하고 있는 AI 기반 솔루션이 위 세 가지 머신 러닝 기능을 갖추고 있고, 당신의 환경에 부드럽게 도입될 수 있다면, 나쁘지 않은 선택이 될 가능성이 높다.
그런데 아직 최종 결정을 내리긴 이르다. 이젠 스스로에게 물어볼 것이 있다. “지금 구매할 지도 모르는 이 데이터에 나는 어떤 데이터를 주입할 수 있는가?”와 “그 데이터들이 이 AI 솔루션의 기능을 최대한으로 끌어내기에 적합한 것인가?”다. 세상에는 제품의 기능에만 심취되어 잘못된 구매 결정을 내리는 사람과 업체가 수두룩하며, 세계적으로는 수조 원이 이 때문에 낭비된다.
정리하자면 다음과 같다.
1. 홍보/광고 문구는 일단 전부 걸러듣는다. 그리고 진짜 중요한 질문을 가지고 접근하라.
2. 현존하는 머신 러닝 탑재 솔루션들의 전략들을 이해하고 있어야 한다. 그리고 그 전략들이 우리 회사에 어떤 영향을 미치는지도 알고 있어야 한다.
3. 인공지능이 정말 필요한지, 잘 사용할 수 있는지 객관적으로 판단하라.
글 : 제프 실링(Jeff Schilling)
[국제부 문가용 기자(globoan@boannews.com)]
Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>