Criteo라는 리타게팅 광고회사 (유저별 행동에 맞춰 쇼핑몰 노출 상품을 골라주는 광고 상품)에서 Senior Data Scientist로 재직하던 시절, 외부 접촉이 있을 때마다 항상 위에서 “절대로 회사 알고리즘을 상세하게 공개하면 안 된다”는 경고를 받았다. 굳이 공개해야할 때는 Top-line info만 공개해라고 여러번 주의를 들었는데, 회사 그만둔지 1년이 지난 요즘도 여전히 그 모델을 제대로 따라가는 경쟁자가 별로 없는 것과, 모델을 보면서 느꼈던 내공의 깊이(?)를 봤을 때 top line 보다 더 공개해줘도 경쟁자들이 따라가기 쉽지 않을 것 같다(고 생각했었다).

회사 재직 중에 Google의 리마케팅 (매우 유사한 서비스)과 가끔 Head-to-head (H2H)로 맞상대한 적이 있었는데, 적어도 내 기억에는 한번도 H2H에서 져 본적이 없다. H2H는 글로벌 전체에 10명도 안 되는 Data Scientist들끼리 항상 예의주시하며 모니터링했던 업무였는데, 밀릴 것 같으면 꼼수(?)라도 써라고 농담을 들었지만, 맹세컨데 한번도 꼼수(?)를 써 본적이 없었다 ㅋㅋ (그만두고 나온 회사 홍보를 이렇게까지 하다니 ㅎㅎ)

덕분인지는 몰라도, 지난 1년간 이쪽 업계에서 Criteo 모델을 얼마나 알고 있냐고 묻는 헤드 헌터들의 연락이 꽤나 왔었다. 아마 “추천 알고리즘”이라는걸 만드는 회사들이 한계점에 봉착한 상태에서 자신들의 문제를 어떻게 뚫어야할지 내부적인 고민이 많았다는 뜻이겠지. 모르긴 몰라도 일반에 알려진 알고리즘을 카피하는 수준이었거나, 데이터 전처리 & 가공을 매우 조잡하게 하는 상태에서 모델링을 했기 때문일 것이다. 좀 더 냉정하게 이야기하면, 모델링이라는 개념없이, 데이터를 주먹구구식으로 쓰는 기초적인 단계를 못 벗어나고 있기 때문일 것이다고 할 수 있다. (이런게 바로 기술력의 차이다)

(Source: TechCrunch) – Instagram product lead, Julian Gutman

얼마전에 인스타그램이 어떤 기준으로 유저들에게 피드(Feed)를 노출하는지에 대해서 오픈 세미나를 진행했었는데, 내용을 들으면서 여기도 Top-line info만 공개해라는 주의를 많이 들었겠구나 싶더라. 그래도 설명을 들으면서 Criteo와는 다른 방식으로 유저 데이터를 쓰고 있겠다는 생각이 드는 부분이 몇 번 있었는데, 이번 포스팅에 필자 스타일로 수학적인 컨셉에 맞춰 정리해보고 싶다.

 

1. 인스타그램 알고리즘의 “Variable”

인스타그램의 서비스는 장기간 반복적으로 들어오는 유저들에게 새롭고, 재밌는 내용을 계속 보여줘서 그 유저가 장시간 인스타그램을 돌아다니도록 만드는데 있다. 그런데, 각각의 유저들이 서로 “Following”을 하면서 연관관계를 맺고 있고, 그 연관관계 덕분에, 단순히 컨텐츠만 맞춰주는 방식에서 벗어나 유저들로 구성된 네트워크를 만들었겠구나는 포인트가 눈에 보이더라. (Network Theory 또 등장한다 ㅋ)

  1. Interest: 유저의 컨텐츠별 흥미도
  2. Timeliness: 얼마나 최근 컨텐츠인가
  3. Relationship: 얼마나 친한 사람의 피드인가? Friends and family인가?
  4. Frequency: 얼마나 자주 인스타그램을 쓰는 유저인가?
  5. Following: 누구누구를 팔로잉하고 있는가?
  6. Usage: 얼마나 자주, 얼마나 오래 인스타그램을 쓰는 유저인인가?

인스타그램의 Product Lead를 맡고 있는 Julian Gutman이 발표에서 공개한 인스타그램의 피드 선정 기준들이다. 여기서 눈에 확 들어오는 포인트는 역시 3번 Relationship과 5번 Following이다. 쇼핑몰 광고주들에게 주력하는 타겟팅 광고 회사에 있을 때는 고려대상이 아니었던 포인트기 때문이다. 물론 “오~ 3번과 5번을 쓰는구나!”고 끝냈으면 Data Scientist 타이틀 달고 다니기 좀 쪽팔렸을 것이다.

한국와서 “추천 알고리즘” 만든다는 “개발자”들이 만들어놓은 결과물을 보고 필자가 한번도 칭찬을 하지 않았던 이유도 여기에 있다. 이 분들이 모델링을 한번도 해 본적이 없던 분이어서 그렇겠지만, 3번과 5번을 어떻게 활용해야하는지에 대한 “내공”을 거의 갖고 있지 않기 때문이다. (1,2,4,6번은 말할 것도 없다.) 보통 비슷한 사례를 한국에서 보면 얼마나 Feed를 자주 봤는지, 얼마나 Like를 많이 눌렀는지 등으로 단순 계산을해서 Relationship을 “추측”한다. 그리고 5번을 0/1의 Boolean 값으로 입력한다음, 3번에서 구한 값과 가중평균 곱셉을 한다. 굉장히 1차원적이다.

그럼 이걸 2차원, 3차원적으로 쓰려면 어떻게 해야하냐고?

 

2. 유저 네트워크의 구성 – complexity

(Source: ResearchGate)

 

위는 국가별 무역량을 간단한 네트워크로 표현한 그래프다. 인스타그램의 Follower들로 엮은 모델보다 훨씬 더 간단한 네트워크인데도 보면 좀 어지럽다. 그래서 이런 네트워크들을 간단한 행렬로 바꿔쓴다.

(Source: EMBL-EBI)

위와 같은 행렬로 표현하면 Complexity, Transivity, Centrality 등의 주요 정보들을 빠르고 효과적으로 계산할 수 있다. 참고로, 딥러닝이라고 불리는 (Deep) Neural network 모델의 계산 방식도, 비트코인 광풍을 불러왔던 블록체인 모델의 계산도, 모두 위와 같은 행렬로 변환되어서 처리된다.

저 위에 인스타그램에서 주요 변수로 삼는다는 Relationship과 Following 같은 정보가 위의 네트워크를 만들 수 있는 information set이 된다. 센스 있는 사람이라면 2번째의 Directed 같은 그래프가 following 용으로 쓰일 것이고, 3번째의 weighted가 relationship을 표현하는데 쓰인다는 것을 바로 이해할 것이다.

이렇게 그래프를 그려놓으면, (3번째 Network 기준) C, D, E와 G를 잇는 Walk은 3이어서 멀어보이지만, A와 F가 굉장히 친하기 때문에 (둘 사이의 두꺼운 Node) C의 피드가 A에게 노출되는 족족 바로 F에게 노출되고, 그 내용을 또 G가 쉽게 볼 수 있다는 것을 이해하게 된다. 같은 관점에서 B와 G는 Walk이 2 밖에 안 되지만, 정작 B의 피드가 G에게 노출될 확률이 훨씬 낮다는 것을 이해할 수 있다.

 

3. 유저 네트워크의 구성 – centrality

그럼 이 그래프에서 가장 중요한 사람은 누구일까?

3번째 네트워크에서 A가 사망 or 실종하게 되면 G – F (- B)를 잇는 짧은 네트워크 하나만 남는다. 말을 바꾸면 A가 이 네트워크의 핵심적인 존재다. 이걸 Centrality라고 하는데, walk이 1개인 값들만 모아서 계산하는 방식도 있고, walk을 무한대까지 다 고려한 계산 방식도 있다. (뒤의 경우를 직접 계산하려면 행렬을 무한대만큼 곱하면 된다. 단 convergence를 보장하기 위해서 0~1 사이의 가중치를 활용한다.)

무한대까지 고려하는 방식을 Eigenvalue centrality라고 하는데, 이게 (무식하게) 행렬을 무한번 곱해서 얻은 값을 쓰는게 아니라, 그 행렬의 벡터들이 만들어내는 벡터 공간 (Vector Space)이 행렬이 표현해낼 수 있는 모든 가능성이라는 관점에서 출발한다. (무한번 곱하면서 나온 모든 행렬을 합하면 전체 벡터 공간과 일치한다. “이거 다~ 선형대수학 교과서에 있는 내용인거 아시죠?”ㅋㅋㅋ)

Principal Component Analysis (PCA) 에서와 마찬가지로, 벡터 공간을 유지하면서 새롭게 만들어낸 Eigen-vector와 그에 대응하는 Eigen-value 값들이 새로운 축과 좌표값을 상징하고, 굉장히 복잡해 보이는 네트워크도 간략하게 추려서 볼 수 있다. Unsupervised learning이나 데이터 전처리에서 공부했던 그 PCA가 네트워크형 데이터 처리에서도 이렇게 쓰이는 것이다.

(P.S. 1: 이거 구글 검색시 페이지들이 노출되는 방식이기도 하다. 페이지 주소들을 network으로 묶은 다음, eigen centrality를 기준으로 한 index로 노출 순서를 정하는 것이다.)

(P.S. 2: 네트워크가 무한히 팽창한다고 해도 sum(walk)의 평균값은 크게 움직이지 않고, 그 때 walk의 값에 대한 Chernoff bounds라는 개념이 있다. Extended star network 또는 Scale free network를 만들어내려고 하는 블록체인 업그레이드 모델에서 네트워크의 복잡성을 컨트롤하는데 쓰이는 개념이기도 하다.)

 

3.1. Centrality for Group

이런 모델링 작업은 서로간 직간접적인 연결 고리만 따지는데, 사실 여러명이 동시에 어떤 행동을 취하는 경우들 (Synergy effect라고 부른다)을 무시할 수도 없다.

(Source: Wikipedia)

위의 V6, V7, V8이 결합해서 V1과 V2를 잇고 있는 걸 보자. 이중 V8은 아래 v11과 연결되어서 아래와 위를 연결해주는 연결 고리 역할을 하고 있으니 약간 다른 관점에서 볼 수 있지만, V6와 V7은 V8과 함께 팀을 이뤄서만 V1, V2와 연결 관계를 갖는다. 중복이 필요없다면 배제시켜야할 것인데, 반대로 항상 그룹으로만 움직여야한다면 어떻게 처리해야할까? 위의 PCA 작업을 하면 분명히 V6, V7의 Eigenvector는 V8에 포함되어 버리겠지만, 반드시 그룹으로 묶어야한다면 이야기가 달라진다.

쉬운 예제를 들면, 혼자서는 만날 수 없는 사람이지만 우리 팀 사람들 전체 모임과는 굉장히 친하게 지내는 높은 분과의 관계를 생각해보자. 그 분이 우리 팀과 친하게 지내는 이유가 팀의 결과물이 자신의 목표와 관계가 있어서일 뿐, 우리 팀원 각각과는 개인적인 관계를 갖고 싶지 않다면?

이런 네트워크에서 Centrality를 계산할 때는 게임이론에 기반한 Shapley Value를 활용한다. (물론 Shapley value 계산이 쉽지 않기 때문에 특정 network에 적합한 형태로 계산 법을 바꾸는 일이 많다.)

 

나가며 – Network theory를 배워야하는 이유

일전에 모교의 Computer Science 학부 고학년 수업 목록에서 Graph Theory라는 수업을 봤다. Graph가 다양하니 가르치는 주제는 교수들마다 조금씩 다르겠지만, 필자가 수학과에서 들었던 수업은 대부분 Tree model과 Network Theory 위주로 돌아갔었던걸 감안하면, 공대의 같은 수업도 크게 다르지 않을 것이다. 그러나 필자가 한국와서 만난 CS혹은 Math출신의 개발자 중에서 Graph Theory를 제대로 이해하고 있는 분은 (외람되지만) 단 한 분도 없었다.

설령 수업을 들었더라도 단순히 Complexity와 Centrality만 “들어봤다” 수준으로 직장생활을 시작했을 것이다. 요즘 좀 실제 데이터를 쓰면서 가르친다는 수업들 이야기를 들어봐도 기초적인 Network 그리기 연습만하고 끝나거나, Walk, Path, Diameter 같은 기본 개념을 살짝 응용하는정도에서 그치더라. 정작 이걸 Social Network Service에서 어떻게 활용할 수 있을지는 정말 무궁무진한데, 2차원, 3차원으로 쓸 수 있는 경험을 쌓게 해줘야할 수업이 제대로 돌아가질 않았거나, 아니면 아예 학생들이 제대로 배울 생각을 못했던 거겠지.

