전두용 이글루시큐리티 인프라사업본부 파견관제팀 차장

▲ 전두용 이글루시큐리티 인프라사업본부 파견관제팀 차장

[아이티데일리] 인공지능 기술이 그 관심만큼이나 빠르게 발전하고 있다. 인공지능 기술은 이미 다양한 산업 분야에서 활용되고 있으며, 학계에서 쏟아지는 이론들은 변화가 너무 빨라 따라가기 힘들 정도다.

정보보안 분야도 예외는 아니다. 정보보안 교육 커리큘럼에 인공지능이 빠르게 녹아들고 있으며, 인공지능을 접목시킨 보안 솔루션들이 실전에 배치되고 있다. 위협 방어를 위해 인공지능을 활용하고 있다는 기사들 역시 넘쳐나고 있다.

그러나 분야를 막론하고, 인공지능 기술은 몇 가지 문제로 인해 현실 세계와 쉽게 조화되지 못하는 경향이 있다. 연구실의 통제된 환경에서 만들어진 모델이 현실 세계의 수많은 변수들까지 합쳐진 데이터를 만나면, 그에 대해 어떠한 답을 줄지는 그 누구도 예측할 수 없기 때문이다.

여기에서는 현재 인공지능 솔루션들이 겪고 있거나 앞으로 겪게 될 세 가지 주요 변수에 대해 알아본다.


첫 번째, ‘불균형한 데이터’
데이터가 균형있게 구성된다는 보장이 없다

데이터 불균형은 지도학습(Supervised Learning)의 분류(Classify) 문제로부터 비롯된다. 여기서 지도학습이란 ‘데이터와 레이블(정답)’을 한 쌍으로 묶어 같이 학습시키고 이를 바탕으로 레이블이 없는 데이터의 레이블까지도 예측하는 머신러닝의 한 방법을 말한다. 지도학습의 분류법에는 주어진 파일이 악성코드인지 아닌지를 판별하는 것과 같은 이진(Binary) 분류와 어떤 유형의 악성코드인지를 판별해내는 조금 더 복잡한 다중 클래스(Multi Class) 분류 등이 있다.

머신러닝은 분류에서 기본적으로 클래스(분류된 각 그룹)들 간의 데이터 양과 분포가 동일한 것을 가정하고 방정식을 풀어 답을 구한다.[1] 즉, 보안 로그에서 정상 사용자와 블랙리스트를 분류하는 모델에서는 학습 데이터로 블랙리스트 로그와 일반 사용자 로그의 양이 동일해야 하며, 악성코드와 정상 프로그램을 분류하는 모델의 경우엔 학습데이터에 악성코드와 정상 프로그램의 양이 동일해야 최적의 결과를 얻을 수 있다. 그러나 현실 세계에서 악성 사용자나 악성코드는 전체 데이터의 0.1%도 되지 않는 실정이다.

분류 클래스 간의 데이터 불균형은 ‘높은 정확도(Accuracy) - 낮은 재현률(Recall)’ 함정의 주범으로 손꼽힌다. 한 마디로 데이터가 많은 클래스는 잘 예측되지만 데이터가 적은 클래스에 대해서는 랜덤에 가까운 예측 성능을 보이게 되는 것이다. 이 경우 대체로 데이터가 많은 클래스가 모델의 정확도를 결정하기 때문에 겉으로는 높은 정확도를 내는 좋은 모델로 보여질 수 있다. 하지만 악성 사용자나 악성코드를 찾아내야 하는 실제 목적을 고려해봤을 땐 탐지 오류가 너무나 많다.

이렇듯 데이터의 불균형으로부터 야기되는 문제를 해결하기 위해 기술적으로 많은 방안들이 제안됐는데, 데이터가 부족한 클래스를 데이터가 많은 클래스에 맞춰 데이터를 증폭하는 ‘오버 샘플링(Over Sampling)’과 데이터가 많은 클래스를 부족한 클래스에 맞춰 데이터를 일부만 사용하도록 하는 ‘언더 샘플링(Under Sampling)’이 가장 대표적이다.

