수학이라는 장벽 for 4차 산업

외부 강의 요청이 있거나, 장문의 상담 이메일을 받거나, 책을 쓰자는 연락을 받고 미팅을 하면, 가장 먼저 물어보는 내용이 “어느 정도 수준의 수학”을 알아야 머신러닝을 이해할 수 있느냐다. 몇 번 말이 오가고 나면 이 분들이 왜 필자를 잡고 있는지 금방 눈치채게 된다. 필자가 문과 출신이기 때문이다. “수학”, “통계학”이 중요하다고 열심히 써 놨지만, “너는 경제학 출신이니 수학을 잘 모를 것이다”라는 기대감을 갖고, 고교 문과 수학에 미적분 지식이 약간만 더 갖춰지면 충분한 줄 안다. (더 심한 경우엔 경영학과랑 같은 전공인 것처럼 “모욕”하시는 분들도 있다.)

수학으로 굴곡진 짧은(?) 인생을 간략히 돌아보면, 그런 실력으로는 코드만 치는 “수알못” 코더가 되거나, 아니면 그냥 깔끔하게 포기하는게 효율적인 것 같다. 이건 개발용 코딩이 아니라 Scientific 코딩이라서 결국 수식을 코드로 바꾸는 작업이니까. 자랑(?)일지도 모르지만, 필자는 비교내신제 폐지 탓에 외고를 자퇴하고 검정고시를 통해 대학을 갔는데, 자퇴하기 전에 전국 단위 수학 경시대회 수상실적도 있고, 자퇴하던 당시에 담임 선생님은 필자가 이과 가려고 자퇴하는 줄만 아셨다. 좀 더 자랑(?)을 이어가면, 대학 레벨 수학적 사고 (추상화 능력)의 가늠자라고 불리는 해석개론 수업을 같이 듣던 컴공과 수석 후배 하나는 “형은 항상 증명하는 아이디어가 바로바로 떠오르는 가보네요.”라고 했었다.

물론 힘들었던 적도 많았다. 고교 때는 수학시점 70점도 받아봤고, 박사 시절엔 어느 게임이론 문제 하나만 꼴똘히 생각하다 학교 앞 도로 턱에 넘어져 다친 적도 있었고, 증명 하나 때문에 며칠 밤을 샜던 적도 부지기수였다. 진짜 천재들에게는 상관없는 이야기겠지만, 평범한 필자에게 수학 공부라는게 그렇게 힘들더라.

(Source: YouTube.com) – 마지막에 나오는 강의실은 내가 수업 듣던 강의실이랑 똑같이 생겼네 ㅋㅋ

 

학교 교육 for 4차산업

동네 과고생 하나한테서 “데이터 사이언스” 하고 싶은데 대학 전공을 어떤 걸 결정해야하는지 잘 모르겠다고 질문을 받았다. 컴퓨터 사이언스랑 (계산)통계 중에 마음에 더 끌리는거 골라라고 했더니, 블로그 글에 그렇게 수학 강조해놓고 갑자기 수학 아닌 전공을 추천하면 앞 뒤가 안 맞지 않냔다.

어줍잖은 연구 경험상, 수학은 모든 학문의 “언어”다. 수리통계는 말할 것도 없고, 계산통계도 수학적인 토대를 활용하는 철학이 약간 다를 뿐이고, 컴퓨터 사이언스, 산업 공학, 경제학 등등 어느 학문을 가도 수학이라는 “언어”를 활용하는 방식은 큰 차이가 없다. 이런 사실을 박사 초년 시절에 논문에 쓸 증명용 reference 찾으러 돌아다니다 깨달았으니 아직 고교생이 이해하기는 좀 어려울지도 모르겠다.

학부 졸업하기 얼마 전부터 고교에서 미적분을 안 배운 세대가 입학했고, 그 후배들 때문에 교수들이 어쩔 수 없이 겨울 방학 때 미적분 특강을 열었던 생각이 나서, 요즘 고등학교 수학, 과학 교육은 어떻게 되고 있나 싶어 구글링을 좀 해 봤더니…


(Source: 매일경제신문)

즘 고교에서 물리II 교육이 제대로 되질 않아 이공계 학부 과정이 엉망이 되었단다. (상단 스샷 참조) “물알못”이 입학생 900명 중 450명이나 되어서, 어쩔 수 없이 “열등반”을 따로 편성해서 고교 물리I ~II 정도의 수업을 대학 물리 시간에 가르친단다. 필자의 고교 시절에는 과고 다니던 친구들이 물리II는 커녕 대학 물리까지 미리 공부하고 대입 시험을 치뤘는데, 모교 후배들 중 이공계 절반이 물리II를 모른다는게, 일선 현장의 교육이 얼마나 무너졌는지 새삼 느껴지는 이야기였다.

