데이터 사이언스와 수학&통계학 (2)

철학자님이 수포자에 대한 필자의 글을 읽으셨는지, 또 재밌는 글들을 더 보내주셨다. 프랑스 철학자 루소의 “인간불평등 기원론”에 필적할 연구가 필요하다는 생각이 든다고 하시는데, 일단 아래의 인용문구를 먼저 소개한다.

최초의 좌절: 그대의 책임이 아니다.
“태초에 폭력이 있었다. 그 폭력은 그 분이 수학을 창조하셨다는 것이다.
수학교육을 통해 열등감을 가진 80%를 만들어 그들을 저임금 근로자로 삼으라.
수학을 적당히 잘하는 나머지 18%를 중간 관리자로 만들어 그들을 통제하게 하라.
수학
을 아주 잘하는 1.8 %를 지식인이라고 부르자.
(중략)
신이
시여, 나머지 0.2 %는 슈퍼 울트라 수학을 잘하는 사람이겠군요? 아니다. 그들은 수학을 할
필요조차 없는 사람들이니 내가 진정으로 사랑하는 나의 아들이다.” – 수학 창세기 –

금수저 (또는 다이아몬드 수저)를 물고 태어나신 0.2%가 아니면 수학 실력으로 자신의 신분이 결정된다는 식으로 희화화해놓은 문구인데, 솔직히 말하면 필자의 철학과 많은 부분에서 일치한다.

 

1. 알맹이없는 머신러닝 강의

지난주에 어느 모임에 갔다가 머신러닝 강의하신다는 분을 만났다. 자기가 무슨 4차 산업혁명을 이끄는 선두주자인 것처럼 거드름을 피우는 꼴이 너무 아니꼬워서 그냥 무시할려다가 도저히 못 참고 말을 걸었다. 어떤 내용 강의하시냐니까 예상했던대로 Logistic이랑 RandomForest 비교하고, TensorFlow 코드 짜는거 가르쳐주고, 간단한 챗봇 만드는거 알려준단다. 속으로 너 잘 걸렸다 싶어서, 챗봇 만들 때 문장 쪼개서 단어들 구분하는건 어떤 방식으로 진행하시냐니까 갑자기 놀란 눈으로 필자를 쳐다보더니, 말을 얼버무리기 시작하더라. 명사랑 형용사, 부사는 구분할 수 있어도 동사 구분하기는 쉽지 않을텐데, 그리고 우리말 사전 데이터 베이스는 어떤 걸 불러와서 챗봇에 Feeding 시키냐고 물으니까… 도망가더라.

(그 분 혹시라도 지금 이 글을 보신다면, 앞으로라도 이 글을 보신다면 공부 좀 하고 다시 필자에게 찾아오셔도 좋다.)

챗봇에 들어가는 모델링 방식은 Recurrent Neural Network (RNN)라고, 시계열 다루는 용으로 변환시킨 Neural Network 모델이다. 그 중에서 챗봇은 과거의 단어 조합 패턴을 정확하게 기억해내서 현재의 문장 흐름에 매칭을 시켜야하기 때문에 RNN 중에서 Long-Short-Term Model (LSTM)의 Memory Cell을 활용한다. 수백, 수천가지의 Memory Cell이 동시에 작동해야하기 때문에, 당연하겠지만 Computational Cost가 매우 많이 필요한 작업이다. 이걸 해결하려면 여러 Sequence들을 단어나 문장 데이터 형태로 저장하는게 아니라 단순한 숫자 조합 (정확하게는 행렬)으로 저장해놓고 Memory cell이 켜질 때마다 불러오는 식으로 구조화해야할텐데, 아마 그런 내용은 하나도 모르고 계시니까, 단순하게 어딘가에서 (아마도 Github?) 챗봇 알고리즘을 찾아서 그걸 사람들 앞에서 실행하고 있는 수준이어서 일 것이다.

(도망간게 아니라면, 정말 억울하다면 꼭 필자를 찾아와주시기 바란다. 회사 주소는 하단에 있다.)

