사회 초년병 시절, 살고 있던 전세집에서 재계약이 임박한 무렵 전세금을 올려달라고해서 한참을 고민했던 적이 있다. 결국은 추가금을 내기로 결정하고 주인에게 연락을 했는데, 그 다음날 부동산 중개인이 전화 오더니 필자가 집주인과 대화하기 몇 분전에 자기가 신규 세입자와 계약을 했으니 필자더러 나가라고 윽박지르더라. 그리고 다음날 집에 내용증명이 도착했는데, 고민끝에 지인을 통해서 전직 판사이신 로스쿨 교수님께 조언을 구했다. 집을 사고 파는 계약이면 물권 계약이니 시간의 선후가 중요하지만, 전세같은 채권 계약은 시간의 선후가 중요한게 아니라, 다중 계약이 동시에 유효하고, 계약을 이행 못하는 경우에 물권 주인이 배상하는 의무를 지게된다는 결론을 듣고, 참 마음이 홀가분해지더라.

물론 남 말은 절대로 신뢰 안 하는 필자는 그 몇 달의 법적인 분쟁기간 동안 민법 채권편을 공부하고, 관련된 판례를 몇 십개나 읽어봤었다. 시간이 흐르면서 다급해진 부동산 중개인이 집주인에게 대리인 계약을 했던걸 소급하는 증거자료를 만들어 달라고 압박을 하고, 집주인은 아무것도 모르고 거기에 맞춰주면서 부동산 중개인에게 그저 알아서 잘 처리해달라는 이야기만 하는 것도 봤다. 나중에는 변호사를 구해서 필자에게 여러가지 말도 안 되는 이야기로 협박을 하더라. 관련 법과 판례로 무장한 필자에게 씨알도 안 먹히는 소리가 되었지만.

반년간의 지리한 분쟁 중에 필자가 집주인에게 여러번 이야기를 해 줬다. 부동산 중개인이 집주인 어르신을 속이고 있다고. 결국 이대로 흘러가면 집주인 어르신께서 신규 계약자였던 분께 계약금만큼 손해배상액을 지불하고, 부동산 중개인은 소리소문없이 도망갈꺼라고. 끝까지 자기는 아무것도 모르니까 부동산 중개인과 알아서 이야기해라고 하던 그 집주인 어르신, 시간이 한참 흐른 후에 필자에게 연락와서 그 때 모른척해서 너무 미안했다, 손해배상 소송이 들어왔는데 어떻게 하는게 좋겠냐고 묻더라.

개인적으로 별로 밝히고 싶지 않은 과거 법적 분쟁 사건 중 하나인데, 그 때 부동산 중개인과 함께 왔던 변호사의 말도 안 되는 억지 주장들이 문득 떠올라서, 그리고 요새 데이터 사이언스 강의하면서 느끼는 감정과 겹치는 부분이 너무 많아서 불편한 과거의 한 장면을 굳이 글로 옮겨봤다.

그 때 상대측 변호사는 이 건을 이기겠다는 생각보다 사건을 수임해서 돈을 벌겠다는 생각이 더 강했을 것이라고 생각한다. 변호사라는 타이틀을 이용해서 윽박지르면 법알못인 필자가 쫄아서 꼬리를 내릴 것이라고 생각했을수도 있다. 최소한 위 사건을 공유했던 주변의 법조계 지인들은 모두 필자의 생각에 공감하더라. (물론 아무것도 몰라보이는 부동산 중개인을 돕겠다는 불인인지심이었을 가능성을 배제하지는 않는다.)

요즘 외부에 돌아다니는 데이터 사이언스 강의들을 보면, 이게 결국 통계학과 수학을 깊게 알아야한다는 사실을 숨긴 채, 몇 가지 간단한 코드만으로 쉽게 적용할 수 있는 것처럼 광고를 하고 있다. 심지어는 그렇게 한 두달 수업을 듣고나면 데이터 사이언티스트로 커리어 전환을 할 수 있다는 이야기까지도 서슴없이 한다. 강의도 돈 벌이니까 좀 홍보성이 짙은 캐치프레이즈를 쓸 수 있다는건 이해할 수 있지만, 수업 내용을 보면 너무 데이터 사이언스의 실상을 외면하는 것 같아서 당황스러울 때가 많다. 마치 전세 문제로 불편할 때 화려한 미사어구와 억지스러운 법리로 필자를 괴롭히고 있던 변호사와 부동산 공인중개사를 보는 느낌이다. (수강생 분들은 그 때 집주인….)

머신러닝 전공자도 아니고, 수학과 통계학 공부 (남들보다 쪼오끔 더) 많이 한거에다 실리콘 밸리 냄새 좀 맡아봤고, 글로벌 펌에서 Senior Data Scientist 타이틀 달고 있던거, 거기에 이것저것 줏어듣고 혼자 고생하면서 배운걸로 사업하고 있는 필자가 보기에도 그런 광고는….매우 불편하다. 머신러닝으로 밥 벌어먹고 살려고 작정하시는 전공자 분들은 오죽하실까…

 

 

1. 불편함에 끌려가시는 분들

어제 저녁에 메일이 하나 왔다.

안녕하세요.

검색하다가 들어왔습니다. 1x 년차 SQL 및 Java, .Net 개발자 입니다. 많이들 묻는 질문을 다시 드리고 싶어 연락드립니다. 국내에서 Data Scientist로 경력을 쌓을 수 있 는 방법이 있나요? 학원 이런거 말고 방법은 없나요? 많은 사이트에서 학원 선전을 하고 있지만 수료 후에 현 회사 생활이나, 이직에 도움이 되는지 잘모르겠습니다. (부정적인 글들만 잔뜩 올라와 있네요.) 답변주시면 좀 더 자세하게 상담받고 싶습니다. 수고하세요~

개발 경력이 화려하신 분이 데이터 사이언티스트로 커리어 전환을 꿈꾸는 것 같아 보이는 (전형적인) 질문이다. 개발과 데이터 사이언스가 겹치는 부분은 머리속에 있는 내용을 구현하는 방식이 코딩이라는 공통의 매개체라는 점 이외에는 완전히 다른 작업이라는 걸 여러번 글에 썼지만, 뭐 필자의 글을 모든 사람이 읽는 건 아니니까. 그리고 개발자가 자기네들 수업 하나만 들으면 바로 데이터 사이언티스트로 커리어 전환을 할 수 있는 것처럼 써놓은 광고들이 엄청나게 많으니까.

아래의 메일로 답변을 드렸다. 분명히 읽기에 불편하실 것 같기는 한데, 필자는 팩트 폭격급의 솔직한 표현을 듣는게 기분은 좀 나쁠지 몰라도 시간 낭비를 안 해도 된다는 점에서 더 효율적이라고 생각한다.

안녕하세요,

일단 잘못된 강의들이 엄청나게 많이 돌아다니는 것으로 알고 있고, 그리고 데이터 사이언스를 무슨 코딩 프로젝트처럼 생각하시는 분들이 너무 많습니다. 이거 사실 (응용)통계학입니다. 여태까지 사람들이 잘 안 썼던 데이터 마이닝 기술과 최근에 빅데이터 때문에 더 응용방법이 다양해진 통계학이요. 당연히 연구자들이 작업하는 내용인데, 돈 벌이에 치중한 몇몇 학원들이 무슨 코딩 프로젝트처럼 가벼운 강의들만 만들어놓았으니 당연히 제대로 내용 전달이 안 되고, 들은 사람들은 이거 어디다가 쓰는거냐고 되물을 수 밖에 없는 것 같습니다.

개발자로 경력있으신 거랑 데이터 사이언티스트랑 (제대로 뽑는다는 가정아래) 거의 아무런 관련이 없습니다. 통계학 처음부터 새로 공부하셔야됩니다. 제가 괜히 통계학과 수학 기반으로 강의하는게 아닙니다. 제가 수업 시간에 영어 네이티브가 영어영문학 잘하는거랑 무슨 상관있냐고 이야기하는데, 코딩 잘 하면 코드 치는건 쉽겠지만, 통계학 모르면 내용을 모르는데 코드만 읽어서 어떻게 데이터 사이언스 하겠습니까?

영어 네이티브면 영문학을 읽고 미묘한 감상은 좀 더 잘할 수 있을지 모르지만, 플롯을 어떻게 구성하고, 대화 한 두줄에 숨어있는 암시를 어떻게 해석하고, 시대적 배경을 저자가 어떤 방식으로 잡아내고 있고, 당시 역사 문헌을 뒤져보면 저자의 묘사와 얼마나 일치하고, 이 문학 작품이 동시대 다른 서유럽 작품과 같은 사조를 얼마나 따라가고 있는지 등등을 다 이해하려면 영어 네이티브라고해도 세익스피어 이후의 영문학 흐름, 서유럽의 당시 역사적 흐름, 르네상스 이후 문예 사조 등등을 모조리 꿰고 있어야 합니다. 저런거 공부하는 과정이 영어영문학 공부하는 과정이죠. 저도 박사 과정 내내 수백, 수천줄의 코드가 들어가는 작업들 엄청나게 많이 했습니다. 쓰는 도구는 코딩이었지만 제 머리속에서 손으로 구현되던 모델들은 다들 수학, 통계학 모델들이었습니다. 당연히 저는 개발은 아무것도 몰랐습니다. (지금도 아는게 거의 없구요.)

한국에 제대로 돌아가는 기업들 (네이버, 카카오 등의 IT기업과 삼성전자 같은 “상대적으로” 인력 제대로 뽑는 대기업들)에 가면 통계학 백그라운드가 탄탄한 사람들한테 이런 프로젝트 맡길겁니다. 관련 기관에서 저한테 연락오시는 분들이 다들 저더러 전공이 “통계학”이었냐고 물으시구요.

박사과정 수업 커리큘럼이나 논문들을 보시면 아시겠지만, 문과에 글로 승부하는 전공들 일부를 제외하면 수학과 통계학은 모든 학문 연구자에게 공통의 스킬셋이기도 합니다. 단적인 예로, 저는 물리학 박사 친구들이 혜성의 움직임을 시뮬레이션 해 놓은 수식보면 이해하고, 같은 시뮬레이션 할 수 있구요. 기계항공 박사하는 친구가 제가 머리 싸매고 풀고 있는 Continuous Time Asset Pricing 모델 문제를 수식으로 못 풀면 그냥 시뮬레이션으로 approximation 하는 걸로 타협하는게 어떠냐고 제가 쳐 놓은 코드를 같이 리뷰해주기도 했던 경험이 있습니다.

제가 수업을 박사 학위 있으신 분들 모여있는 연구 기관에가서 하면 다들 무슨 말인지 알아먹고 어떻게 써야겠다는 이야기가 나오는데, 개발자들 모여있는 스타트업가서 설명하면 코드 따다가 k-means 적용하는 이야기, Neural net 적용하는 이야기 밖에 안 하는거보고, 더 심한 경우에는 파라미터 수정 하나도 안 하고 자기 데이터에 그대로 코드만 넣은 다음, 결과값 안 좋다고 불평하면서 이런게 머신러닝이냐고 투덜거리는 걸 보면서, 역시 통계학 제대로 가르치는게 우선이라는 생각을 또 한번하고 있는 중입니다.

개발자 경력에 자부심을 갖고 있으신 것 같은데 좀 공격적인 언사를 해서 죄송합니다만, 개발자 경력과 데이터 사이언스는 별개라는 점을 이해해주십사하고 쓴 표현이니 너그럽게 이해해주시면 좋겠습니다.

감사합니다

 

 

2. 안 끌려가셔도 되는 분들

국가 경제 정책과 관련해서 장기간 연구를 해오신 모 국책 연구 기관의 연구원 분들께 데이터 사이언스 강의를 해 봤다. 이 분들은 대부분 경제학 박사 or 경제학을 배우는 박사 과정을 거치신 분들이다. (보통 Economist by training 이라는 표현을 쓴다.) 공대 출신으로 개발을 하시던 분이 아니라.

필자의 강의 초반부를 아우르는 회귀분석 + 머신러닝 기초 부분 강의는 일반인을 대상으로 강의할 때 수업 시간에 당황한 반응, 긴장한 반응이 자주 느껴지는 부분이다. 처음 강의할 때는 머신러닝 배우러 왔는데 왜 이런거 가르치냐는 분도 있었다. 당연하겠지만 연구원 분들은 그 부분에서 통계학과 머신러닝의 용어가 다른 점 이외에는 전혀 불편을 느끼질 않는게 보였고, 후반부의 굵직굵직한 모델을 설명하면, 평소 작업하는 내용과 얼마나 연관이 있고, 어떻게 적용해야할지 갑론을박을 벌이시는 걸 여러번 봤다.

솔직히 말하면, 강의하는 내내 속이 시원했다. 머신러닝은 개발자들이 배워서 적용하는 기술이 아니라, 대학원 수준까지 통계학을 배운 사람들이 자기 작업에 응용하면서 쓰는 도구 학문이라는 필자의 평소 철학이 맞다는 사실을 웅변적으로 보여주시는 장면이었으니까.

어차피 한달 압축 강의를 듣고 그걸로 커리어 전환을 하는건 불가능하다. 커리어 전환을 할 수 있다고 생각하는 것 자체가 데이터 사이언스를 프로그래밍 프로젝트라고 착각하고 있기 때문에 생기는 현상이고, 실체를 제대로 이해하고 나면 커리어 전환을 하기 위해서는 아예 학위를 하나 더 따는 수준으로 공부를 해야겠구나는 생각을 하게 될 것이라고 본다. 실제로 필자의 강의를 두번이나 찾아오셨던 개발자 분은 데이터 사이언스 관련 석사 프로그램을 가야겠다고 지원 준비를 하시는 경우도 봤고. 컴공 출신 학부생은 자기가 왜 통계학 안 했는지 후회한다면서 학위 더 쌓으려면 어떤 path로 가야되는지도 묻더라.

 

