페드로 도밍고스 <마스터 알고리즘> 리뷰
1. 이젠 AI를 보고 조류독감(Avian Influenza)보다 인공지능(Artifitial Intelligence)을 떠올리는 것이 더 자연스러운 시대이다. 그 중심에는 데이터 처리 기술에 힘입어 최고의 주가를 달리는 머신러닝이 있다. 심지어 우리 학교 비공대 학생들도 필수교양으로 Python을 배우는 지경에 이르렀다. 유행 하나는 기가 막히게 잘 따라가는 한국인들인 만큼, 현재 여기저기서 빅데이터 전문가 양성 코스를 쉽게 찾아볼 수 있다. 코딩은 외국어와 더불어 필수 소양으로 거듭났다.
2. 따라서 머신러닝의 존재감과 활용도가 무시할 수 없을 정도로 증대되었기에, 굳이 머신러닝을 업으로 삼지 않는 사람들이라도 교양으로서 이를 파악해 놓을 필요가 생겼다. 자세한 기술적 측면이 아닌 머신러닝의 큰 그림과 줄기, 그 영향력을 읽어낼 필요가 있다는 것이다. 머신러닝은 삶에 편리함만을 주는 것이 아니라 산업혁명의 흐름을 타고 세상을 바꾸는 중이다. 이 시대에 태어난 이상 머신러닝으로부터 자유로울 순 없다. <마스터 알고리즘>은 '마스터 알고리즘'이라는 완전체 머신러닝을 꿈꾸면서, 모든 머신러닝 분야를 아우르는 알고리즘을 만들어내고자 한다. 그러기 앞서 대표적인 머신러닝들의 특징과 한계를 하나하나 살펴보고 어떻게 마스터 알고리즘이라는 길에 다다를 수 있을지 비전을 제시한다.
3. 먼저 잘 작동하는 좋은 규칙의 모음을 찾아내고 '역연역법(inverse deduction)'이라는 과정으로 새로운 지식을 축적해나가는 기호주의자들의 머신러닝이 있다. 좋은 규칙(고양이 얼굴 인식)이란 우리가 원하는 사례인 긍정적 예(고양이 얼굴)를 최대한 포함하고 부정적 예(개의 얼굴)를 최대한 배제하는 것이다. 그리고 'A는 B이다'라는 규칙과 '따라서 A는 C다'를 역연역법으로 종합하여 'B는 C다'라는 틈새의 규칙을 찾아낸다. 기호주의자의 머신러닝은 논리적 과정에 의해 이루어지는 것이다. 하지만 역연역법은 잡음(noise)에 취약하고 전제와 결론에 오류가 있으면 추론 중간에 무엇이 잘못되었는지 파악하기 어렵다. 그리고 실제 개념은 딱 떨어지는 규칙으로 간결하게 정의되지 않는 경우가 대부분이다.
4. 다음으로 우리 뇌의 신경망을 모방한 연결주의자의 머신러닝이 있다. 퍼셉트론(perceptron)이라 불리는 이들의 알고리즘은 여러 개념 표현에 가중치를 할당하고, 이들의 합이 한계값을 넘으면 작동하도록 만들어졌다. 퍼셉트론은 가중치와 한계값을 조정하면서 학습한다. 퍼셉트론의 모델은 긍정적인 예와 부정적인 예를 나누는 선형 경계, 즉 초평면(hyperplane)으로서 결정된다. 그러나 배타적 논리합(경계가 더 필요한 경우)을 다룰 수 없다는 한계가 존재한다. 한편 다층 퍼셉트론 기술은 입력과 신경망으로부터 되돌아오는 오류 신호의 비교를 통해 연결 가중치를 조절하는 방식(역전파(backpropagation) 알고리즘)으로 이를 해결한다. 하지만 역전파는 최적화 문제를 동반하므로 국소 최적점에 갇혀버려 나쁜 성능을 보일 수도 있다. 그리고 다층 퍼셉트론 자체는 기호주의 시스템과 달리 상식적 추론(그녀가 점심으로 신발을 먹었는가?)을 하지 못한다. 그저 학습 이후에 고정된 기능만 반복하여 수행하기 때문이다.
5. 진화주의자의 머신러닝인 유전 알고리즘도 퍼셉트론처럼 자연을 모방한다. 하지만 역전파는 신경망에 이미 정해진 구조에서 학습하는 반면에, 유전 알고리즘은 일종의 짝짓기(교차) 과정을 통해 구조 자체를 바꾸어 나간다. 이 과정은 임의적이며, 적응을 잘하는 비트 열(혹은 프로그램)이 다음 세대에 많이 나타나게 된다. 한 마디로 퍼셉트론은 후천적이고, 유전 알고리즘은 선천적이다. 한편 유전 알고리즘도 약점이 있다. 교차 과정에서 적응력이 높은 개체가 잠재력이 좋은 개체를 몰아내는 경향이 있고, 궁극적으로 자연을 순진하게 모방한 접근법은 데이터가 많아도 많은 정보를 뽑아낼 수가 없다. 특히 암 치료와 같이 어려운 문제를 해결하려면 진화 알고리즘만으로는 역부족이다.
6. 세상의 모든 것을 확률로 판단하는 베이즈주의자의 머신러닝은 어떨까. 이들의 모델은 확률 이론에서 조건부 확률를 다루는 '베이즈 정리(Bayes' Theorem)'에 있다. 우리는 독감 환자(B)의 몇 퍼센트가 열(A)이 나는지 안다(P(A|B)). 하지만 필요한 건 열이 있는 환자가 독감에 걸렸을 확률(P(B|A))이다. 이때 필요한 열쇠가 베이즈 정리이다. 시리(Siri)와 같은 음성 인식 기술에 베이즈 정리 기반의 은닉 마르코프 모형(HMM)이 이용된다. 이 시스템은 표현(소리)으로부터 은닉(단어)을 추론한다. 현재 단어가 주어졌을 때 다음에 올 단어의 확률, 그리고 어떤 단어를 발음했을 때 들을 수 있는 소리들의 확률을 계산하는 식이다. 이 외에도 베이즈 네트워크라는 모델을 통해 특정한 사건이 일어날 확률을 독립 조건 하에서 간단히 곱으로 표현하고 추론할 수 있다. 베이즈주의자의 머신러닝은 이렇게 세계를 확률화시킨다. 하지만 이들에게는 진실이 없다. 언제나 사후 분포 확률을 구하는 것이 전부이며, '지구가 태양을 돈다'는 과학적 사실도 확률로서 표현된다. 우리에게는 확률과 논리 두 가지가 모두 필요하다.
7. 이번에는 비슷한 것을 찾아내는 유추주의자의 머신러닝을 살펴보자. 대표적으로 k-최근접 이웃 알고리즘은 데이터 상에서 k개의 최근접 이웃을 찾아내 투표에 부친다. 새로 올라온 영상의 최근접 영상 3개 중 하나가 얼굴이고 2개가 얼굴이 아니라면, k-최근접 이웃 알고리즘은 새로 올라온 영상을 얼굴이 아니라고 판단한다. 이 알고리즘은 무척 단순하지만, 특성이 수없이 늘어나면 '차원의 저주(curse of dimensionality)'라는 제동이 걸린다. 무관한 특성들로 인해 우연한 유사성이 넘쳐나서 정작 중요한 특성을 구분할 수 없게 된다는 것이다. 결국 알고리즘은 무작위 추측에 비해 나은 것이 없어진다. 또한 고차원에서는 이상한 현상이 벌어지는데, 정육면체로 구를 근사시키는 경우 3차원에서는 유효하지만 고차원에서는 초정육면체와 초구(hypersphere)의 체적 차이가 급격히 벌어진다. 한편 SVM(support vector machine)이라 불리는 분류 알고리즘은 예제들 사이에 최적화된 경계선(서포트 벡터)을 놓는다. 이는 다층 퍼셉트론에 비하여 가중치 찾기가 용이하고 경계선이 직선이기에 경계의 형태가 단순하다.
8. 앞서 말한 다섯 가지 알고리즘은 지도 학습(supervised learning)이라 불리고, 이 외에도 비지도 학습과 강화 학습(reinforcement learning)이라 불리는 또다른 하위 분야가 존재한다. 비지도 학습은 먼저 사물을 군집화한다. 데이터를 비슷한 것끼리 묶는 것이다. 물론 군집을 어떻게 효율적으로 나누느냐의 문제가 발생한다. 가령 얼굴을 나타내는 수많은 특성들이 주어진다면, 머신러닝은 중요한 특성들만 찾아내 요약하는 과정(차원 축소)을 거칠 필요가 있다. 강화 학습은 보상과 처벌이라는 시스템으로 움직인다. 이 알고리즘은 스스로 탐험하고 상을 찾은 뒤 미래에 상을 찾을 방법을 다시 파악하기를 반복한다. 강화 학습을 통해 머신러닝이 게임상에서 비약적인 퍼포먼스를 보여준다는 건 우리에게도 익숙하다. 하지만 강화 학습은 목표 가치가 일정한 지도 학습과 달리 목표 가치를 계속 갱신하므로 안정된 해답을 도출하는데 자주 실패하는 단점이 있다.
9. 최종적으로 저자인 페드로 도밍고스는 위의 알고리즘을 모두 통합한 '마스터 알고리즘'의 개략적인 형태인 알케미(Alchemy)를 제시한다. 논리 공식과 가중치의 집합인 '마르코프 논리 네트워크'를 기반으로 논리와 가중치 벡터를 통합하여 특수한 확률을 뽑아내는 것이 그의 아이디어이다. 물론 알케미가 아직 완벽하지는 않지만 개념과 개념 사이의 관계 집합인 의미망을 학습하는 데에 성공했다. 나아가 저자는 세상을 유형별로 파악하는 능력을 알케미에 결합시키고자 한다. 세상은 나라, 도시, 마을 등의 다양한 계층 구조를 지니며, 무작위의 정글이 아니기 때문이다. 유형을 학습하면 추론을 추적하는 것은 물론이고 계산 시간도 절약할 수 있다. 세상이 어떻게 구성되었는가라는 사전 지식 또한 요구하지 않는다.
10. 리뷰를 훑어봤다면 알겠지만 <마스터 알고리즘>은 무작정 읽기에는 상당히 까다롭다. 수식이 거의 등장하지 않아도 상당한 수학 개념을 요구하기 때문에 아예 이공계가 아닌 사람이 읽기에는 어려운 책이다. 또한 전공자 기준에서도 얼렁뚱땅 넘어가는 부분도 많아 대중성과 전문성 사이에서 애매한 위치를 점하고 있는 것도 사실이다. 특히 '마스터 알고리즘'의 개념이 쉽지 않기 때문에 실제 설득력이 있는 주장인지, 아니면 그저 요원한 바람인지 유의미하게 평가하기도 어렵다. 그저 다양한 머신러닝의 유형을 알아봤다는 데에 만족하는 것이 바람직해 보인다. 개인적으로 <마스터 알고리즘>은 나에게 지식의 형태에 대해 새로운 지도를 제시했다. 논리와 확률, 분류, 자극과 반응 등등.... 머신러닝 알고리즘은 결국 인간을 투사한 것이 아니던가? 이는 머신러닝에 흥미를 더해주는 또 다른 이유이다.