‘예/아니오’ 잘 맞추는 모델이 무조건 좋은 모델일까?

고분산 데이터에는 0/1 맞추기 모델 무의미, 새로운 데이터에서 같은 정확도 내기 힘들어
해석 가능한 인공지능은 결국 기초 통계학 모델로 돌아가는 것
무조건 '인공지능'='고급모델'='정확한 모델' 아냐, 잘못된 모델 쓸 경우 잘못된 해석 밖에 나오지 않아

5년 전의 일이다. 보스턴 지역의 주거지 관련 데이터를 이용해, 방 크기, 방 숫자 등의 정보를 이용해 집 값, 혹은 월세를 맞추는 단순한 ‘인공지능’ 학습자료가 SNS를 통해 좀 퍼진지 얼마 지나지 않았던 상황이었는데, 그 모델을 어디까지 써 본적이 있냐는 홈페이지를 만들어 놓은 어느 발표 모임에서 데이터 과학을 이용한 타겟 광고 모델을 설명해달라는 요청을 받은 적이 있다.

그렇게 수준 낮은 발표 모임에 유명 대기업이 상당한 후원을 하고 있다는 사실에 충격 먹기도 잠시, 그 데이터를 다양한 ‘인공지능’ 모델에 넣어봤고, 그 중 가장 잘 맞는 모델이 ‘딥러닝’ 모델이었다는 어느 SNS 포스팅을 보여주며 자기들이 굉장한 실력자들이 모여 있다고 자랑을 해 놓으셨더라.

그 때나 지금이나, 그렇게 교과서에 소개된 모델들을 파이썬(Python)에서 제공해주는 다양한 계산 라이브러리에 넣어보고 어느 계산이 제일 잘 맞더라는 식의 연구는 연구가 아니라 단순한 코드 돌려보기 예습 과제 정도로 취급하기 때문에 적잖이 충격을 먹었는데, 그 이후로도 비슷한 종류의 논문들을 공학 연구자들 사이에서 뿐만 아니라 의학 연구자들, 심지어는 언론정보학, 사회학 연구자들 논문에서도 본 적이 있다. 국내 대학들의 학위 과정이 얼마나 충격적으로 운영되고 있는지를 알 수 있는 대목 중 하나다.

‘예/아니오’ 데이터 잘 맞춘다고 무조건 좋은 모델 아니야

‘예/아니오’ 혹은 ‘0/1’로 구분되는 이분화된 결과값을 맞추는 계산 작업은 주어진 데이터에서 그 모델의 정확도보다 유사한 데이터에서 반복적으로 계속 잘 맞아들어갈 수 있는지에 대한 강건성 검증(Robustness Verification)이 필수적으로 진행되어야 한다.

머신러닝 분야에서는 ‘훈련 데이터(Training data)’와 함께 ‘검증 데이터(Test data)’를 분리해 위와 같은 강건성 검증을 진행하는데, 틀린 방법은 아니지만 데이터의 유사성이 계속적으로 반복되는 경우에만 국한된다는 한계가 있는 계산법이다.

좀 더 쉽게 이해하기 위해 예시를 들면, 주가 데이터는 대표적으로 유사성이 깨지는 데이터로 알려져 있는데, 지난 1년치 데이터를 뽑아 1~6월간 데이터를 훈련 데이터로 삼아 만든 모델 중 7~12월간 데이터에 적용해서 가장 잘 맞는 모델을 찾았다고 해도 그 다음해, 혹은 과거 데이터에서 같은 수준의 정확도를 얻기는 굉장히 어렵다. 전문 연구자들 사이에 우스개 소리로 “0% 맞는게 당연할텐데, 같은 수준의 정확도가 0%라면 말이 되겠지”라는 식으로 의미 없는 계산이라는 평가를 돌려서 표현하는데, 유사성이 지속적으로 반복되지 않는 경우에 ‘0/1’을 잘 맞추는 모델을 찾는 것이 얼마나 무의미한 계산인지에 대한 이해에 도움이 될 것이다.