3. 솔직한 이야기들

회사 오너가 아무것도 모르는 사람이면 일반적으로 과거 직장 경력이나 학위, 단순히 눈에 보이는 타이틀과 눈에 보이는 결과물들을 기반으로 사람을 뽑는다. 그런데 내용을 잘 아는 사업가는 차라리 똑똑한 애들을 뽑아서 내가 가르친다는 생각으로 사람을 뽑고, 아무런 도움이 안 되는게 뻔히 보이는 수업 몇 개 들었다고 그 사람을 고용할리 없다. MOOC 강의들 듣고 데이터 사이언티스트 될 수 있냐는 Quora.com의 질문 글에 달린 답변 중에 가장 인상적인 답변은, 니가 math , stat 쪽으로 관련된 전공을 했으면 수업 한 두개만 들어도 쉽게 따라갈 수 있을테니 그걸 바탕으로 잡 서칭에 나갈 수는 있겠지만, 일반적인 소프트웨어 엔지니어 출신이거나 수학과 통계학 쪽 공부를 안 한 사람이면 MOOC수업을 많이 들어도 인터뷰 콜 받기 쉽지 않을 거다는 말이었다.

필자도 좀 쉽게 강의해보려고 여러가지 노력을 해 봤지만, 결국 데이터 사이언스를 하기 위해서는 기본적인 수학과 통계학을 잘 알아야한다는 냉정한 현실에 직면하고 있는 중이다. 강의 List에서 강조하는대로, 수학과 통계학이 교육 과정에 많이 들어가 있는 전공 출신이 아니면 수업을 알아듣고 따라오기 어렵다고 본다.

성형 수술 실패로 괴로워하는 사람들의 커뮤니티에 가면 의사들 욕을 하면서 다른 의사는 다 안 된다고 하는데 그 의사만 된다고 그래서 믿고 수술을 받았다는 글을 보는 경우가 있다. 다시 한번 팩트 폭격을 날리면, 안 된다고 솔직하게 말해주는 의사들 말은 안 믿고, 된다고 과장 광고한 의사 말을 믿은 자기 탓은 왜 안 할까? 저 위의 개발자 분 이메일에 보이듯이, 데이터 사이언스 강의 듣고 이직에 도움이 전혀 안 된다고 불평하는 글 쓰시는 분들에게도 똑같은 말을 하고 싶다. 데이터 사이언스가 코딩 프로젝트가 아니라 응용 통계학이라는 사실을 제대로 몰랐던 당신의 무지와, 석사 프로그램이 생길만큼 내공 쌓는데 긴 시간이 걸리는 내용을 한 달만에 완전히 마스터해서 이직까지 가능하다는 과장 광고에 속아 넘어간 당신의 단순한 판단을 되돌아 볼 생각은 없나?

 

나가며

이런 글 쓰고나면 필자의 강의에도 수강생이 다 떨어져나갈 것 같기는 한데, 여러 시도 끝에 얻은 결론을 솔직하게 말하는 것도 가르치는 사람이 갖춰야하는 기본 예의라고 생각한다. 오늘 Reinforcement learning 슬라이드 몇 장 업데이트하며 구글링을 좀 해보니, 최적 path 찾아가는 아주 단순한 그림만 그려서 수업한 경우도 있고, Markov Decision Process를 풀어내는 가장 유명한 방법인 Bellman equation을 이용하는 슬라이드도 있더라. (물론 후자쪽은 대부분 대학원 수업 교재였다.) 어차피 대중을 향한 강의를 하면서 Bellman equation을 풀어내는 강의를 하는 건 무리라고 생각한다. 다만, Markov Process라는게 불확실성이 섞여 있는 상태를 말하고, Dynamic updating 이라는게 모델 학습 과정에서 불확실성을 포함하는 방식의 모델링이라는거, 그래서 평소에 인간이 self-learning 하는 것과 유사한 방식의 모델링이라는 직관 만큼은 제대로 설명해야하지 않을까?

단순하게 팩맨이 최적 path를 찾아서 움직이는 모습을 보여주고, 그 코드를 그대로 따라서 치도록 만드는 수업을 하고 몇 백만원씩 받아가는 수업들을 보면서 어이가 없고, 그런 수업 듣고 난 다음에 왜 나는 데이터 사이언티스트로 취업 안 되냐고 불평하는 글들을 보니 또 황당하다. 그거 구글링하면 Python으로 구현해놓은 샘플 코드 있다. 하나도 아니고 여러개.

데이터 사이언티스트를 찾는 시장 수요는 넘쳐난다. (정작 그게 뭔지 몰라서, 모르는 사람들이 강의해서 문제지.) 그렇지만 그런 수업 하나 들은 “짝퉁” 데이터 사이언티스트를 뽑으려는 회사는 없다. 기분 나쁘다면 “불편한” 수업들 찾아가지말고, 제대로 공부할 생각부터 먼저 하시라고 권유드리고 싶다.

문득, 매주 강의가 끝나면 리뷰하는데도 몇 시간이 걸리는 자료들을 첨부하면서 “아직도 어렵다, 이해한게 맞는지 모르겠다.”고 확인하는 메일 보내주시던 그 철학자 풍 수강생 분이 떠오른다. 학위 하나 더 하는게 아니라면, 최소한 그 정도 시간과 노력과 열정을 쏟아부어야 제대로 배울 수 있지 않을까?

 

후속편: 작정하고 쓰는 머신러닝 강의 비판 (2)

후속편: 작정하고 쓰는 머신러닝 강의 수강생 비판 (feat. 꼰대)

 

요약: 본 보고서에서는 2014년 라이트코인 (LTC)과 도지코인 (DOGE)의 해시레이트 진동에 대해 살펴 볼 예정입니다. 나아가 우리는 이것을 현재의 비트코인 (BTC)과 비트코인캐시 (BCH) 해시레이트 진동과 비교하여, “과거”의 사례로부터 습득할 수 있는 시사점이 무엇인지를 파악 할 예정입니다.

 

개요

다수의 암호화 토큰이 존재한다 하더라도, 실제로 채굴자들이 채굴 작업에 활용하는 토큰의 수는 매우 적습니다. 따라서, 동일한 해싱 알고리즘을 공유하고 실질적인 작업에 활용될 수 있는 두 가지의 코인을 보유하고 있는 점은 매우 드뭅니다. 이로 인해 야기된 해시레이트 진동의 현저한 세 가지 예시로 다음과 같이 고려할 수 있습니다.

연도 코인 해싱 알고리즘
2014 라이트코인 (LTC) vs 도지코인 (DOGE) Scrypt
2016 이더리움 (ETH) vs 이더리움 클래식 (ETC) EtHash
2017 비트코인 (BTC) vs 비트코인캐시 (BCH) SHA256

출처: 비트멕스 리서치

 

우리의 관점에서 2014년 라이트코인 (LTC) vs 도지코인 (DOGE), 2017년 비트코인 (BTC) vs 비트코인캐시 (BCH) 해시레이트 진동의 비교 학습을 통해 파악할 수 있는 내용들이 존재합니다.

2014년 초, 도지코인은 급격한 가격 상승을 겪은 바 있습니다 (그림 1). 이로 인해, 채굴 인센티브 역시 빠르게 인상되며 도지코인에 상당한 규모의 해시레이트가 증가했습니다. 이는 비트코인캐시의 악명 높은 EDA와 유사하며, 채굴 난이도를 급격하게 하락시키며 짧은 기간 동안 비트코인캐시의 채굴 인센티브가 비트코인보다 높게 됩니다. 결과적으로, 각각의 유형에서 다양한 수준으로 네트워크를 분산시킵니다.

많은 fork.lol 사이트 내 비트코인과 비트코인캐시 간의 해시레이트 변동에 대해 추적하고 있습니다. 앞서 언급한 유사점에 근거하여, 2014년의 사례를 되돌아 보겠습니다. 이를 위해, 해당 기간 동안의 데이터를 적용한 차트를 통해 해시레이트 진동을 나타내고자 합니다. 일부 독자들에게는 다소 생소한 내용일 수도 있습니다.

 

채굴 인센티브 vs 난이도 조정

이론상으로 동일한 해싱 알고리즘을 보유하고 있는 두 가지 토큰 간의 해시 분배는, 각각의 체인에 대한 총 채굴 인센티브에 비례하여 배분되어야 합니다. 채굴 인센티브는 주어진 기간 동안 예상되는 블록 보상 및 전체 거래 수수료에 대해 미화 달러 가치를 고려할 수 있습니다.

짧은 난이도 기간 동안 토큰 가격, 블록 보상 및 트랜잭션 수수료가 안정적일 경우, 채굴자들이 낮은 난이도 기반의 높은 수익률을 보장하는 토큰으로 전환할 수 있으며 이로 인해 추가적인 진동이 발생할 수 있습니다. 이러한 현상은 난이도 조정이 균형상태로 전환될 때까지 적용됩니다.

 

2014년 라이트코인 vs 도지코인

도지코인은 2014년 초 큰 가격 인상을 겪으며, 라이트코인에 가장 높은 해시레이트 스크립트 토큰이라는 타이틀로 도전하기 시작했습니다. 라이트코인은 2.5분 간격의 목표 시간을 갖고 있으며, 매 1분을 목표 시간으로 삼고 있는 도지코인 대비 매 3.5일마다 조정됩니다. 이는 4시간 간격의 난이도 조정 기간을 두고 있습니다.

 

그림 1 – 라이트코인 (LTC) vs 도지코인 (DOGE) 가격 차트 (미화), 2014년

출처: Coinmarketcap, 비트멕스 리서치

 

그림 2에서 보시는 바와 같이, 도지코인은 단 한번도 라이트코인의 시가총액에 근접한 적이 없었지만, 2014년 초반에는 도지코인의 가격은 라이트코인 대비 훨씬 빠른 속도로 상승했습니다. 낮은 시가총액에도 불구하고, 도지코인의 높은 물가상승률은 일정 기간 동안 대부분의 스크립트 해시레이트가 도지코인으로 전환되는 것을 의미합니다.

 

그림 2 – 라이트코인 (LTC) vs 도지코인 (DOGE) 시가총액 차트 (미화), 2014년

출처: Coinmarketcap, 비트멕스 리서치

 

아래 그림 3에서 보시는 바와 같이, 도지코인은 지난 2014년 1월말과 2월 동안 라이트코인 대비 높은 해시레이트를 보유하고 있었습니다. 약 한 달간의 특정 기간 동안 코인 가격이 정기적으로 변동하는 시기로 인해, 채굴자들이 앞뒤를 다투지 않고 반복적으로 그들의 채굴 코인을 변경했습니다.

 

그림 3 – 라이트코인 (LTC) vs 도지코인 (DOGE) 해시레이트 차트 (초당 10억 해시), 2014년

 출처: 라이트코인 블록체인, 도지코인 블록체인, 비트멕스 리서치

 

비트코인캐시가 비트코인보다 더욱 높은 채굴 인센티브를 기록하던 2017년, 다수의 채굴자들은 그들의 채굴 코인을 비트코인캐시로 전환했습니다. 하지만, 이러한 내용은 2014년에 처음으로 학습된 것으로 보입니다. 아래 그림 4에서 볼 수 있는 것처럼, 당시 대부분의 채굴자들은 “돈을 쫓는” 경향을 보였습니다.

주요한 차이점은 난이도가 균형상태로 조정된다고 하더라도, 일부 특정 기간에 도지코인은 일부 특정 기간에 도지코인은 미화 가치에 대해 우위를 점하고 있습니다. 이와 반대로, 비트코인캐시의 인센티브 리드는 난이도 조정 알고리즘에서 이례적으로 작용할 수 있습니다. 비트코인은 비트코인캐시보다 블록 당 더 높은 인센티브를 보유하고 있습니다. 비트코인캐시는 더욱 빠른 블록으로 인해 높은 인센티브를 갖고 있으며, 균형상태로 전환될 시 비트코인은 가장 높은 인센티브 기반의 SHA256 코인으로 자리매김하게 됩니다.

 

그림 4 – 리이트코인 (LTC) vs 도지코인 (DOGE) – 채굴 인센티브 (미화) vs 해시레이트 분배, 2014년

 출처: 코인마켓캡, 라이트코인 블록체인, 도지코인 블록체인, 도지코인 깃허브, 비트멕스 리서치참고: 트랜잭션 수수료의 경우 채굴 인센티브 계산식에 미포함

 

도지코인의 채굴 인센티브 계산을 위해, 우리는 6번의 블록 보상 변경, 2번의 하드포크 등 2014년에 발생한 다양한 사례들을 고려해야 할 필요가 있습니다. 해당 사례들을 아래 표에 정리해 놓았습니다:

 

그림 5 – 2014년 도지코인 (DOGE) 주요 일정표

일자 블록 번호 사례 유형 블록 보상 (예측치) 코멘트
신규 이전
2월 14일  100,000 블록 보상 변경  250,000 500,000 0 & 500,000에 해당하는
도지코인 랜덤 보상
3월 17일  145,000 하드포크 250,000 250,000 난이도 재조정 기간이 4시간에서 1분으로 감소함. 랜덤 기준의 블록 보상이 배제됨.
4월 28일  200,000 블록 보상 변경 125,000 250,000
7월 15일  300,000 블록 보상 변경 62,500 125,000
9월 11일  371,337 하드포크 라이트코인 활성화 상태의
병합채굴
10월 2일  400,000 블록 보상 변경 31,250 62,500
12월 14일  500,000 블록 보상 변경 15,625 31,250

출처: 도지코인 블록체인, 도지코인 깃허브, 비트멕스 리서치

 

위의 테이블에 따르면, 2017년 3월 17일에 도지코인은 해시레이트 변동으로 인한 혼선을 완화하기 위해 목표 시간을 1분 (1 블록)으로 변경하여 목표 시간을 1분 (1 블록)으로 낮추었습니다.

 

병합채굴