런던가서 고교 졸업반에 해당하는 학생들에게 경제학을 가르쳐주던 중, 높은 점수를 받았다는 답안지를 보고 충격을 먹었던 적이 있다. 수업에 나오는 개념들을 문제에 적용하면서 생기는 다양한 수학적 도전들을 모두 경제학으로, 실생활의 예제로 풀어서 써 놨더라. “내가 이런 교육을 어릴 때부터 받았었더라면 이렇게 고생하면서 석사공부하고 있지는 않았을텐데”라는 속쓰림을 오랫동안 지울 수 없었다.

추천 알고리즘을 만들겠다는 사용자는 “개발자”라는 사람에게 이걸 만들라고 시키고, 그 분들은 모델링이라는 관점은 거의 배제한채 기계적으로 코드만 갖다붙힌다. 추천 알고리즘을 가르친다는 교육기관에서도 코드 Copy & Paste하고 어떻게 수정하는지를 배우지, 정작 모델이 어떻게 구성되는지는 다루질 않는다. 한국 교육의 특징, 직장의 특징이다. 블록체인 기반의 SNS를 만들어서 컨텐츠를 퍼뜨리는 활동 모두에게 코인을 나눠준다는데, 정작 누구에게 얼마나 배분해주는 시스템을 짜야 시스템이 내부 붕괴하지 않고 돌아가는지 고민했냐고 물어보면 그건 “개발자”가 할 일이란다. 나 원 참~

위에 말했듯이 구글 검색의 노출 기준 중 하나는 Eigen-centrality다. 어떻게 쓰는지 궁금해서 Network Theory와 Network를 행렬로 만든 데이터를 Eigen Decomposition하는 작업과, 그 Eigen vector들로 여러 페이지 검색 데이터를 재구성하는 모델을 만들고 싶은가, 아니면 구글이 만들었다는 코드만 어떻게 좀 구해서 우리 회사 모델에 붙이고 싶은가?

참고로 앞의 작업을 R&D라고 하고, 뒤의 작업을 “도둑질”이라고 한다.

 

 

블록체인 시리즈

Criteo라는 리타게팅 광고회사 (유저별 행동에 맞춰 쇼핑몰 노출 상품을 골라주는 광고 상품)에서 Senior Data Scientist로 재직하던 시절, 외부 접촉이 있을 때마다 항상 위에서 “절대로 회사 알고리즘을 상세하게 공개하면 안 된다”는 경고를 받았다. 굳이 공개해야할 때는 Top-line info만 공개해라고 여러번 주의를 들었는데, 회사 그만둔지 1년이 지난 요즘도 여전히 그 모델을 제대로 따라가는 경쟁자가 별로 없는 것과, 모델을 보면서 느꼈던 내공의 깊이(?)를 봤을 때 top line 보다 더 공개해줘도 경쟁자들이 따라가기 쉽지 않을 것 같다(고 생각했었다).

회사 재직 중에 Google의 리마케팅 (매우 유사한 서비스)과 가끔 Head-to-head (H2H)로 맞상대한 적이 있었는데, 적어도 내 기억에는 한번도 H2H에서 져 본적이 없다. H2H는 글로벌 전체에 10명도 안 되는 Data Scientist들끼리 항상 예의주시하며 모니터링했던 업무였는데, 밀릴 것 같으면 꼼수(?)라도 써라고 농담을 들었지만, 맹세컨데 한번도 꼼수(?)를 써 본적이 없었다 ㅋㅋ (그만두고 나온 회사 홍보를 이렇게까지 하다니 ㅎㅎ)

덕분인지는 몰라도, 지난 1년간 이쪽 업계에서 Criteo 모델을 얼마나 알고 있냐고 묻는 헤드 헌터들의 연락이 꽤나 왔었다. 아마 “추천 알고리즘”이라는걸 만드는 회사들이 한계점에 봉착한 상태에서 자신들의 문제를 어떻게 뚫어야할지 내부적인 고민이 많았다는 뜻이겠지. 모르긴 몰라도 일반에 알려진 알고리즘을 카피하는 수준이었거나, 데이터 전처리 & 가공을 매우 조잡하게 하는 상태에서 모델링을 했기 때문일 것이다. 좀 더 냉정하게 이야기하면, 모델링이라는 개념없이, 데이터를 주먹구구식으로 쓰는 기초적인 단계를 못 벗어나고 있기 때문일 것이다고 할 수 있다. (이런게 바로 기술력의 차이다)

(Source: TechCrunch) – Instagram product lead, Julian Gutman

얼마전에 인스타그램이 어떤 기준으로 유저들에게 피드(Feed)를 노출하는지에 대해서 오픈 세미나를 진행했었는데, 내용을 들으면서 여기도 Top-line info만 공개해라는 주의를 많이 들었겠구나 싶더라. 그래도 설명을 들으면서 Criteo와는 다른 방식으로 유저 데이터를 쓰고 있겠다는 생각이 드는 부분이 몇 번 있었는데, 이번 포스팅에 필자 스타일로 수학적인 컨셉에 맞춰 정리해보고 싶다.

 

1. 인스타그램 알고리즘의 “Variable”

인스타그램의 서비스는 장기간 반복적으로 들어오는 유저들에게 새롭고, 재밌는 내용을 계속 보여줘서 그 유저가 장시간 인스타그램을 돌아다니도록 만드는데 있다. 그런데, 각각의 유저들이 서로 “Following”을 하면서 연관관계를 맺고 있고, 그 연관관계 덕분에, 단순히 컨텐츠만 맞춰주는 방식에서 벗어나 유저들로 구성된 네트워크를 만들었겠구나는 포인트가 눈에 보이더라. (Network Theory 또 등장한다 ㅋ)

  1. Interest: 유저의 컨텐츠별 흥미도
  2. Timeliness: 얼마나 최근 컨텐츠인가
  3. Relationship: 얼마나 친한 사람의 피드인가? Friends and family인가?
  4. Frequency: 얼마나 자주 인스타그램을 쓰는 유저인가?
  5. Following: 누구누구를 팔로잉하고 있는가?
  6. Usage: 얼마나 자주, 얼마나 오래 인스타그램을 쓰는 유저인인가?

인스타그램의 Product Lead를 맡고 있는 Julian Gutman이 발표에서 공개한 인스타그램의 피드 선정 기준들이다. 여기서 눈에 확 들어오는 포인트는 역시 3번 Relationship과 5번 Following이다. 쇼핑몰 광고주들에게 주력하는 타겟팅 광고 회사에 있을 때는 고려대상이 아니었던 포인트기 때문이다. 물론 “오~ 3번과 5번을 쓰는구나!”고 끝냈으면 Data Scientist 타이틀 달고 다니기 좀 쪽팔렸을 것이다.

한국와서 “추천 알고리즘” 만든다는 “개발자”들이 만들어놓은 결과물을 보고 필자가 한번도 칭찬을 하지 않았던 이유도 여기에 있다. 이 분들이 모델링을 한번도 해 본적이 없던 분이어서 그렇겠지만, 3번과 5번을 어떻게 활용해야하는지에 대한 “내공”을 거의 갖고 있지 않기 때문이다. (1,2,4,6번은 말할 것도 없다.) 보통 비슷한 사례를 한국에서 보면 얼마나 Feed를 자주 봤는지, 얼마나 Like를 많이 눌렀는지 등으로 단순 계산을해서 Relationship을 “추측”한다. 그리고 5번을 0/1의 Boolean 값으로 입력한다음, 3번에서 구한 값과 가중평균 곱셉을 한다. 굉장히 1차원적이다.

그럼 이걸 2차원, 3차원적으로 쓰려면 어떻게 해야하냐고?

 

2. 유저 네트워크의 구성 – complexity

(Source: ResearchGate)

 

위는 국가별 무역량을 간단한 네트워크로 표현한 그래프다. 인스타그램의 Follower들로 엮은 모델보다 훨씬 더 간단한 네트워크인데도 보면 좀 어지럽다. 그래서 이런 네트워크들을 간단한 행렬로 바꿔쓴다.

(Source: EMBL-EBI)

위와 같은 행렬로 표현하면 Complexity, Transivity, Centrality 등의 주요 정보들을 빠르고 효과적으로 계산할 수 있다. 참고로, 딥러닝이라고 불리는 (Deep) Neural network 모델의 계산 방식도, 비트코인 광풍을 불러왔던 블록체인 모델의 계산도, 모두 위와 같은 행렬로 변환되어서 처리된다.

저 위에 인스타그램에서 주요 변수로 삼는다는 Relationship과 Following 같은 정보가 위의 네트워크를 만들 수 있는 information set이 된다. 센스 있는 사람이라면 2번째의 Directed 같은 그래프가 following 용으로 쓰일 것이고, 3번째의 weighted가 relationship을 표현하는데 쓰인다는 것을 바로 이해할 것이다.

이렇게 그래프를 그려놓으면, (3번째 Network 기준) C, D, E와 G를 잇는 Walk은 3이어서 멀어보이지만, A와 F가 굉장히 친하기 때문에 (둘 사이의 두꺼운 Node) C의 피드가 A에게 노출되는 족족 바로 F에게 노출되고, 그 내용을 또 G가 쉽게 볼 수 있다는 것을 이해하게 된다. 같은 관점에서 B와 G는 Walk이 2 밖에 안 되지만, 정작 B의 피드가 G에게 노출될 확률이 훨씬 낮다는 것을 이해할 수 있다.

 

3. 유저 네트워크의 구성 – centrality

그럼 이 그래프에서 가장 중요한 사람은 누구일까?

3번째 네트워크에서 A가 사망 or 실종하게 되면 G – F (- B)를 잇는 짧은 네트워크 하나만 남는다. 말을 바꾸면 A가 이 네트워크의 핵심적인 존재다. 이걸 Centrality라고 하는데, walk이 1개인 값들만 모아서 계산하는 방식도 있고, walk을 무한대까지 다 고려한 계산 방식도 있다. (뒤의 경우를 직접 계산하려면 행렬을 무한대만큼 곱하면 된다. 단 convergence를 보장하기 위해서 0~1 사이의 가중치를 활용한다.)

무한대까지 고려하는 방식을 Eigenvalue centrality라고 하는데, 이게 (무식하게) 행렬을 무한번 곱해서 얻은 값을 쓰는게 아니라, 그 행렬의 벡터들이 만들어내는 벡터 공간 (Vector Space)이 행렬이 표현해낼 수 있는 모든 가능성이라는 관점에서 출발한다. (무한번 곱하면서 나온 모든 행렬을 합하면 전체 벡터 공간과 일치한다. “이거 다~ 선형대수학 교과서에 있는 내용인거 아시죠?”ㅋㅋㅋ)

Principal Component Analysis (PCA) 에서와 마찬가지로, 벡터 공간을 유지하면서 새롭게 만들어낸 Eigen-vector와 그에 대응하는 Eigen-value 값들이 새로운 축과 좌표값을 상징하고, 굉장히 복잡해 보이는 네트워크도 간략하게 추려서 볼 수 있다. Unsupervised learning이나 데이터 전처리에서 공부했던 그 PCA가 네트워크형 데이터 처리에서도 이렇게 쓰이는 것이다.

(P.S. 1: 이거 구글 검색시 페이지들이 노출되는 방식이기도 하다. 페이지 주소들을 network으로 묶은 다음, eigen centrality를 기준으로 한 index로 노출 순서를 정하는 것이다.)

(P.S. 2: 네트워크가 무한히 팽창한다고 해도 sum(walk)의 평균값은 크게 움직이지 않고, 그 때 walk의 값에 대한 Chernoff bounds라는 개념이 있다. Extended star network 또는 Scale free network를 만들어내려고 하는 블록체인 업그레이드 모델에서 네트워크의 복잡성을 컨트롤하는데 쓰이는 개념이기도 하다.)

 

3.1. Centrality for Group

이런 모델링 작업은 서로간 직간접적인 연결 고리만 따지는데, 사실 여러명이 동시에 어떤 행동을 취하는 경우들 (Synergy effect라고 부른다)을 무시할 수도 없다.

(Source: Wikipedia)

위의 V6, V7, V8이 결합해서 V1과 V2를 잇고 있는 걸 보자. 이중 V8은 아래 v11과 연결되어서 아래와 위를 연결해주는 연결 고리 역할을 하고 있으니 약간 다른 관점에서 볼 수 있지만, V6와 V7은 V8과 함께 팀을 이뤄서만 V1, V2와 연결 관계를 갖는다. 중복이 필요없다면 배제시켜야할 것인데, 반대로 항상 그룹으로만 움직여야한다면 어떻게 처리해야할까? 위의 PCA 작업을 하면 분명히 V6, V7의 Eigenvector는 V8에 포함되어 버리겠지만, 반드시 그룹으로 묶어야한다면 이야기가 달라진다.

쉬운 예제를 들면, 혼자서는 만날 수 없는 사람이지만 우리 팀 사람들 전체 모임과는 굉장히 친하게 지내는 높은 분과의 관계를 생각해보자. 그 분이 우리 팀과 친하게 지내는 이유가 팀의 결과물이 자신의 목표와 관계가 있어서일 뿐, 우리 팀원 각각과는 개인적인 관계를 갖고 싶지 않다면?