오버 샘플링 방법에는 ▲SMOTE(Synthetic Minority Over-sampling Technique)[2] ▲Borderline-SMOTE[3] ▲ADASYN(Adaptive Synthetic Sampling)[4] 등이 있다. ‘SMOTE’는 <그림 1>과 같이 데이터가 적은 클래스에서 중심이 되는 데이터와 주변 데이터 간의 가상의 직선을 만들고, 그 위에 임의로 데이터를 추가하는 방법이다. ‘Borderline-SMOTE’는 클래스 범위 내에서만 데이터를 생성해 특정 분포에만 중복적으로 데이터가 발생되는 ‘SMOTE’를 개선, 다른 클래스의 데이터 영역까지 데이터 생성 분포를 확장한다.

▲ <그림 1> SMOTE (출처: Haibo He, Edwardo A. Garcia - Learning from imbalanced data)

‘ADASYN’은 <그림 2>와 같이 기존 ‘SMOTE’ 방식에 확장할 데이터 분포를 수학적으로 계산해, 입력된 데이터에 따라 다르게 자동 생성이 가능하도록 한 방법으로서 감마 확률밀도함수(PDF-Probability Density)를 사용한다.

▲ <그림 2> ADASYN (출처: Haibo He, Edwardo A. Garcia – Learning from imbalanced data)

언더 샘플링 방법에는 ▲Edited Nearest Neighbors(ENN)[5] ▲토멕링크 방법(Tomek link method)[6] ▲Condensed Nearest Neighbour(CNN)[7] ▲One Sided Selection[8] 등이 있다. 먼저 ‘ENN’은 데이터가 소수인 클래스 주위에 인접한 다수 데이터를 제거해 데이터의 밸런스를 맞추는 방법으로, 다른 언더 샘플링 방법의 단초가 된다.

토멕링크(Tomek link)란 클래스를 구분하는 경계선 가까이에 존재하는 데이터를 말하며, 토멕링크 방법은 <그림 3>과 같이 형성된 데이터에서 다수 클래스에 속한 토멕링크를 제거하는 방법이다. 이는 데이터의 균형을 맞춤과 동시에 분류를 더욱 선명하게 할 수 있는 효과를 준다.

▲ <그림 3> 토멕링크 (출처: Rafael Alencar - Resampling strategies for imbalanced datasets)

다음으로 ‘CNN’ 기법은 데이터가 많은 클래스에 밀집된 데이터가 없을 때까지 데이터를 제거해 데이터 분포에서 대표적인 데이터만 남도록 하는 방법이다. 마지막으로 One Sided Selection은 토멕링크 방법과 CNN 기법의 장점만을 섞은 방법이다. 먼저 데이터가 많은 클래스에서 토멕링크에 해당하는 데이터를 제거하고, 나머지 데이터에 대해서는 Condensed Nearest Neighbor를 이용해 밀집된 데이터를 제거한다.

▲ <그림 4> One Sided Selection (출처: M Kubat, S Matwin – Addressing the curse of imbalanced training sets: one-sided selection)

이 밖에도 각 기법을 섞고 또 여러 가지 방법을 응용해보며, 데이터 불균형 문제를 효과적으로 해결하기 위한 도전은 끊임없이 계속되고 있다.[9]


두 번째, ‘불완전하거나 부정확한 라벨’
사람이 하는 레이블링은 언제든 잘못될 수 있다

학습 및 평가를 위해 데이터에 정답을 달아주는, 레이블링(Labeling) 문제 역시 지도학습(Supervised Learning) 과정에서 발생할 수 있다. 앞서 언급했던 머신러닝의 분류에서 각 클래스의 데이터 양이 동일하다는 가정과 함께, 머신러닝의 지도학습은 모든 데이터의 레이블이 정확하다는 것을 기본으로 한다. 이는 실수가 있을 수밖에 없는 사람이 직접 레이블링 해야 하는 보안 분야의 여간 큰 골칫거리가 아닐 수 없다.