결국, 2014년 9월에 도지코인은 병합채굴 하드포크를 발생시켰습니다. 병합채굴은 하나의 체인에서 이루어진 작업이며, 이는 다른 체인에 마찬가지로 유효한 작업으로 간주될 수 있습니다. 따라서, 도지코인은 라이트코인의 “보조 블록”으로 고려될 수 있으며 도지코인 블록은 라이트코인의 블록 헤더를 가리키는 추가적인 데이터 요소가 포함되어 있습니다. 이는, 도지코인에 대한 유효한 증명으로 간주됩니다.

병합채굴 시스템은 전체적인 시스템의 안정성 유지, 해시레이트 진동 문제 해결 및 급격한 토큰 가격 변동에 대한 궁극적인 해결책으로 간주됩니다.

 

비트코인캐시 관련 시사점

우리의 관점에서 볼 때, 비트코인캐시 커뮤니티는 다양한 정치적인 이유로 인해 병합채굴 구축을 희망하지 않을 수 있습니다. 비트코인캐시 커뮤니티의 일부 사용자들은 비트코인과의 평화로운 공존 보다는, 이를 적으로 여기는 경우가 빈번합니다. 이 두 코인간의 병합을 허용하는 것은 궁극적인 평화 협정을 체결하는 것으로 간주될 수 있습니다. 초기에 도지코인 커뮤니티의 일부 사용자들 역시 병합채굴에 대해 불만을 품고 있었으나, 결국 이것이 그들의 해시레이트 진동 문제에 대한 최고의 해결책이 될 수 있다는 것을 깨달았습니다.

하지만, 비트코인캐시는 최근 9월 초에 해결되어야 할 잠재적인 문제로 제기된 EDA 이슈를 해결했습니다. 아마도, 가격의 안정성과 함께 새롭게 설정된 1일 동안의 난이도 조정 기간은 해시레이트 진동 문제를 해결할 수 있다고 판단됩니다. 만약 이것이 문제를 해결하지 못한다면, 병합채굴이 수면위로 떠오르는 이슈가 되기 전에 난이도를 조정할 수 있는 대체적인 방안이 제시될 수 있습니다.

요약: 본 보고서에서는 비트코인 캐시의 새로운 24시간 난이도 조정 알고리즘이 비트코인 네트워크에 미치는 잠재적인 영향에 대해 살펴보고자 합니다. 여기에서 우리는 비트코인 캐시 거래의 가격 변동에 대한 잠재적인 영향을 두 코인 간의 해시레이트 (Hashrate) 진동에 기반하여 알아보겠습니다.

 

개요

지난 보고서에서 우리는 동일한 해싱 알고리즘16을 공유하는 두 코인이 해시레이트의 급격한 변동에 따라 초래할 수 있는 잠재적인 문제점에 대해 분석한 바 있습니다. 본 보고서에서는 비트코인 캐시의 가격 변동이 어떻게 비트코인에 영향을 미치는 지를 상세하게 알아보고자 합니다.

비트코인은 비트코인 캐시에 비해 더욱 긴 난이도 조정 기간을 갖습니다 (비트코인: 2시간 vs 비트코인캐시: 1일). 따라서, 가격 변동으로 인해 체인 간의 채굴 인센티브가 변하는 경우에 비트코인은 10분의
목표 시간을 설정하게 되며 조정 시간은 비트코인 캐시에 비해 느려지게 됩니다. 이는, 비트코인
네트워크의 사용성, 정확성 및 일관성 등 전반적인 무결성에 잠재적인 문제를 발생시킬 수 있습니다.

 

비트코인 캐시의 가격 인상으로 본 사례

본 보고서의 나머지 부분에 대해 대략적으로 설명 드리자면, 우리는 채굴자들이 단기간에 수익을 극대화 하는 것에 목표를 두고 있다고 가정합니다. 물론, 현실에서는 이들이 다른 여러 가지 사항들을 고려하고 있고 목표 역시 다를 수 있습니다. 예를 들어, 그들은 가장 선호하는 코인 수익이 증가하기를 희망하거나 장기간의 계획을 세우고 투자를 지향하며 채굴 네트워크의 안정성을 유지하려는 경향이 있을 수도
있습니다.

다음은 비트코인 캐시 가격이 증가했을 때 적용되는 사례이며, 다른 코인의 가격 변동에도 유사하게 적용될 수 있습니다:

  1. 비트코인과 비트코인 캐시 모두 약 10분의 목표 시간을 설정하고, 각 코인의 가격에 비례하여
    해시레이트도 균형 있게 할당되며 시장이 안정적인 균형상태를 유지하고 있습니다.
  2. 비트코인 캐시의 가격이 상승합니다.
  3. 이로 인해, 비트코인 캐시는 비트코인 대비 높은 채굴 수익성을 보유하게 되며 상당한 양의
    해시레이트가 비트코인 캐시로 이전하게 됩니다.
  4. 하루 정도의 시간이 지나게 되면, 비트코인 캐시의 난이도 조정 메커니즘이 빠르게 재조정되며
    해당 블록 간격은 10분 정도가 됩니다.
  5. 비트코인 캐시의 높은 난이도로 인해, 일부 해시레이트가 다시 비트코인으로 이전됩니다. 다만,
    해시레이트 전부가 이전되는 것은 아니기 때문에 비트코인의 블록 간격은 10분을 초과합니다.
  6. 약 2주 안에, 비트코인의 난이도 목표 설정 메커니즘이 조정되며 비트코인의 블록 간격이 다시
    10분으로 설정됩니다. 더 많은 해시파워가 비트코인으로 다시 이전되며, 해시레이트는 새롭게 책정된 두 코인의 가격에 비례하게 됩니다.

아래 테이블을 참고하시기 바랍니다.

 

해시레이트 진동의 역학적 사례 – 비트코인캐시 가격 상승 시

초기 상태 가격 상승 이후 비트코인캐시
난이도 조정 이후
비트코인 난이도 조정 이후
상대 가격
비트코인 1.0 BTC 1.0 BTC 1.0 BTC 1.0 BTC
비트코인 캐시 0.2 BTC 0.4 BTC 0.4 BTC 0.4 BTC
상대적 채굴 수익
비트코인 1.00배 1.00배 1.00배 1.17배
비트코인 캐시 1.00배 2.00배 1.00배 1.17배
해시레이트 예상 분포
비트코인 83.3% 0.0% 66.7% 71.4%
비트코인 캐시 16.7% 100.0% 33.3% 28.6%
예상 블록 간격
비트코인 10분 n/a 12.5분 10분
비트코인 캐시 10분 1.7분 10분 10분

출처: 비트멕스 리서치
참고: 위 모델은 간소화 된 버전으로써 일부 해시레이트 진동의 다른 단계들이 제외된 상태입니다. 여기에서는 해시레이트가 두 코인 간의 상대적인 가격을 기반으로 분포된다고 가정하며, 트랜잭션 수수료는 제외되었습니다.

 

비트코인 네트워크 관련 시사점

위에서는 비트코인 체인에서 비트코인캐시보다 더욱 긴 블록 간격의 변동이 일어난다는 것을 나타냅니다. 이는 비트코인 캐시 대비 비트코인 체인의 긴 난이도 조정 기간 때문입니다. 하지만, 데이터는 0.2 BTC에서 0.4 BTC로 변동하는 것과 같이 비트코인캐시 가격이 크게 변동된다 하더라도, 비트코인 블록 간격을 단지 25% 상승시키며 총 소요시간을 12.5분으로 설정하게 된다는 것을 보여줍니다.

이렇게 속도가 다소 느린 블록들은 비트코인 체인에서 추가적인 트랜잭션 정체를 발생시킬 수 있습니다. 약간 모순될 수도 있지만, 이러한 문제들은 비트코인 캐시를 지지하는 거래자들 사이에서 더욱 큰 걱정거리가 될 수 있습니다. 장기적인 투자를 위해 비트코인을 보유하고 있는 거래자들의 경우, 이러한 12.5분의 블록 간격이 2주 정도 안에 해결되기 때문에 큰 문제로 삼지 않습니다. 우리의 관점에서 볼 때,
비트코인 캐시가 장기간에 걸친 높은 수준의 가격 변동을 유지할 것 같지는 않다고 판단됩니다.
따라서, 위 문제는 그다지 심각한 문제로 고려되지 않을 수 있습니다.

하지만, 가격 변동과 이로 인한 해시레이트 진동이 꽤 오랜 시간에 걸쳐 지속될 가능성은 있습니다. 이러한 경우, 비트코인에 10분 간격으로 편차가 생길 수 있지만 해당 규모는 비트코인 캐시에서 더욱 크게
나타납니다. 이는 두 코인 모두에게 부정적인 영향을 끼치게 됩니다. 만약 이러한 일이 발생한다면, 궁극적인 내쉬균형 (Nash Equilibrium)의 결과가 채굴에 적용될 수 있습니다. 하지만, 현재의 대립적인 정치 풍토로 인해 이러한 해결책에 도달하는 것은 상당한 시간이 소요될 수 있습니다.

 

침해유발을 위해 설계된 비트코인 캐시 난이도 조정 체계

비트코인 캐시 커뮤니티 내 비트코인 네트워크를 방해하는 몇 가지 요소가 있을 수 있습니다. 예를 들어, 일부 사람들은 비트코인캐시의 가격 변동 타이밍과 EDA로 인해 야기된 급격한 하향 조정을 감안하여 비트코인 네트워크 방해를 유도할 수 있습니다.

그들의 계획이 이러한 유형의 혼란을 유발하는 목적을 지닌 경우, 한 가지 고려할 수 있는 아이디어는 난이도 조정 기간을 연장하는 것입니다. 예를 들어, 예를 들자면, 기간을 두 달로 연장하는 것입니다. 이것은 비트코인 캐시의 가파른 가격 상승에 이어 해당 거래의 난이도가 비트코인보다 더욱 오래 걸릴 것이라는 점을 의미합니다. 따라서, 비트코인 캐시가 장기간 동안 비트코인 보다 수익성이 높은 결과가 초래되며, 이로 인해 비트코인 네트워크 상의 잠재적인 거래 중단 및 다양한 유형의 혼란이 발생할 수 있습니다.

하지만, 이렇게 긴 난이도 조정의 경우 비트코인 캐시의 철학과 모순되는 경향을 보일 수 있습니다. 짧은 난이도 조정 기간, 규모가 더 큰 블록 및 짧은 블록 시간은 사용성을 증가시킬 수 있으며, 비트코인
캐시는 이러한 특징에 집중하고 있습니다. 반대로, 상대적으로 긴 난이도 조정 기간, 규모가 작은 블록
및 긴 블록 기간은 탄력성을 증가시키며, 비트코인 커뮤니티에서는 이러한 특징을 최우선으로 고려하고
있습니다. 따라서, 우리의 관점에서 비트코인 캐시는 이러한 정책을 채택할 것 같지 않습니다.

두 달 정도의 난이도 조정 기간에 대한 또 다른 이슈로는, 비트코인 캐시의 혼동이 상대적으로 적은 블록들의 기간에 비트코인 대비 더욱 클 수 있다는 점입니다. 따라서, 이러한 접근법은 손실이 발생하는 시나리오로 볼 수 있습니다. 위에서 언급한 바와 같이, 손실을 발생시키지 않는 유리한 시나리오는 병합 채굴 (Merged Mining)이라고 판단할 수 있습니다.

비트멕스 BCHX17 선물계약 전격 오픈!

비트멕스가 2017년 11월 24일 만기 기준의 비트코인 캐시 / 비트코인 선물계약을 공식적으로 오픈 했습니다.

  • 기호: BCHX17
  • 만기일: 2017년 11월 24일 12:00 UTC (한국시간: 오후 9시)
  • 계약 금액: 1 BCH
  • 기초 지수: 폴로닉스 비트코인 캐시 / 비트코인 환율
  • 레버리지: 최대 20배

비트멕스 비트코인 캐시 홀딩스

2017년 12월 31일 또는 그 이전까지의 주요 시행계획:

  • 사용자의 비트코인 캐시 보유량의 경우, 478,588 블록 이후인 2017년 8월 1일 (13:17 UTC) 기준의 사용자 마진 잔고로부터 결정됩니다.
  • 사용자들이 직접 비트코인 캐시를 지급받는 대신, 비트멕스에서 사용자들을 대신하여 비트코인
    캐시를 매도하고 해당 비트코인 수익을 비트멕스 지갑으로 입금 할 예정입니다.

비트멕스 선물 하드포크 정책

비트멕스는 항상 논쟁의 여지를 남기는 하드포크 이슈에 대해 전적으로 동의하거나, 이를 지지하지 않으며 비트코인 캐시에 대한 하드포크에 대해서도 허용하지 않는 입장임을 표명합니다. 비트멕스는 이것이 사용자들과 거래소 자체에 허용될 수 없는 비용을 부과하는 위험한 행위라고 판단하기 때문입니다.
자세한 내용은 당사의 비트코인 하드포크 정책 및 방침을 참조하시기 바랍니다.

하지만, 몇 달이 지난 현재까지도 이 코인은 여전히 대중적인 수요 및 가치를 가지고 있는 것으로 파악되기에 비트멕스에서는 비트코인 캐시 가격에 비트코인 신용거래 (입금)를 허용하기로 결정했습니다.
추후, 다른 코인들도 동일한 방식으로 인용 또는 입금되지는 않을 것입니다. 이에 대한 권한은 전적으로 비트멕스에서 보유하고 있으며, 비트멕스는 의심의 여지가 있는 상황에서는 언제나 출금을 우선으로
합니다.

요즘 신문 기사들을 보면 기업들이 채용하는 인재의 대다수는 이과생이고, 문과는 그나마 상경계가 금융권에 취업하는 정도, 심지어 금융권도 상경계 출신보다는 공대 출신을 더 좋아한다는, 취업시장에서 문과 졸업생들이 얼마나 힘든지를 여러가지 통계로 설명한다.

