Neural Network 모델은 Borel-measurability가 충족되는 데이터에서만 쓸 수 있다
Neural Network 계산법이 만능이라는 오해가 퍼져 있으나 수학적 조건 따져가며 적용해야 Borel-measure 조건을 충족시키지 못하는 계산에서는 '학습 실패' 사건이 벌어지기도 오차 많은 시계열 데이터에서 빈번하게 발생, 데이터 전처리 고민 필수
우리 SIAI 학생 중 한 명의 미국 대학원 추천서를 쓰면서, SIAI에서 가르친 내용, 방향, 수준, 응용 방식을 잘 보여주면서, 동시에 그 학생의 역량을 쉽게 이해할 수 있는 예제가 뭐가 있을까는 고민을 해 봤다.
Deep learning 수업에서 RNN을 가르치던 중에 Neural Network가 적용될 수 있는 한계를 수학적으로 짚어주고, 그 수학 개념 뒤에 숨어있는 현실적인 제한을 풀어내 준 적이 있었는데, 그걸로 한 동안 학생들끼리 어떤 데이터를 어떻게 수정해야하는지에 대한 고민을 나눴던 기억이 있다.
코딩 라이브러리 하나 불러와서 이것저것 넣어보다가 결과값이 자기 입맛에 맞게 나오면 쓰고 있는 대부분의 2류 교육과는 본질적으로 다른 교육을 했다는 것을 보여주고 싶기도 했고, 수학적인 개념을 이해해서 현실 데이터와 모델에 응용할 수 있는 역량을 갖췄다는 것을 그 학생의 추천 포인트로 삼고 싶기도 했기 때문에, 여러 고민 중에 이 주제를 골랐다.
Neural Network 계산의 본질과 한계
비전문가들 사이에서는 마치 Neural Network가 기존 모든 계산을 다 압도하는 최고의 계산법이라는 착각이 널리 퍼져있지만, 실제로 Neural Network 계산 자체는 그래프 모델에서 Factor analysis를 반복적으로 하는 것에 불과하다. 데이터의 구조와 모델의 목적이 잘 맞는 경우에는 모든 경우의 수를 다 구현해낼 수 있는 계산이 될 수 있지만, 데이터가 수학적인 요건을 못 만족시킬 때 모델의 목적을 맞추려고 계산식을 변형하거나, 최악의 경우에는 포기해야하는 사태가 발생할 수도 있다.
시계열 데이터가 대표적인 예시인데, 그래프 모델의 비선형성을 활용하고 싶어도 Outlier가 지나치게 많을 경우에는 모델 값이 수렴하지 않는다. 수식으로 간단하게 쓰면, y=f(x)라는 함수에서 x와 y가 모두 문제가 없더라도 f(·) 함수가 정의되지 못하는 상황인데, 대학 학부 수준의 수학으로는 Borel-measure가 성립하지 않는 상태, 고교 수학 수준으로 표현하면 ‘발산’하는 사건이 발생하는 경우라고 표현할 수 있다. 좀 더 일반인에게 친근한 용어로 쓰면, ‘인공지능이 학습하지 못하는 계산’이라고 할 수 있겠다.
이 때는 Outlier를 제거하는 데이터 전처리 작업에 대한 고민을 하거나, 데이터(x) 형태를 변형하는 방법, f(·) 함수를 변형하는 방법 등의 대안들이 존재한다. 물론 각각의 방법을 주먹구구식으로 쓰는 것이 아니라, 데이터의 특성과 계산 목적에 맞게 변형해야하는데, 이 부분이 고급 수학을 응용할 수 있는 직관적인 역량이 중요한 순간이다.
Borel-measure라는 표현 속에 숨겨진 데이터의 특성과 계산의 목적
뜬금없는 수학 개념인 Borel-measure가 매우 어려운 개념처럼 들릴 수도 있지만, 사실 우리가 고교 시절에 봤던 합집합, 차집합 등의 개념이 적용되는 집합이라는 간단한 용어로 정의된다. 매우 쉬운 예제를 들면, 자연수는 덧셈, 곱셈만 자연수 결과값이 나오고, 뺄셈과 나눗셈에서는 자연수가 아닌 결과값이 나올 수 있다. 더 큰 숫자로 뺄셈을 하면 음수가 나오고, 약수로 나눗셈을 하지 않으면 분수 같은 유리수가 나온다.
고교 수준, 혹은 그 이하 수학으로 충분히 이해할 수 있는 개념이지만, 위의 Neural Network 활용 가능성을 점검하는 논의까지도 확장될 수 있다. 덧셈, 뺄셈 등의 단순한 예시를 들었던 함수 f(·)가 Neural Network에서는 Activation Function으로 불리는데, 이 때 그 함수가 Borel-measure의 범위 밖에 있는 값을 줄 경우에는 뺄셈과 나눗셈이 자연수를 못 만들어내는 것과 마찬가지로 Neural Network가 계산값을 제공해주지 못하기 때문이다.
가장 자주 이런 현상이 나타나는 데이터는 주식 시장의 수익률 데이터처럼 굉장히 많은 랜덤 요소를 담고 있는 경우가 있고, 그 외에도 단순한 논리에 따라 결과값이 떨어지지 않는 대부분의 데이터가 수준만 다를 뿐, Borel-measure 요건을 충족시키지 못하는 데이터 구간을 갖고 있다.
공학적 용어로 ‘학습에 실패’한 상황을 피하기 위해서 데이터의 형태를 변경하거나, 함수 f(·)의 형태를 변경하는 절차를 거칠 수도 있고, Neural Network 계산법이 적절하지 않은 데이터인만큼 다른 계산법으로 접근 방향을 바꿔야 할 수도 있다.
Neural Network도 여러 계산법 중 하나, 언제나 핵심은 데이터, 모델, 그리고 계산 목적
전세계적으로 많은 기업들이 단순한 Neural Network 계산 코드 한 줄만 넣으면 AI 기술 개발이 되는 줄 착각하는 임원단과 라이브러리 갖다 쓰기 바빴던 초급 개발자들에게 현혹되어 AI 전문가에 대한 관점이 잘못된 채로 몇 년을 보냈다. 그러다 전문 인력들이 문제를 지적하면서 시장이 개선되는 중인데, 대부분의 공학 전공들이 수학 교육을 불충분하게 한 상태이다보니 위와 같은 직관적인 개념 이해도 부실해진 경우들을 자주 본다.
굳이 해석개론 수준의 Borel-measure 개념 없이도 데이터 문제로 계산이 불가능한 경우들이 있다는 것이 널리 알려졌다면 많은 기업들이 엉뚱한 인건비를 버리지 않아도 됐을지 모르지만, 안타깝게도 수학 개념을 이해하는 분들이 많지 않은 나라와 산업에서는 기술 개발에 실패하면서 사업주들이 각종 비용을 짊어져야 했다.
SIAI에서 그렇게 훈련을 받은 학생이 미국 유학 중에 또 어떤 도전을 겪을지 알 수 없지만, 최소한 위외 같은 시행착오는 피할 수 있는 훈련이 된 만큼, 미국 기업들이 원하는 경험치를 학교에서 쌓아서 졸업할 수 있게 되기를 기대한다.