디지털 분석과 최적화에 대한 이야기로 강의를 하면서 세계 이곳 저곳을 다니면서 살아온 지난 7년의 삶을 돌이켜보면, 처음 1-2년 차엔 고객도 나도 잘 몰라서 서로 헤매던 시기가 있었고 한편 너무 감사했던 것은 그때는 고객도 시장도 모두 이 분야의 초보로 막 시작하던 단계였으로 나의 얕은 지식과 미천한 경험으로도 고객들이 만족하는 때가 있었다. 그리고 그 후 몇 년 고객과 시장의 성장, 솔루션의 성장과 함께 같이 솔루션의 범위가 날로 방대해져서 예전엔 고객들이 너무 먼 미래의 이야기 같아서 관심 조차 없었던 부분이 갑자기 어느 날 부터 핫한 주제도 떠오르는 경우가 있다. Machine Learning, 이 부분이 그 중의 하나다. 내가 하는 솔루션 강의에 Machine learning 이라는 용어가 등장하기 시작한 것은 3년이 좀 넘었다. 이 부분은 분석 솔루션보다는 웹사이트를 테스트를 통해 최적화 솔루션의 기능 중 하나로 등장하는데 3년 전 만에도 이 부분을 소개할때마다 고객들의 대부분 반응이 ‘글쎄. 그 부분 블랙박스 잖아. 글쎄.. 기계의 알고리즘을 어떻게 신뢰해?” 하는 회의적인 견해들이 대부분이었고 그저 많은 옵션 중의 하나가 될 수도 있겠다는 막연한 부분이었다. 사실 비즈니스 고객들은 전혀 관심 밖의 분야였다.
그런데 “Machine Learning” 이 도대체 뭘까? 간단히 설명하자면 마치 인간이 새로운 지식을 습득하는 것과 같이, 많은 데이터를 입력으로 받아서, 기계가 기본적인 알고리즘에 근거하여 스스로 학습하여 가장 최적의 답을 찾아가도록 하는 것이다. 마치 인간 두뇌의 뉴런이 스스로 확장하면서 지식을 확장하듯이, 기계의 알고리즘도 학습에 더 똑똑해지고 정확해지는 과정으로 진화해가는 것이다. 테스팅을 하는 최적화 솔루션들의 경우, 기존의 AB Test 나 MVT 등의 방법으로 웹사이트를 test 하거나 최적화하도록 지원을 하는데 마케터들의 직감이나 만들어질 수 있는 테스트 시나리오는 매우 한계가 있으므로, 수집이 가능 거의 모든 데이터를 입력받아서 사람의 힘이 아닌, 알고리즘의 힘으로 가장 잘 어필이 될 수 있는 컨텐츠를 그것을 좋아할 만한 고객에게 제공하자는 것이다. 그야말로 마케팅들이 꿈꾸는 개인화된 마케팅의 꿈을 알고리즘에 의한 기계의 힘으로 가능하게 하자는 것이 Machine learning 을 통해 현실로 이루는 시대가 드디어 도래한 것이다. 이렇다보니, 요즘의 고객들은 우리는 기꺼이 이것을 Buy-in 하겠다며 알고 싶고 배우고 싶다는 고객들이 점차 많아지고 있다. 호주의 어느 파트너 회사는 이 분야는 고객들이 관심이 많아서 내부 인력들과 이미 알고리즘으로 솔루션화 하려고 스터디하고 있는 부분인데 이미 너희 솔루션에 이런 부분이 있었냐며 기꺼이 고객에게 소개하겠다는 뜨거운 반응을 보인다. 3년 전 관심없다던 그 주제는, 이제 가장 인기있는 부분이 되었다.
상황이 이렇다보니, 이제 Machine Learning은 어느 특정한 기술팀의 관심사가 아니라, 마케팅 부서 심지어 디지털 마케팅을 잘 모르는 비즈니스 리더들이 이것이 어떻게 비즈니스에 활용될 수 있는 관심을 가지기 시작했다. 그런데 사실 실상은 그렇게 평범하고 간단하게 해석되거나 이해될 수 있는 부분은 아니다. 여기에 대해 HBR에서 소개가 된 적이 있는 글(HBR, What Every Manager Should Know About Machine Learning by Mike Yeomans on JULY 07, 2015)을 인용하여 관리자들이 Machine Learning에 대해 알았으면 하는 몇가지의 포인트를 소개한다.
- Big Data 보다 Wide Data
Machine learning을 위한 입력으로 사용되는 data는 단순히 동일 속성의 많은 data가 필요한 것이 아니라, 데이터를 통해 알고리즘이 최적화하기 위한 여러 속성의 data가 필요하게 된다. 그러므로 많은 행(row) 만큼 넓은 범위의 많은 열(column)이 제공되어야한다. 예를 들면 어느 온라인 쇼핑몰을 운영하는 회사가 있다고 하자. 그 회사의 매출정보는 당연히 중요하지만, 그 매출에 이르게 하는 방문자의 많은 행동 정보가 더 중요하다. Machine learning 에서 필요한 것은 이런 데이터들이다.
- 인과관계(Causality)가 아닌 예측(Prediction)
Machine learning이 기존의 통계툴과 가장 다른 점은 전통적인 통계가 인과관계에 의한 분석이었다면 , Machine leaning은 예측을 기반으로 한다. 예를 들면, 일기예보를 생각해 보자. 일기예보는 우리가 아침에 출근 할때 우산을 가지고 가지 말지 결정할 수 있도록 예측정보를 제공한다. 사실 우리는 구름이 어떻게 움직이는지, 날씨가 중간에 어떻게 변할지에 대한 것에는 별로 관심이 없다. Machine learning은 같은 맥락이다. Machine learning 툴은 마케터에서 이 방문자가 이런 제품을 선호할 것이라고 제안한다. 그런데 이 방문자가 성향이 중간에 바뀌는 경우면 어떻게 될지, 혹은 왜 이런 제품을 선호하는지에 대해서는 설명하지 않는다.
- 노이즈로 부터 의미있는 신호를 분리
간단하게 Machine learning의 로직을 설명하자면 크게 3개의 단계가 필요한데, 1) Feature extraction (속성의 추출) 즉, 어떤 data를 모델에서 사용할 것인가 결정 2) Regularization (정규화), 어떤 data를 모델안에서 가중치를 둘 것인가 3) Cross-validation(교차 검증), 모델이 정확도에 대한 검증이 그 것이다. 모든 Data는 이 단계를 거쳐서 학습의 단계에서 배제되어야할 노이즈를 제거한 의미있는 신호들을 분리해내는 작업들을 거듭한다.
- Machine Learning 을 고려할때 피해야 할 실수
가장 많이 실수를 하는 부분은 Machine learning을 인과관계 모델로 오인하는 것이다. 사람의 사고 체계는 어떤 환경이 변화하면 그 결과가 어떻게 변할까를 생각하는 인과관계 모델에 고정되어있으나, Machine learning 에서 인과관계는 우선 순위가 아니다. 대신 안정적 환경에 기반하여 의사 결정을 최적화하기 위해 노력하는 것이 machine learning 의 기본 로직이다. 이러한 맥락에서 “out-of-sample” 과 “out-of-context”의 차이점을 이해하는 것은 매우 중요한데, out-of-sample 란, 예를 들면 동일한 환경에서 data를 추출했을 경우라면 동일한 결과를 얻어 낼수 있으나 완전히 다른 환경에서 data 를 추출했을 경우 그 결과를 단정할 수 없음을 의미한다. 예를 들면, 똑같은 제품이라해도 온라인샾과 오프라인샾에 동일한 모델을 적용할수는 없다는 의미다. Out-of-context 모델을 활용할 수 있는 경우는 대용량의 정보에, 예를 들면 작년에 사용했던 유사한 Context 기반의 모델을 가지고 현재의 데이터에 적용, 비교 분석을 해 보는 경우다. Context가 완전히 다른 경우라면, 동일한 모델을 적용한 경우라도 원하는 결과를 기대하기는 어렵다.
정말이지 Machine learning은 엄청난 잠재력이 있는 분야인 것은 분명해졌다. 그러나 아무리 툴이 자동화된다 할지라도 더 건강한 시스템을 위한 인간의 개입은 필요하다. 예를 들면 기계에 의한 의사결정에서 오는 Bias 와 error를 오히려 인간의 판단을 통해 개선을 할 수 있다. 그러하므로 이런 시대가 도래할 수록 인간과 기술의 업무 분장은 더욱 중요해질 것 같다.
왠지 로봇 동료들과 같이 일할 날들이 우리가 생각했던 것 보다 훨씬 더 빨리 올지도 모르겠다는 뜬금없는 생각을 해 본다.
좋은 글 감사합니다