필자도 학부에서 경제학을 전공한 “문돌이”지만, 솔직히 저런 기사들을 보면 속이 시원하다. 이제야 노동 시장이 좀 제대로 돌아가는구나 싶다. 왜 너도 문돌이면서 이런 생각을 하냐고? 일단 이 질문에 대한 적절한 답을 위해 학창 시절 이야기를 좀 해보자.

1. 학창 시절 이야기

필자가 다닌 학교의 경제학부는 당시 한 학년에 200명 정도의 학생이 있었고, 그 중 1/3 정도가 사법, 행정, 외무, 입법고시 + CPA에 집중하는 친구, 1/3 정도가 금융권 공사에 취직하려고 준비하는 친구, 1/10 정도의 유학 준비파, 그리고 여기저기 손 대보다가 대형 은행, 증권사, 대기업 가던 친구와 필자처럼 외국계 증권사와 전략 컨설팅 회사에 목을 매고, 연줄 없으면 얻기 힘든 인턴 자리 하나 구할려고 엄청나게 고생하는 약간의 모험파(?)들이 있었던 것 같다. (물론 다른 준비를 하던 친구들도 있었지만 워낙 소수여서 기억이 잘 안 난다.) 우리들 중 사법고시를 준비하는 이단아를 제외하면 경제학부 졸업생 타이틀을 달고 살기 위해서 경제통계학과 계량경제학은 필수 과목이라고 생각하는데, 계량경제학 수업을 듣고 졸업한 친구들이 전체 졸업생의 절반 남짓이었던 걸로 기억한다. (물론 이 수치는 정확하지 않을 수 있다.)

거기다, 한 학년이 200명이나 되니 경제통계학, 계량경제학 수업이 여러명의 교수님이 나눠서 수업을 열고, 교수님마다 수업 스타일이 제각각이다. 그 중 유학 준비파 친구들이 자연대에서 선형대수, 미분방정식, 해석개론, 회귀분석, 수리통계 수업을 다 듣고와서도 버거워할만큼 “어렵게” 가르치는 교수님도 있었고, 직관 위주로 쉽게 가르쳐주시는 교수님도 있었다. 개인적으로 직관 위주의 수업도 좋아하고 그렇게 가르칠 수 있는 심후한 내공을 갖추신 그 교수님을 마음 속 깊은 곳에서 우러나오는 존경심으로 바라보지만, 우리과에 그 수업 찾아갔던 친구들 중에 그 직관에 대한 갈망을 가졌던 친구는 아직까지 딱 한 명 밖에 본 적이 없다. 참고로 그 친구는 유학 준비파들 수업을 다 듣고, 박사 유학가기 전 학기에 좀 새로운 시야로 통계학을 다시 보고 싶다는 이유로 그 수업을 들었다.

 

그 “직관” 위주의 수업을 들어갔던 친구들이 흔히 했던 말이, “내가 수학 실력도 안 되는데…”, “그거 수학 엄청 쓴다매?” 등등의 표현이었는데, 밖에서 우리나라 최고학부라고 불리는 학교에, 문과에서 수학 제일 잘 하는 애들이 모였다는 경제학부생들도 수학 실력이 안 되어서 직관 위주의 통계 수업으로 도망갔다는게 씁쓸한 현실이다.

상경계열 학생이면 누구나 다 알겠지만, 경제학과 경영학은 항상 서로 은근한 경쟁심을 갖고 반대편을 “디스”한다. 몇 가지 소개하면, 우리과 교수님들이 수학/통계학적인 모델링을 못하는 학자들을 “사회학자”라고 좀 폄하 섞인 평을 하시는데 (100% 동의하는 것은 아니지만 공감하는 부분은 분명히 있다), 거기에 좀 화려한 용어가 섞인 사회학적인 연구물을 보시고는 “이건 사회학이 아니라 경영학과 논문인거 같은데?”라고 농담을 하는 경우를 봤고, 반대로 경영학과에서 수학 공부 제일 많이하는 재무 수업을 듣고 있다보면, “자산 시장 버블은 어떻게 확인하느냐? 상아탑에만 있는 문과 교수들이 투자하면 그 땐 진짜 버블이지. 근데 말야, 경제학과 교수들이 투자한다고 그러면 그 땐 진짜 팔고 떠야해.” 같은 농담을 흔히 듣는다.

위의 두 일화를 놓고보면, 문과에서 수학 공부 제일 많이해야하는 경제학부 졸업생도 제대로 수학과 통계학 공부를 안 하고 졸업하는 경우가 태반이고, 문과 교수들 중에 가장 수학에 노출이 많은 분들이 서로를 낮추는 농담을 할 때 수학 실력이 없다는 내용과 현실에 무지하다는 내용이라는 것을 알 수 있다.

2. 취업 시장 or 우리나라 산업구조

그럼 취업 시장은 어떻게 돌아가고 있나? 좀 더 정확하게는 우리나라 산업구조가 어떻게 돌아가고 있나를 봐야한다.

일단 기업 업무에서 연구, 생산 인력을 뽑는 자리에는 문과 출신이 발 붙일 자리가 없고, 그나마 문과가 갈만한 곳이 금융, 영업, 경영지원 정도인 것 같은데, 이제는 금융권에서도 단순하게 주식을 사고파는게 아니라, 수학이 많이 들어간 금융상품을 취급한다. 영업직도 산업이 고도화되면서 팔아야하는 상품이 훨씬 기술적으로 복잡해졌고, 당연히 그런 기술을 다 이해하고 있는 사람을 영업에 써야 고객들의 요구사항에 원활하게 대응할 수 있다. 필자가 한국와서 잠깐 있었던 모 외국계 리타게팅 광고 회사에서 세일즈가 필자에게 했던 질문들의 대부분은 사실 데이터 베이스의 구조만 이해해도 쉽게 대답할 수 있는 문제였는데, 문과 출신이고, 수학 공부만하다가 직장에 돌아간 필자도 며칠동안 데이터 베이스 구조보고 나면 이해가 되는데, 이걸 자료를 줘도 이해하려는 시도조차 하지 않는 세일즈 팀 사람들을 보면서 깝깝했다. 심지어 광고업에도 이렇게 기술적으로 복잡한 상품이 등장하고, 기본적인 기술을 이해해야 영업을 뛸 수 있는 시대가 왔는데, 그걸 가르치도 못 따라올 것 같아 보이는 문과 출신을 왜 영업직에 뽑아줘야할까?

물론, 이런식으로 인재를 활용 못하고 있는 노동 시장의 비대칭에 문제의식을 느끼지 않는 것은 아니다.

나름대로 정부가 내놓은 방안도 초등교육부터 코딩을 가르쳐서 취업 연령층이 코딩에 두려움을 느끼지 말도록 하자, 문과라도 어느정도는 기술을 이해할 수 있도록하자는 취지인 것 같아서 공감이 되는 부분은 분명히 있다. 문득 든 생각이, 필자가 초등학교 5학년 때 실과시간에 GW-Basic으로 간단한 For-Loop 함수를 써서 사칙연산을 하는 코딩(?)을 했던 기억이 난다. 그 때 실과 선생님도 GW-Basic을 한번도 써보신 적이 없었는지 강의안과 다른 코드를 쳐서 드리니까 틀렸다고 감점을 시켰다가, 결과값이 똑같이 나오는 걸보고 다시 맞다고 해 주셨던 일이 있었다. 여기서 두 가지 질문이 있는데, 1. 요새 누가 GW-Basic 쓸까? 나중에 윈도우 시대에 나왔던 Visual Basic도 제대로 쓰는 사람이 거의 없는 시대가 왔는데, 초등학교 때 배운 프로그램이 취업 연령이 되었을 때도 계속 쓰인다는 보장을 할 수 있을까? 2. 선생님은 코딩 전문가가 아니라 강의안만 겨우겨우 따라가는 수준일텐데, 도대체 능력있는 선생님은 어떻게 구할것이고, 초등학생들한테 어느 수준까지 코딩 교육을 시켜야할까?

필자는 고등학교 1학년 때 Visual Basic으로 알카로이드 (벽돌깨기) 게임 만들다가 수능 모의고사 점수가 30점 떨어지는 바람에 폭풍 매질을 당하고 집 안의 컴퓨터를 팔아치웠던 기억이 난다. (참고로 필자는 과고도 아니고 외고 출신이다 ㅎㅎ) 그 때 코딩이라는 걸 좀 구경해 본 덕분인지 학위 과정 내내 Matlab과 R로 작업하면서 엄청난 거리감을 느끼지는 않았다. 만약 그 정도의 친근함이 목표라면, 우리나라 초등교육에 코딩을 포함시키는 것도 나쁘지는 않겠다는 생각도 든다. 다른 사회학 계열 문과 박사들이 코딩이 들어가지도 않는 STATA를 가지고도 쩔쩔매고, SAS나 SPSS로 모든 데이터 다 입력해보고 결과값 제일 좋은 (R-squared 값이 제일 높은) 변수 조합 골라내는 식의 깝깝한 “연구”를 하는 일이 조금은 줄어들겠지…

다만 필자 생각에는 코딩 이전에 뭘 코딩해야하는지에 대한 내용, 즉 수학과 통계학 교육이 좀 더 깊은 수준으로 선행되는 것이 진짜 4차 산업혁명 시대에 대한 준비가 아닐까 싶다. 당장 초등시절 GW-Basic을 배우던 필자가 For-Loop로 했던 연산은 고교 2학년 때 배운 수열 계산이었고, 그 책에는 함수 구현, 미분값 찾기, 함수의 수렴 여부 찾기 등과 같은 예제들이 있었던 기억이 나는데, 그리고 이런 예제들이 사실 높은 수준의 프로그래밍에도 분명히 쓰이는데, 정작 이런 내용 없이 그냥 화면에 그래프 띄우기 같은 1차원적인 교육만 될 것 같아서 좀 안타깝다. 고교시절에 학생들이 수학에 버거워하니까 화면으로 그래프를 띄워보는 수업을 하셨던 선생님이 3차 방정식의 근을 찾아 그래프를 보여주실 때, 카르다노의 공식을 활용하려고 3차 함수와 2차항 소거 목적의 함수를 결합하는 코드를 짜시는 걸 보고 신기해했던 기억이 아직도 생생하다. 아마 문과라도 수II를 보고 카르다노의 공식에 관심이 있었던 필자니까 고교시절 선생님이 쳤던 Visual Basic 코드가 이렇게 오랬동안 기억에 남는게 아닐까?

3. 수학 공부를 왜 해야되나?

지난달 수업이 끝나고 학생 하나의 수강 후기를 받았다.

“(중략)… 수강목표로는 기계학습 알고리즘을 이해하고 싶었습니다. 적당히 라이브러리를 호출해 결과값을 비교해보는 방식은 항상 핵심을 외면하는 느낌이였습니다. 마음속에 기술적 부채를 갖고 있었죠. 그러다 강사님 블로그를 보고, 이번 기회에 알고리즘 기저에 깔린 수학을 이해하고 싶었습니다. 하지만 제 수학실력으로는 턱없는 목표였죠. ..(중략).. 강사님이 수식을 정말 쉽게 설명하려 노력하셨고, 또 설명하셨지만 그 떠 먹여주는 숟가락도 뱉어낼 수학실력이여서 스스로 원망했네요. 왜 수학공부를 안했는지…(중략)”

분명히 필자의 강의에 쓰는 수학은 경제학부 시절 들었던 경제수학, 경제통계학, 그리고 아주 약간의 계량경제학이 전부다. 그것마저도 안 쓰면 저 위의 수강생이 말씀해주신대로 핵심을 외면하고 기술적 부채를 안기면서 수업을 하는 것 같아, 양심에 너무 찔려서 도저히 타협을 할 수 없는 마지노선까지 수학 수준을 내려놨다. 같은 내용을 듣고 있는 컴공 교육자 분은 필자더러 수학을 어디에서 타협할려는지 고민한 흔적이 참 많이 보인다는 평도 주시더라. 그래도 기본적인 수학 실력이 있어야 필자의 수업을 따라오고, 데이터 사이언스를 이해할 수 있다는 사실에는 변함이 없다.

외부 강의나 교재 제작 관련해서 담당자 분들과 이야기를 하면, 6차 교육과정 이후의 문과생들도 이해할 수 있을만한 수업과 교재를 만들 수 없냐는 질문을 참 많이 한다. 아마도 그 분들의 지갑이 열려야 돈 벌이가 될 테니까? 그 05학번 이후의 문과생들이 경제학부에 들어와서 미분 모른다고 하소연을 하는 바람에 겨울 방학 때 교수님 몇 분이 미분, 적분 특강을 열었던 기억이 나는데, 솔직히 말해서 그 학생들이 이해할 수 있을만큼 수준을 낮추면 핵심을 외면하고 기술적 부채를 안기는 수업밖에 할 수가 없다. 양심에 너무 찔린다. 그런 코드 몇 줄 돌아가는걸 줏어들은 지식으로 어디서 이윤창출을 할 수 있을까?

나가며

문과생들이 취업이 안 된다는 이야기가 필자의 좁은 소견으로는 위의 일화들의 총집합일 것 같다. 수학이랑 통계학 잘 모르고, 기술적인 이해도가 부족하고, 새로운 기술 가르쳐줘도 머리가 굳어서 쉽게 못 쫓아오니 기업에서 월급주면서 데리고 있을 수 있을까? 필자도 문돌이지만, 돈 값 못하는 직원을 쓰고 싶은 생각은 없다. 대학에서 미분, 적분을 다시 배워야할 만큼 준비가 엉망인 예비 직장인들에게 수학이 잔뜩 들어간 상품을 만드는 자리는 커녕 그런 상품을 파는 일자리라도 줄 수 있을까?