특히 사진에 나무가 있는지 없는지, 사진에 나온 동물이 개인지 고양이인지를 구분하는 문제와는 다르게 보안은 보다 전문적인 도메인 지식이 필요한 영역이라, 인공지능을 위한 레이블링에 더 많은 노력과 비용이 따른다. 그뿐만 아니라 보안 데이터의 양은 상상을 초월하기 때문에 아무리 숙련된 전문가 일지라도 누락이나 오류를 피할 수 없다. 이렇게 레이블링 문제는 또다시 누락과 오류, 이 두 가지로 나눠지게 되는데 많은 인공지능 학자들이 해당 문제를 해결하기 위해 오랜 시간 연구해온 내용을 소개한다.

먼저 일부만 레이블링된 데이터(Incomplete Supervision) 즉, 레이블링 누락 문제다. 레이블링 누락의 문제를 해결하기 위한 방법으로는 사람이 개입하는 방법과 개입하지 않는 자동화된 방법이 있다. 이 중 사람이 개입하는 방법은 액티브 러닝(Active Learning)[10]이라 부르며, 잘 레이블링 된 일부 레이블을 기준으로 비슷한 데이터들끼리 묶고, 각 묶음 안에서 가장 정보가 많고 대표성이 높은 데이터에 대해 <그림 5>와 같이 사람이 직접 레이블링을 하면, 동일한 묶음에 있는 데이터는 모두 같은 레이블로 레이블링 되게 하는 방법이라 설명할 수 있다. 액티브 러닝은 사람이 레이블링 하는 횟수를 비용으로 정의하고 가장 가치 있는 데이터를 찾아 이 비용을 최소화하는 것을 목표로 한다.

▲ <그림5> 액티브 러닝 (출처: Zhi-Hua Zhou - A Brief Introduction to Weakly Supervised Learning)

그리고 레이블링 누락 문제에서 사람이 개입하지 않고 해결하는 방법에는 준지도학습(Semi-Supervised Learning)[11][12]이 있다. 준지도학습은 <그림 6>에서도 볼 수 있듯이 잘 레이블링 된 일부 데이터를 이용해 초기 모델을 하나 만들고, 레이블링이 안된 데이터의 레이블을 결정하면서 지속적으로 모델을 업데이트 해나가는 방법이다.

준지도학습의 핵심 아이디어는 레이블링이 안된 데이터를 활용해 정확도를 높이는 데 있다. 조금 더 기술적으로 풀어보면, 준지도학습은 군집(Clustering)과 다양체(Manifold - 다양한 차원의 데이터를 1개의 공간에서 보았을 때의 모형. 다양한 차원에서 데이터를 재구성했을 때 실제 데이터 차원보다 해석이 더 잘 될 수 있는 차원이 존재하기 때문에 머신러닝에서 자주 사용되는 개념)내에 있는 데이터라면 이들 모두가 같은 레이블을 가지고 있다고 가정하게 되는데, 이러한 가정은 레이블링 되지 않은 데이터가 해당 군집과 다양체의 유사성을 밝혀내는 데 도움이 된다는 것이다.

준지도학습 방법으로는 크게 세 가지(Generative method[13], Disagreement-based method[14], Graph-based method[15][16][17])가 있다.[18]

▲ <그림 6> 준지도학습 (출처: Zhi-Hua Zhou - A Brief Introduction to Weakly Supervised Learning)

다음은 정확하지 않게 레이블링된 데이터(Inaccurate Supervision), 즉 레이블링 오류 문제다. 레이블링 오류 문제에 대해서는 크게 두 포인트로 나눠 고민하게 되는데, 하나는 잘못 레이블링된 데이터를 어떻게 찾아낼 것인지, 그리고 잘못 레이블링된 데이터를 찾았다면 그 데이터들을 어떻게 처리할 것인지 등이다.