이런 네트워크에서 Centrality를 계산할 때는 게임이론에 기반한 Shapley Value를 활용한다. (물론 Shapley value 계산이 쉽지 않기 때문에 특정 network에 적합한 형태로 계산 법을 바꾸는 일이 많다.)

 

나가며 – Network theory를 배워야하는 이유

일전에 모교의 Computer Science 학부 고학년 수업 목록에서 Graph Theory라는 수업을 봤다. Graph가 다양하니 가르치는 주제는 교수들마다 조금씩 다르겠지만, 필자가 수학과에서 들었던 수업은 대부분 Tree model과 Network Theory 위주로 돌아갔었던걸 감안하면, 공대의 같은 수업도 크게 다르지 않을 것이다. 그러나 필자가 한국와서 만난 CS혹은 Math출신의 개발자 중에서 Graph Theory를 제대로 이해하고 있는 분은 (외람되지만) 단 한 분도 없었다.

설령 수업을 들었더라도 단순히 Complexity와 Centrality만 “들어봤다” 수준으로 직장생활을 시작했을 것이다. 요즘 좀 실제 데이터를 쓰면서 가르친다는 수업들 이야기를 들어봐도 기초적인 Network 그리기 연습만하고 끝나거나, Walk, Path, Diameter 같은 기본 개념을 살짝 응용하는정도에서 그치더라. 정작 이걸 Social Network Service에서 어떻게 활용할 수 있을지는 정말 무궁무진한데, 2차원, 3차원으로 쓸 수 있는 경험을 쌓게 해줘야할 수업이 제대로 돌아가질 않았거나, 아니면 아예 학생들이 제대로 배울 생각을 못했던 거겠지.

런던가서 고교 졸업반에 해당하는 학생들에게 경제학을 가르쳐주던 중, 높은 점수를 받았다는 답안지를 보고 충격을 먹었던 적이 있다. 수업에 나오는 개념들을 문제에 적용하면서 생기는 다양한 수학적 도전들을 모두 경제학으로, 실생활의 예제로 풀어서 써 놨더라. “내가 이런 교육을 어릴 때부터 받았었더라면 이렇게 고생하면서 석사공부하고 있지는 않았을텐데”라는 속쓰림을 오랫동안 지울 수 없었다.

추천 알고리즘을 만들겠다는 사용자는 “개발자”라는 사람에게 이걸 만들라고 시키고, 그 분들은 모델링이라는 관점은 거의 배제한채 기계적으로 코드만 갖다붙힌다. 추천 알고리즘을 가르친다는 교육기관에서도 코드 Copy & Paste하고 어떻게 수정하는지를 배우지, 정작 모델이 어떻게 구성되는지는 다루질 않는다. 한국 교육의 특징, 직장의 특징이다. 블록체인 기반의 SNS를 만들어서 컨텐츠를 퍼뜨리는 활동 모두에게 코인을 나눠준다는데, 정작 누구에게 얼마나 배분해주는 시스템을 짜야 시스템이 내부 붕괴하지 않고 돌아가는지 고민했냐고 물어보면 그건 “개발자”가 할 일이란다. 나 원 참~

위에 말했듯이 구글 검색의 노출 기준 중 하나는 Eigen-centrality다. 어떻게 쓰는지 궁금해서 Network Theory와 Network를 행렬로 만든 데이터를 Eigen Decomposition하는 작업과, 그 Eigen vector들로 여러 페이지 검색 데이터를 재구성하는 모델을 만들고 싶은가, 아니면 구글이 만들었다는 코드만 어떻게 좀 구해서 우리 회사 모델에 붙이고 싶은가?

참고로 앞의 작업을 R&D라고 하고, 뒤의 작업을 “도둑질”이라고 한다.

 

“인공지능 회의론자”, “암호화폐 비관론자”

주변의 스타트업 관계자들에게서 듣는 평가다. 좀 심하게 말씀하시는 분들은 스타트업 업계에 투자금이 계속 유입되는 핵심 키워드 두 개가 인공지능과 암호화폐인데, 그 둘을 모두 “디스”하는 사람이 스타트업 한다는게 모순된 거 아니냐고 하셨다. 어쩌랴. 사기를 놓고 사기라 하지 않으면 혀에 가시가 돋을 것 같은데. 필자의 눈에 인공지능은 그동안 인류가 쌓아온 수학과 통계학에 빅데이터를 접목시킨 것에 지나지 않는다. 암호화폐는 탈중앙화된 서버 (Read 저렴한 서버)를 만드는 블록체인 시스템을 운영하는 암호체계에 불과하다.

 

ICO 없는 블록체인 기술 발전은 가능할까??? – 사기없는 기술 발전은 가능할까?

어느 변호사 분이 ICO 라는 인센티브 없이 블록체인 기술 발전은 불가능하다는 논조의 칼럼을 쓰셨더라. 블록체인, 비트코인 같은 단어만 나오면 겁을 먹고 이해가 어렵다고 생각하시는 분들을 위해서 그 변호사 분의 주장을 좀 더 쉬운 말로 바꿔쓰면 아래와 같다.

“인간의 성적 욕구를 자극하는 포르노라는 인센티브 없이 인터넷 확산은 불가능하다”

html 규격이 표준화되던 90년대 중후반에 곧 인터넷 세상이 올 것이다, 모든 지식을 다 담을 수 있다 등등의 표현으로 인터넷의 확산을 어느정도 확신했던 것은 사실이지만, 음란물을 보고 싶은 인간의 욕구 때문에 기대했던 것보다 훨씬 더 빠른 속도로 인터넷이 생활 곳곳에 침투했다는 사실을 부인하기는 어렵다.

그럼 음란물이 인터넷 확산을 빠르게 했으니 음란물 유포를 허용해야하나? 미국에서 박사 재학시절, 옆 학교의 어느 학생은 아동 포르노를 학교 인터넷으로 다운 받은 사실이 발각되어 학교에서 퇴학을 당했었다. 우리나라는 꼴에 유교국가라고 규제는 더 심하다. 심지어 성인이 음란물 웹페이지에 접속하는 것도 차단하고, 음란물 공유자(ex. 김본좌)도 처벌받는다.

ICO가 눈에 확 띄는 인센티브가 되는 이유는 이게 일종의 “사기”이기 때문이다. “탈중앙화”, “평등”같은 기치를 내건 블록체인 시스템의 운영도구인 코인을 정작 실생활용 화폐로 활용하기 위해서는 그 가치를 누군가 담보해주는 “중앙화” 시스템이 있어야하는데, 아무도 그 가치를 담보해주지 않는다. 참고로 우리가 일상에서 쓰는 화폐는 고대부터 1960년대 중반까지는 금, 은 같은 귀금속으로 가치를 담보했고 (브레튼 우즈 체제 검색ㄱㄱ), 통화량 증대로 금본위를 포기하면서도 정부 보증이라는 시스템은 포기하지 않았다. 화폐를 마구 찍어내 하이퍼 인플레가 일어나는 나라들에서 보듯이, 가치가 담보되지 않는 화폐는 종이조각에 불과하기 때문이다.

“사기”가 있어야 발전하는 기술이라고 말하고나니 마음이 무겁다. 왜 몇명의 사기꾼 때문에 서버 구조를 뜯어고치겠다는 순수한 서버 개발자의 아이디어가 “사기”로 취급받아야 하나.

법의 수호자여야할 변호사라는 분이 (본의가 아니기는 했겠지만) “사기”를 조장하는 칼럼을 쓰시다니…

 

‘한국 축구’같은 블록체인 정책??? – ‘한국 개발자’들의 블록체인 이해 = 대박 코인

블록체인 규제하는 한국 정부의 정책이 “교각살우”라고 주장하는 칼럼도 봤다. 지금 한국 정부는 겉만 보고, 코인 버블만 보고 블록체인 산업을 규제하고 있단다. 이게 도덕성이 충만한 정부 관계자들이 지나치게 도덕성에만 집착해서 국가 경쟁력이 뒤쳐지는 걸 못 보고 있어서란다. 덕분에 우리나라는 암호화폐 강국에서 ICO 구걸신세로 전락했다는데, 솔직히 아연실색했다.

우리나라에서 지금까지 만나본 블록체인 관련 기업 관계자 분들 중에 “코인”말고 “네트워크”에 대한 이해를 가진 분은 아직까지 단 한 명도 못 봤다. ICO하겠다는 스타트업, 그 회사의 블록체인 개발자라는 사람부터, 대형 IT 기업에서 스카웃해간 블록체인 팀 고위직, 블록체인에 투자하겠다는 VC들, 심지어 코인 거래하는 거래소 관계자까지 수백명의 사람들을 만나봤지만, 정말 단 한 명도 볼 수 없었다. 그래놓고 “암호화폐 강국”이라고?

이전 글에서 언급했듯이, 블록체인 기반 코인이 실제 비지니스, 특히 대형화되는 비지니스에서 쓰이기 위해서는 거래를 처리하는 속도 (새로운 블록을 만들어내는 속도)를 개선해야하고, 그래서 모든 블록을 다 묶는 방식을 벗어나 블록 네트워크를 Clustering해 줄 수 있는 extended star network를 만들어내야한다. 수학 모르는 개발자들을 위해서 개발 용어를 쓰면, DB에 찍히는 데이터에 Label을 달 때, 처음에는 Int 타입으로 지정해도 되겠지만, 2진법 구조로 저장되는 데이터의 특성상 2^16개 이상의 Label을 써야하면 타입을 Long이나 Double로 바꿔줘야한다. MS Excel이 2003년 버젼까지만해도 65535라인 밖에 지원하지 않다가, 2007년 업그레이드부터 100만개 이상의 라인을 지원하는 것도 같은 이유다. 블록체인에서는 1개의 초대형 Network가 그걸 다 감당할 수 없기 때문에 여러개의 Network를 운영하면서도 동시에 1개의 네트워크와 같은 정보 보존을 지켜야한다는 점이 난제다.

저 위에 언급한 블록체인 관계자라는 사람들 중에 블록을 구성하는 알고리즘을 바꾸는 “혁신”을 만들어 낼 수 있는 사람은 장담컨대 단 한 명도 없을 것이다. 당장 네트워크 구조도 모르는 사람이 어떻게 “혁신”을 만들어 낼 수 있겠나? 마치 구구단도 못 외우는 아이에게 이차방정식도 아니고, 미적분을 해라고 요구하는 것과 다를바 없다. “암호화폐 강국”이라고 타이틀을 붙이려면, Github에서 암호화폐 코드 카피해오는 3류 개발자말고, 네트워크 이론을 이해하고 블록체인의 난제들을 극복하고 있는 연구자가 많은 나라여야 하는 거 아닌가??? 보안 엉망진창인 거래소만 많고, 코인 거래하는 불나방만 많으면 암호화폐 강국인가???

코인이 없으면 블록체인을 할 인센티브가 없다, 코인 발행을 막으니 해외에까지가서 ICO를 해야할만큼 “구걸신세”로 전락했다고 불평하기 전에, 블록체인이 뭔지부터 이해라도 좀 하고 칼럼 글을 쓰셨으면 좋겠다. 이 상태로 계속 시간이 흐르면, 탈중앙화라는 “대의”는 온데간데 없이 코인이라는 “사기”만 사람들 머리 속에 남을 것이다.

 

BIS “암호화폐, 신뢰-효율성 한계 봉착할 것” – 외국 규제기관의 관점

국제은행연합회(BIS)가 지난주에 연례 Economic report를 내면서 전자 화폐 or 가상 화폐 or 암호 화폐에 대한 경고 메세지를 내놨다. 분산 네트워크의 구조상 Transaction을 처리하는 속도가 점점 느려질 수 밖에 없고, 결국 규모가 커질수록 사업성을 잃게되는 블록체인에 기반했다는 점, 그리고 최후대부자 (Lender of last resort)가 없는 화폐라는 점에서 문제가 된다고 정리했다. “Ponzi scheme”, “Bubble” 이라는 표현이 나왔던데, 이건 경제학에서 네덜란드 튤립 버블같은 “사기”를 학문적으로 표현하는 방식이다.

BIS 보고서 내용이 더 궁금하신 분은 여기, 여기를 참조하시라.

얼마전 뉴욕에서 열린 블록체인 행사에 1만명에 가까운 세계 각국의 전문가들이 몰렸다. 물론 대다수는 한국의 그 분들처럼 세상모르고 코인 이야기만 하는 사람들이었지만, 제대로 지각 있는 일부는 코인에는 별 관심이 없고, 블록체인의 “potential scaling issues”에 대해서 진지한 토론을 나눈 이야기를 들었다. 블록체인의 성패는 코인에 대한 사람들의 열광, 코인 가격의 안정성, 코인 거래소의 보안 강화, 코인 거래에 대한 정부 규제의 철폐, 혹은 ICO 플랫폼의 구축 같은 피상적인 이슈에 달려있는 것이 아니라, 블록체인 기술 자체의 한계를 어떻게 극복하느냐에 달려있다는 것을 정확하게 보고 있기 때문일 것이다.