저런 수업을 진행하고, 또 그 수업을 듣고 뭔가 많이 알았다고 뿌듯해하는 사람들이 바로 철학자님이 말하는 80%인 것이다. (이 분들이 돈이 되기 때문에 강의해주는 기관이나 책 장사 하시는 분들이 80%를 타겟으로 해 달라고 여러번 이야기를 하신다.)

그리고 그들을 대상으로 하는 강의는 매우 쉽게 카피가 가능하다. 필자같이 자존심이 좀 쎈 사람은 아예 가르칠 생각도 안 한다. 내가 하는걸 남들이 금방 카피할 수 있다면 내 수준이 같이 낮아지는 느낌이 들기 때문이다. (1.8%가 될 수 없을지라도 최소한 80%로 추락하고 싶지는 않다 ㅎㅎ)

 

2. 수포자가 생기는 이유?

11월에 강의 끝내고 수강생 한 분과 방향이 같아 같이 대중교통을 이용해서 귀가하던 길에 이런 질문을 받았다. 사람 뽑을 때 가장 중요하게 보는게 뭐냐고.

필자는 딱 2가지를 본다. 수학을 얼마나 잘하냐와 얼마나 적극적으로 문제를 해결하려는 의지를 가졌는지. 그런데, 많은 경우에 두 가지 특징은 사실 하나더라.

(그나저나 “내가 멍청해서”라는 답안지는 왜 없을까?)

왜 수포자가 되는지 설문조사 내용을 보면 (상단 그래프 참조), 대다수는 내용이 어렵다는 이야기를 한다. 그런데, 필자와 같은 세대 고교 수학을 공부하신 분은 알겠지만, 요즘 고교 교과서의 수학은 필자가 고교를 다닌 1990년대 후반보다 훠~얼~씬 쉽다. 수포자 많이 생긴다고 정치권에서 수학을 쉽게하면 수포자가 덜 생길 것이라는 논리를 들이대서 이것저것 어려운(?) 내용을 다 빼낸 교과서가 요즘 교과서인데, 그 덕분에 수포자가 많이 줄었나? 글쎄…

수포자는 내용이 어려워서 생기는게 아니라, 어려운 문제를 만났을 때 포기하기 때문에 생긴다. 여기서 수학 좀 할 줄 안다고 으시대는 필자인들 처음부터 수학이 술술 풀렸겠는가? 중학 시절에는 30/100점 받은 시험도 있고, 고교 시절에 진짜 열심히 공부하고도 77/100점 받은 시험도 있다. 학부 고학년 시절 계량경제학에 나오는 수학도 헤매며 따라갔고, 나중에 박사 학위때는 Stochastic Calculus라고, 어지간히 수학 공부한 사람들도 어려워하는 내용까지 정말 꾸역꾸역 이해하면서 한 발자국 한 발자국 나아갔던 기억 밖에 없다.

문제가 어려우면 도전해서 적극적으로 이해하고 문제를 풀어내는 성취를 맛 본 학생들은 그렇게 쉽게 포기하지 않는다. 말을 바꾸면, 수포자가 생기는 이유는 내용이 어려워서가 아니라, 머리를 써야 이해할 수 있는 상황에 직면하면 그냥 손을 놓기 때문이다. 머리를 써서 이해하려는 시도를 제대로 안 했기 때문에, 최소한 그 시점에 선생님이라는 사람이 도와줘서라도 극복할 수 있었어야하는데, 그 기회를 놓치고 좌절에 익숙해졌기 때문이다.

 

3. 수학이 들어간 머신러닝 강의

그 수강생 분이 그러시더라. 수업 듣고나니 그 회사에 입사할려면 수학 진짜 잘해야 될 것 같다고. (참고로 이 분은 Anaconda 4.2.0에서 4.4.0으로 업그레이드 되면서 Python의 데이터 array 방식이 바뀐 탓에 이전에 공유했던 코드가 안 돌아간다고 일주일 동안 머리를 싸맬만큼 열심히 공부하셨던 분이다. 수업 시간에 array 시작 포인트를 0에서 1로 바꾸고 다시 돌려보라니까 속이 시원한 표정을 짓던게 기억난다.)

