제1장 머신러닝의 혁명이 시작됐다
-
기호주의자(symbolists)는 학습을 연역의 역순으로 보며 철학과 심리학, 논리학에서 아이디어를 얻는다. 연결주의자(connectionists)는 두뇌를 분석하고 모방하며 신경과학과 물리학에서 영감을 얻는다. 진화주의자(evolutionaries)는 컴퓨터에서 진화를 모의시험하며 유전학과 진화생물학에 의존한다. 베이즈주의자(bayesians)는 학습이 확률 추론의 한 형태라고 믿으며 통계학에 뿌리를 둔다. 유추주의자(analogizers)는 유사성(similarity) 판단을 근거로 추정하면서 배우며 심리학과 수학적 최적화의 영향을 받는다.
머신러닝의 다섯 종족은 각자 자기만의 마스터 알고리즘이 있다. 마스터 알고리즘이란 이론상으로 어느 영역의 데이터에서도 지식을 발견해 내는 범용 학습 알고리즘(general-purpose learner)이다. 기호주의자의 마스터 알고리즘은 연역법(inverse deduction)이고 연결주의자의 마스터 알고리즘은 역전파(backpropagation)이며 진화주의자의 마스터 알고리즘은 유전자 프로그래밍(genetic programming)이고 베이즈주의자의 마스터 알고리즘은 베이즈 추정(Bayesian inference)이며 유추주의자의 마스터 알고리즘은 서포트 벡터 머신(support vector machine)이다.
우리가 진정으로 원하는 것은 다섯 가지 마스터 알고리즘의 핵심 특성을 모두 지닌 단일한 알고리즘, 즉 최종 마스터 알고리즘 이다.
-
알고리즘이란 컴퓨터가 수행할 일을 순서대로 알려주는 명령어의 집합이다. 컴퓨터는 트랜지스터라 불리는 소형 스위치 수십억개로 구성되고, 알고리즘은 이들 스위치를 1초에 수십억 번씩 켜고 끈다. 가장 단순한 알고리즘은 스위치 상태를 바꾸는 프로그램이다. 트랜지스터 하나의 상태는 정보 비트 한 개를 나타내어 트랜지스터가 켜지면 1이고 꺼지면 0이다.
두번째로 단순한 알고리즘은 비트 두개를 결합하는 프로그램이다. 트랜지스터 B와 C 두 개 모두 켜졌을 때만 트랜지스터 A가 켜진다면 논리 연산의 기본 동작 중 논리곱(AND)을 나타낸다. 트랜지스터 B와 C 중 하나라도 켜졌을 때 A가 켜진다면 논리 연산의 기본 동작 중 논리합(OR)을 나타낸다. B가 꺼질 때마다 A가 켜지거나, 혹은 그 반대라면 논리 연산의 세 번째 기본 동작인 부정(NOT)을 나타낸다. AND, OR, NOT 세 가지 기본 동작이면 아무리 복잡한 알고리즘도 표현할 수 있다. 매우 정교한 추론 과정도 논리 연산 기본 동작들의 횟수를 늘리면 수행 가능하다. 흔히 컴퓨터는 숫자가 전부라고 생각하지만 사실은 논리가 컴퓨터의 전부다.
하지만 새로운 일을 할 때마다 매번 트랜지스터를 새롭게 조합한 컴퓨터를 만든다면 많은 비용이 들 것이다. 대신 현대의 컴퓨터는 엄청나게 많은 트랜지스터를 모아 놓고 일에 따라 켜지는 부분이 달라지는 방식으로 작동한다.
명령어는 컴퓨터가 수행할 수 있을 정도로 정확하고 분명해야 한다. 컴퓨터는 특정 트랜지스터를 켜거나 꺼야 하는 수준까지 자세히 지정해 주는 알고리즘으로 작동한다.
-
알고리즘 설계는 쉽지 않다. 함정이 아주 많고 당연하다고 여길 것이 하나도 없다. 알고리즘을 설계한 뒤에는 자바나 파이썬 같이 컴퓨터가 이해할 수 있는 언어로 바꿔야 한다(이 과정에서 알고리즘은 프로그램이라 불린다). 그 후 컴퓨터가 제대로 프로그램을 수행하도록 프로그램에서 오류를 찾아 없애는 디버깅(debugging) 작업을 해야 한다. 하지만 일단 당신이 원하는 일을 수행하는 프로그램을 얻으면 정말 큰 일을 해낼 수 있다.
-
알고리즘의 에덴동산에도 뱀이 있다. 그 뱀은 복잡성 괴물(complexity monster)이라 불린다. 이 복잡성 괴물은 히드라처럼 머리가 여러 개다. 공간복잡성(space complexity)은 알고리즘이 컴퓨터 저장 장소에 보관할 정보량의 크기다. 컴퓨터가 제공할 수 있는 기억 장소보다 더 큰 기억 장소가 필요하면 이 알고리즘은 사용할 수 없으며 포기해야 한다. 시간복잡성(time complexity)은 알고리즘을 수행하는 데 걸리는 시간, 즉 원하는 결과를 얻기까지 알고리즘이 트랜지스터를 사용하는 횟수를 의미한다. 우리가 기다릴 수 있는 시간보다 알고리즘을 수행하는 시간이 더 길다면 그 알고리즘은 쓸모가 없다. 가장 무시무시한 얼굴은 사람복잡성(human complexity)이다. 알고리즘이 너무 복잡하게 뒤얽혀서 인간 두뇌가 이해하지 못하거나, 알고리즘의 여러 부분 사이에서 일어나는 상호작용이 너무 많고 복잡하면 오류가 슬금슬금 발생하는데, 사람이 발견하지 못해 고치지 못할 경우 알고리즘은 우리가 원하는 동작을 수행하지 않는다. 어떻게든 작동하게 만들더라도 결국 사람들에게 불필요하게 복잡하고, 다른 알고리즘과 잘 어울려 작동하지 못하며, 언젠가 나타날 문제점들이 잠복하게 된다.
-
머신러닝은 데이터와 원화는 결과를 넣으면 데이터를 결과로 바꿔주는 알고리즘을 내놓는다. 머신러닝은 학습자(learner)라고도 알려져 있는데 다른 알고리즘을 만들어내는 알고리즘이다.
머신러닝은 여러가지 형태를 띠고 다른 이름으로 불린다. 패턴 인식, 통계 모형, 데이터 마이닝, 지식 추론, 예측 분석, 데이터 사이언스, 적응형 시스템, 자기 조직 시스템 외에 다른 이름도 있다. 머신러닝은 인공지능과 혼동되기도 한다. 기술상 머신러닝은 인공지능의 하위분야다. 인공지능의 목표는 컴퓨터를 가르쳐서 지금은 사람이 하는 일을 더 잘하게 하는 것이고, 이를 달성하는 데 학습이 가장 중요한 요소다.
-
전통적으로 컴퓨터 과학에서는 결정론적 사고가 최고지만 머신러닝에서는 통계적 사고가 필요하다. 예를 들어 전자 우편을 스팸으로 인식하는 규칙이 99퍼센트 정확하다면, 결정론적 사고는 그 규칙에 결함이 있다고 판단하지만 통계적 사고는 당신이 할 수 있는 최선이고 충분히 유용할 거라고 판단한다.
-
컴퓨터에서 인터넷으로 그리고 머신러닝으로 발전한 것은 피할 수 없는 과정이다. 컴퓨터로 인터넷이 가능했고 인터넷으로 데이터의 홍수와 무제한의 선택 문제가 생겼다. 머신러닝은 무제한의 선택 문제를 해결하고자 홍수 같은 데이터를 처리한다. 인터넷만으로는 <모두에게 맞는 하나>에서 <무한대의 다품종 소량>으로 수요를 바꾸지 못한다.
최선의 알고리즘과 최대의 데이터를 보유한 기업이 승리한다. 가장 많은 고객을 보유한 회사가 가장 많은 데이터를 수집하고 가장 좋은 모형을 학습하고 가장 많은 신규 고객을 얻으며, 이러한 선순환이 계속 이어지는 것이다.
데이터는 새로운 석유다, 라는 말은 인지 있는 후렴구이고 석유처럼 데이터도 정제하는 일이 큰 사업이다.
-
머신러닝은 2012년 대통령 선거에서 정권 창출자였다. 미트 롬니의 선거운동본부는 관례적인 여론 조사 방식으로 접근하여 유권자를 넓은 범주로 나누고 집중 대상을 선별했다. 대조적으로 오바마 대통령은 머신러닝 전문가인 레이드 가니를 선거운동본부의 최고 과학자로 고용했고 가니는 정치 역사상 가장 큰 규모의 분석 작업을 총괄했다.
오바마의 분석원들은 사회관계망과 시장, 그 외 다른 출처에서 얻은 데이터 등 모든 유권자 정보를 단일 데이터베이스로 통합하고, 개별 유권자에 대해 네 가지 유권자 개별 맞춤 사항을 제시했다. 그 사람이 오바마를 얼마나 지지할 것 같은가, 투표장에 얼마나 나타날 것 같은가, 선거 때 투표하라는 요청에 얼마나 호응할 것 같은가, 특정한 사안을 놓고 대화를 나누면 이 선거에 대한 생각을 바꿀 가능성이 얼마나 되는가를 예측한 것이다. 이 유권자 모형에 근거하여 매일 밤 오바마 선거운동본부는 6만6000번 모의실험을 실시했고 그 결과를 바탕으로 누구에게 전화를 걸고 어느 집을 방문하고 무슨 말을 할지 선거 자원봉사자들에게 지시했다.
롬니 측에서는 상대방이 특정 지역의 특정 케이블 방송국에 광고하는 것을 보면서도 왜 그러는지 몰랐다. 그들의 천리안 수정 구슬은 너무 흐릿했다. 결국 오바마가 노스캐롤라이나를 제외한 초접전 경합 주에서 모두 이겼고, 가장 정확한 여론 조사에서 예측한 수치보다 더 큰 차이로 승리했다.
2장. 마스터 알고리즘은 어떻게 탄생하는가
-
머신러닝의 넓은 으용 범위보다 훨씬 더 놀랄 만한 것은 여러 분야의 일을 한 가지 똑같은 알고리즘으로 처리한다는 사실이다. 예를 들어 짧은 방정식 하나로 표현할 수 있는 나이브 베이즈(Naive Bayes)라는 머신러닝 알고리즘을 살펴보자. 환자의 증상과 시험 결과 특별한 조건의 보유 여부를 기록한 데이터베이스가 있을 때 나이브 베이즈는 1초도 안되는 시간에 증상을 진단하는 법을 배울 수 있다. 같은 알고리즘이 스팸분류기를 학습시키는 일에도 쓰인다.
최근접 이웃 찾기 알고리즘(nearest-neighbor algorithms)은 필기체 인식에서 로봇 팔을 조정하고 당신이 좋아할 만한 책과 영화를 추천하는 일까지 거의 모든 분야에 사용되어 왔다.
이와 비슷한 능숙함으로 의사결정트리(decision tree) 알고리즘은 신용카드 거래 요청의 승인 여부를 결정하는 일과 DNA에서 이어 맞춤 접합 부위를 찾는 일, 체스 게임에서 다음 수를 선택하는 일을 한다.
-
신경과학에서 : 선천적으로 맹인의 시각 피질은 다른 뇌 기능을 수행한다. 청각 장애인의 청각 피질도 같은 식으로 작동한다. 이 모든 것은 여러 감각에 할당된 뇌의 영역이 단지 눈이나 귀, 코 등 입력에 따라 구분될 뿐이며 뇌는 전적으로 같은 학습 알고리즘을 사용한다는 증거다.
두뇌의 구조 안에서 일어나는 계산은 모두 비슷하다. 두뇌에 담긴 모든 정보는 신경세포의 일정한 전기적 발화 형태를 보이며 같은 방식으로 표현된다. 학습 과정도 가다. 즉 기억은 함께 발화하는 신경세포 사이의 연결이 장기 전위 형성(long-term potentiation)이라 알려진 생화학 과정을 거치며 강화되어 생긴다.
페드로 도밍고스, <마스터 알고리즘> 중에서
'Review' 카테고리의 다른 글
드라이브 마이 카 (0) | 2022.01.02 |
---|---|
해리포터와 마법사의 돌 (0) | 2021.12.19 |
프렌치 디스패치 (0) | 2021.11.21 |
청춘시대 (0) | 2021.11.09 |
초예측 : 세계 석학 8인에게 인류의 미래를 묻다 (0) | 2021.10.17 |