BIS에서 Head of Research를 맡고 계신 신현송 교수님께서 화폐가 가치를 가지는 이유에 대해서 이렇게 언급하셨다.

“…money has value strictly because it’s used, whereas, people are only holding crypto for speculative purposes rather than actually using it…. Without users, it would simply be a worthless token. That’s true whether it’s a piece of paper with a face on it or a digital token.”

(참고로 신현송 교수님은 금융기관 발 금융위기를 연구하던 필자에게 아이돌 스타같은 존재다. 금융위기쪽 연구에 세계적인 석학이시기 때문이다.)

 

나가며 – 코인충 vs. 규제

지금까지 없던 사업을 해보겠다는 기업가 입장에서 정부 규제는 언제나 불안 요소다. 대부분은 회사를 망하게 할 수도 있을만큼 치명적이기도 하다. 빠르게 성장하던 카풀업체 Poolus가 구조조정에 들어갔다는 기사를 보면서, 택시 업계의 강력한 반발과 정부의 애매모호한 태도 (Read 암묵적인 택시 업계 지지)를 보면서, 한국에서 더 이상 우버 형식의 승차공유 스타트업이 나오기는 어렵겠다는 생각을 했다. 그게 공유경제의 혁신인지, 택시업계에 대한 위협이었는지에 대해서 언급하고 싶지는 않다. 다만 규제가 새로운 사업을 막는데 활용되는 것만은 분명하다.

이익 다툼의 분쟁은 결국 어느 한 쪽의 가치를 인정해주고 다른 쪽에게 배상의 의무를 지울 수 밖에 없다. 다만 어느 쪽의 가치에 손을 들어주느냐를 결정하는 것은 쉬운 일이 아니다. 노벨경제학상 수상자인 로널드 코즈의 법경제학 교과서 한 줄 요약이다.

지난 몇 달간 국내의 블록체인 관계자들을 만나면서, 이 분들이 탈중앙화된 네트워크를 발전시키고 활용하려는 의지를 가진 사람들이 아니라, ICO를 해서 “한 탕 벌이”를 해보겠다는 “코인충”인 것 같아서 만남이 내내 불편했다. CTO 뽑겠다고 만나보는 짬있는 개발자들 상당수가 블록체인 해볼생각이 없냐고 물어서 우리회사 사업 모델에 어떻게 적용되는지를 설명하면, 무슨 말인지 못 알아듣고, 코인찍는데 뭐하러 사업 이야기하냐고 되묻는 경우도 많다. 코인은 사업에서 나오는 이윤의 일부로 가치가 보증되어야 한다는 사실을 이해 못한채 코인이라는 매개체만 보고 있다는 뜻이다. 그것도 CTO급 개발자들이. 이런 상황에서는 로널드 코즈가 직접와도 규제 쪽에 손을 들어주고 “코인충 Out”을 외칠 것이라고 생각한다.

여태까지는 게임내 화폐를 구매하는 수단으로 코인을 쓰던 게임들이 (ex. 유나의 옷장, 이오스 등), 개념이 좀 잡혔는지 게임 플레이를 하면서 코인을 벌 수 있는 방식으로 게임을 만들겠다고 선언하더라. 심지어 게임 내 화폐를 아예 코인으로 대체하겠다는 기사도 봤는데, 이런 변화는 코인이 결국에는 게임 포인트의 대체재라는 걸 게임사들도 인지하고 있다는 뜻일 것이다. 전문가 양성하겠다는 정부 지원안을 봐도 통관, 부동산 거래, 온라인 투표, 물류, 전자문서 유통 등 진짜 사업에 적용하는 이야기를 하기 시작하더라. 코인은 블록체인 기술을 활용하는데서 나오는 부산물이라는 걸 인식한다는 뜻이겠지. 미스코리아 심사에 블록체인 도입한다길래 뭘할려나 봤더만 투표 용지 대신 전자 투표하는데 보안용으로 블록체인을 활용한단다. 블록이 뭔가 대단한게 아니라 정보 저장하는 가상 박스라는 개념을 이해하신듯.

글 첫머리의 질문으로 돌아가보자. 블록체인 기술을 개발시킬 인센티브가 ICO말고 더 있냐고? 분산형 네트워크로 서버 비용을 획기적으로 절감시키는 연구에 몰두하고 있는 학계 연구자들, 서버 기술 개발자들에 대한 모욕 아닌가? 그 분들의 연구가 있어야 수십조가 들어가는 데이터 센터 건설비도 줄이고, 시스템 자원도 효율적으로 이용할 수 있는 시대가 온다. 블록체인의 진정한 가치는 그런 네트워크의 혁신에 있다. 애시당초 사람들이 똑똑했으면, 블록체인이 뭔지 알았으면, 코인이 사기라는 걸 알았으면, 불나방처럼 실체없는 코인에 투자도 안 했을 것이고, 정부가 “쓸데없이”, “귀찮게” 규제를 만들지도 않았을 것이다.

 

블록체인 시리즈

“인공지능 회의론자”, “암호화폐 비관론자”

주변의 스타트업 관계자들에게서 듣는 평가다. 좀 심하게 말씀하시는 분들은 스타트업 업계에 투자금이 계속 유입되는 핵심 키워드 두 개가 인공지능과 암호화폐인데, 그 둘을 모두 “디스”하는 사람이 스타트업 한다는게 모순된 거 아니냐고 하셨다. 어쩌랴. 사기를 놓고 사기라 하지 않으면 혀에 가시가 돋을 것 같은데. 필자의 눈에 인공지능은 그동안 인류가 쌓아온 수학과 통계학에 빅데이터를 접목시킨 것에 지나지 않는다. 암호화폐는 탈중앙화된 서버 (Read 저렴한 서버)를 만드는 블록체인 시스템을 운영하는 암호체계에 불과하다.

 

ICO 없는 블록체인 기술 발전은 가능할까??? – 사기없는 기술 발전은 가능할까?

어느 변호사 분이 ICO 라는 인센티브 없이 블록체인 기술 발전은 불가능하다는 논조의 칼럼을 쓰셨더라. 블록체인, 비트코인 같은 단어만 나오면 겁을 먹고 이해가 어렵다고 생각하시는 분들을 위해서 그 변호사 분의 주장을 좀 더 쉬운 말로 바꿔쓰면 아래와 같다.

“인간의 성적 욕구를 자극하는 포르노라는 인센티브 없이 인터넷 확산은 불가능하다”

html 규격이 표준화되던 90년대 중후반에 곧 인터넷 세상이 올 것이다, 모든 지식을 다 담을 수 있다 등등의 표현으로 인터넷의 확산을 어느정도 확신했던 것은 사실이지만, 음란물을 보고 싶은 인간의 욕구 때문에 기대했던 것보다 훨씬 더 빠른 속도로 인터넷이 생활 곳곳에 침투했다는 사실을 부인하기는 어렵다.

그럼 음란물이 인터넷 확산을 빠르게 했으니 음란물 유포를 허용해야하나? 미국에서 박사 재학시절, 옆 학교의 어느 학생은 아동 포르노를 학교 인터넷으로 다운 받은 사실이 발각되어 학교에서 퇴학을 당했었다. 우리나라는 꼴에 유교국가라고 규제는 더 심하다. 심지어 성인이 음란물 웹페이지에 접속하는 것도 차단하고, 음란물 공유자(ex. 김본좌)도 처벌받는다.

ICO가 눈에 확 띄는 인센티브가 되는 이유는 이게 일종의 “사기”이기 때문이다. “탈중앙화”, “평등”같은 기치를 내건 블록체인 시스템의 운영도구인 코인을 정작 실생활용 화폐로 활용하기 위해서는 그 가치를 누군가 담보해주는 “중앙화” 시스템이 있어야하는데, 아무도 그 가치를 담보해주지 않는다. 참고로 우리가 일상에서 쓰는 화폐는 고대부터 1960년대 중반까지는 금, 은 같은 귀금속으로 가치를 담보했고 (브레튼 우즈 체제 검색ㄱㄱ), 통화량 증대로 금본위를 포기하면서도 정부 보증이라는 시스템은 포기하지 않았다. 화폐를 마구 찍어내 하이퍼 인플레가 일어나는 나라들에서 보듯이, 가치가 담보되지 않는 화폐는 종이조각에 불과하기 때문이다.

“사기”가 있어야 발전하는 기술이라고 말하고나니 마음이 무겁다. 왜 몇명의 사기꾼 때문에 서버 구조를 뜯어고치겠다는 순수한 서버 개발자의 아이디어가 “사기”로 취급받아야 하나.

법의 수호자여야할 변호사라는 분이 (본의가 아니기는 했겠지만) “사기”를 조장하는 칼럼을 쓰시다니…

 

‘한국 축구’같은 블록체인 정책??? – ‘한국 개발자’들의 블록체인 이해 = 대박 코인

블록체인 규제하는 한국 정부의 정책이 “교각살우”라고 주장하는 칼럼도 봤다. 지금 한국 정부는 겉만 보고, 코인 버블만 보고 블록체인 산업을 규제하고 있단다. 이게 도덕성이 충만한 정부 관계자들이 지나치게 도덕성에만 집착해서 국가 경쟁력이 뒤쳐지는 걸 못 보고 있어서란다. 덕분에 우리나라는 암호화폐 강국에서 ICO 구걸신세로 전락했다는데, 솔직히 아연실색했다.

우리나라에서 지금까지 만나본 블록체인 관련 기업 관계자 분들 중에 “코인”말고 “네트워크”에 대한 이해를 가진 분은 아직까지 단 한 명도 못 봤다. ICO하겠다는 스타트업, 그 회사의 블록체인 개발자라는 사람부터, 대형 IT 기업에서 스카웃해간 블록체인 팀 고위직, 블록체인에 투자하겠다는 VC들, 심지어 코인 거래하는 거래소 관계자까지 수백명의 사람들을 만나봤지만, 정말 단 한 명도 볼 수 없었다. 그래놓고 “암호화폐 강국”이라고?

이전 글에서 언급했듯이, 블록체인 기반 코인이 실제 비지니스, 특히 대형화되는 비지니스에서 쓰이기 위해서는 거래를 처리하는 속도 (새로운 블록을 만들어내는 속도)를 개선해야하고, 그래서 모든 블록을 다 묶는 방식을 벗어나 블록 네트워크를 Clustering해 줄 수 있는 extended star network를 만들어내야한다. 수학 모르는 개발자들을 위해서 개발 용어를 쓰면, DB에 찍히는 데이터에 Label을 달 때, 처음에는 Int 타입으로 지정해도 되겠지만, 2진법 구조로 저장되는 데이터의 특성상 2^16개 이상의 Label을 써야하면 타입을 Long이나 Double로 바꿔줘야한다. MS Excel이 2003년 버젼까지만해도 65535라인 밖에 지원하지 않다가, 2007년 업그레이드부터 100만개 이상의 라인을 지원하는 것도 같은 이유다. 블록체인에서는 1개의 초대형 Network가 그걸 다 감당할 수 없기 때문에 여러개의 Network를 운영하면서도 동시에 1개의 네트워크와 같은 정보 보존을 지켜야한다는 점이 난제다.

저 위에 언급한 블록체인 관계자라는 사람들 중에 블록을 구성하는 알고리즘을 바꾸는 “혁신”을 만들어 낼 수 있는 사람은 장담컨대 단 한 명도 없을 것이다. 당장 네트워크 구조도 모르는 사람이 어떻게 “혁신”을 만들어 낼 수 있겠나? 마치 구구단도 못 외우는 아이에게 이차방정식도 아니고, 미적분을 해라고 요구하는 것과 다를바 없다. “암호화폐 강국”이라고 타이틀을 붙이려면, Github에서 암호화폐 코드 카피해오는 3류 개발자말고, 네트워크 이론을 이해하고 블록체인의 난제들을 극복하고 있는 연구자가 많은 나라여야 하는 거 아닌가??? 보안 엉망진창인 거래소만 많고, 코인 거래하는 불나방만 많으면 암호화폐 강국인가???

코인이 없으면 블록체인을 할 인센티브가 없다, 코인 발행을 막으니 해외에까지가서 ICO를 해야할만큼 “구걸신세”로 전락했다고 불평하기 전에, 블록체인이 뭔지부터 이해라도 좀 하고 칼럼 글을 쓰셨으면 좋겠다. 이 상태로 계속 시간이 흐르면, 탈중앙화라는 “대의”는 온데간데 없이 코인이라는 “사기”만 사람들 머리 속에 남을 것이다.

 

BIS “암호화폐, 신뢰-효율성 한계 봉착할 것” – 외국 규제기관의 관점