먼저 잘못 레이블링된 데이터를 찾아내는 방법으로는 데이터 군집을 만들어 기준 안에 들지 못한 소수 데이터의 군집을 잘못 레이블링된 데이터로 간주하는 방법[19]과 회귀(Regression)값으로 각 데이터 클래스의 확률밀도함수 모델을 구해 다른 클래스의 모델에 속해 있는 데이터를 레이블이 잘못된 데이터로 간주하는 방법[20]이 대표적이다. 또 잘못 레이블링된 데이터를 처리하는 방법에는 오류 데이터를 제거하고 학습하는 방법[20]과 데이터의 가중치와 레이블을 수정해서 다시 학습하는 방법[21] 등이 있다.

데이터의 불균형만큼이나 레이블링 오류 문제 역시 이를 해결하기 위한 다양한 시도들이 있었다. 그렇지만 명심해야 할 것은 실험 환경에서 검증이 되었다고 해서 내 데이터에도 잘 적용될 것이라는 보장이 없다는 사실이다. 내 도메인과 데이터의 특성을 고려한 날카로운 튜닝이 반드시 뒤따라야 한다.


세 번째, ‘근거없는 진실’
AI 모델이 처리해야 할 실전 데이터에는 정답 레이블이 없다

보통 모델링을 할 때는 학습할 데이터와 학습 데이터의 레이블, 정확도를 테스트할 데이터와 테스트 데이터의 레이블 모두가 잘 준비되어 있기 때문에 모델링 알고리즘이나 파라미터를 하나씩 수정할 때마다 얼마나 성능이 개선되고 있는지 또 문제가 있는 부분은 어디인지 쉽게 파악할 수 있다. 그러나 인공지능과 관련해서는, 새롭게 생성되는 데이터를 입력해 예측된 결과를 얻기 위해 인공지능 모델을 만들었음에도 불구하고 새로이 생성되는 데이터에는 아직 정답이 없어 그 결과가 올바르게 예측된 값인지 아닌지 전혀 알 수 없다는 함정이 있다.

‘측정하지 못하면 개선할 수 없다’라는 말이 있다. 제대로 예측했는지 알 수 없으면 과연 이 인공지능 모델이 올바르게 작동하고 있는지, 어디 오류가 발생하지는 않았는지 판단하기 어려우며 신뢰도는 추락하게 된다. 예측을 자동화할 목적으로 인공지능을 활용하지만, 이 인공지능을 위해서는 인력이 데이터의 레이블링을 하나하나 해야 하는 모순에 빠지고 마는, 다시 말해 ‘레이블링 지옥’에 빠지는 결과가 초래될 수 있다.

지금까지의 연구 결과를 놓고 봤을 때, ‘레이블링 지옥’ 문제 해결의 가장 현명한 접근법으로 평가 받는 건 다름 아닌 크라우드소싱(Crowdsourcing)이다. 이는 여러 시간과 장소에 분산돼 있는 불특정 다수의 사람들에 의해 방대한 데이터를 레이블링할 수 있는 플랫폼을 활용하는 것이다. 이미 해외에서는 전문적인 레이블링 크라우드소싱 플랫폼[24][25]들이 속속 등장하고 있으며, 국내에서도 크라우드웍스[26]에서 크라우드소싱을 위한 인공지능 데이터 레이블링을 시도하고 있다.

그러나 사실 ‘크라우드소싱’이라는 단어를 듣는 순간, 누구나 그 과정이 결코 평탄하지만은 않을 것이라 예감할 수 있을 것이다. 불특정 다수에게 일을 맡기면 우선 기상천외한 부정행위에 대응하느라 불필요한 소모를 겪을 수 있기 때문에 이를 방지할 수 있는 장치[22][23]를 미리 마련해야 한다.

그리고 보안 데이터 레이블링은 높은 전문성이 요구된다는 것이 문제다. 이런 이유로 레이블링이 충분히 쉽도록 설계하는 것이 중요하다. 예를 들어 네트워크의 Raw 패킷 내용을 해독하는 것보다 통계적으로 밝혀진 위협을 숫자로 보고 판단하도록 하는 것이 레이블링을 아웃소싱했을 때 훨씬 낮은 비용으로 해결 가능하다.

