[기획] AI가 노벨경제학상을 탈 수 있을까? – 반박 – 재반박 – 대학생 감상문

890

몇 달전, “AI가 노벨경제학상을 탈 수 있을까?”라는 학부 수준 공돌이의 상상력만 가득 담긴 사업모델에 대한 문제를 정리한 기사가 나간 적이 있다. (AI가 노벨경제학상을 탈 수 있을까? – 반박)

해당 글에 반박글을 받았다며, 그 글에 대해서 어떻게 생각하느냐는 어느 치기어린 대학생의 질문을 받고, 이 정도 수준의 반박은 대꾸할 가치조차 없는 수준이라는 반박 (AI가 노벨경제학상을 탈 수 있을까? – 반박 – 재반박) 글을 공유했다. 덧붙여, 이 정도 질 낮은 수준의 사업모델을 직접 비판 못하고 그대로 Copy & Paste 해 놓고 어린 애들이랑 싸움 붙이는 짓은 하지말라고 불만을 털어놨는데, 스스로의 힘으로 그 로보 어드바이저 회사 CEO의 사업모델이 질 낮은 수준이라는 걸 어디까지 이해하는지 직접 감상문을 써서 제출해라고 요청했다.

이미 위의 글들을 읽으신 실력있는 독자 분들에게는 시간 낭비일지도 모르겠지만, 학부생이 한 달 남짓한 시간동안 이 정도까지는 문제점을 지적할 수 있는 수준에 올라올 수 있다는 사실에 일단 용기를 북돋아주는 기회로 삼았으면 한다.

학부생이 이 정도까지 성장했으니, 더 배우면 어떤 관점을 가질 수 있는지 길을 보여드리기 위해 몇 가지 코멘트를 더 추가해드린다. 더 성장하셔서 저런 가짜 AI전문가들을 시장에서 퇴출하시는데 일익을 담당해주시면 좋겠다.


안녕하십니까 [AI가 노벨경제학상을 탈 수 있을까? -반박 -재반박]에 대해 메일 드렸었던 대학생 XXX입니다. 다시 한번 생각없이 행동했던 과거에 대해 반성하며 진심으로 사과드립니다. 기말고사와 여러가지 계획했던 일들이 정신없이 몰아닥친 탓에 감상문을 늦게 제출하게 되었습니다. 말씀하신 한 달이 다 되었기에 이 메일을 읽으실 지는 모르겠지만 공부할 수 있는 좋은 기회라 생각하고 모든 글을 꼼꼼히 정독한 뒤 감상문을 작성해보았습니다.

1. 귀납적인 팩터발견 : PCA는 분산이 큰 방향으로 새롭게 축을 정의하고, 가장 분산이 큰 축을 기준으로 하여 이에 수직인 다른 축들 중 계속하여 가장 분산이 큰 축들을 찾아나가는 방식의 분석입니다. 250개의 변수를 묶어서 PCA로 3개의 축을 통해 73% 정도로 data를 설명할 수 있다는 의미는 해당 변수들로 그 이상 아무리 지지고 볶아봤자 나머지 27% 정도를 위한 것이기에, 귀납적인 방식으로 factor를 찾는 방법은 일정 수준 이상에서 유의미한 결과를 얻기 어려울 것이라는 말을 대표님께서 하시려는 것으로 이해했습니다.

Comment:

좀 더 정확하게 이야기하면, PCA는 데이터의 2차 Moment가 구성하는 Vector Space를 찾아내고 (Eigen-vector들을 뽑아내니까), 그 Vector Space를 구성하는 좌표축 (Eigen-vector)들의 “선형”재결합을 통해 데이터(의 2차 Moment)를 재구성하는 계산법이다.

Eigen-vector가 Vector Space의 축이냐 아니냐는 논쟁은, PCA가 쓰는 2차 Moment값들이 대각행렬이라는 점, Full Rank라는 가정이 있다는 점에서 Eigen-vector가 서로 직각이라는 증명으로 받아칠 수 있으니, 말 그대로 새로운 축과 새로운 좌표를 만드는 개념이라고 보면 된다.