국제은행연합회(BIS)가 지난주에 연례 Economic report를 내면서 전자 화폐 or 가상 화폐 or 암호 화폐에 대한 경고 메세지를 내놨다. 분산 네트워크의 구조상 Transaction을 처리하는 속도가 점점 느려질 수 밖에 없고, 결국 규모가 커질수록 사업성을 잃게되는 블록체인에 기반했다는 점, 그리고 최후대부자 (Lender of last resort)가 없는 화폐라는 점에서 문제가 된다고 정리했다. “Ponzi scheme”, “Bubble” 이라는 표현이 나왔던데, 이건 경제학에서 네덜란드 튤립 버블같은 “사기”를 학문적으로 표현하는 방식이다.

BIS 보고서 내용이 더 궁금하신 분은 여기, 여기를 참조하시라.

얼마전 뉴욕에서 열린 블록체인 행사에 1만명에 가까운 세계 각국의 전문가들이 몰렸다. 물론 대다수는 한국의 그 분들처럼 세상모르고 코인 이야기만 하는 사람들이었지만, 제대로 지각 있는 일부는 코인에는 별 관심이 없고, 블록체인의 “potential scaling issues”에 대해서 진지한 토론을 나눈 이야기를 들었다. 블록체인의 성패는 코인에 대한 사람들의 열광, 코인 가격의 안정성, 코인 거래소의 보안 강화, 코인 거래에 대한 정부 규제의 철폐, 혹은 ICO 플랫폼의 구축 같은 피상적인 이슈에 달려있는 것이 아니라, 블록체인 기술 자체의 한계를 어떻게 극복하느냐에 달려있다는 것을 정확하게 보고 있기 때문일 것이다.

BIS에서 Head of Research를 맡고 계신 신현송 교수님께서 화폐가 가치를 가지는 이유에 대해서 이렇게 언급하셨다.

“…money has value strictly because it’s used, whereas, people are only holding crypto for speculative purposes rather than actually using it…. Without users, it would simply be a worthless token. That’s true whether it’s a piece of paper with a face on it or a digital token.”

(참고로 신현송 교수님은 금융기관 발 금융위기를 연구하던 필자에게 아이돌 스타같은 존재다. 금융위기쪽 연구에 세계적인 석학이시기 때문이다.)

 

나가며 – 코인충 vs. 규제

지금까지 없던 사업을 해보겠다는 기업가 입장에서 정부 규제는 언제나 불안 요소다. 대부분은 회사를 망하게 할 수도 있을만큼 치명적이기도 하다. 빠르게 성장하던 카풀업체 Poolus가 구조조정에 들어갔다는 기사를 보면서, 택시 업계의 강력한 반발과 정부의 애매모호한 태도 (Read 암묵적인 택시 업계 지지)를 보면서, 한국에서 더 이상 우버 형식의 승차공유 스타트업이 나오기는 어렵겠다는 생각을 했다. 그게 공유경제의 혁신인지, 택시업계에 대한 위협이었는지에 대해서 언급하고 싶지는 않다. 다만 규제가 새로운 사업을 막는데 활용되는 것만은 분명하다.

이익 다툼의 분쟁은 결국 어느 한 쪽의 가치를 인정해주고 다른 쪽에게 배상의 의무를 지울 수 밖에 없다. 다만 어느 쪽의 가치에 손을 들어주느냐를 결정하는 것은 쉬운 일이 아니다. 노벨경제학상 수상자인 로널드 코즈의 법경제학 교과서 한 줄 요약이다.

지난 몇 달간 국내의 블록체인 관계자들을 만나면서, 이 분들이 탈중앙화된 네트워크를 발전시키고 활용하려는 의지를 가진 사람들이 아니라, ICO를 해서 “한 탕 벌이”를 해보겠다는 “코인충”인 것 같아서 만남이 내내 불편했다. CTO 뽑겠다고 만나보는 짬있는 개발자들 상당수가 블록체인 해볼생각이 없냐고 물어서 우리회사 사업 모델에 어떻게 적용되는지를 설명하면, 무슨 말인지 못 알아듣고, 코인찍는데 뭐하러 사업 이야기하냐고 되묻는 경우도 많다. 코인은 사업에서 나오는 이윤의 일부로 가치가 보증되어야 한다는 사실을 이해 못한채 코인이라는 매개체만 보고 있다는 뜻이다. 그것도 CTO급 개발자들이. 이런 상황에서는 로널드 코즈가 직접와도 규제 쪽에 손을 들어주고 “코인충 Out”을 외칠 것이라고 생각한다.

여태까지는 게임내 화폐를 구매하는 수단으로 코인을 쓰던 게임들이 (ex. 유나의 옷장, 이오스 등), 개념이 좀 잡혔는지 게임 플레이를 하면서 코인을 벌 수 있는 방식으로 게임을 만들겠다고 선언하더라. 심지어 게임 내 화폐를 아예 코인으로 대체하겠다는 기사도 봤는데, 이런 변화는 코인이 결국에는 게임 포인트의 대체재라는 걸 게임사들도 인지하고 있다는 뜻일 것이다. 전문가 양성하겠다는 정부 지원안을 봐도 통관, 부동산 거래, 온라인 투표, 물류, 전자문서 유통 등 진짜 사업에 적용하는 이야기를 하기 시작하더라. 코인은 블록체인 기술을 활용하는데서 나오는 부산물이라는 걸 인식한다는 뜻이겠지. 미스코리아 심사에 블록체인 도입한다길래 뭘할려나 봤더만 투표 용지 대신 전자 투표하는데 보안용으로 블록체인을 활용한단다. 블록이 뭔가 대단한게 아니라 정보 저장하는 가상 박스라는 개념을 이해하신듯.

글 첫머리의 질문으로 돌아가보자. 블록체인 기술을 개발시킬 인센티브가 ICO말고 더 있냐고? 분산형 네트워크로 서버 비용을 획기적으로 절감시키는 연구에 몰두하고 있는 학계 연구자들, 서버 기술 개발자들에 대한 모욕 아닌가? 그 분들의 연구가 있어야 수십조가 들어가는 데이터 센터 건설비도 줄이고, 시스템 자원도 효율적으로 이용할 수 있는 시대가 온다. 블록체인의 진정한 가치는 그런 네트워크의 혁신에 있다. 애시당초 사람들이 똑똑했으면, 블록체인이 뭔지 알았으면, 코인이 사기라는 걸 알았으면, 불나방처럼 실체없는 코인에 투자도 안 했을 것이고, 정부가 “쓸데없이”, “귀찮게” 규제를 만들지도 않았을 것이다.

국내에서 데이터 사이언티스트로 성장하고 싶으면 어떤 커리어를 밟아야할까에 대한 질문을 많이 받는다. 개발자들이 Data Engineer쪽 커리어를 밟거나, BI들이 Data Analyst쪽 커리어로 나가는 건 이미 여러번 이야기를 했는데, 정작 Data Scientist로 성장하기 위해 한국에서 어떤 커리어를 밟아야할까에 대한 고민을 깊게 해 본적은 없었던 것 같다. Engineer나 Analyst는 학부 출신들이 전공만 맞다면 충분히 도전할 수 있는 영역이기 때문에 좀 더 쉽게 이야기할 수 있었던 것 같은데, Scientist쪽은 이름에서 보여주고 필요한 스킬셋에서 나타나듯 학부 전공만으로는 좀 부족하지 않나는 생각을 했기 때문인 것 같다.

덕분인지 모르지만, 한국 시장에 제대로 Data Science를 하는 직장을 만나본 적이 별로 없었다. 인공지능 랩이라고 이름 달아놓고는 정작 TensorFlow 어떻게 쓰는지 코드만 열심히 복붙하고 있는 곳도 봤고, 주먹구구식으로 구색만 맞춰놓고는 머신러닝 도입했다고 우기는 곳도 있었고, 스타트업 레벨로 내려오면 개발자들만 앉혀놓고 R&D 팀이라고 이름을 달더라. 그 중 어느 온라인 광고 회사는 광고 성과 분석을 위한 “인공지능 팀”의 서비스를 내세우는데 모델링에 대한 아이디어는 전혀없는 Last Click Attribution을 쓰고 있는 것도 봤다.

쉽게 말해서, 대기업을 가면 된다, 판교에 있는 대형 IT회사들에 가면 된다, 대형 스타트업을 가면 된다, 외국계 회사를 가면 된다는 식의 일반론이 먹힐만한 상황은 아닌 것 같다. 실리콘 밸리라고해서 딱히 상황이 다르지는 않다. 일전에 필자의 경험을 소개한대로 Correlation 구하는 공식도 모르는 사람들이 데이터 팀장을 하고 있는 경우도 많고, 요즘은 좀 상황이 나아졌지만 여전히 짬밥이 높은 데이터 엔지니어에게 데이터 사이언스 팀장을 시켜서 팀내 커뮤니케이션이 힘든 경우도 많다.

(Source: 매일경제신문)

시장이 좀 더 성숙해서 데이터 사이언스에 대해서 제대로 알고 있는 사람들이 팀장 이상 레벨로 자리잡기까지 국내외의 많은 회사들이 데이터 엔지니어 – 데이터 애널리스트 – 데이터 사이언티스트 를 뭉뚱그려놓고 불안한 동거를 시킬 수 밖에 없을 것이다. 너도나도 DB를 만들고 제대로 사업을 해보겠다고 나서는 마당이니 언젠가는 팀이 분리되면서 문제점이 해결되겠지만, 그 전에 구직자 입장에서 “괜찮은 자리”를 찾아가기란 참 쉽지 않다.

개발자 커뮤니티에서 커리어를 어떻게 쌓아야하는지, 어떤 직장을 찾아가야하는지에 대한 글을 본 적이 있는데, 데이터 사이언티스트에게도 비슷한 맥락이 많아 보여서 몇 가지 포인트를 소개한다.

 

20대 CTO가 있으면 가지마라

정확하게는 20대가 포인트가 아니라, 실력과 경험없는 보스 밑에 들어가지 마라는 말일 것이다. 20대 중후반의 개발자들이 만든 스타트업을 본 적이 있었는데, 뭔가 대학 동아리 같은 느낌을 받았었다. 갖고 있다고 주장하는 기술의 난이도는 굉장히 낮고, 어디서 오픈 소스 코드 긁어와놓고는 그걸 기술이라고 포장하는데, 새로 사람 뽑으려니 눈치 빠른 개발자들이 금방금방 도망가더라. 당연하겠지.

데이터 사이언티스트도 마찬가지라고 생각한다. 실력있는 Chief Data Scientist 를 찾아가는게 제일 중요하다. 어떤 비지니스에 뭘 적용했다, 무슨 모델을 만들었다는 말들은 그 사업을 깊게 알지 못하면 잘 따라갈 수가 없으니까, 구직자라면 그냥 기본적인 걸 보는게 맞지 않을까 싶다. 필자가 Correlation 공식도 모르는 보스에게 학을 떼고 도망나갔던 것처럼, 보스가 될 사람이 얼마나 수학, 통계학, 머신러닝 같은 기본 지식을 잘 갖추고 있는지에 대해서 최대한 많은 정보를 모아라. 면접 때 지원자와 10분만 대화해봐도 그 사람의 깊이를 알 수 있는 것과 마찬가지로, 본인이 어느정도 실력을 갖추고 나면 면접관이 어느 정도의 사람인지도 쉽게 알아낼 수가 있다.

물론 큰 회사, 명성이 있는 회사를 가면 20대 중후반이 Chief 타이틀을 달고 있는 경우가 없겠지만, 큰 조직은 많은 경우에 학벌과 경력만 화려하지 정작 실력은 없는 사람이 앉은 경우가 많다. 대기업가면 부장님 김장 도와주고, 등산 같이 가줘야 한다고 농담하던데, 그런 보스를 피하는 건 운일까, 실력일까? 용기있게 실력있는 보스가 있는 작은 회사 (or 심지어 스타트업)에 가는 경우도 종종 보는데, 그런 위험부담까지 해야하는지는 잘 모르겠다.

 

CEO가 비지니스 도메인 전문가인가를 봐라

대기업의 기획이나 스타트업의 비지니스 모델을 보면 그 회사의 깊이(?)라는게 보인다. 좀 미안한 말이지만, 대부분은 굉장히 피상적이다. 그나마 남들이 해본적이 없는 내용이면 다행이고, 아마도 남들에게 쉽게 카피당할 수 밖에 없는 가벼운 사업 모델일 것이라고 생각한다. VC들이 스타트업 CEO의 학벌과 업력을 그렇게 민감하게 보는 것도, 단순히 아이디어만 갖고 사업하는게 아니라, 예상가능한 문제들을 얼마나 꼼꼼하게 고민해봤는지, 현재 비지니스를 어떻게 바꿀려는 철학이 담겨있는지에 대한 고민이 묻어나오는 사업 모델에 투자를 하고 싶기 때문일 것이다.

개발자나 데이터 사이언티스트나 자신이 갖고 있는 핵심 스킬을 각각의 비지니스에 맞게 적용하는 업무를 하는 사람들이다. 단순한 사업 모델에 그런 스킬을 적용하는 것은 쉽다. 그러나 인생의 긴 커리어를 쌓는다고 했을 때, 그런 가벼운 프로젝트들은 인생에 큰 도움이 안 된다. 업력이 깊은 사람들이 신사업 모델을 적용하기 위해서 했던 여러가지 고민들을 뒤따라가며 내 핵심 스킬을 적용하는 경험을 해봐야 내가 배웠던 내용, 익혔던 내용이 이런 방식으로 사업에 활용되는구나는 큰 그림을 그릴 수 있게 된다. 본인의 실력도 덩달아서 늘겠지.