이에 필자는 보안 분야에 인공지능이 충분히 자리 잡는데 가장 큰 기여를 할 것으로 기대되는 ‘보안 도메인 전문 레이블링 크라우드소싱 플랫폼’을 제안하고자 한다. 정보보안이나 컴퓨터공학을 1~2년 정도 배운 학생이라면 충분히 레이블링에 참여할 수 있는 수준의 데이터 설계, 부정행위를 탐지할 수 있는 장치, 지급할 사례를 책정할 성과 척도를 개발해야 하는 등 많은 과제를 안고 있지만, 인공지능 도입으로 인해 모호해진 기존 전문 인력들의 책임과 역할을 크라우드소싱 플랫폼에서 나오는 레이블로 검증하고 관리하도록 전환할 수 있으며 더 나아가 가까운 미래에 인공지능을 운영하는 모든 곳에서 만나게 될 골칫거리를 먼저 해결하는 비즈니스적 가치도 클 것으로 생각된다.


보안업계에 인공지능을 꽃피우기 위해서는…

지금까지 인공지능이 연구실을 나와 현실 세계에 적용될 때 생길 수 있는 세 가지 문제(데이터 불균형, 부정확한 레이블, 레이블이 없는 새로운 데이터)와 이들 문제를 해결하기 위한 여러 방법에 대해 알아봤다. 사실 이번 기고에서 언급한 해결 방안들은, 이와 관련된 방대한 연구 결과와 공개 라이브러리가 존재하기 때문에 실제로 구현하는 데 큰 무리가 없다. 그러나 진짜 문제는 제안된 방법들을 적용하더라도 예상했던 만큼, 또는 듣던 만큼 잘 안될 때가 많다는 것이다.

실험용 데이터에서는 아무런 문제가 없던 방법들이 내 데이터에는 적용되지 않는 현상, 이는 데이터를 다루는 현장에서 흔히 만날 수 있는 고질적 현상이다. 이때는 디테일을 따져봐야 한다. 내 데이터가 어떤 유형인지, 분포가 균등한지 또는 치우쳐져 있는지, 데이터의 결측치를 어떻게 처리했는지, 데이터 간 범위가 균형 있게 설정되어 있는지 등 끝없이 의심하고 허점을 찾아내 딱 맞는 부위(데이터)에 정확한 처방(테크닉)을 적용해야 한다. 또한 어느 정도 데이터 상에서 문제 해결에 성공했다 하더라도, 이것을 완전히 일반화하는 것은 별개의 문제이기 때문에 수시로 성과를 모니터링해야 하는 어려움도 뒤따르기 마련이다.

이러한 불편한 진실 때문에 지금까지의 인공지능 프로젝트는 화려한 모델링 방법과 실험 데이터를 적용한 정확도에만 주목하려는 경향이 있어 왔다. 특히 비즈니스와 연결될 때는, 여러 가지 제약 조건들로 인해 이러한 경향이 더욱 짙어졌다. 그러나 전 국가적으로 인공지능 경험 수준이 향상되는 어느 시점부터는 문제점을 한계점으로 단정 짓는 순간이 올 것이다.

이로써 신뢰나 흥미가 소멸되고 인공지능으로 편리한 세상을 만들고자 하는 동력이 꺼짐으로써 미완성으로 막을 내리는 날이 올지도 모르겠다. ‘이세돌과 알파고 대국’이라는 이벤트 하나로 야기된 폭발적인 관심을 등에 업고 여기까지 온 만큼, 폭발의 불씨가 꺼지는 것도 한순간이 아닐까 하는 우려도 인공지능이 세상을 바꿔줄 것이라는 기대만큼이나 크기 때문이다.