여기서 선형 결합으로 3개 축이 73%의 Var-Cov를 설명하고 있으니, 나머지 250-3 = 247개의 축이 27%를 설명하는 것 일수도 있고, 3개 축의 비선형 결합으로 “쥐어짜기”식으로 27%의 일부를 메워넣을 수 있기는 하다. (앞쪽이 목적 데이터를 봤을 때 합리적인 관점이고, 뒤쪽이 예외적인 비선형 조합의 가능성을 염두에 둔 가정이다.)

정리하면, 그 로보 어드바이저 회사에서 귀납적으로 Factor를 찾아내겠다고 주장하려면, 우리 눈에 보이는 데이터 레벨이 아니라, 데이터의 실제 Vector Space (또는 Information Set 레벨에서의 Vector Space)가 27%에 해당하는 4차원 이상에서도 1-2개 축이 유의미한 정보를 담고 있거나, 73%에 해당하는 3차원 공간 자체가 비선형구조를 가진 공간이라는 근거가 뒷받침되어야 한다.

지구에서 비행기로 어느 두 지점을 이동할 때 Euclidean space 관점을 벗어나서 구(球) 위의 공간구조를 생각하듯이, 2차 Moment가 만들어낸 공간이 얼마든지 비선형구조를 가질 수 있다. 근데, 언제? Raw Data의 Underlying distribution이 1차, 2차 Moment에 기반한 포아송, 정규분포 같은 분포를 따르지 않을 때. 그래서 3차 이상의 Moment값이 중요할 때.

(참고로 PCA 3개 축으로 73%라는 이야기와 3차 이상의 Moment라는 표현에서 나오는 3이라는 공통 숫자는 아무런 상관관계가 없다. PCA는 2차 Moment들로 구성된 데이터에서 Vector Space를 그렸을 때 정보를 가장 많이 담고 있는 3번째 Vector Space 축까지의 공간이 전체의 73% 정보를 갖고 있다는 이야기고, 3차, 4차 이상의 Moment들로 얼마든지 같은 방식의 Eigen decomposition을 할 수 있다. Moment가 뭔지 몰라서 이런 질문을 하는듯. 이상한 질문을 받고 한 줄 더 추가한다.)

자산 수익률이 정규분포를 따르는 것이 일반적인 경우이기 때문에 저 위에서 “예외적인” 비선형 조합이라는 표현을 썼고, 실제로 저 CEO 분이 Reference로 삼으신 논문도 정규분포라는 가정이 깨지는, Momentum이 있는 구간 (즉, 3차 이상의 Moment값이 중요한 구간)이라는 조건부 데이터 셋에서 작업을 했다.

 

2. 팩터팩토리는 grid search인가 아닌가 : (지표, 연산자)를 이용하여 이렇게 저렇게 수많은 조합을 체크해보는 게 grid search가 아니면 무엇인지…. 라는 생각이 드네요. 이에 대해 해당 기업 CEO분은 강화학습 모델로는 grid search를 안 해도 똑똑하게 찾을 수 있다고 답하셨는데, 강화학습을 제대로 각잡고 공부해본 적이 없어서 정확히는 모르지만 강화학습은 Markov 의사결정에 기반하여 수많은 trial을 통해 결과에 기반하여 행동들에 가중치를 두어 reinforce할 지 결정하는 것이라는 얕은 이해를 기반으로 생각해보면, 결국 수많은 trial이 필요하기에 grid search와 결이 비슷한 방법이 아닐까 싶네요.

Comment:

강화학습 (Reinforcement Learning)이라는 모델은 Dynamic Stochastic optimization 계산을 Trial-and-error로 반복하는 or Gradient Descent 방식의 계산으로 근사치를 추정하는 계산법을 말한다.

강화학습 모델로는 Grid Search를 안 해도 뭔가를 찾아낼 수 있다는 건, 자기가 그 전에 썼던 팩터 팩토리라는 Grid Search 방식을 강화학습이라는 계산법에서는 쓰지 않아도 된다는 표현일텐데, 계산식이 단순한 선형함수에서 Dynamic Stochastic 함수로 바뀌었을 뿐, Trial-and-error로 답의 근사치를 찾아가는 계산이라는 점은 동일하다는 사실을 배웠으면 저런 말을 할 수 있을까?

쉽게 설명하면, 주사위 숫자 3이 다섯번 나왔다는 것을 표현하는 방식으로

  • 3+3+3+3+3 = 15
  • 3×5 = 15