기업이 한 직업인에게 연봉으로 5천만원을 준다는 이야기는, 그 직원이 최소한 3-4억은 벌어와야 된다는 뜻이다. 그래야 세금도 내고, 4대 보험도 지원하고, 사내 복지도 유지하고, 건물 유지비 등등의 각종 부대 비용도 쓰면서 동시에 회사의 이윤도 창출할 수 있다. 취업이 안 된다는 이야기는 회사가서 교육받고 회사에 연간 3~4억을 가져다 줄 수 있는 인재로 성장할 가능성이 안 보인다는 뜻이거나, 혹은 그 시간이 매우매우 많이 걸릴 것 같고, 다른 후보자들은 훨씬 더 짧은 시간 안에 그 레벨로 성장할 수 있을 것 같아 보이기 때문이다.

한 줄 요약하면, 요즘들어 문과가 취업이 안 되는건 4차 산업용 코딩 교육이 없어서가 아니라, 문과생들이 고등학교에서 너무 부실하게 교육을 받았고, 대학에서도 기업들이 원하는 수준의 기초 교육을 못 받았다는 뜻이다.

 

은행가들이 암호화폐 산업 관련 회사의 임직원, 펀드 매니저 개별 트레이더로 몰려 들고 있습니다. 10 간의 푸르른 금융 목초지로 러시가 시작되면서 은행의 사무실 하나가 두드러지게 나타났습니다. 바로 도이체 은행 홍콩지점 입니다.

도이체 은행의 투자은행 뱅커스 트러스트 인수로 시작되었습니다. 회사는 그러고 나서 보수적인 독일 뿌리를 버리고 업계에서 가장 스윙어들을 영입하기 시작했습니다. 메릴린치 은행가의 파벌이 반입되었고, 리더로 Anshu Jain 영입했습니다.

완전 카우보이 문화였고, 2007년 저의 홍콩 하계 인턴뷰에서 이 점을 알 수 있습니다.

인터뷰는 필라델피아에서 진행되었습니다. 두 번째 2대1 인터뷰에서 나는 여름에 인턴을 팀의 팀장을 만났습니다. 나는 홍콩에서 유학을 마치고 돌아왔고 그는 내게 홍콩을 그렇게 좋아하는지 물었고 나는 클럽에 가는 것이 좋았다라고 했습니다. 그리고는 내가 가장 좋은 하는 곳들에 대해 썰을 풀었습니다. 팀장이 나중에 제게 말하기를 당시 때문에 나를 고용하기로 마음먹었다고 했습니다.

그날 , 저는 도이체 대표팀 전체를 제가 가장 좋아하는 필라델피아 심야 EDM 클럽에 데려 갔고, 아주 죽였습니다.

2007 금융가들은 그들이 스스로를 신이라고 생각했습니다. 홍콩은 여름에 내가 느꼈던 에너지를 결코 다시 경험해 보지 못했습니다. 나는 주식 파생 상품 영업 데스크에 인턴을 했고, 인사부에서는 곳에서 일했던 나의 공격적인 성격 때문에 자리를 뱀골이라고 불렀습니다.

런던의 2008 대학원 교육 프로그램은 비슷한 공격적이었습니다. 도이체 은행은 졸업하는 모든 학생들을 위해 런던에 3 개월 동안 모든 비용을 지불했습니다. 일본 졸업생들이 가장 강렬했다. 1 명의 대학원생이 술에 취해서 심하게 토했는데, 그는 갈비뼈가 부러진 채로 병원에 입원까지 했었습니다.

도이체 은행에서는 이렇게 젊은이들이 훈련시켰습니다. 회사는 열심히 파티하기, 열심히 돈을 벌기 위해 집중된 공격적인 문화를 육성했습니다. 다른 고착된 은행과는 달리, 도이체 은행에서 아무도 그들이 게임에 참가했는지에 대해 부끄러워하지 않았습니다. 돈을 버는 것이 목표 였고, 아무도 너무 호화스런운 것에 대해 비난하지 않았습니다.

금융 서비스 산업이 2008 GFC (금융위기) 이후 세속적인 하락세에 접어 들면서 도이체 은행 사람들도 바람에 흩어졌습니다. 도이체 은행은 독일 규제 당국에 납세자의 자본 확충을 피하기 위해 자산 가치에 대해 거짓말을 했습니다. 지금와서 얘기지만 그것은 가장 어리석은 방법이었습니다. 경쟁하는 미국 은행들은 TARP 기금을 기꺼이 가져 와서 막대한 보너스를 지불하고 대차 대조표를 수정했습니다. 도이체 은행은 절뚝 거리며, 금융 위기 이후 최악의 실적을 기록한 은행 중 하나입니다.

도이체 홍콩 동문회는 비트코인에 의해 점화 되었습니다. 어떤 이유로,  특정 사무실은 비트코인 업계에서 대표됩니다. 리스트에 있는 모든 이들이 대학원 훈련 프로그램을 거쳤으며 도이체 은행 경력이 모두 중복 되었습니다.

Arthur Hayes, 비트멕스 CEO, 2008 졸업, Absolute Strategies Group 그리고 Global Prime Finance 델타원팀에서 ETF, 선물 그리고 스왑 투자가로 근무.

Greg Dwyer, 비트멕스 사업개발부 총괄, 2009 졸업, 싱가폴에서 상품 구조 설계를 했고, 저와 함께 ETF 델타원팀에서 근무.

Nick Andrianov, 비트멕스 리스크매니지먼트팀, 2007 졸업, Flow and Exotic 인덱스 변동 거래팀에서 근무.

Andrew Rizkalla, Paycase에서 거래 팀장, 2008 졸업, 그는 프로그램 거래팀에서 근무.

Kayvon Pirestani, Coinbase 기관영업 이사, 2005 졸업, 에쿼티 파생 영업팀 근무.

Gavin Yeung, Cryptomover 대표, 2010 졸업, 프로그램 거래팀 근무

Neelabh Dixit, Cryptomover 공동창업자, 2013 졸업, 포트폴리오 트레이딩팀 근무

Donald Day, Bletchy Park Asset Management CTO, 2009 졸업, Absolute Strategy Group Quant 기획자로 근무

그리고, 익명을 희망하는 도이체 은행 홍콩지점 전 직원 2명이 더 있었습니다.

오만하고 비효율적인 금융 규제 때문에 혁신이란 것에 무거운 벌금과 면허 취소가 동반 되는 일이
비일비재 합니다. 따라서, 누군가 제일 먼저 시작하기 전까지는 수천억 달러의 수입을 위태롭게 하며
비트코인의 규제와 평판 리스트를 감수 할 수 있는 기관은 없을 것입니다.

LedgerX라는 회사를 보면, 이 회사는 무려 4년이 넘는 기간 동안 CFTC (미국선물거래위원회) 비트코인 선물 옵션을 있게 해달라고 들볶았습니다. 이런 힘든 노력이 결국 이번 가을에 시장을 개시할 있게 되면서 그에 대한 보답을 받게 되었습니다. 이 후, 2주도 채되지 않아 CME (시카고상품거래소) 역 관련 상품을 취급하겠다고 공시한 바 있습니다. 실제로는 미국달러 비트코인선물거래 개시에 대한 공시의 시초는 CBOE (시카고옵션거래소) 입니다. 다만, CBOE 2018 2사분기나 되어야 개시 예정이며, CME 올해 말에 개시할 것을 계획하고 있습니다.

일부 대형 금융기관이 디지털 화폐 생태계에 진입하려고 하는 유일한 이유는 바로 조차 10 내에 0달러에서 2천억 달러로 성장한 자산을 무시할 없기 때문입니다. 다만 대형금융기관들이 자본을 투입하기에는 그들의 관할 준법에 부응하지 못한, , 컴플라이언스를 갖추지 못한 거래소들의 거래상대방 위험요소 때문입니다. 이미 대형 기관들이 거래를 하고 있는 CME 같은 곳에서 비트코인 상품을 제공하기 시작한 것이 말로, 바로 대형기관들이 정말 심각하게 투자를 있게 필요했습니다.

통제 위험성

미국달러 비트코인 선물계약은 비트코인을 소유를 없거나, 소유를 원하지 않는 대형 기관에게는
완벽한 상품입니다.  선물계약은 그들이 원하는 암호화폐를 예측해 현금화할 있는 상품입니다. 

CME의 관점에서는, 비트코인 관련 고객들이 떠나는 리스크를 피하고, 더불어  상품을 취급하기 위한 기술 혁신에 대한 투자 역시 전혀 필요 없습니다.

유동성

비트멕스의 XBTUSD 스왑은 전세계적으로 비트코인/미국달러 거래에 있어서 가장 유동성이 풍부한 상품입니다. XBTUSD GDAX Bitstamp 모든 자산거래를 합한 것에 5배에서 10배의 거래량을 보이고 있습니다. XBTUSD 일일 거래량이 통상 10억 달러를 초과하고 20억 달러에 가까워지고 있습니다.

CME 지수에 itBit Kraken 포함될 것입니다.  거래소들을 기반으로 흐름에 대한 헷징을 반드시 해야 하는 투자전문가들에게는 가지 심각한 파생 상품 계약들의 유동성은 거래 시장에 변동성을 증가시킬 것입니다. 또한, 거래소 인프라에 엄청난 부담을 안길 것입니다. 정말 곳의 거래소가 Citadel 같은 기관의 서류제출, 수정 그리고 취소 분당 건의 요청사항을 처리할 있는 곳일까요? 시간이 말해 줄 것입니다. 그리고, CME 비트코인 관련해서 집중 훈련을 받을 것입니다.

이러한 문제들은 아마도 그들의 지수가 설계된 것에 영향을 받을 것입니다. 지수 처리 로직은 추정
유동성과 거래소가 대면하는 기술적인 문제들을 처리하기 위해 지나치게 복잡하기만 합니다.

비트멕스는  CME 가질 없는 자유방임주의적 접근 방식으로 비트코인 시장을 보고 있다. 모든 금융권 기자들은 이들의 실수들을 예의주시할 것이고, 문제점들에 대한 하일라이팅은 빠르고 날카롭게 보도될 것이다.

시장 분열

비트코인 시장은 수많은 통제 기관과 여러 지역의 투자가들의 문화적 차이 때문에 크게 분열되어 있습니다. CME 거래할 있는 투자가들은 상호 가격차가 발생하는 많은 다른 기타 거래소와 거래할 수 없습니다.

이것은 규제되거나 규제되지 않은 거래소에 양다리를 걸치거나 여러 관할권을 오고 가며 거래 있는 투자가라면 차익 거래 펀드들에게는 일생 일대의 거래 기회를 제공합니다. 그리고 이러한 격차는 CME CBOE 상품에 큰 포지션이 체결되면 더더욱 커질 것입니다.

규제된 파생 상품은 뒤따를 것인지 또는 앞장서 것인지 아시아의 카우보이 트레이딩? 시장의 마이크로 구조적인 측면에서는 흥미진진한 시험무대가  것입니다.

ETF?

Winklevoss ETF 코인을 반대하는 과정에서 SEC (미국증권거래위원회) 규제된 파생상품 시장의 부재가 가장 문제점이라고 발표했습니다. 만약 CME 나자빠지지 않는다면 ETF 위한 길을 열어  것이다. SEC 어차피 대형 금융기관에 보조를 맞추기만 합니다. CME 파생상품으로부터 엄청난 이익을 거두고 있다면, 자산운용사들은 상장 ETF 편승하기를 원할 것입니다.

Ledger X처럼 Winklevii 그들만의 비트코인 ETF 신청할 있는 Blackrock 또는 Vanguard 같은 대형 ETF 기관에게 뒤쳐지게  것입니다. Blackrock Winklevii; 과연 누가 전직 SEC 임직원들에게 자리를 제공할 있는 능력을 가지고 있을까요?

선물은 자산이 많은 개인 투자가와 대형 금융기관이 편하게 비트코인 거래를 있게 하는 반면, ETF 전세계적으로 소매투자가에게 매력적일 것이며 이는 투자의 패러다임을 바꿀 것입니다. 내년을 기점으로 SEC로부터 발행되는 ETF 승인에 대해 더 많은 소음이 예상됩니다.

천천히 그리고 빠르게

저는 기관들의 비트코인 대응이 이렇게 빠르게 성장할 것을 기대하지 않았습니다. 또한, 대형 금융기관이 참여하지 않는 공간에 신생 기업이 돈을 너무 벌었습니다. 점점 많은 규제 반복적 위험이 제거됨에 따라 기관들은 계속해서 그들의 참여와 노출을 증가시킬 것입니다.

본격적인 포지셔닝이 개시되었습니다. 지난 뉴스레터에서 비트멕스의 선물거래 전략은 세그윗 2x 하드포크에 기반을 두고 있다고 설명 드린 바 있습니다. 이는 3주 후에 선물 기반의 하드포크로 뛰어드는 거래자들의 공격적인 포지셔닝을 의미합니다. 여기에서는, 더욱 고급화 된 거래에 대해 논의하고 이에 대한 효과적인 전략을 소개해 드리고자 합니다.

XBTZ17 개요

올해 1월 대비, 비트코인 가격은 무려 7배나 상승했습니다. 이러한 공격적인 시장에서는 선물 가격이 현물 가격보다 높은 상태인 콘탱고 (Contango) 시장이 유지될 수 있습니다. 매수인들은 시장 상황을 감안하여 매도인들에게 상당한 양의 이자를 지불하며 포지션을 유지해야 합니다.

아래 차트는 XBTM17 (6월), XBTU17 (9월) 및 XBTZ17 (12월) 비트코인 / 미화 스왑계약의 연간 환산 기준 프리미엄 %를 나타냅니다.

각각의 분기별 계약은 급격한 물가 인상이 있을 때 존재합니다. 하지만, 비트코인캐시 및 다가오는
세그윗 2x 포크로 인해 XBTU17 및 XBTZ17 각각의 프리미엄 기세가 한풀 꺾이는 결과가 발생하게
됩니다.

최대 프리미엄 PA (%)           최대 아웃라이트 디스카운트 (%)
XBTM17 122.30% -2.28%
XBTU17 32.38% -5.62%
XBTZ17 42.47% -7.17%