데이터의 유사성에 대한 지표로 일반적으로 쓰는 정보가 주파수 데이터 등의 분석에 쓰이는 주기성이고, 고교 수준의 수학으로 표현할 경우 ‘사인(Sine)’, ‘코사인(Cosine)’ 함수 등이 있다. 유사한 방식으로 주기성이 반복되는 데이터가 아니라면 ‘0/1’ 구분을 이번 검증 데이터에서 잘 한다는 이유로 외부의 새로운 데이터에서도 잘 할 수 있을 것이라는 기대를 하면 안 되는 것이다.

이렇게 반복성이 낮은 데이터를 데이터 사이언스 분야에서는 ‘고(高)분산 데이터 (High noise data)’라고 부르고, 막대한 컴퓨터 계산비용을 써가면서까지 ‘인공지능’으로 알려진 딥러닝 등의 모델을 쓰는 대신, 일반적인 선형 회귀모델을 이용해 데이터 간의 관계를 설명하는데 활용한다. 특히, 데이터의 분산 구조가 정규분포, 포아송분포, 베타분포 등, 연구자들 사이에 익히 알려진 분포일 경우에는 선형 회귀식, 혹은 유사한 수식 기반 모델을 쓰는 것이 계산비용을 지불하지 않고도 높은 정확도를 얻을 수 있다는 것이 이미 회귀분석 개념이 확정된 1930년대부터 통계학계에서는 상식처럼 받아들여지고 있는 지식이다.

고분산, 저분산 데이터 마다 적절한 계산법 다른 것 인지해야

국내에서 많은 공학 연구자들이 이 부분을 모르고 무조건 ‘딥러닝’이라는 ‘고급’ 계산법을 쓰면 더 좋은 결론을 얻을 수 있다고 착각하는 것은, 공학계에서 쓰는 데이터들이 주파수 형태의 ‘저(低)분산 데이터(Low noise data)’이기 때문에 학위 과정 중에 고분산 데이터를 다루는 방법 자체를 배우지 않기 때문이다.

또한 머신러닝 계열의 모델들이 저분산 데이터에서 반복적으로 나타나는 비선형 구조를 파악해내는데 특화된 모델인만큼, ‘0/1’ 정확도를 넘어선 일반화에 대한 도전이 삭제되어 있다. 대표적으로 머신러닝 교과서에 등장하는 계산법 중 ‘로지스틱 회귀분석(Logistic regression)’을 제외하면 그 어떤 계산법도 통계학계에서 모델 검증에 활용하는 데이터 분산 기반 분석 방법을 쓸 수가 없다. 애당초 모델의 분산을 계산할 수 없기 때문이다. 학계에서는 이를 ‘1차 모먼트(1st moment)’ 모델들을 ‘2차 모먼트(2nd moment)’ 기반 검증에 쓸 수 없다고 표현한다. 분산, 공분산 등이 일반에 알려진 ‘2차 모먼트’의 종류다.

이 같은 ‘1차 모먼트’ 기반 계산이 낳는 또 하나의 큰 문제는 각 변수간 상관관계에 대해 합리적인 설명을 할 수 없다는 것이다.

출처=SIAI 교육자료

예를 하나 들어보자.

위의 식은 대학 학점(UGPA)이 고교 학점(HGPA), 수능 성적(SAT), 출석 유무(SK)에 얼마나 많이 좌우받는지를 확인하기 위해 만든 단순한 회귀식이다. 각각의 변수 간의 문제를 차치하고, 위의 식이 합리적으로 계산되었다는 가정아래, 고교 학점이 학부 학점을 결정 짓는데 무려 41.2%나 영향을 주는 반면, 수능 성적은 불과 15% 밖에 영향을 주지 않는다는 것을 확인할 수 있다.