와 같은 표현법을 쓸 수 있다. 덧셈밖에 모르던 분에게 곱셈은 새로운 세상일지 모르겠지만, 곱셈을 썼다는 이유로 갑자기 3인지 모르다가 3인걸 맞출 수 있게 되는 마법, 3을 다섯번 더하던 것을 두번만 더하는 마법을 부리는 건 아니다.

어지간히 Quantitative 전공으로 대학원가면 Dynamic Stochastic optimization 계산은 한번쯤 해 볼 것이다. 그게 Hamiltonian이건 단순한 Bellman equation 푸는 방식이건 상관없이.

공돌이들이 뭣 모르고 문과라고 무시하는 경제학 석사과정 1학년 수업에서도 Dynamic Stochastic General Equilibrium (DSGE) 계산을 위해서 Hamiltonian과 Bellman을 배우는데, 자기들이 수학 많이하는 줄 착각하는 공돌이들이 이런 Dynamic Stochastic optimization을 모른다면 실제로는 수학을 많이 하는게 아니겠지. (수학이 아니라 계산만 많이 하는 거겠지.)

고교 시절 1차 미분이 0이 되는 점, 2차 미분이 양/음인 걸 1변수 모델에서 최대/최소값으로 찾아내다가, 학부 1학년 때는 N(>1) 변수일 경우 2차 미분을 Hessian으로 바라보는 관점을 배운다. 조건식이 들어갔을 때 Bordered Hessian으로 확장되는 것 까지는 아마도 학부 미분방정식 범위일 것이다. 운이 좋다면 학부 고학년 시절에 Static이 아니라 Dynamic인 경우에 최적화 포인트를 찾아내기 위해서 변수만 N개로 늘리는게 아니라, 1 period를 확장해서 T(>1) period 케이스를 배울 것이고, 대학원에서는 그 변수들이 Deterministic이 아니라 Stochastic인 경우를 배운다. (그럼 Expectation을 넣어서 계산하게 된다. E(X)처럼)

더 깊게 들어가면 Stochastic인 경우 중에 Underlying distribution의 모양을 바꿔가며 Expectation 계산을 할 수 있는 영역으로 분포함수 변형을 하는 것도 배우고(Ea(X) -> Eb(X)처럼, Change of Measure라고 한다), 계산식 자체를 계산가능한 형태로 변형하는 각종 계산법들을 배울 것이다. Logit의 Newton Method도 따지고보면 식의 변형작업이다. 강화학습이라고 불리는 지식의 세계에서도 Change of measure를 이용하거나, Instrumental variable로 Endogeneity를 제거하는 계산법들을 본다. Experience replay라고하면 머신러닝 교과서만 봤던 사람들에게 좀 더 익숙하려나?

이렇게 Dynamic & Stochastic 레벨까지 모델링 구조를 이해하고나면 “강화학습”이라는 지식이 모르는걸 가르쳐주는 요술방망이가 아니라, 계산식이 덧셈에서 곱셈으로 진화하는 것 같은 수학적 요구지식 레벨이 증가했을 뿐 (그래서 좀 더 현실을 반영할 수 있도록 식을 변형시킨 것 뿐)이라는 걸 알 수 있었을 것이다.

최소한 “(강화학습이라는 걸 쓰면) Grid Search 안 해도 똑똑하게 찾을 수 있다”는 ‘학부생 수준(도 안 되는)’ 이야기는 안 할 수 있었겠지.

사족을 달면, 수학 기반의 모델링을 잘 모르는 사람들은 수학이 현실을 반영하지 않는 학문이라고들 생각한다. 그런데, 현실은, 수학이 고급으로 올라갈수록 단순화했던 학부 기초 수준의 모델이 점점 더 현실을 반영하게 된다. 고교수준 경제학에서 수요-공급 곡선만 봤을 때는 비현실적이지만, 박사과정에서 DSGE를 배우고, 직접 거시경제의 특정 변수 효과를 추정/추적하는 모델을 만들고나면, 이런 지식없이 무작정 이자율 올리기, 내리기만하는 금융통화위원회 위원들 몇 명이 얼마나 Disqualified 인력인지 알 수 있게 되는 것처럼.

 