위 차트는 하드포크가 존재하지 않았던 XBTM17의 가장 높은 프리미엄과 할인을 나타냅니다. XBTU17은 비트코인캐시 하드포크 기간 중 가장 높은 할인을 받았습니다.

XBTZ17은 세그윗 2x 하드포크 가격이 이미 책정되어 있습니다. 만약, 최대 할인이 이미 XBTU17을 초과한 경우 우리는 세그윗 2x 하드포크보다 훨씬 더 큰 할인을 기대할 수 있습니다.

할인은 무질서한 하드포크에 대한 두려움과, XBTZ17을 매도하는 거래자들 그리고 현물 매수를 통해 비트코인 가격에 대한 아무런 위험 없이 세그윗 2x 코인을 생성하는 거래자들의 혼합이라고 볼 수 있습니다. 세그윗 2x 하드포크를 둘러싼 높은 위험, 대중성 및 명성으로 인해 할인은 최대 15%까지 도달 할 수 있습니다.

청산 (처분)

현재 정보를 보유하고 있는 다수의 거래자들은 XBTZ17 베이시스 매도 포지션을 취하고 있습니다. 베이시스 = 선물 가격 – 현물 가격. 베이시스가 양수로 거래되는 경우, 매도 포지션이 증가하게 됩니다. 하지만, 하드포크 비율이 XBTZ17 이상 일 경우에는 포지션이 종료하게 됩니다.

다수의 거래자들은 XBTZ17 매도계약을 엄청난 할인을 통해 마감하며, 매수로 전환하여 안도할 수 있습니다. 하지만, 모든 거래자들이 동일한 방식을 취한다면 대다수의 거래자들이 청산 시 이익을 포기하게 되는 사태가 발생하게 됩니다. 더불어, 투기성 투자자들은 사전 포크 전에 시장으로 뛰어들어 포크 이후의 가격 급등 전에 매수 포지션을 취할 것입니다.

쇼트 스퀴즈

제가 도이치 은행에서 근무하던 시절에 항상 시장이 마감되며 시세가 상승할 때, “쇼트 스퀴즈”라며 크게 고함을 지르던 프랑스 옵션 거래자가 있었습니다. XBTZ17 시장은 쇼트 스퀴즈에 준비가 되어 있으며, 저는 마이너들의 수익 극대화가 더욱 격렬한 가격 급등을 초래할 수 있다고 믿었습니다.

채굴자들은 세그윗 2x의 활성을 설정하는 뉴욕협정 (NYA: New York Agreement)에 서명하며, 향후 더욱 큰 규모의 블록을 지킬 수 있게 되었습니다. 뉴욕협정은 UASF로 인해 체인 분할을 차단하였으나, 비트코인캐시의 런칭이라는 직접적인 결과를 초래했습니다.

비트코인캐시는 세그윗을 배제하고 8MB에 해당하는 블록을 보유하고 있습니다. 현재 시점에서는, 비트코인 세그윗 2x에 대한 필요는 없으나 대다수의 채굴자들은 계속해서 뉴욕협정을 위해 신호를 보내고 있습니다. 이는, 어떠한 비용이 발생하는 것이 아니며 해시파워를 통해 하드포크를 지원하는 것도 아님을 의미합니다.

만약, 마지막 순간에 모든 채굴자들이 뉴욕협정에 대한 신호를 중지하였고 하드포크가 발생하지 않았다면 시장에 어떠한 일이 벌어졌을까요? 모두가 아는 정답은 결국에는 펌프 씨티입니다. 또 다른 결과는 격렬한 XBTZ17 베이시스에 대한 재설정을 의미합니다.

비트멕스는 B2X 코인을 취급하지 않습니다. 따라서, XBTZ17 매도의 경우 포크 전날에 비트멕스에서 마진을 제외시킬 수 있으며, B2X를 신용화하는 거래에 입금할 수 있습니다.

만약 제가 수익을 극대화하는 채굴자라면 이렇게 했을 것입니다:

  1. 비트코인 현물을 매수합니다.
  2. XBTZ17 선물계약을 큰 규모의 할인을 통해 매수합니다.
  3. 하드포크 기한 직전, 뉴욕협정에 대한 신호를 중지합니다
  4. 마진 및 선물 매도에 대한 이윤을 유지합니다.

이러한 생각이 현실 가능성이 있다고 믿는 경우, 다음과 같은 사항을 수행해야 합니다:

  1. 만약 귀하께서 매도 기반일 경우 (XBTZ17 매도 vs. 현물 매수), 해당 거래를 통해 수익을
    발생시키고 청산합니다.
  2. 해당 내역이 음수일 경우 (XBTZ17 매수 vs. 현물 매도), 매수 기반을 취합니다.
  3. 만약, 귀하께서 위험을 즐길 수 있는 욕망이 크실 경우, 음수 기반으로 XBTZ17 매수를 취하실 수 있습니다.

세그윗 2x 비트코인은 배당금으로 분류되지 않습니다

B2X는 BCH와 상이하기 때문에 B2X 지원자들은 그들의 코인이 알트 코인으로 분류되기를 희망하지 않습니다. 이는 비트코인이거나 아무 의미가 없게 됩니다. 이와 같은 이유로 인해, 거래를 안전하게 지원할 수 있는 시스템 규현을 거부하는 것입니다.

만약 귀하께서 XBTZ17 매도 기반으로 양수의 포지션을 취하셨다면, 수익을 창출하실 수 있습니다. 거래를 일찍이 종료하며 예상 배당금을 받는 것은 B2X와 BCH 간의 근본적인 차이로 인해 신중히 결정해야 합니다.

요즘 4차 산업혁명이라는 단어가 화두다. 도대체 누가 만들어냈는지는 잘 모르겠지만, 그 단어에서 가장 핵심 키워드는 “인공지능”인 것 같은데, 인공지능 만들어 본 적도 없는 사람들이 너무 뇌피셜을 많이 쓰고 있고, 필자에게 이런게 가능하냐고 물어보는 사람들이 너무 많아졌다. 사실 필자도 아는거 별로 없는데, 아래 게임 인공지능 예제로 한번 필자가 알고 있는 내용들을 정리해보고 싶다.

 

들어가며

필자도 여느 80년대생 한국 남성들과 마찬가지로 2000년대 초반에 스타크래프트라는 게임에 빠져 살았다. 처음에는 컴퓨터와 1:1로 연습했고, 나중에는 3:1로 연습해서 이기는 수준이 되니 친구들과 함께 팀플레이할 수 있는 수준이 되더라. 그 시절 게임에 들어있던 “인공지능”이 보통의 한국인 게임 유저 1/3명 정도의 능력을 갖추었다는 이야기다. 물론, 컴퓨터에게 꼼수를 쓰면 더 쉽게 이길 수 있는 방법이 많고, 컴퓨터는 언제나 인간보다 비 효율적으로 유닛을 생산, 조합하고 전략을 짰다.

알파고의 대성공을 보고 지난 1년 반 남짓동안 인공지능 개발에 엄청나게 많은 돈이 투자되었고, 사람들의 기대감도 커졌는지 스타크래프트 인공지능도 지금보다 더 잘하게 만들 수 있지 않을까는 이야기가 계속 돌았다. 최근에는 스타크래프트 프로 선수와 인공지능간 대결이 열렸는데, 필자의 예상대로 인공지능이 참패를 했다.

왜 인공지능의 참패를 예측했냐고? 여기 두 개의 키워드가 있다. 불확실성(Uncertainty)계산비용(Computational Cost).

 

1. 인공지능 모델링

필자의 예측을 설명하기 전에 스타크래프트 인공지능을 어떻게 만들었을지 한번 짐작해보자.

우선 반칙을 안 한다는 전제아래 맵핵을 안 쓰고 다른 유저의 정보를 알려면 정찰 유닛을 보내야하고, 그 유닛의 시야에 들어오는 정보들을 보고 해석해야한다. 미니맵을 실시간으로 스캔하는 알고리즘은 아마도 CNN이었을 것이고, 거기서 우리 편과 색이 다른 유닛이 나오면 적군으로 인지하도록 만들면 되겠다. 근데, 정찰 유닛을 어느 방향으로 보내야할까? 4인 플레이 맵에서 1:1로 경쟁하고 있으면, 내 위치에 따라 유닛을 보내는 방향이 달라질텐데, 그런 부분은 어떻게 Learning을 시켰을까? 여기서 첫번째 난관이 보인다. 이걸 인공지능으로 만들지 말고, 그냥 IF – THEN을 수십가지 경우의 수로 만들어서 내 위치에 따라 정찰 유닛을 보내는 방향을 정한다치면, 상대방과 언제 어느 지점에서 조우하느냐에 따라 또 상대방의 위치를 가늠하는 확률 게임을 해야한다. 당장 정찰 부분부터 IF – THEN으로 도망가고 싶을만큼 고려해야하는 이슈들이 많다.

자 그다음 적군의 방향에 따라, 적군의 설치 유닛에 따라 내가 생산하는 유닛과 수비에 쓰는 유닛이 다 달라지는데, 이런건 또 어떻게 Learning을 시킬 수 있을까? 새로운 정보가 주어지면 실시간으로 업데이트해서 새 전략을 짜내야하는데, 바둑처럼 착점까지 시간을 주는 것도 아니고, 그렇다고 미리 계산했던 값을 계속 써먹을 수 있을만큼 전황이 안정적으로 변하는 것도 아니고…. 실력없는 필자는 더 이상 기획할 용기를 잃었다.

이렇게 “니가 못하니까 인공지능의 참패를 예측했냐?”고 물으실 분도 있을 것 같은데, 위의 간단한 사고 실험에 필자가 제시한 두 가지 키워드가 모두 숨어있다.

 

2. 불확실성

이미 다른 글에서 여러번 설명했지만, 머신러닝 모델링은 결국 통계적인 테크닉을 이용해 데이터에서 패턴을 찾아내는 작업이다. 그리고 데이터에 복잡한 신호가 여럿 섞여 있으면 정확한 패턴을 찾아내기가 매우 어렵다. 기존에 Deep Neural Net을 비롯한 여러가지 머신러닝 모델들이 성공을 거둔 영역을 보면 데이터의 형태가 정형화되어 있는 바둑 게임, 음성과 문자, 그림 인식 같은 영역에 국한되어 있다. 왜 다른 영역으로 확장되지는 못할까? 왜 주가 예측을 하는 알고리즘은 못 만들어낼까? 주가에는 불확실성으로 야기되는 결과가 엄청나게 반영되어 있기 때문이다. 데이터에 패턴이 있다면 정규 분포를 따를 수가 없는데, 주가를 6개월치 모아서 주가 수익률을 그래프로 그려보라. 영락없이 정규 분포가 나올 것이다. 어릴 때 동전 던지기 게임을 하면 동전이 휘어있지 않은 이상 앞면과 뒷면이 나올 확률은 반반이고, 이런 반반 확률을 수천번 반복하면 앞면이 나오는 숫자가 정규 분포에 수렴하는 모델을 아마도 통계학 수업 시간에 한번쯤은 보고 연습문제를 풀어본 적이 있을 것이다. 반반이라는 이야기는 예측을 못한다는 이야기고, 그렇게 예측을 못하는 데이터를 쌓으면 정규분포가 되었다는 걸 뻔히 보고서 주가 움직임을 보고 패턴을 예측한다는 이야기를 하는 사람들을 보면….

(주가에서 패턴을 찾으려면 주가말고 다른 외부 데이터가 주가에 어떤 영향을 미치는지, 유사한 데이터가 어떤게 있는지 보는게 그나마 좀 합리적인데, 그렇게 상관관계가 높은 변수들이 많이 있을까….)

스타크래프트라는 게임을 한번 해보면 알겠지만, 불확실성의 연속이다. 고려해야하는 경우의 수도 많고, 그 경우의 수의 조합이 실시간으로 바뀐다. 언뜻보면 알파고와 비슷한 것 같지만, 불확실성의 가능성이 훨씬 더 크다. 단적으로, 상대편 배럭에 불이 켜졌을 때, 생산되고 있는 유닛이 마린일지, 파이어뱃일지, 고스트일지, 메딕일지 어떻게 알 수 있을까? 프로토스가 리버 드랍을 시도할 때, 스캐럽이 어디에서 어떻게 터질지 미리 알 수 있는 방법이 있나?

스타크래프트 게임계에서 “황제”라고 불렸던 임요환 선수의 플레이를 보면, 예측하지 못했던 전술로 상대방을 당황시키거나, 아주 찰나의 노출을 보고 순간적으로 전략을 바꾸는 경우를 자주 볼 수 있었다. 수 많은 유저들이 그 선수의 플레이 스타일에 환호했던 가장 큰 이유는 불확실성이 가득한 전장에서 그 불확실성을 무기로 삼기도 하고, 불확실한 정보 속에서 핵심 메세지를 빠르게 찾아내는 점 때문이었을 것이다.

인공지능으로 똑같은 기능을 하는 모델링을 하기 위해서 가장 필수적인 부분은 바로 그런 불확실성을 어떻게 처리하느냐다. 게임 시작하고 3분이 지난 시점에 적이 9시 방향쪽에서 정찰이 오는 것 같은 순간, 3분이라는 시간이 흘렀기 때문에 실제로는 9시 방향에 적 진지가 있는게 아니라, 다른 곳을 다 정찰하고 늦게 도착했다고 판단해서 12시 방향에 적 진지가 있을 것이라는데에 높은 확률을 두고 게임을 진행한다고 해보자. 이 시점에서 9시 지역과 12시 지역에 줄 수 있는 확률이 1:2라고 가정한 상태에서, 내가 정찰하고 있는 유닛이 1시 지역 쯤에서 상대방의 또 다른 정찰 유닛과 만났다면, 12시 지역에 적의 본진이 있고, 9시 지역에 보냈던 정찰 유닛이 아군을 못 발견해서 6시 지역으로 이동하는 동안 1시 쪽 방향으로 추가 정찰 유닛을 보냈을 것이라고 짐작하는 것이 가장 합리적이라고 생각한다.