‘1차 모먼트’ 기반의 머신러닝 계열의 계산은 결과적으로 대학교 학점을 얼마나 잘 맞추는지에만 초점이 맞춰져 있을 뿐, 각각의 변수들이 얼마나 큰 영향을 주고 있는지 확인하기 위해서는 추가적인 모델 변형을 거쳐야 하는 경우도 있고, 아예 포기해야 하는 경우도 있다. 심지어 그 계산의 정확도를 검증하기 위해 진행할 수 있는 ‘2차 모먼트’ 기반의 통계량 검증도 불가능하다. 고교 시절 배운 학생-t 분포(Student-t distribution) 기반의 통계량 검증을 따를 경우, 위의 모델에서 41.2%와 15%는 모두 합리적인 수치라는 것을 알 수 있지만, 머신러닝 계열의 계산은 유사한 방식의 통계량 검증이 불가능하다.

‘해석가능한 인공지능’이라는 표현이 나오는 이유

국내에서 ‘해석가능한 인공지능’이라는 표현이 언론이나 서점 등등에서 자주 등장하는 것을 본 적이 있을 것이다. 머신러닝 계열의 모델들이 ‘1차 모먼트’ 값만 전달하는 맹점을 갖고 있기 때문에 발생하는 문제가 바로 해석이 불가능하다는 것이다. 위의 사례에서 보듯이, 변수간 얼마나 깊은 관계를 갖고 있는지, 그 관계 값이라는 것을 믿을 수 있는지, 새로운 데이터에서도 유사하게 등장하는지 등등의 문제에 대해서 기존 통계학 방법론 수준의 신뢰 가능한 대답을 해 줄 수 없기 때문이다.

다시 ‘보스턴 집 값 데이터 어디까지 써 봤니?’라는 타이틀로 홈페이지를 만들었던 어느 대기업 지원 데이터 모임으로 돌아가면, 그 분들 중에 머신러닝 계열 기반 모델이 위와 같은 문제를 갖고 있다는 것을 아는 분들이 한 명이라도 있었다면 여러 모델을 써 봤는데 그 중에 ‘딥러닝’이 가장 잘 맞더라는 이야기를 자신있게 SNS 상에서 꺼내고, 그 정도로 코드를 돌릴 수 있으니 자신들이 전문가라며 나한테 이메일을 보낼 수 있었을까?

우리가 익히 알고 있다시피 부동산 가격은 정부 정책에 어마어마하게 큰 영향을 받고, 주변의 교육 환경, 교통 접근성에도 많은 영향을 받는다. 한국만 그런 것이 아니라, 해외 거주 경험을 기반으로 할 때 해외 주요 대도시들도 상황은 크게 다르지 않았다. 굳이 따지자면 한국적인 특징으로 아파트의 브랜드가 좀 더 영향을 주는 변수인 것 같기는 하다.

집의 크기, 방의 숫자 등등은 다른 조건들이 동일할 때에나 의미가 있고, 그 외에도 창문이 남향인지 남동, 남서향인지, 판상형인지 등등이 주요한 변수들일텐데, 당시 인터넷에 돌아다니던 보스턴의 집 값 데이터는 그런 핵심 데이터가 모두 사라진, 단순히 코드가 잘 돌아가는지 점검해 볼 수 있는 예시 데이터에 불과했었다.

인공지능 쓰면 정확도가 99%, 100% 될 수 있는거 아닌가요?

출처=SIAI 교육자료

또 자주 듣던 표현 중 하나가, “통계학으로는 정확도를 못 높여도, 인공지능 쓰면 99%, 100% 정확도 만들어 낼 수 있는거 아닌가요?”라는 표현이었는데, 아마 당시 질문자가 의미했던 ‘인공지능’은 일반에 알려진 ‘딥러닝’, 혹은 같은 계열의 ‘뉴럴 네트워크(Neural Network)’ 모델들이었을 것이다.