3. Working capital 변수 사용의 의미 : 글을 모두 정독하다보니 CEO분이 대표님 글을 제대로 이해하려 하지 않고 대충 피상적으로만 훑어본 후 반박글을 썼다는 느낌이 가장 많이 드는 대목이었습니다. 위에서 주장했던 대로 factor를 알고리즘에 넣었을 때 괜찮은 설명력을 갖춘 계산 조합을 그렇게 훌륭하게 뚝딱 내놓는다면, wc = 매출채권 – 매입채무이므로 얘도 매출채권과 매입채무로 지표를 따로 나누어 알고리즘에 넣어봐서 더 많은 경우의 수를 탐색해보는 것이 당연한 수순일 것입니다. 하지만 wc에 대한 이해가 없이 단순히 s&p compustat에서 제공되는 항목이라는 이유로 통째로 넣었기에 wc를 이해하고 있지 않아보이는 것이라고 대표님이 말씀하신 것 같습니다.

Comment:

Working capital 변수로 Grid Search 어설프게 했다는 표현은, 지적은 둘째 문제고, 그냥 놀린 거였다. “인공지능”이라고 부르는 계산통계학은 커녕, 단순 재무제표 항목들이 어떻게 계산되는건지도 모르는 것 같길래. 이미 학부생 분의 코멘트로 충분히 좋은 답변이 된 것 같다.

 

4. 사칙연산 or 다른 연산자 : 팩터팩토리는 +-*/뿐 아니라 ln이든 root든 팩터팩토리는 brute-force 방식으로 무식하게 많은 combination을 시도해보는 방식이란 것을 확실히 알게 된 대목이었습니다.

Comment: 

위의 3번과 같다.

 

5. Causality 문제 : machine learning에서 causality의 의미는 잘 몰라서 구글링을 해본 결과, data-driven으로 결론을 도출하는 machine learning의 방식을 사용할 때 반드시 고려해야 할 사항으로, model을 이용할 때는 model을 학습시킬 때 사용한 data가 쌓일 때와는 다른 환경이므로, 공통적으로 통용되는 상황이라는 보장이 있어야만 model이 의미가 있기 때문에 이에 대한 체크를 하는 것이라고 이해했습니다. 이런 원인들(ex로 드신 legal friction 등)에 대한 고려없이 CEO분은 academia와 실제운용이 어쩌구 하신 것 같네요…

Comment:

Causality(인과 관계)라는건 Machine Learning”에서”라는 표현으로 국한해서는 안 되는 주제다. 데이터를 이용한 작업이나, 수식을 이용한 작업이나, 글을 쓰는 작업이나, 그 어떤 작업에서도 논리적 인과관계가 붕괴되면 이성적 범위를 벗어난다.

데이터 작업에서 Correlation은 있지만 Causality가 없는 경우를 Spurious(사기의, 허위의) regression이라고 부르는데, Machine Learning이라는게 결국은 계산통계학의 한 분야라는 사실을 생각해보면 굳이 Machine Learning”에서”라고 국한할 필요가 없다.

모델을 적용하는 환경이 달라졌다는 표현이 틀리지는 않았지만, 부분 집합이니까, 좀 더 일반화된 용어인 “인과 관계”가 없는데도 불구하고 변수 간 Correlation이 높게 나오는 경우는 1회성 상관관계다, 그래서 무의미한 관계라는 뜻을 이해해주시면 좋겠다.

 

부족하게나마 모르는 내용은 구글링해보고 써본 감상문입니다. 쓰면 쓸수록 저런 글을 대표님께 그대로 전달했던 과거의 행동에 대해 부끄러워집니다… 날이 많이 추워졌는데 건강조심하시길 바랍니다.

Comment:

학부생이 한 달만에 이 정도까지 이해도가 깊어졌는데, (대충 50점 정도 줄 수 있을 것 같다) 저 로보 어드바이저 회사를 필자 같은 훈련을 받은 사람들이 어떻게 볼까?

저 회사 마케팅 담당자와 만나본 어느 지인이 그러더라.

뭔지는 잘 모르지만 우리 대표가 Bruxxx에 쓰는 글들보면 우리 회사의 전문성을 알 수 있다

고 표현했었다고.

내 눈엔 “전문성“이 아니라 “무지몽매함“을 잘 알 수 있는 글들이었던 것 같다. (박사 시절 친구들이랑은 병X력이라는 표현을 썼었다)