물론 철학자님이 말하는 상위 1.8%는 상대적으로 더 쉽게 허들을 넘는다. 이 학생이 수학적인 센스가 뛰어난 사람인지 아닌지 판단하는 몇 가지 문제 풀(Pool)이 있는데, 그 중 하나를 수학&통계학 강의 시간에 던졌더니, 한 두가지 힌트만 듣고 대답해내는 수강생을 본 적이 있다. (그 분, 제가 얼굴 기억하니까 찾아오시면 밥 삽니다 ^^) 연구소에 박사님들 대상으로 강의할 때는 보자마자 바로 답이 나오는 분도 있더라. 

이런 센스가 있는 사람들은 어차피 넘사벽이다. 다만 그들만 할 수 있는 것처럼 지레짐작하고 포기할 필요는 없다는 말을 하고 싶다. 어차피 회사에서 쓸만한 데이터 사이언스 지식은 넘사벽의 누군가가 만들어내서 우리가 활용하는 지식이지, 넘사벽이 아닌 18%에 속하는 당신이 만들어내는 지식이 아니다. 단지 자신이 18%에 속하는데도 불구하고 80%에 속하는 것처럼 굳이 좌절할 필요는 없지 않나?

학부 경제학을 한 수강생이나, 컴공 출신 수강생들의 이해도를 보면, 이게 “불가능”한 내용이 아니라, 그냥 좀 “어려운” 내용이고, 그렇다고 “포기”할 만한 내용은 절대로 아니라는 걸 눈으로 확인할 수 있다. 단지 이걸 이해하는데 필요한 훈련이라는 것이 코딩이 아니라 학부 수준의 통계학이라는 걸 보여주는거지.

 

나가며

지난 글에서 밝힌 어느 대기업 강의를 끝내고 기자재 정리를 하는데 한 분이 찾아오셨다. 이렇게 직관적으로 이해가 잘 되는 통계 강의는 처음 들었다면서, 필자가 홈페이지에서 제공하는 강의에는 어떤 걸 가르치냐고 물으시더라. 혹시나 전공이 어떻게 되냐고 여쭤보니, 역시나 경영학이란다. 대기업용 강의처럼 가벼운 내용만 가르치는 수업이 아니니 경영학과 출신이시면 어려울 것 같다고 솔직한 말씀을 드렸다. 욕심이 나면 먼저 수학&통계학 수업 듣고, 거기서 힘들고 못 따라올 것 같다고 판단되면 그냥 접으시는게 맞을 것 같다고,

굳이 따지고 들자면, 학부 경제학을 한 필자의 절친들이 통계학을 제대로 기억하는 경우도 거의 없고, 반대로 비전공자인 철학자님이 PCA를 “자연이 가르쳐 준 축”이라고 잡아내주실 정도로 이해도가 깊은 걸 보면, 학부 전공은 무의미할지도 모르겠다. 학부 전공과 별개로 고교 시절에 자기가 배우고 익힌 수학이 1.8%냐, 18%냐, 아니면 80%냐에 따라 결정되는 걸지도.

모르긴 몰라도, 앞으로 몇 년 안에 회사들 데이터 베이스가 제대로 구축되고 나면 1.8%의 몸 값은 지금보다 몇 배는 치솟을 것이다. 그래, 인간은 불평등하다.

 


위의 내용에 일부 코멘트 추가 합니다.

비전공자인줄 알았던 철학자님이 제 학부 선배 (서울대 경제학부) 이시고, 미국의 매우매우매우 유명한 대학에서 경제학 박사 학위를 받으신 후, 현재 서울시내 모 대학의 교수로 재직 중이신 것을 우연히 알게 되었습니다. 까마득한 후배가 선배님을 몰라뵈어서 대단히 죄송합니다.

X