보안업계에 인공지능의 봄이 찾아올지, 아니면 굴곡 많았던 지난 역사에 다시금 회귀해 겨울이 올지는 전문가라고 하는 사람들이 이러한 불편한 진실에 정면으로 부딪혀 바른길로 인도할 수 있느냐 없느냐에 따라 좌우된다. 분야와 시대를 막론하고 리더의 조건은 희생과 도전이다. 모델링 테크닉의 영광을 뽐내는 것뿐 아니라 문제에 대해서도 용감하게 마주할 수 있는 자만이 진짜 인공지능 리더라 할 수 있으며, 거의 모든 비즈니스가 그래왔듯 부와 명예는 남들이 아직 눈치채지 못했거나 숨기고 있는 진짜 문제에 도전하는 이들에게 돌아가게 될 것이다.

참고문헌

[1] Haibo He, Edwardo A. Garcia - Learning from imbalanced data, IEEE Transactions on Knowledge and Data Engineering (2009)
[2] Nitesh V. Chawla, Kevin W. Bowyer, Lawrence O. Hall, W. Philip Kegelmeyer - SMOTE: Synthetic Minority over-sampling technique, Journal of Artificial Intelligence Research (2002)
[3] Hui HanWen-Yuan, WangBing-Huan Mao - Borderline-SMOTE: A new over-sampling method in imbalanced data sets learning, International Conference on Intelligent Computing (2005)
[4] Haibo He, Yang Bai, Edwardo A. Garcia, Shutao Li - ADASYN: Adaptive synthetic sampling approach for imbalanced learning, IEEE International Joint Conference on Neural Networks (2008)
[5] Dennis L. Wilson - Asymptotic properties of nearest neighbor rules using edited data, IEEE Transactions on Systems, Man, and Cybernetics (1972)
[6] Tomek I - Two Modifications of CNN, IEEE Transactions on Systems, Man, and Cybernetics (1976)
[7] Oliver Sutton - Introduction to k nearest neighbour classification and Condensed Nearest Neighbour data reduction (2012)
[8] M Kubat, S Matwin - Addressing the curse of imbalanced training sets: one-sided selection, ICML (1997)
[9] GE Batista, RC Prati, MC Monard - A study of the behavior of several methods for balancing machine learning training data, SIGKDD (2004)
[10] B Settles - Active learning literature survey (2009)
[11] DJ Miller, HS Uya - A mixture of experts classifier with learning based on both labelled and unlabelled-data, NIPS (1997)
[12] Y Grandvalet, Y Bengio - Semi-supervised learning by entropy minimization, NIPS (2005)
[13] K Nigam, AK McCallum, S Thrun, T Mitchell - Text classification from labeled and unlabeled documents using EM, Machine Learning (2000)
[14] A Blum, T Mitchell - Combining labeled and unlabeled data with co-training, COLT (1998)
[15] A Blum, S Chawla - Learning from labeled and unlabeled data using graph mincuts, ICML (2001)
[16] X Zhu, Z Ghahramani, JD Lafferty - Semi-supervised learning using gaussian fields and harmonic functions, AAAI (2003)
[17] Dengyong Zhou, Olivier Bousquet, Thomas Navin Lal, Jason Weston, Bernhard Scholkopf - Learning with local and global consistency, NIPS (2004)
[18] Zhi-Hua Zhou - A Brief Introduction to Weakly Supervised Learning, National Science Review (2018)
[19] CE Brodley, MA Friedl - Identifying mislabeled training data, Journal of artificial intelligence research (1999)
[20] Dooyong Jeon, Byungchul Tak - BlackEye: automatic IP blacklisting using machine learning from security logs, Wireless Networks (2019)
[21] Tongliang Liu, Dacheng Tao - Classification with Noisy Labels by Importance Reweighting, IEEE Transactions on Pattern Analysis and Machine Intelligence (2015)
[22] Rion Snow, Brendan O’Connor, Daniel Jurafsky, Andrew Y. Ng - Cheap and Fast ? But is it Good? Evaluating Non-Expert Annotations for Natural Language Tasks, EMNLP (2008)
[23] VC Raykar, S Yu - Eliminating spammers and ranking annotators for crowdsourced labeling tasks, Journal of Machine Learning Research (2012)
[24] Amazon Mechanical Turk
[25] Figure Eight
[26] Crowdworks

저작권자 © 아이티데일리 무단전재 및 재배포 금지