더 안타까운 사실은, 데이터 사이언스 강의를 하다보면 같은 종류의 좌절감을 받는다는 것이다. 필자의 논리를 쉽게 흡수하는 분들도 많지만, “꼰대”라는 느낌이 들만큼 꽉 막힌 분들도 흔히 만나게 된다. 그 과고생이 블로그에 왜 그렇게 “공대생들의 성취를 마음에 안 들어하냐”고 묻던데, 필자가 만난 “꼰대”의 공통점은 (수학 공부를 거의 안 한) “공대”였기 때문이다.

(그 분들을 상경계열 전공자로 치환해보면 ‘미시, 거시, 재무관리’ 같은 수식만 나오는 수업말고, 언제 주식사면 대박나는지 가르쳐 달라고 주장하는 사람들이라고 보면 된다. 우리과 학부 교육은 그런 친구들 스스로가 수학을 못한다는 사실을 뼈에 사무치게 깨닫고 학교를 떠나게 만드는데, 공대 교육은 도대체 어떻게 돌아가고 있는 걸까? 여태까지 너무 Biased sample만 만난걸까…)

 

IT 업계 for 4차 산업

이런 특징들이 어디서 잘 드러날까? 가까운 개발자 분에게서 이런 말을 들었다.

“학교나 대기업 인공지능실에 있는 사람들도 거의 대부분 시스템을 다룬 사람들이라 데이터 플랫폼을 이해하는 수준도 아쉽고, 말씀주신 추천 시스템 알고리즘 보고 좀 당황하고 놀랬습니다.”

회사 명이 노출될 수도 있는 우려를 무릅쓰고 당시에 언급했던 추천 알고리즘을 간단하게 소개한다. (회사 이름은 지웠으나, 그래도 문제가 있다고 판단되면 담당자 분께서 연락주시면 좋겠다.) 아래의 추천 상품 목록은 필자가 글을 쓰다가 방금 스크린 샷을 뜬 것이다. 참고로 필자가 가장 최근에 XXXX에서 구매했던 상품은 친척 분께 드린 냉장고와 단백질 파우더였다. 온라인 쇼핑몰에서 딴 짓하지 않고 검색 몇 차례 후 바로 구매하는 필자의 구매 패턴상 아래의 상품들은 커녕 유사한 상품마저 봤을리가 없다.

(Source: 모 온라인 쇼핑몰 홈페이지)

계정을 해킹당했던 것도 아니고, 누구랑 계정을 공유하는 것도 아닌데, 도대체 왜 저런 “추천” 상품이 나타났을까?

뿐만 아니다. 스크린 샷을 뜬 부분 오른쪽에 작게 “추천상품”이라는 박스에 화면이 Refresh 될 때마다 다른 상품이 뜨는데, 여성 의류, 캠핑 장비 등등 완전히 Random한 상품 배너가 나타난다. (이 부분은 어쩌면 랜덤하게 상품 보여주는 광고 지면인지도 모르겠다.)

추천 알고리즘을 정말로 데이터에 기반해서 만들었고, Exploitation / Exploration 이라는 아이디어를 제대로 적용했다면 이런 일은 없었을 것이다. 이런 온라인 쇼핑몰에서 추천 알고리즘을 적용하면, 일반적으로 유저 ID에 해당하는 값을 찾고 (로그인 ID, 스마트폰 AD ID를 비롯, IP 주소, AP 주소 등을 활용한 다양한 Cross Device Matching 기술이 있다), 그 유저 ID의 과거 기록을 살핀다. 과거 기록이 부족하거나 지나치게 오래된 정보라면, 어떤 식으로 과거 데이터를 활용해야할지 고민해서 모델을 만들어야할텐데, 아마 위의 사례를 보아하니 그냥 일반적으로 이 시간대에 많이 보는 상품들을 넣은 것 같다.