우선 위의 간단 회귀분석 식의 모델 설명력은 45.8%다. 위의 R제곱 값이 .458로 된 것에 확인하시면 된다. 이 모델을 다른 ‘복잡한’, ‘인공지능’ 모델을 쓰면 99%, 100%까지 끌어올릴 수 있지 않느냐는 질문이었을 것이다. 위의 데이터는 학교 인근 지역의 월세 변화량이 인구 변화, 가구당 수입변화, 학생들 비중 변화와 얼마나 큰 관련이 있는지를 확인하기 위한 계산이다. 위에서 설명한대로, 부동산의 가격이라는 것이 정부 정책, 교육, 교통을 비롯해 수 많은 변수에 영향을 받는다는 것을 알면, 저 모델을 100% 정확도로 맞추기 위해 가장 확실한 방법은 월세로 월세를 맞추는 방법 밖에 없다는 것이 이해가 될 것이다. X를 넣어서 X를 찾아내는건 누구나 다 할 수 있는 일이지 않나?

그 외에는 월세 결정에 미치는 수 많은 변수들을 단순한 식으로 완벽하게 맞추는 것이 불가능하다는 것 정도는 상식선을 벗어나지 않으니 더 설명이 필요없으리라 생각한다. 99%, 100% 정확도를 도전이라도 해 볼 수 있는 영역은 사회과학 데이터가 아니라, 실험실에서 정형화된 결과물이 반복적으로 나오는 데이터, 위에서 쓴 표현을 빌리면 ‘저분산 데이터’들이다. 대표적인 예시는 문법에 맞춘 문장을 써야하는 언어 데이터, 기괴한 그림을 제외하고 난 이미지 데이터, 규칙에 맞춰 전략을 짜야하는 바둑 같은 게임들이다. 우리가 일상에서 만나는 고분산 데이터들을 99%, 100% 맞추는 것은 불가능한 것이 당연한데도 불구하고, 한 때 정부의 모든 발주 인공지능 프로젝트들의 기본 요건이 ‘반드시 딥러닝을 쓸 것’, ‘반드시 100% 정확도를 보여줄 것’이었다.

다시 위의 식으로 돌아와서, 학생 인구 증가율, 전체 인구 증가율은 월세 상승률에 큰 영향을 주지 못하는 반면, 소득 성장률은 월세 증가에 50% 달하는 매우 큰 영향을 주는 것을 확인할 수 있다. 또한, 전체 인구 증가율은 고교 시절 배운 학생-t 분포(Student-t distribution) 기반의 통계량 검증을 따를 경우 통계량이 1.65 정도에 불과해 0과 다르지 않다는 가설을 기각할 수 없어, 통계적으로는 유의미하지 않은 변수라는 결론이 나온다. 이어 학생 인구 증가율은 0과 다른 값, 그래서 유의미한 값이라는 판단을 내릴 수는 있으나 정작 월세 증가율에 0.56%라는 매우 적은 영향만을 주고 있음을 확인할 수 있다.

위의 계산 해석은 ‘딥러닝’으로 알려진 ‘인공지능’ 계산으로는 원칙적으로 불가능하고, 유사한 해석을 하기 위해서 막대한 계산 비용과 고급 데이터 과학 연구 방법을 써야 한다. 그렇게 많은 계산 비용을 지불한다고 해서 45.8%에 불과했던 설명력을 크게 끌어올릴 수도 있는 것이 아닌 점이, 이미 데이터들이 로그 값으로 변화되어 변화율에만 초점을 맞추고 있기 때문에, 데이터 속의 비선형 관계가 단순 회귀 모델에 내재화되어 있다.

한국 사회가 ‘딥러닝’으로 알려진 모델에 대한 잘못된 이해 탓에 굉장히 많은 학습 비용을 지불하며 엉뚱한 연구들에 인력과 자원을 쏟아 붓는 실수를 저질렀는데, 위의 단순 회귀분석 기반의 예시를 바탕으로 ‘인공지능’으로 알려진 계산법의 한계를 인식하고 지난 6년간 연구자들과 같은 실수를 저지르지 않기를 바란다.