예전에 모 대기업 사내 벤쳐 팀원 4명이 일본에가서 2년 동안 사업을 시도하다가 결국 “말아먹었다”는 술자리 푸념을 들은 적이 있는데, 그 4명은 자기들이 들어가는 사업 분야에 대해서 2년 고생을 해 놓고도 알고 있는게 거의 없더라. 망할 수 밖에 없었다고 생각했었다. 한국에서 온라인 광고업으로 성장한 스타트업 Tech팀장들이 비지니스를 어떻게 확장할지에 대한 PT를 하는 걸 보고, 전 직장의 세일즈 팀장이 “저게 무슨 타게팅 광고냐? 10년전에 하던 연령, 성별 맞춰서 광고하던거 이름만 바꾼거 아냐?”라고 조소하는 걸 들었던 기억이 난다. 세일즈에게 무시당하는 “기술”을 가진 Tech팀장/Data Science 팀장이 되고 싶으신가?

 

대기업, 특히 SI업에 있지 마라 + 돈만 보고 움직이지 마라

필자의 눈에 개발자들에게 SI업 직장 경력은 무덤같은거다. 데이터 사이언스 영역에서 가장 비슷한 비지니스가 “데이터 컨설팅”일텐데, 시장이 어떻게 데이터를 쓰고 있다는 감을 잡는데는 좋을지 몰라도, 결국 고만고만한 테크닉들만 여러번 쓰다가 갈려나갈 것이다. (가까운 VC께서 “갈아만든 배”가 된다고 하시더라 ㅎㅎ)

필자도 사업 초기에 돈 좀 만져보겠다고 여러 회사에 “데이터 컨설팅” 이야기를 했었는데, SI성 사업으로 단순하게 접근하고, DB도 제대로 구축되어 있지 않은 상태에서 3달 안에 추천 알고리즘 적용까지 마무리를 해달라는 요구를 하는 경우를 여러번 봤다. 당신들에게 컨설팅 업무를 맡기는 대기업 담당자들은 당신의 지식을 이용하려고 할 뿐이지, 정작 당신이 한 단계 더 성장하도록 도와주지 않는다. 정말 하고 싶으시면 경력 좀 쌓고 나이먹은 다음에 솔루션 시장에 진입하시는 걸 강추한다. 멍청한 사람들은 당신의 기술이 얼마나 고급 기술인지 이해를 못하기 때문에 절대로 큰 돈을 쓰려고 하지 않을 것이다. 그런 업력과 내공을 쌓기 전엔 당신을 “싸게 베껴먹을”려고 하는 갑질 대마왕(but no knowledge)들에게서 스트레스만 받고, 시간만 버리고, 실력은 정체될 듯.

10년 전, 학부 졸업하던 시절에 글로벌 전략 컨설팅 회사 바람에 휩쓸려 갔던 학부 친구들이 이제와서 공통적으로 겪는 문제는, 컨설팅만 했지 정작 사업 운영을 안 해봐서 그 사업이 어떻게 돌아가는지 아는게 거의 없다는 거다. SI성 개발, SI성 데이터 컨설팅도 결국에는 같은 문제에 봉착할 수 밖에 없다. 실제로 글로벌 전략 컨설팅 회사 경력에 미국 탑 MBA를 졸업한 친구 하나가 스타트업을 세우고 “말아먹는”걸 옆에서 조용히 지켜봤던 다른 친구가 이렇게 혹평하더라. “컨설팅, MBA 같은 곳은 인재를 외화내빈으로 만드는 것 같다.”

 

유행하는 기술을 따라가지 마라 + 핵심에 더 집중해라

개발자들에게 블록체인 같은거, 머신러닝 같은거에 현혹되어서 따라가지 마라고 하시더라. 솔직히 좀 심하게 공감했었다. 개발자들이 수학, 통계학을 제대로 알고 있는 것도 아니고, 그냥 코드만 복붙해서 이런 작업을 하고 있기 때문에 꾸준히 비판(?)를 해왔는데, 어차피 기술은 도태되고 도메인은 급변한다면서 지금 배운 TensorFlow 코딩 방법을 3년 후에도 계속 쓸 수 있을 것이라는 기대는 안 하는게 좋다고 정리를 하시던데 속이 시원했다 ㅋㅋ

데이터 사이언티스트들에게도 똑같은 말을 전해주고 싶다. “Hadoop을 쓰면 빨리 처리가 된다”, “Spark를 쓰면 R과 연동하기 좋다” 같은 표현들, 신기술이라는 것들만 열심히 받아적기 바쁜 사람이 되지말고, 그런 보스가 있는 회사는 빨리 떠나라고. 본인이 수학과 통계학으로 단단한 내공을 갖추고 있으면 굳이 그런 트렌드에만 현혹되어 있을 필요가 없다. 새로운 기술이라는 건, 기존의 문제를 해결하기 위해서 수학과 통계학을 적절하게 결합해서 만든 제품이다. 원리를 이해하고, 내 비지니스에 어떻게 적용할지 고민해서 취사선택을 할 줄 아는 보스를 만나야한다. 당연히 본인도 그런 실력을 갖추고 있어야 그런 보스같은 사람으로 성장할 수 있다.

(Source: okky.kr)

위는 미적분 공부를 해야하나는 어느 초짜 개발자의 질문에 대한 답변이다. 피상적인 기술만 따라가다보면 “대충 보면 해먹을 수 있는 분야”는 줄어들 수 밖에 없다. 새로운게 계속 나올텐데, 기초가 튼튼하지 않다면 어떻게 될까? 결국 시장에서 조기퇴출될 것이다.

굳이 뭔가를 배워야할 것 같다, 이렇게 있어서는 안 될 것 같다는 생각이 들면, 남이 안 하는걸 해라고 권유하시던데, 필자도 생각이 똑같다. 연구실에서 아무도 안 하던 시뮬레이션, 패널 데이터, 네트워크 이론 덕택에 머신러닝, 딥러닝, 블록체인을 대충 보고 바로 이해할 수 있게 되었다. (그들이 틀린 부분도 지적할 수 있는 수업을 하게된 것도 같은 이유다.) 같이 연구실에서 Stochastic calculus로 머리를 쥐어짜던 친구들이 이제와서 필자가 했던 수학을 할 생각을 하면 얼마나 까마득할까?

 

나가며 – 보스들에게

쓰다보니 개발자나 데이터 사이언스 커뮤니티가 비슷한 구석이 참 많은 것 같다. 그 중에서 가장 크게 비슷한 부분은 노동 시장내 수요 – 공급 구조가 아닐까 싶다. 자리는 엄청나게 많은데, 대부분은 SI성 일회용 자리거나, 더 환경이 안 좋은 곳들이 수두룩하다. 그리고 실력있는 사람들은 거의 없다. 덕분에 이직도 (상대적으로) 쉽다. 또 그 직군 사람들끼리 상당히 좁은 커뮤니티가 구성되어 있고, 항상 여러가지 정보를 주고 받게 된다. 실력이 없으면 소문이 빠르게 날 수 밖에 없다.

어떻게 데이터 사이언티스트 직장을 찾아야하는지에 대한 글을 마무리 하기 전에, 데이터 사이언티스트가 들어오고 싶도록 만들려면 어떻게 해야할지 사용자나 팀장 이상의 고위직들에게 짧은 고언을 해보고 싶다. 데이터로 뭔가를 찾아내는 작업은 요술봉도 아니고, 데이터가 없으면 아무것도 못한다. 데이터 엔지니어들 팀을 제대로 만들고, DB라도 제대로 구성한 다음에 통계학 내공이 쌓인 데이터 사이언티스트를 찾으셔야 한다. 데이터 사이언티스트는 DB 만드는 것부터 통계학 모델링까지 모든 업무를 다 하는 Full Stack 개발자가 아니다. 필자도 DB만들어봤지만, 이건 전문가가 따로 있는 분야더라. 모델링이 따로 전문가가 있는 것처럼.

그리고, 현재 시장 상황상 열에 아홉은 당신들보다 더 똑똑한 사람이 부하직원으로 들어가게 될텐데 제대로 대접해주셔야 한다. 학부 4학년 때, 어느 글로벌 전략 컨설팅 회사 인턴으로 있던 시절, 이사님이 그러시더라. 똑똑한 애들을 밑에 두고 쓰려면 본인이 아주 똑똑해서 “나를 따르라~”고 할 수 있거나, 사회적 자본이 많아서 많은 기회를 줄 수 있거나, 이도저도 아니면 금전적인 보상이라도 후하게 해 줘야한다고. 필자는 그 다음날 그 인턴쉽을 그만뒀었다.

어느 블로그를 지나가다가 본 내용이다. Hebrew University of Jerusalem 출신 어느 교수가 딥러닝이 어떻게 작동하는지 설명하는 “새로운” 이론을 제시했단다.

“Deep learning is an information bottleneck procedure that compresses noisy data as much as possible while preserving information about what the data represent.”

풀어서 설명하면, 여러개의 데이터를 압축시켜서 병의 좁은 목으로도 넣을 수 있도록 만드는데, 정작 그 내용은 보존하는 방법이라는 뜻이다. 이게 새로운거라고????

Jeffrey Hinton 교수라고 이미지 인식을 사실상 처음 도입한 분이 심지어 이렇게 말씀하셨단다.

“I have to listen to it another 10,000 times to really understand it, but it’s very rare nowadays to hear a talk with a really original idea that it may be the answer to a really major puzzle.”

백인들 방식으로 칭찬해줬다고 생각하시면 된다. (애매모호하게 칭찬했다는 뜻이다.)

솔직히 저런 해석이 왜 “새로운” 것인지 너무너무 이해하기 힘들고, 통계학을 정말로 하나도 모르는 걸 학회에서 인증샷 찍은 다음, “너도 같이 찍자”고 그러는 것 같다.

왜 또 갑자기 통계학이 튀어나오냐고?

 

Principal Component Analysis (PCA)

필자의 수업시간에 꼭 짚고 넘어가는 내용이다. 다들 머신러닝 수업시간에 데이터를 좀 줄여서 효율적으로 쓴다고 PCA라는 토픽을 배우는데, 이걸 “Unsupervised learning”이라는 항목에 넣어서 배우더라. 아무리 생각해도 이건 “데이터 전처리” 항목으로 배워야되는 것 같은데 말이다. (데이터를 효율적으로 쓰려고 Vector space를 최대한 보존하는게 왜 “Un”supervised learning인지 도무지 납득이 안 되지만ㅋ)

(Source: Victor Lavrenko)

PCA는 데이터의 분산(+공분산) 값들로 만들어낸 벡터 공간 (Vector Space)을 재구성하는 Eigen-axis를 만든다음, 그 중 몇 개 좌표를 고르는 방식으로 데이터 전처리를 하는 작업이다. 말을 바꾸면, 데이터의 내용을 최대한 보존하면서 그 중 일부만 뽑아서 쓰는 작업, 병의 좁은 목으로도 넣을 수 있도록 압축하는 작업이다. Deep learning이 하는 작업과 비슷하다고 느껴지는가?

참고로 PCA는 Neural network을 널리 쓰기 이전에 이미지 인식하던 중 이미지 데이터를 전처리하는 작업에도 쓰였고, ZIP같은 파일 압축에도 쓰이고, 생물학에서는 유전자 정보 재처리하는데도 쓰인다. Dropbox, OneDrive, GoogleDrive 같은 클라우드 서비스에서 파일 저장하는 방식도 잘 뜯어보면 PCA를 기반으로한 파일 압축 모듈을 이용해 클라우드 저장공간을 최대한 효율적으로 활용한다.

Neural network 를 이용해서 이미지 인식하는 모듈을 보면, 이미지를 slide로 스캔한다음, RGB 숫자로 바뀐 데이터를 전처리하는 작업에서 PCA에서 했던 그것과 동일한 작업을 진행한다. 일반인들이 알아들을 말로 바꾸면, 딥러닝의 여러 스텝 중 데이터 정리하는 스텝에서 PCA를 활용한다는 뜻이다.

그럼 다시 글 처음의 Quote로 돌아가보자.

“Deep learning is an information bottleneck procedure that compresses noisy data as much as possible while preserving information about what the data represent.”

딥러닝이 어떻게 돌아가는지 설명해놓은 저 문장이 “새로운” 이론이라고?

딥러닝이라는게 Neural Network가 중층으로 연결된 구조라는 것, 그 구조 자체가 Regression을 반복적으로 실행하면서 데이터 전처리를 모델 내부에서 해결하는 작업이라는 걸 이해하고 있다면 더이상 “새로운” 이론이라고 할 수 있을까?

 

Factor Analysis (FA)

(Source: JMP User Community)