인간 플레이어는 이런 정보를 바탕으로 단순히 적군의 위치만 파악하는 정도에서 끝나는게 아니라, 적이 정찰 유닛을 2개나 보낼만큼 아군의 위치를 빨리 알아내야하는 전략을 쓰고 있다는 생각까지 할 수 있다. 정찰 유닛의 종류에 따라 적군이 어떤 초반 전략을 짜고 있는지도 예상해볼 수 있고, 적군 진지를 살펴보지 않더라도 미리 방어 전략을 짤 수도 있다.

(오랜만에 스타크래프트 하고 싶어져서 큰일이다 ㅎㅎ)

인공지능이 게임하는 방식을 보니, 예상대로 불확실성에 맞게 대응하는 방식으로 만드는 걸 포기했다는 감이 왔다. 대규모 물량전을 펼치는 위주로 단조로운 빌드만 전개되던데, 아마 스타크래프트 인공지능 개발하던 사람도 필자가 위에 제시했던 내용을 갖고 불확실성을 어떻게 처리할지 심각하게 고민했을 것이다. 그리고 결과물에서 봤듯이 불확실성을 다루는 쪽으로 모델링을 한게 아니라, 불확실성을 없애는 쪽으로 모델링을 했다. 알파고는 인간이 바둑판 위에서 반응할 수 있는 데이터 조합에 적절한 반응만하면 되었지만, 스타크래프트에서 인간이 반응할 수 있는 가능성의 조합은 바둑판처럼 1차원적이지 않고, 유닛의 종류, 반응 위치 등등 조합이 너무 다차원적이다.

 

3. 계산비용

며칠전 수업 시간에 Neural Net을 열심히 설명하면서 Logistic regression을 여러개 중첩한 것과 같고, 이 때 Feed forward + Back propagation 매커니즘은 사실 각 Node의 가중치를 행렬로 계산하는 작업에 불과하다고 설명하고 있었다. 그 때 학생 한 분이 그럼 그 모델은 어디에 저장하냐고 물으시더라. 보통 이렇게 만든 모델은 실시간으로 꺼내써야하는데, 대형 서버에서 큰 데이터 베이스를 이용해 복잡한 계산을 한 결과값은 어디에 저장하면 될까? 실시간으로 꺼내써야하니 보통은 Memory DB라고 속도가 빠르고 좀 비싼 데이터 베이스에 저장한다. 그래야 새로운 데이터가 입력되었을 때 그 값에 맞춰서 바로 결과값이 나오고 반응을 결정할 수 있기 때문이다.

문제는 대형 데이터를 이용해서 모델링을 할 때, 엄청난 계산 비용, 특히 시간이 많이 걸리기 때문에 단순히 광고 타겟팅 하는 모델만해도 실시간으로 업데이트하기가 매우 힘들다. 보통 2시간 단위, 4시간 단위로 데이터를 모아서 계산한 결과값을 Memory DB에 새로 업데이트 해주는 방식으로 돌아가는데, 저 위의 스타크래프트용 인공지능 모델은 도대체 몇 개의 반응 함수를 만들어야할까? 특히 불확실성을 다 고려하도록 만들려면 숫자가 어마어마하게 많을텐데? 거기다 알파고처럼 정해진 규칙이 있고 단차원적인 데이터 매칭으로 대응 방식을 짜는게 아니라, 다차원적인 불확실성을 다 감당해야하는데? 그걸 다 계산한 값을 운좋게 만들어낼 수 있다고해도 Memory DB에 입력해야하는 값만해도 엄청나게 클 것 같다.

스타크래프트 인공지능 제작팀이 불확실성에 대한 대응을 포기하고 물량전으로 전략을 잡은 두번째 이유가 바로 이 “계산비용” 때문이라고 본다. 실시간으로 전략 수정을 계속해주려면 인간 유저의 반응이 이미 데이터화 되어 있어서 그 값에 맞게 바로 대응 전략 X번을 고르도록 하거나, 아니면 뒤에서 돌아가고 있는 모델이 엄청나게 빠른 속도로 계산을 해내야하는데, 이 두가지 모두가 불가능한 상황이었을 것이다.

필자가 요즘은 게임을 잘 안 해서 최신 경험치를 갖고 있지는 않지만, 일반적인 컴퓨터 인공지능이 예전과 비교해서 구조적으로 크게 바뀐 점은 없다. 예전에도 IF – THEN을 이용해서 XXX라는 조건이 발동되면 YYY라는 대응을 하도록 하는 알고리즘을 만들고, 그런 알고리즘 몇 개가 대부분의 경우의 수를 커버할 수 있도록 단순하고 포괄적인 알고리즘을 만들었을 것이다. 그러다 패턴을 좀 더 복잡하게 인식할 수 있게 되면서, 좀 더 다양한 알고리즘으로 좀 더 복잡한 대응을 할 수 있도록 알고리즘을 만들게 된 부분이 있고, 그런 복잡한 알고리즘을 만들 때 드는 계산 비용이 감소했다는 점이 예전과 달라진 부분이다.

온도차에 따라 금속의 팽창이 달라지는 점을 이용해 전원을 끄고 켜는 바이메탈은 단순한 목적을 수행하면서 온도가 금속의 팽창에 전달되는데 걸리는 시간만큼의 “시간 비용”이 들었다. 로봇 청소기 정도로 진화한 인공지능은 더 이상 앞으로 나아갈 수 없는 벽을 만나면 되돌아 가도록 프로그래밍을 했는데, 센서가 가져다 주는 정보와 벽에 대해서 기존에 갖고 있는 정보가 일치하는데 걸리는 시간만큼의 “시간 비용”이 드는 방식이다. 알파고는 이세돌의 한 수에 어떻게 반응해야할지 데이터 베이스를 다 훑어서 승리로 이끌어주는 최적 Path 몇 개를 찾아내는 (계산하는게 아니라, 찾아내는) 시스템이고, 그 데이터 베이스를 뒤지는 시간만큼이 “시간 비용”이 된다.

 

정리하며

알고리즘이 작동하는데 “시간 비용”이 매우 작아야하는 스타크래프트 인공지능은 불확실성을 어디까지 고려할 것인가, 얼마나 빠른 시간 안에 전략을 선택할 수 있을까에 대한 상충관계를 타협할 수 있는 새로운 알고리즘을 만들어내기 전까지는 더 이상 큰 발전을 하기 힘들 것이라고 생각한다. 구글의 딥마인드가 바둑 이외에 다른 전략 시뮬레이션 게임에 같은 수준의 인공지능을 못 만들어내는 것도 같은 이유다.

좀 더 쉽게 정리하면, 4차 산업혁명이라고 설레발을 치고, 인공지능이 뭔가 새로운 것인처럼 포장하는 것도 과대포장에 지나지 않는다는 뜻이다. 솔직하게 “비선형 패턴 찾기” 알고리즘이라고 말하면 아무도 관심을 안 가질 것 같으니까 그럴듯한 용어로 포장되어있고, 그 포장을 더 큰 포장으로 장식하면서 밥 벌어먹고 사는 사람이 참 많은 것 같다.

저런 알고리즘 만들어 내는데 가장 중요한 능력이 뭘까? 코딩을 잘 하는 능력? 글쎄다… 일단 기획을 어떻게 해야할지, 불확실성을 어떻게 모델 안에 내재화해야할지 전혀 감이 없는 필자의 입장에서 가장 필요한 능력은 수학과 통계학인 것 같다. 요즘 초등 교육에도 코딩 넣는다고 그러던데, 필자의 짧은 소견으로는 코딩을 넣을게 아니라 저런 수학적인 알고리즘 만들어 낼 수 있는 몇 명의 천재를 양성할 수 있는 교육이 진정한 4차 산업혁명용 교육인 것 같다.

어차피 코딩 교육도 다른 과목처럼 학교 졸업하면 다 까먹는 애들이 태반일테지만, 수학 천재가 만들어놓은 혁신은 영원하지 않을까?

 

 

 

강의 4회차에 빅데이터 활용을 위한 차원 축소 (Dimensionality Reduction)을 설명하면서 Principal Component Analysis (PCA)를 수학 빼고 최대한 직관적으로 가르치려고 노력하는데, 학부 기초 수학 수업인 선형대수학에서 나오는 Eigen vector라는 개념을 이용해 데이터들을 새로운 축에서 재해석하고, 새로운 축들 중 값이 큰 축만 골라내면 거의 손실없이 빅데이터의 특성을 모두 담을 수 있는 작은 데이터 셋을 만들 수 있다는 방식으로 설명한다. (이래서 선형대수학을 아예 모르면 데이터 사이언스 강의 듣기 어려운 것 같기는 하다.)

이번 달 강의에 오셨던 학생 분 중 정말 철학자가 아닐까 싶은 분이 한 분 계셨다. 그 연배 있으신 학생 분은 항상 복습하고 인터넷 뒤져서 찾아낸 자료 중 일부를 공유주시곤 했는데, 그 4주차 강의 복습을 하신 자료 중 생물학과에서 인간을 구성하는 46개의 염색체 안에 있는 개별 게놈(Genome)의 기능을 파악한 데이터를 염색체별로 정리하는 것이 아니라, 같은 기능을 하는 게놈을 묶은 Eigen Gene이라는 설명을 하는 슬라이드는 정말 충격적이었다. 현미경으로 보는 염색체 1번부터 46번이라는 인간이 정리하는 방식의 데이터 인식이 아니라, 게놈 각각의 기능에 맞춰 염색체 단위가 아니라 기능 단위로 데이터를 재정리하는 것이 마치 자연이 만들어 놓은 방식을 역추적해서 새로운 축으로 재해석하는게 PCA인 것 같다는 식으로 메일을 주셨는데, 이 정도의 철학적인 이해를 마주하고 나니, 그동안 필자가 선형대수학을 헛공부했구나는 생각에 고개를 못들겠더라.

사실 머신러닝이건 생물학이건 모델링의 영역으로 들어가면 모든 구성 요소는 수학과 통계학이고, 더 아래에는 철학이 깔려있다. 학부시절, 지식을 잡학다식하길 좋아했던 필자가 미학과의 미학원론*을 들으며 알게된 철학과 친구를 수학과 2학년 수업인 해석개론에서 다시 만났는데, 해석개론이 철학과 전공 인정 수업중 하나라고 하더라. 보통 해석개론은 수학에서 증명을 하는 내공을 길러주고, 앞으로 계속 수학 증명으로 깊게 들어갈 능력이 있는지를 판단하는 가늠자 같은 수업인데, 그래서 보통 경제학 전공자들 중 박사 유학을 고민하는 친구들 사이에 필수적인 수업인데, 이런 수학 수업이 철학과 전공 인정 수업이라니… (필자도 문돌이긴 하지만, 그 이후로 인문대 친구들이 수학 못할 것이라고 함부로 가정하면 안 된다는 걸 뼈저리게 느낀 사건이다.)

(* 미학, 철학, 종교학은 사실상 하나의 원류에서 시작하는 학문이다. 잘 모르는 사람들이나 미학은 미술이고, 종교학은 목사나 스님되는거라고 생각하지, 실상 세 학문의 출발점은 플라톤과 아리스토텔레스, 피타고라스를 위시한 고대 그리스 소피스트들이다.)

나이가 더 들고, 공부를 더 하면서 수학이 사실은 철학이고, 증명도 논리학이라는 걸 깨닫게 되면서, 틈나는대로 철학 서적들을 찾아서 읽는다. 그러던 차에 위에 살짝 언급한 철학자 풍의 수강생께서 7회차 수업 후에 아래의 책 한권을 선물해주시더라.

 

철학하시는 분이 머신러닝을 철학적인 관점에서 바라본 내용인데, 일부 신문기사처럼 “인공지능이 철학적으로 재해석되어야된다”는 둥, “인공지능에 철학적 관점이 필요하다”는 둥의 뚱딴지 같은 내용과는 거리가 멀고, 책 저자가 수학 공부를 참 많이 한 것 같아서 책 페이지를 넘기면서 참 반가운 부분이 많았다. 그 중 가장 눈에 띄는 부분은, Supervised learning이 아닌 영역, Un-supervised learning으로 접근하고 있는 영역에서 별로 성과가 없는 이유를 설명하면서 Stochastic process와 생물학적인 진화를 연결짓는 부분이었는데, 부족하나마 필자의 첨언을 좀 달아보고 싶다.

 

1. Supervised vs. Un-Supervised

필자의 머신러닝 수업 첫 시간은 아래의 그래프로 시작한다. 기존 통계학이 데이터를 가장 잘 설명하는 선형 함수를 찾는데 집중했던 것, 왜 선형 함수가 가장 유리했었는지, 왜 빅데이터 시대에는 선형 함수가 최선의 선택이 아닐 수도 있는지, 머신러닝이란 결국 (데이터 속에 숨겨진) 비선형 함수 패턴을 찾는 것이다는 아이디어를 짧게나마 정리하고 수업에 들어간다.

굳이 저런 그래프로 수업을 시작하는 이유는, 다들 머신러닝이 뭔가 새로운 학문이라고 오해하고 있고, 그리고 머신러닝이 통계학과는 별개의 학문이라고 생각하고 수업에 들어오기 때문이다. IT 업계 짬밥도 있고, 데이터 관리 플랫폼 만들어내는데는 한국에서 몇 손가락 안에 꼽히실만한 어느 스타트업 개발이사(CTO) 분을 만난적이 있었는데, 필자더러 어떤 변수를 넣을지도 알아서 찾아내는 시스템이 있는데, 굳이 필자가 주장하는 방식으로 수학, 통계학을 배우고 머신러닝 알고리즘을 익혀야하냐고 되물으시더라. 말을 바꾸면, 저 위의 그래프 (혹은 다른 어떤 규칙)를 찾아가는 길(path)를 인간이 지정해주지 않고도 기계가 알아서 찾아내는데, 굳이 모델을 만들어야할 필요가 있냐는 것이다. 그분이 들었던 예가 알파고가 “스스로” 학습해서 인간 최고수를 이겼으니, 인간이 가르쳐주지 않은 길(path)를 만들어낸 것이 아니냐는 거였다.