랜덤하게 보이는 추천 상품 배너도 마찬가지다. 기존 데이터에만 의지하는 Exploitation으로는 한계가 있으니, Exploration을 추가했다가 (수학적으로 Randomness를 포함시키는 작업이다), 너무 뜬금없는 상품들이 나타나니 이걸 없애버렸을 것이라고 짐작된다. 10번 Refresh하는 동안 봤던 “추천 상품”은 전부 바로 아래의 “XXXX쇼핑몰 BEST”에 떠 있는 상품 배너와 동일하니까. 참고로 글로벌 타게팅 광고 회사들이 자사 타게팅 알고리즘의 우위를 증명할 때 꼭 지적하는 부분이 바로 Exploration이 얼마나 효율이 좋은지에 대한 설명이다. Random이라고 하지만, 완전히 Random이 아닌, 조건부 Random 모델을 만들어야할텐데, 코드만 복사할 줄 알았지 정작 어떤 모델을 어떻게 활용해야한다는 고민을 깊게 해 본 적이 없기 때문에, 그런 고민을 수식으로 모델화 해 본 적이 없기 때문에, 그렇게 만들 모델을 코드로 구현해본 적이 없기 때문에 이런 문제가 생긴게 아닐까 싶다.

한국와서 꽤나 많은 회사의 담당자들을 대상으로 “큐레이션”이 어떤 아이디어를, 어떤 모델로 표현하고, 이 때 한계점은 무엇이고, 어떻게 극복해야하는는지를 설명해주고 있다. 얼마나 많은 분들이 필자의 수업을 이해하고 있는지는 모르겠지만, Sparse matrix에서 n개 벡터가 서로 유사하다는 걸 계산하기에는 데이터 구조적인 문제가 있다, 그래서 처리하는 방식이 달라진다는 말을 쉽게 이해하고 따라오는 경우를 보기가 참 어렵다.

 

나가며

학부 시절, 동아리 활동을 하던 중, 수학 공부 안 하는 경영학과를 엄청 무시하는 우리과 분위기를 전했더니, 자기 전공 무시한다고 열받은 선배 하나가 공대다니던 다른 선배를 불러서 필자를 “갈굼”한 적이 있었다. (별 것 없는 수학으로 까불던 필자나, 후배의 아집을 자기 손으로 못 꺾으니 친구의 손까지 빌려서라도 권위를 유지하고 싶었던 선배나 모두 어린 시절의 치기였다고 생각한다.) 그 땐, 공대가 정말 수학 공부를 많이 하는 줄 알고 “쫄았”었다. 지금은? 수학과, (수리)통계학과랑 물리학과 아니면 별로 안 “쫄게”된다. 나머지 전공들은 모두 수학과 (수리)통계학을 방법론으로 활용하는 전공들이니까, 경제학이 특별히 덜 배우는 것도 아니고, 공학이라고 특별히 더 배우는 것도 아니라는 것을 알아버렸으니까. 그리고, 수학 못하면 전부 “나가리”라는 것도 알아버렸으니까.

요즘 한국 IT 시장이 돌아가는 걸 보면서 그 때 그 선배들한테 느꼈던 불편한 감정을 그대로 느낀다. 자기가 모른다는 사실을 인정하고 극복할 생각을 하지 않고, 어디 다른 권위를 갖고 와서 문제점을 지적하는 사람을 괴롭히거나, 자기네 회사 모델이 정말로 잘 돌아간다고 과장 광고를 해댄다. 어쩌면 잘 몰라서 정말 자기네 회사에 그 모델이 잘 적용된 줄 알지도 모른다. 그렇게 모르면 회사 인력을 뽑을 때 좀 “모델링”이 뭔지 아는 사람을 뽑아가면서 극복해야될텐데, 수학과 모델링이 중요한 줄 모르니 그냥 “코딩 경력 X년”인 사람을 뽑아서 보여주기 수준으로만 겉치레만 해 놓는다. 그 분들도 “시스템을 다룬 사람들이라 데이터 플랫폼을 이해하는 수준이 아쉬운”데, 그렇게 겉모양만 복사해놓으면 회사에서 통과가 되나보다.

참고로 바다 건너 중국에서 의대 만큼이나 인기 있는 전공은 수학이다. 학부 수학을 하고 나면 대학원을 어디든지 갈 수 있고, 수학적인 이해도가 깊은 사람이 더 무게있는 일을 진행할 수 있다는 “편견”이 팽배해 있단다. (박사시절 알고 지내던 중국인 “경영학” 박사들의 주장이다.) 중국에서 불어오는 IT 굴기의 바람이 무섭다고 우리나라도 정부가 나서서 펀드를 만들고 “투자”를 한다던데, 정작 학교 교육 수준은 “물알못”들이 한국 사회 최고 명문 공대 중 하나에서 무려 절반이나 차지한단다.

무섭지 않나? 정말 4차산업 굴기를 따라하고 싶으면, 코드 카피하는데 돈을 투자하는게 아니라, 그걸 이해하고 발전시킬 수 있는 “인재”를 먼저 길러야하지 않을까?

 

X