어떻게들 볼지 모르겠지만, 필자의 전문 분야는 Stochastic calculus 기반의 Computational Finance였지, 위에서 언급하는 Estimation Theory 쪽이 아니다. 말을 바꾸면, 전문 분야라고 내세울만한 지식도 아닌 영역, 대학원 공부한 사람들의 평균 수준이라고 생각하는 영역임에도 이렇게 근본부터 완전히 뭉개버릴 수 있을만큼 엉망진창인 사람들이 자칭 AI전문가라고 사업체를 운영하고 있다는 뜻이다. 학부생이 1달만에 이정도까지 지적질을 할 수 있는 한심한 지식의 짝퉁 AI전문가에게 투자한 VC들은 도대체 눈이라는걸 달고 사는건가?

그나마, 지난 3년간 줄곧 파비블로그를 통해 주장해왔었던게 요즘은 좀 받아들여지는 세상이 왔다는 사실이 실감나는게, 컴공에서 “인공지능”하려면 수학, 통계학과에서도 살아남을 수 있는 수학 실력을 갖춰야한다는 국내 커뮤니티 글들을 종종 보게 된다. 개발용 코딩이나 DB구조론 같은 주제들이 “인공지능”이랑 완전히 다른 지식이 필요하다는 사실을 평범한 컴공 학부생들도 조금씩 깨닫고 있는 것 같다. 안 그래도 수학 별로 안 쓴다고 무시당하던 컴공이 Python 때문에 영어영문학으로 전락했다고 자조 섞인 표현을 쓰던 어느 컴공 교수가 생각난다. (듣는 영어영문학과 기분 나쁠 것 같다.)

경제학 박사 유학가려면 당연히 수학 or 통계학 복수전공해야된다고 생각하고, Finance 박사 학위에 MBA 출신들을 받아주던 70년대가 지나고 2000년대에는 수학&물리학&통계학 박사 학위가 사실상 좋은학교 Finance 박사 프로그램 입학 조건이 되어버렸던 것처럼, “인공지능”이라고 불리는 지식을 박사 수준에서 공부하려면 요구되는 수학 수준에 대한 시장의 인식이 점점 더 올라가리라 생각한다.

어느 국내 2류 대학의 마케팅 박사가려던 분이 R 코드 돌려야된다고 그래서 (원래 자기가 하던대로 글로 학위 따는) 다른 학교 찾아보는 중이라고, 바뀌고 있던 트렌드에 불평하던 기억이 스쳐간다. 면접 통과할 수 있도록 몇 시간 과외 받으면 되는거 아니냐고 묻길래 코웃음을 쳤었다. 컴공에서 “인공지능” 한다고 주장하는 사람들도 Python만 하면 되는 줄 아는 멍청한 시대에 꿀 빠는 지금이 그들에게 좋은 시절일 것이다. 몇 년 후에 수학 복수전공 안 했다고 대학원 떨어졌다며, (아직 수학 강조 안 하는) 다른 학교 대학원 찾아야겠다 그러겠지.

저 위의 로보 어드바이저 CEO 같은 수준의 학부 수준도 안 되는 졸업생을 내놓는 학교와 프로그램은 퇴출된다는 냉혹한 현실을 (정상적인) 교수진들이 모를리가 없거든.

교육 내용이 바뀌는 수준을 넘어서, AI대학원이라는 곳의 교수들이 “인공지능”이라는 과장용어까지 포기할 수 있으면 완벽할텐데. 내가 대학원 만들면 AI라는 이름의 프로그램이나 대학원 만들기 정말 쪽팔릴 것 같다. 단지 계산통계학을 이용한 Multi-pattern matching 알고리즘인줄 아는 분들이라면 홍보 때문에 AI 들어가야한다는 마케팅 팀의 주장, 멍청한 정부 관계자가 AI들어가야 정부지원금 준다는 헛소리 같은거 들어주고 있기 얼마나 힘들까…

이런 시장 상황을 보면, 아직 AI라고 불리는 Computational Statistics 전공으로 제대로 된 교육이 이뤄지기까지는 더 긴 시간이 걸릴 것 같다. 이대로 놔두면 영원히 안 될 수도 있겠다는 생각도 들고.

(수학기반으로, 제대로, 힘겹게) 공부하시는 분들, 수학 무시하는 한국의 무지몽매한 현실에 힘드시겠지만, 그래도 건투를 빈다.