모델링을 직접하는 사람들은 알겠지만, 사실 알파고의 시스템은 바둑의 규칙을 단지 Linear regression 대신 Neural net으로 구현하고, 과거 바둑 데이터의 승/패 여부를 활용해 인간이 몰랐던 승리 “패턴”을 찾아낸 것에 불과하다. 새로운 “승리 패턴”을 만들어 낸 것이고, 우리가 알고 있는 바둑의 “포석”들 보다 더 나은 선택지가 있다는 것을 알려준 것이지, 바둑의 규칙을 새로 “창조”해 낸 것은 아니다. Neural net이 복잡한 비선형 패턴을 찾아내기에 좋은 도구이기 때문에 Linear regression보다 더 나은 성과를 가져다 준 것은 맞지만, 그렇다고 Neural net이 Linear regression과 완전히 다른 기술이냐고 물으면 또 그것도 아니다. 필자의 수업에서 꼭 짚고 넘어가는 부분인데, Neural net은 Logistic regression의 결합이고, Logistic regression은 Linear regression에 다른 Kernel을 하나 추가한 것에 불과하다.

좀 쉽게 말하면, 우리가 학부 수업 때 들었던 통계학 방법을 좀 응용해서 쓴 테크닉으로 알파고가 만들어졌다는 뜻이다. (인공지능이 무슨 4차원의 기술이 아니라는 뜻이기도 하다.)

추천받은 책에서 가장 맘에 들었던 부분은, 철학자이신 저자가 위의 내용을 정확하게 알고 있고, 더 나아가서 왜 Supervised learning에서만 Neural net이 작동하고, Unsupervised learning에서는 좋은 성과가 나오기가 힘든지에 대한 설명을 해 놓은 단락이었다. 비선형 함수 or 비선형 패턴을 찾아내는 작업은 무한대의 조합 중 가장 그럴듯한 함수를 하나 찾아내는 작업인데, 데이터가 0 또는 1로 가이드를 해줄 때는 (승/패 값을 알려줄 때는), 데이터가 보정을 해 주니 그럭저럭 가장 그럴듯한 함수를 찾아낼 수 있는데, 데이터의 보정이 전혀 없으면 어떻게 무한대 중에 어떤 조합이 가장 좋은지 알아낼 수 있겠냐고 설명하더라.

저 위의 생물학 Eigen Gene의 예제와 접목시켜보면, 특정 DNA가 무슨 기능을 하는지에 대한 유전자 지도도 없는 상태에서 어떻게 PCA 함수로 Eigen Gene을 “알아서” 찾아내도록 만들 수 있을까라는 반박과 같다. 우리가 PCA로 유사한 기능을 하는 DNA들을 하나의 Eigen Gene으로 묶을 수 있는 건, 그 DNA들이 유사한 기능을 하고 있다는 정보를 이미 알고 있기 때문이다.

 

2. Stochastic process

인공지능이 Supervised의 영역에서 Unsupervised의 영역으로 확장되기 위해서 가장 필요한 부분이 뭘까는 질문에 대한 챕터에 “진화”라는 제목이 달려 있었다. 그리고 단락 소제목으로 Stochastic Process가 있더라.

필자가 박사 재학시절 배우고 Best Teaching Award까지 받으며 가르친 Stochastic process는 시간을 분,초 단위의 “인간이 인지할 수 있는” 기준으로 쪼개는 것이 아니라, 무한대분의 1과 같이 “인간이 인자할 수 없는” 기준으로 쪼갤 때, 그 때 각각의 쪼개진 부분들에 미분, 적분같은 기존의 수학이 어떻게 적용되는지 설명하는 수학이었다. 그렇게 잘게 쪼개는 이유는, 인간이 인지할 수 없는 무수히 많은 Particle들이 뭉쳐져서 하나의 물질이 된다는 아이디어를 활용해, 불확실성(Uncertainty)을 모델화할 수 있는 최소 단위를 만들기 위함이다. 우주 물리학에서는 같은 수학을 이용해서 천체의 움직임을 예측하고, 파이낸스에서는 파생상품의 가격 계산에 Stochastic Calculus를 쓴다. (필자의 논문에 쓰인 수학도 Stochastic Calculus다.) 그런 Stochastic Process가 왜 갑자기 인공지능의 진화 부분에 나오고, 인공지능의 진화와 Unsupervised learning은 도대체 무슨 관계가 있는걸까?

저자의 정의에 따르면, 인공지능이라고 불리고 있는 (Deep) Neural Net 모델이 Unsupervised learning을 하게 된다는 것은 인간이 알려준 규칙말고 다른 규칙을 만들어 낼 수 있다는 뜻이란다. 바둑의 규칙내에서 새로운 “포석”을 찾는게 아니라 바둑 이외에 새로운 “게임”을 만들어내는 수준에 이르러야 진짜 Unsupervised learning이고, 그걸 위해서는 자연계에서 진화가 일어나는 방식대로 “돌연변이”가 랜덤하게 일어나는 모델링이 필요하다는 뜻이다. (인간이 추위에 적응하기 위해서 털 옷을 만드는게 아니라, 털이 많은 인간으로 진화하는 거랑 비슷하다고 이해했다.)

머신러닝 모델에 Stochastic process까지 도입한 모델은 아직 필자도 본 적이 없지만, 최소한 “랜덤”을 추가해서 기존 모델의 성능을 업그레이드 하는 경우는 꽤나 보아왔다. 상품 추천 알고리즘에서 “Serendipity”라고 불리는 모델 응용은 기존 데이터 기반으로 추천하지 않아야할 상품을 랜덤하게 끼워넣는 것이고 (위의 Netflix 모델 설명 슬라이드 참조), 알파고의 성능 업그레이드를 위해서 데미스 하사비스도 일부러 오류를 발생시키는 알파고와 기존 알파고 간 대국을 통해 기존 알파고에게 새로운 데이터 셋을 추가했다는 인터뷰를 보기도 했다. (아래 YouTube 영상의 31분 이후부터 이세돌의 “신의 한수” (4국 78수)를 언급하고, 대응책으로 오류 알파고를 활용했다고 언급한다.)

필자가 모델링을 하면서 Serendipity를 만들 때도 나름대로의 랜덤 함수 규칙이 있고, 오류 생성 알파고도 아마 오류에 해당하는 알고리즘이 따로 있었을텐데, 인류가 인공지능의 등급을 진짜 Unsupervised까지 끌어올리기 위해서 어떤 방식으로 “돌연변이”를 모델에 집어넣어야할까?

최소한 인간이 처음보는 단어가 나왔다고 페이스북 챗봇 서비스를 중단했다는 기사를 보고, 문자 데이터 전처리를 잘못했나보다고 생각하는게 아니라, 페이스북이 진정한 Unsupervised learning 모델을 만들어냈다고 설레발치는 기사들이 돌아다니는 수준으로는 어렵겠지.

 

3. Integrated Intelligence

인공지능이 성장하면서 인류의 삶에 어떤 영향을 미칠 것인지에 대한 이야기들이 참 많이들 돌아다닌다. 위에 소개한 책처럼 철학자이면서 동시에 수학과 기술을 다 이해하고 있는 분의 의견도 있는 반면, 많은 경우에는 잘 모르는 기자들이 쓴 단발성 기사라서 필자가 관심을 기울이는 경우가 드물다. 그러다 며칠전에 우연히 모 방송국의 다큐 프로그램에서 아래 대담을 스쳐봤는데, 그냥 넘어가기가 좀 많이 불편해, 한 마디해야 겠다는 생각에 굳이 스샷을 떴다. (다른 부분을 안 봐서 앞, 뒤 내용이 달랐을 수도 있다는 점을 미리 공지하고, 방송국에서 저작권 위반이라고 연락받으면 삭제할 수도 있다는 점 알려드립니다.)

우선, 위 스샷의 대담 내용 중에 도로 사진을 찍는 자동차를 운전하는 사람이 구글 정규직 직원이 아니라는 점은 동의한다. (미국 사회에 한국식 정규직 – or 철밥통 – 이라는 개념이 있는지 잘 모르겠다는 점은 일단 배제해놓자.)

그러나, 도로 사진을 찍는 자동차, 그 자동차를 운전하는 운전자, 그 운전자를 고용하는 구글 (or 다른 자율주행 프로그램 제작회사)의 관계 부분에 대해서만큼은 꼭 한 마디하고 싶다. 일반 운전자가 자율주행 프로그램을 무료로 쓴다는 조건으로 현재 달리는 도로의 사진을 모두 자율주행 프로그램사에 제공한다면 어떻게 될까? 이미지 전송 속도를 지금보다 더 빠르게해 줄 5G 세대가 오면 (현재는 4G, LTE 속도) 충분히 가능한 이야기가 아닐까? 아니 지금도 좀 화질을 낮추면 얼마든지 실시간으로 이미지 전송을 할 수 있다. 전세계의 모든 운전자가 자기 차에 달린 카메라 (or 블랙박스)로 현재 달리는 도로, 주차장의 상태를 찍어서 보낸다면, 굳이 도로 사진을 찍어줄 직원을 (비정규직으로라도) 고용할 필요가 있을까?

필자의 회사가 만들고 있는 시스템도, 유저들이 보내준 데이터를 기반으로 돌아간다. 이런 방식의 수익자 제공 데이터 기반 시스템을 조금 유식한 용어로 Integrated Intelligence*라고 부르는데, 인공지능 모델의 최대 한계인 데이터 수집 부분을 설문조사하듯이 고비용을 들여 직접 찾아가는 방식이 아니라, 특정 서비스를 제공해주는 조건으로 그 서비스에 필요한 데이터의 일부가 되는 것을 반대급부로 제공하는 방식이다.

(*Collective Intelligence는 여러 사람의 생각이 모이면 오류가 줄어들 수 있다는, 이른바 “평균의 위대함”을 말하는 것이었다면, Integrated Intelligence는 유사함을 기준으로 유저를 묶어 서치 비용을 감소시키는, “다양성의 존중과 지원”이라고 할 수 있다.)

어마어마한 계산 비용을 써야하는 알파고에 맞서 겨우 설탕 한 스푼치 열량으로 비슷한 효율을 내는 (지능적인 생물인) 인간을 겨우 도로 위 사진 찍는 “저급한” 노동에 쓰기는 좀 아깝지 않나? 그런건 기계에게 맡겨도 될만큼 인공지능자동화 시스템이 많이 성장했다. (물론 잉여 시간과 설탕 투입량을 증가시켰더니 살만 찌는 부작용이 있기는 하지만 ㅋㅋ)

 

나가며

지난달 중순쯤에 4차 산업을 선도하는 어느 IT전문 매체라는 곳에서 필자더러 데이터 사이언스 강의를 해달라고 요청이 왔다. (아래 내용이 비판적이기 때문에 어느 곳인지 밝히지 않는 점, 미리 독자의 양해를 구합니다.)

필자가 3시간짜리 8회 강의를 해도 사실 시간이 빠듯하고, 내용 이해를 다 못하실까봐 강의 동영상도 제공하고, 심지어는 어느정도 수학, 통계학 공부를 하신분만 오라고 “엄포”를 놓고 있는데, 자기네 매체 쪽에서 같은 강의를 열면서 대신 이론 6시간, 응용 6시간 정도로 줄여달라고 하시더라. 데이터 사이언스를 가르치는게 아니라, 교양 수업 수준으로 간단한 안내 정도만해야 아마 12시간 안에 빠듯하게 내용 전달을 할 수 있을 것 같은데, 도대체 지금까지 무슨 강의만 했길래 저런 이야기를 할까 싶어서 그 IT전문 매체 홈페이지 이곳저곳을 뒤져봤다. “챗봇 만들기 6시간 과정”, “앙상블 모델 따라하기 6시간 과정” 같은 수업들이 여럿 있었고, 인터넷 검색해보니 그런 식으로 짧고 간단하고 만만해 보이는 종류의 수업들이 참 많더라. 좀 양식 있으신 분은 필자에게 질문하는 메일을 쓰면서 가격 할인해달라는 이야기가 아니라, 이 많은 내용을 어떻게 그 짧은 시간에 가르칠 수 있냐고 묻는데, 우리나라의 IT전문 매체라는 타이틀을 달고 있는 회사는 앞 뒤 다 짤라먹고 6시간짜리 단축강의만 해라니…

구글이 직원을 고용해서 도로 위 사진 찍는 이야기하는게 메이저 방송사의 다큐 프로에 버젓이 나오는 마당에 뭘 바라야할까?

인공지능이라는게 예전보다 자동화 시스템이 좀 더 잘 갖춰질 수 있도록 패턴 인식하는 성능이 더 나아진 상황에 불과한데, 온갖 설레발을 다 치면서 직장 잃을거라고 겁이나 주는 언론의 “썰”들을 보면 답답하다. 무슨 러다이트 (Luddite) 운동하는 것 같은 프로그램을 만들게 아니라, 인공지능이라는게 뭔지 좀 정확하게 알려주는 내용들이 등장하고, 자동화하기 어려운 직업을 가질려면 자라나는 학생들이 어떻게 준비해야하는지 같은 좀 발전적인 프로그램은 방송 안 하나?

짧게 한 마디로 필자의 소견을 던지면, 위에 언급한 저 책에서 철학자가 이 정도의 수학, 머신러닝 소양을 갖고 있는 것에 놀라는 것이 아니라, 일반인이 그런 지식을 기본 소양으로 갖출 수 있는 시대가 진짜 4차 산업혁명 시대라고 생각한다.