사실 좀 더 정확하게 말하면, Deep Neural Network에서 PCA 작업에 해당한다고 말했던 부분은 엄밀히 따졌을 때 Factor Analysis (FA) 작업에 해당한다고 봐야한다. (PCA와 FA는 철학적으로 완전히 다른 접근이지만, 계산 방식이 비슷하다는 이유로 혼용해서 쓰는 경우가 많고, Neural Network에 적용되는 방식도 경우에 따라 PCA일수도, FA일수도 있다고 볼 수 있다.)

PCA와는 달리, 모델에 들어가는 변수들간 서로의 상관관계를 따지는 것이 FA다. 쉽게 설명하면, 고교 중간고사 과목은 20개가 넘지만 (필자의 고교시절엔 그랬다), 정작 그 과목의 점수를 결정짓는 능력은 각 학생의 수학, 언어, 암기, 열의 같은 기본적인 개인 능력으로 설명할 수 있다는 컨셉이다. 저런 기본적인 개인 능력에 해당하는 값들을 숨은 변수 (Latent variable)라고 부른다. 20과목이나 되는 시험 점수를 입력해서 그 학생이 대학에 합격할지 여부를 가늠하고 있지만, 사실은 4개의 기본 능력이 그 학생의 대학 입시 성패를 좌우한다고 이해하면 된다. 위의 그림에서 FA에 해당하는 부분은 4과목의 시험 점수에 숨은 변수 하나가 각각 60%, 50%, 80%, 70%씩 영향을 주고 있다는 뜻이다. 수학을 잘하는 두뇌를 갖고 있으면 화학, 지구과학, 수학, 물리학은 기본 점수를 어느정도 “깔고간다”고 생각하면 쉽게 이해가 되는가?

이미지 인식에 이 작업이 많이 활용되는 이유는 비슷한 이미지를 찾아낼 때 그 사진의 몇 %가 검은색이고 흰색인지가 중요한게 아니라, 윤곽선이 얼마나 비슷한지, 눈-코-입의 위치 관계가 얼마나 비슷한지로 같은 종류의 동물인지, 같은 사람인지를 구분하기 때문이다.

(Source: www.doc.ic.ac.uk)

위의 그림에 나온 Autoencoder라고 불리는 작업이 Neural Network 프레임 안에 FA를 포함시킨 작업이라고 생각하면 된다. 위의 그림에서 보듯이, 중간에 몇 개의 Neuron을 넣었냐에 따라 (그림에는 2개가 있다) 기본 능력이 몇 개 인지 가정을 하고 모델링을 하는 것이기 때문이다. 고교 성적과 대학 입시의 관계라면 수학, 언어, 암기 능력만 중요하다는 생각으로 3개의 Neuron만 중간에 넣었다가, “잠 안 자고 공부하는 열정” 같은 걸 추가해야한다는 생각에 4개의 Neuron으로 늘려볼 수도 있다. 중간의 어느 특정 Layer에서 몇 개의 Neuron을 쓰느냐에 따라 무슨 가정을 바탕으로 FA 모델링을 하는지가 결정되는 것이다.

 

더 어이없는 해석들

“이 이론에 따르면, 딥러닝이 잘 할 수 있는 것과 못하는 것의 한계는 명백해진다. 세부적인 걸 포기하기 때문에 큰 수 곱셈이나 암호 코드 박살 내는 건 잘 해내지 못할 거라고 한다.”

딥러닝이라는 모델을 제대로 이해했다면 위와 같은 말을 할 수 있을까? 당장 “새로운”이라는 단어도 쓰지 않을 것이고, 당연히 위의 코멘트도 할 이유가 없다. 필자가 입이 닳도록 이야기하는대로 딥러닝은 이미지 인식, 언어 처리, 음성 처리 등 강한 패턴이 있는 테이터에서 그 패턴을 쉽고 빠르게 찾아내는 하나의 응용통계학 테크닉에 불과하다.

큰 수 곱셈이나 암호 코드 박살내는 작업은 강한 패턴이 있는 데이터인가?

저 위의 반응들이 한국에 온 이후로 만났던 거의 대부분의 개발자들에게서 쉽게 볼 수 있는 내용들의 집성체라고 봐도 과언이 아니다. 그 분 블로그의 마지막에 이렇게 정리해 놓으셨더라.

“우리 인간은 보고 싶은 것만 본다. 세계로부터 전달되는 엄청난 정보의 대부분을 포기하고 정말로 보고 싶은 것만 보고 있는지 모르겠다.”

같은 맥락으로 이렇게 이야기하고 싶다.

“개발자들은 코드만 본다. 수학이 가르쳐주는 엄청난 정보의 대부분을 포기하고, 정말로 코드만 보고 알고 있다고 주장하는건지도 모르겠다.”

참고로 저 블로그의 저자는 모 대기업의 AI팀 출신이고, 어느 AI 도입한다던 스타트업에 CTO로 계셨더라. 정작 본인이 썼다는 논문은 DB 운영에 관계된 것 밖에 없는데, 정말 제대로 딥러닝을 이해하고 “인공지능”을 이야기하고 있는걸까? 우리나라 대기업과 스타트업들이 AI라고 불리는 응용통계학을 어떤 관점에서 쳐다보고, 어떻게 사람을 뽑고 있는지 너무 명백하게 보여주는 사례가 아닐까 싶다.

 

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

수학으로 굴곡진 짧은(?) 인생을 간략히 돌아보면, 그런 실력으로는 코드만 치는 “수알못” 코더가 되거나, 아니면 그냥 깔끔하게 포기하는게 효율적인 것 같다. 이건 개발용 코딩이 아니라 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차산업 굴기를 따라하고 싶으면, 코드 카피하는데 돈을 투자하는게 아니라, 그걸 이해하고 발전시킬 수 있는 “인재”를 먼저 길러야하지 않을까?

 

저희 비트멕스는 2018년 6월 8일 12:00 UTC에 행사 가격이 110%인 상향식 수익 계약 XBT7D_U110과 행사 가격이 90%인 하향식 수익 계약 XBT7D_D90을 상장 폐지할 예정입니다. 위 상품은 각각 다음의 신규 계약 상품으로 대체될 예정입니다: 행사 가격이 105%인 상향식 수익 계약 XBT7D_U105와 행사 가격이 95%인 하향식 수익 계약 XBT7D_D95로 대체됩니다.


“아무일도 일어나지 않고. 아무도 오지 않고. 아무도 가지 않네. 이것 참 끔찍한 일이군.” 
― 사무엘 베케트, 고도를 기다리며 (Samuel Beckett, Waiting for Godot)

암호화폐 커뮤니티는 설립 초기부터 여러 명의 고도 (Godot, 사무엘 베케트의 ‘고도를 기다리며’ 에서 자신을 기다리는 두 주인공 앞에 50년 동안 나타나지 않는 존재)를 기다려왔습니다. 암호화폐 거래자들에게 고도 (Godot)는 전설속에나 등장할법한 기관투자자입니다. 기관투자자들이 대규모로 암호화폐 거래에 참여하면, 거래량이 늘어나고 유동성 또한 마법처럼 높아져 시장은 “움직여야 하는 대로” 다시 말해, 예측가능한 방향으로 흘러갈 것입니다.

저를 포함한 많은 암호화폐 분석가들은 2018년을 기관투자자들이 암호화폐 투자에 대거 뛰어들 한 해라고 확언했습니다. 이러한 신규 자본의 유입은 비트코인 가격이 미화 1만 달러 이상으로 끌어올리는 데에 일조할 것이며, 암호화폐 거래자들을 공매도의 천국으로 데려다 줄 것입니다.

북반구에 여름이 찾아오면, 기관투자자들은 정말 암호화폐 커뮤니티로 몰려들까요? 골드만삭스와 JP 모건의 암호화폐 거래 관련 뉴스를 제외하고, 암호화폐에 대한 사람들의 관심과 흥미를 대체 및 해소시켜줄 수 있는 것은 무엇일까요?

시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)의 비트코인 선물 계약 거래량이 최고의 해답이 될 수 있습니다. 두 곳에서의 계약 모두 미화 달러 기반으로 마진이 계산되고 결산됩니다. 비트코인의 매수없이 해당 상품의 거래만으로도 거래자들은 비트코인 가격 노출성을 얻을 수 있습니다. 비트멕스의 모든 상품은 비트코인 기준으로 마진이 계산되고 결산되며 이는 거래를 위해서 반드시 비트코인을 보유해야함을 의미합니다. 대부분의 거래자들은 비트코인의 발상과 아이디어 자체에 호의적이지만, 실제로 이를 매수 및 보유하고 전송하는 것은 두려워합니다.

수치 비교



위 도표는 시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE) 그리고 비트멕스에서의 비트코인 / 미화 달러 계약의 2018년도 연 누계 거래량을 미화 달러 기준으로 나타낸 것입니다.

첫 번째로 주목할만한 점은 비트멕스의 누적 거래량과 시장 점유율 (Market Share)이 압도적으로 높다는 점입니다. 기관투자자 기반의 시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)보다 소액투자자 기반인 비트멕스에서의 거래량이 몇 배 더 높은 것으로 나타났습니다. 그러나 대부분의 비트멕스 소액투자자들에게 시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)와의 다리 역할을 하는 중개인을 통한 계정 개설은 매우 어려울 것이며, 중개인은 상대적으로 높은 최소 예치금 (account minimums)을 요구할 것입니다. 시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)의 낮은 레버리지와 계약의 높은 개념적 수익 (notionals, 현금 수익과 동일하게 간주할 수 있는 것)은 시카고상품거래소 (CME), 시카고옵션거래소 (CBOE)와 연관성 있는 비트멕스 고객임에도 불구하고 두 거래소의 계약 중 단 한 건도 매수할 여력이 되지 않음을 의미합니다.

위 데이터를 통해 확실하게 알 수 있는 것은 소액투자자들이 여전히 시장 흐름을 지배하고 있다는 사실입니다. 그 일례로 텔레그램 (Telegram), 위챗 (WeChat), 레딧 (Reddit)과 같은 곳에서 다른 거래자들과 어울리다보면 여러분은 그들이 특정 파생상품 시장의 운명의 장난같은 일로 인한 현물 시장 변화에 대해 토론하는 모습을 볼 수 있을 것입니다. 오케이엑스 (OKex)의 분기별 선물상품 결산 (지난 3월 30일 홍콩 암호화폐 거래소인 오케이엑스 (OKex)에서 비트코인 분기별 선물계약 가격 조작을 위해 비정상적인 거래를 대량으로 실시한 결과 비트코인 가격이 폭락한 사건)은 암호화폐 시장에 이중 손실 (whipsawed, 가격 하락 직전에 매수, 가격 상승 직전에 매도하여 발생하는 이중 손실)을 입혔으며, 비트멕스 XBTUSD 스왑 상품의 높은 펀딩 수수료 또한 암호화폐 거래활동에 영향을 주었습니다. 다만, 시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)에서의 계약 만기는 시장 변동의 원인으로 거의 언급되지 않았습니다.

또 다른 내일 

시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)의 거래량은 기관투자자들의 저조한 암호화폐 거래 참여도를 보여줍니다. 이를 증명하듯 1월부터 5월까지의 전월 대비 연평균 성장률은 3.94%에 그쳤습니다. 하지만 이는 곧 달라질 것입니다. 은행들은 향후 최소 6개월에서 12개월이넘는 기간 동안 암호화폐 거래 관련 활동을 이어나갈 것이고, 거래를 처음 경험하는 고객에 대한 지원을 아끼지 않을 것입니다. 만약 은행이 암호화폐 거래 데스크 (trading desk) 개설의 공식 발표에 따른 평판 하락에 대한 위험성을 감수한다면, 해당 은행은 위험성을 완화시키기 위해 할 수 있는 모든 종류의 암호화폐 사업을 구상할 것입니다. 그 중, 가장 거래가 쉽고 부담없는 상품은 기초 자산 (underlying asset)의 투자가 필요없는 상품입니다.

최근 생겨난 신규 트레이딩 데스크를 손쉽게 따돌리는 방법은 시카고상품거래소 (CME)와 시카고옵션거래소 (CBOE)에 상장된 선물상품에 대한 위험가격책정 (risk pricing)입니다. 고객은 큰 규모의 블록을 최대한 빨리 거래하길 원하고; 매도 거래 데스크 (sell-side desk)는 거래일에 두 가지 방법으로 가격을 매겨 거래소 거래로 인한 위험성을 제거할 것입니다. 이에 따라 고객은 공시된 것 보다 높은 즉각적인 유동성을 얻게되고, 은행은 의미있는 투자 흐름속에서 건전한 매매 마진 (bid-ask margins)을 얻을 수 있습니다.

거래량과 시중 금리 증가에 따른 미화 달러 결산 기반의 파생상품 시장과 비트코인 결산 기반의 파생상품 시장 간의 상호작용은 수익성 있는 시장왜곡효과를 가져올 것입니다. 이러한 현상이 실제로 발생하기 전에 비트멕스 블로그 기사인 the BitMEX vs. CME Futures Guide 를 읽어볼 것을 권해드립니다. 비트멕스 상품의 비선형적 구성요소는 상품에 대한 이해를 복잡하게 만들지만, 궁극적으로 이는 수익성 높은 차액거래와 비트멕스와 시카고상품거래소 (CME) 간의 스프레드 거래를 가능케 할 수 있습니다.

암호화폐는 몇몇 사람들에게 매우 나쁜 평판을 가지고 있습니다: “암호화폐가 자금세탁을 가능하게한다” 라는 생각은 여러 사람에게 널리 퍼져있습니다. 그러나 암호화폐의 가치가 오를 때 까지 팔지 않고 기다리는 Hodler들은 비트코인이야 말로 자금세탁을 위한 최악의 방법이라고 항변합니다: 미화 달러와 대조적으로 암호화폐에는 공공 거래원장 (public ledger)과 상대적 비유동성 (relative illiquidity)이 있기 때문입니다. 미화 달러가 계좌 개설을 위한 가장 인기있는 방법이라면, 자금세탁범들은 어떤 종류의 미화 달러 자산을 선호할까요? 팁을 하나 드리자면: 비트코인은 아닙니다.

오늘날과 같은 현대에도 신선한 코카인 향이 나는 벤조인 (Benjamins, 방향성 화학수지) 미화 100만 달러 어치를 세탁하는 것은 쉽지 않습니다. 여러분이 은행원을 찾아가 이 돈을 입금하려 한다면, 대부분의 은행원들은 여러분을 돌려보내거나 경찰에게 신고할 것입니다. 물론 여러분은 뉴욕 다이아몬드 거리에 있는 대가를 찾아가 세탁되지 않은 자금을 반짝거리는 다이아몬드 같이 깨끗하게 만들 수도 있을 것입니다; 하지만, 그 다이아몬드의 가치를 액면가와 비슷하게 유지하기가 어렵다는 것이 드러날 것입니다.

정부는 항상 관할구역 내 더 많은 자금의 보유를 원합니다. 하지만 때에 따라 그들은 순진한 척하는 여자를 연기하거나 테러리스트 자금조달을 중단하겠다는 바람에 대해 공언해야 합니다. (사우디아라비아를 제외하고 말이죠). 저는 이제부터 부동산 시장 (property market)이 세탁되지 않은 전세계의 자금을 위한 가장 인기있는 자금세탁기라는 사실을 보여드릴 것입니다.

지금부터 저는 중국인들의 자금세탁이 이루어지는 홍콩과 전세계인들의 자금세탁이 이루어지는 미국의 부동산 구매 및 보유 부동산 공개 내역과 두 국가 모두를 OECD와 G20 국가의 일반보고기준 (CRS, Common Reporting Standard)을 통해 살펴보겠습니다. 여러분은 중국의 평균 백만장자 (미화 달러 기준)인 Zhou (조우, 흔한 중국 성씨)의 입장이 되어 그의 자금세탁방법과 Xi (시, 흔한 중국 성씨)의 자금이 어디에 있는 지를 파악하여 그를 감시했는지를 알 수 있습니다.

중국인들은 욕심이 많고 약탈하는 본성을 가진 그들의 정부에 대한 어떠한 환상도 가지고 있지 않습니다. 지난 30년 동안 과분한 특혜를 받았지만, 단 하나의 정치적인 실수만으로도 시골의 가난뱅이가 될 수 있기 때문입니다. 금융 자유의 완전한 결여는 베이징이 마음만 먹으면 아무런 절차없이 여러분을 즉시 파산시킬 수 있음을 의미합니다.

자유의 상징인 미국은 전세계에 퍼져있는 tax donkeys (세금을 낼 능력은 있지만 정치인을 매수할 능력이 없는 자산가)의 모든 금융 자산을 파악할 필요성을 느꼈고, 모든 미국인의 자산을 보고할 수 있는 금융기관의 설치를 요구했습니다. 중국 및 다른 여러 나라 역시 이를 매우 훌륭한 아이디어라고 생각했습니다. 이에 따라 OECD와 G20 국가의 일반보고기준 (Common Reporting Standard)인 CRS가 탄생하였습니다. CRS의 회원국들은 서로의 금융 데이터를 공유할 수 있으며 이를 이용해 중국은 홍콩에 거주하는 모든 중국인들의 정보를 홍콩 당국에 요청할 수 있었습니다.

일반보고기준 (CRS)의 역사에는 두 가지 흥미로운 전환점이 있었습니다:

  1. 미국은 일반보고기준인 CRS의 비준에 실패했습니다. 예를 들어, 미국은 자산을 가진 자국 내 중국인들에 관한 금융 정보를 중국과 공유할 의무가 없음을 뜻합니다. 이런 사실에 대해 여러분은 ‘음….’ 이라는 반응을 보이며 의아해할 것입니다. 미국은 전세계 모든 국가가 미국의 해외금융계좌 신고법인 FACTA (Fair Accurate Credit Transaction Act, 미국에 지부를 둔 해외 금융 기관이 미국인 납세 의무자가 보유한 미화 5만 달러 이상 계좌에 대한정보를 미 국세청에 제공하도록 의무화한 법률)를 준수하며 미국인들에 대한 정보를 얻고 싶어합니다. 어떠한 댓가도 지불하지 않고서 말이죠. 저는 미국인이 아닌 사람들이 보유하고 있는 자산들이 결국엔 어떻게 될지 궁금합니다.
  2. 홍콩은 신고 대상인 자산 목록에서 부동산을 제외시켰습니다.

홍콩 신문사인 SCMP (South China Morning Post, 사우스 차이나 모닝 포스트)는 중국인들이 앞다투어 은행 예금을 부동산으로 전환했다고 보도했습니다. 부동산은 경제 활동을 생성해내는 최고의 수단 중 하나이며, 부동산 광풍을 타고 많은 직업들이 새로 생겨났습니다. 정치적 관점에서 정부가 부동산 주식/자산 주식 증가를 위해 취하는 모든 조치들은 해당 정부가 경제를 성공적으로 이끌어가는 방법을 잘 알고있는 것처럼 보이게 합니다.

그 날은 국경 간 탈세 방지 및 국제 조세 시스템의 완전성 보호를 목표로 한 G20 국가의 요청에 따라 개발된 일반보고기준 혹은 CRS – 해외금융계좌 신고법 (FACTA)- 유형의 체제에 따라 나라가 무너져내린 날이었고 중국정부는 2014년, 일반보고기준인 CRS 가입을 선언했습니다.
중국의 CRS 가입에 따라 중국 본토에 거주하는 외국인이 보유한 금융자산의 세부정보가 수집되기 시작할 것입니다.
CRS 조약은 홍콩을 포함한 100여개의 국가 혹은 지역의 조세 당국 간 정보 공유가 가능해짐을 의미합니다.
이 도시는 양도소득세를 부과하지 않기 때문에 많은 본토 투자자들에게 조세 피난처의 역할을 해왔습니다. 하지만 현재 그들은 이러한 금융자산을 부동산으로 전환할 것을 강요받고있으며, 전환 마감 기한인 7월 이전에 이를 끝내야만 중국 당국에 보유자산에 대한 신고를 하지 않을 수 있습니다. 

미국의경우, 전국 부동산 협회는 부동산 구매를 KYC (고객신원확인) / AML (자금세탁방지) 법률 적용 제외 대상으로 만드는 데 혈안이 되어 있었습니다. 불법자금세탁을 방지하기 위해 금융정보를 수집하는 FinCEN (Financial Crime Enforcement Network, 미 재무부 산하의 금융정보 분석기관)은 부동산이 인기있는 특정 시장에서 자금세탁기능을 할 수 있다는 것을 알게되었고 2017년 8월, 공시의무법률을 시행했습니다.

2017년 2월 23일을 수사 마감일로 정한 상태에서, 핀센 (FinCEN)은 가장 최근의 GTO (특정지역수사, Geographic Targeting Order)에서 보고된 거래의 대부분이 쉘 컴퍼니 (shell company, 명의만 있고 자산이나 사업 활동이 없는 회사)를 매수하여 특혜를 누리고 있는 것으로 드러난 일반 개인이 저지른 범죄와 관련되어 있다는 사실을 발견했습니다. 그 결과 핀센 (FinCEN)은 기존의 GTO (특정지역수사) 기간을 2017년 8월 22일까지 180일 더 늘렸으며, 올해 말까지 더 많은 도시의 영구적 데이터 수집을 검토하고 있습니다.  

GTO (특정지역수사)는 몇몇의 권리대행업체 (title companies, 부동산 거래의 책임 유지, 보증 및 확인을 담당)가 특정 거래조건을 충족하는 다음의 지역에서 은행 대출이나 외부 자금조달없이 주거용 부동산을 구매한 법인에 대해 25%이상의 지분 또는 그 이상에 해당하는 관리, 매각 및 기부권을 가진 개인 (natural person, 자연인)에 대해 확인해줄 것을 요청했습니다:

  • 미화 5십만 달러 혹은 그 이상 – 베어 카운티 – 텍사스
  • 미화 1백만 달러 혹은 그 이상 – 마이애미, 브로워드, 팜 비치 카운티 – 플로리다 
  • 미화 1백 5십만 달러 혹은 그 이상 – 브룩클린, 퀸즈, 브롱스, 스테이튼 아일랜드
  • 미화 2백만 달러 혹은 그 이상 – 샌디에이고, 로스엔젤레스, 샌프란시스코, 샌 마티오, 산타클라라 카운티 – 캘리포니아 
  • 미화 3백만 달러 혹은 그 이상 – 맨하탄 

위 같은 조치는 고도로 발달한 시장속에서 악랄한 자금세탁범들에 대항하기 위한 첫 걸음입니다. 그러나 수 백만 달러를 은닉하고 있는 백만장자 Zhou (조우, 흔한 중국 성씨)들은 평소와 다름없이 자금세탁사업을 계속해 나갈것입니다.

미국은 삼엄한 감시의 눈초리를 가진 베이징과 실제로 자본 도피를 뿌리뽑으려하는 정부들의 입장에서 여전히 자금세탁에 유리한 곳입니다. 그리고 위 같은 투자 제한이 있는 한, 투자자들은 정상적이고 깨끗한 은행 계좌 개설과 부동산 현금 구매 시 몇 가지 복잡한 어려움을 겪을 것입니다.

비트코인으로 자금세탁을 한다면 

홍콩과 미국의 부동산시장을 통해 미화 수 백억 달러를 세탁 및 은닉하는 것은 매우 쉬운 일입니다. 그렇다면 금융계에 깜짝 등장하여 인기를 얻고 있는 비트코인을 통한 자금세탁은 어떨까요?

여러분께서 미화 1백만 달러의 현금을 비트코인으로 세탁할 경우를 가정해봅시다.

여기에는 두 가지 방법이 있습니다: 여러분은 거래소에서 계정을 개설하거나 중개인과 함께 장외거래 (OTC, over-the-counter)를 할 수도 있습니다.

이 정도 규모의 거래를 처리할 수 있는 거래소는 모두 은행과 매우 밀접한 관계를 맺고 있습니다. 위 같은 은행은 전 계정에 대해 광범위한 고객확인절차 (KYC) / 자금세탁방지 (AML) 절차를 요청할 것입니다. 상기 절차의 목적이 자금 흐름을 숨기기 위함이라면, 이는 차선책에 해당합니다. 소환장 송달과 동시에 해당 거래소는 고객 정보를 제출할 의무가 생깁니다.

여러분이 거래소를 활용할 수 없다면, 아마도 장외거래 (OTC) 중개인이 여러분의 거래를 도울 것입니다. 하지만 불행하게도 대부분의 중개인 역시 고객확인절차 (KYC) / 자금세탁방지 (AML)절차를 준수해야하며, 은행과의 밀접한 관계를 유지해야합니다.

유동성의 대부분은 거래소와 불평많은 장외거래 (OTC) 중개인을 통해 확보됩니다. 고객확인절차 (KYC) 및 심의를 하지 않는 중개인들이 있지만, 그들의 스프레드와 시장 사이의 경쟁은 매우 치열할 것입니다. 여러분의 거래를 처리할 수 있는 능력을 가진 중개인은 20% 혹은 그 이상의 수수료를 여러분에게 청구할 것입니다.

고객확인절차 (KYC)를 위한 정보 제공에 동의하지 않을 경우, 암호화폐 자본 시장을 통한 자금 세탁은 매우 어려운 일입니다. 부동산은 자금세탁에 훨씬 용이하며, 기득권층인 정부와 부동산 중개업자들은 여러분이 이에 동참하기를 원합니다. 또한, 그들은 고객확인절차 (KYC) / 자금세탁방지 (AML)절차 보고 요건을 완화시키기 위한 모든 노력을 다 할 것입니다. 결론적으로 사토시 (Satoshi) 즉, 비트코인은 불법 자금 조달을 위한 최대의 조력자가 아닙니다: 비트코인이 아닌 미국이라는 거대한 국가입니다.