JANGUN


마스터 알고리즘(The Master Algorithm)
: How the Quest for the Ultimate Learning Machine Will Remake Our World

저자 : 페드로 도밍고스 (2015)
강형진 옮김 | 최승진 감수 (2016)


목차

들어가는 글
1. 머신러닝의 혁명이 시작됐다
2. 마스터 알고리즘은 어떻게 탄생하는가
3. 흄이 제기한 귀납의 문제 _ 기호주의자의 머신러닝
4. 우리 두뇌는 어떻게 학습하는가 _ 연결주의자의 머신러닝
5. 진화, 자연의 학습 알고리즘 _ 진화주의자 머신러닝
6. 베이즈 사제의 성당에서 _ 베이즈주의자의 머신러닝
7. 당신을 닮은 것이 당신이다 _ 유추주의자의 머신러닝
8. 선생님 없이 배우기
9. 마스터 알고리즘을 위한 마지막 퍼즐 조각
10. 이것이 머신러닝이 펼치는 세상이다

들어가는 말

머신러닝의 다섯 종족은 각자 자기만의 마스터 알고리즘이 있다. 마스터 알고리즘이란 이론상으로 어느 영역의 데이터에서도 지식을 발견해 내는 범용 학습 알고리즘이다.
- 기호주의자 : 역연역법
- 연결주의자 : 역전파
- 진화주의자 : 유전자 알고리즘
- 베이즈주의자 : 베이즈 추정
- 유추주의자 : 서포트 벡터 머신
우리가 진정으로 원하는 것은 다섯 가지 마스터 알고리즘의 핵심 특성을 모두 지닌 단일한 알고리즘, 즉 최종 마스터 알고리즘이다.

제1장 머신러닝의 혁명이 시작됐다

알고리즘이란 컴퓨터가 수행할 일을 순서대로 알려 주는 명령어의 집합이다
머신러닝은 지식이나 기술을 배운다. ‘모든 인간은 언젠가는 반드시 죽는다’는 것은 지식이다. 자전거 타기는 기술이다.
- 머신러닝에서 지식은 자주 통계 모형의 형식을 띤다. 지식은 대부분 통계의 특성이 있기 때문이다. 모든 인간이 죽지만 단지 4퍼센트만 미국인이다. 라는 식이다.
- 기술은 자주 절차라는 형식을 띤다. 길이 오른쪽으로 굽어지면 운전대를 오른쪽으로 돌리고 차 앞으로 사슴이 뛰어 들어오면 급브레이크를 밟아라.
많은 경우 복잡한 것은 그 핵심에 있는 지식이지 절차는 매우 간단하다.

머신러닝은 여러 가지 형태를 띠고 다른 이름으로 불린다. 패턴 인식, 통계모형, 데이터 마이닝, 지식 추론, 예측 분석, 데이터 사이언스, 적응형 시스템, 자기 조직 시스템 등
머신러닝은 인공지능과 혼동되기도 한다. 기술상 머신러닝은 인공지능의 하위 분야지만 이제는 크게 성장하고 성공하여 부모 같은 인공지능이 자신보다 더 뛰어난 머신러닝을 자랑스러워할 정도다. 인공지능의 목표는 컴퓨터를 가르쳐서 지금은 인간이 하는 일을 더 잘하게 하는 것이고, 이를 달성하는 데 학습이 가장 중요한 요소다.
빅 데이터와 머신러닝으로 이전에 존재한 현상보다 훨씬 더 복잡한 현상을 이해할 수 있다.


제2장 마스터 알고리즘은 어떻게 탄생하는가?

머신러닝의 넓은 응용 범위보다 훨씬 더 놀랄 만한 것은 여러 분야의 일을 한 가지 똑 같은 알고리즘으로 처리한다는 사실이다.
이 책의 중심 가설은, 세상의 모든 지식, 즉 과거, 현재, 미래의 모든 지식은 단 하나의 보편적 학습 알고리즘으로 데이터에서 얻어낼 수 있다는 것이다. 이 머신러닝을 마스터 알고리즘이라 부른다
* 신경과학 - 현미경으로 대뇌 피질을 자세히 들여다보면 같은 결론에 도달한다. 똑 같은 연결 형태가 모든 곳에서 반복되어 나타난다. 두뇌의 구조 안에서 일어나는 계산은 모두 비슷하다. 두뇌에 담긴 모든 정보는 신경세포의 일정한 전기적 발화 형태를 보이며 같은 방식으로 표현된다. 학습 과정도 같다. 즉 기억은 함께 발화하는 신경세포 사이의 연결이 장기 전위 형성이라 알려진 생화학 과정을 거치며 강화되어 생긴다. 대뇌 피질의 일원성에 관한 다른 계통의 주장은 게놈의 빈약함을 근거로 삼는다. 우리 두뇌의 연결 수는 게놈 속 염기 배열 숫자의 100만배보다 크기 때문에 게놈이 두뇌가 어떻게 연결되어야 하는 지를 하나하나 정하기는 물리적으로 불가능하다. 두뇌가 배울 수 없는 무언인가가 있다면 우리는 그것이 존재하는지 알 수 없다. 우리는 그저 보지 못하거나 단순히 불규칙한 것으로 여길 뿐이다. 그러므로, 마스터 알고리즘을 발명하는 방법 가운데 가장 인기 있는 길은 두뇌를 역설계하는 것, 즉 두뇌를 분석하여 모방하는 것이다.
* 진화론 – 진화란 알고리즘이다. 신이 창조한 것은 생물의 종이 아니라 생물의 종을 창조하는 알고리즘이다.
* 물리학 – 마스터 알고리즘은 수학의 논리적 확장이다.
* 통계학 – 베이즈 정리는 데이터를 지식으로 바꾸는 장치다.
* 컴퓨터 과학 – 컴퓨터가 존재하는 것 자체가 마스터 알고리즘이 존재한다는 강력한 신호다. 학습 과정에서 튜링 기계가 연역을 수행한다며 마스터 알고리즘은 귀납을 수행한다.

마스터 알고리즘은 지지자 만큼이나 회의론자가 많다. 가장 분명한 거부는 머신러닝의 숙적인 지식공학에서 나온다 (수장: 마빈 민스키) 촘스키 교수는 모든 통계적 학습에 비판적이다.
“당신의 알고리즘이 아무리 똑똑해도 배우지 못하는 것이 있다.” – 인공지능과 인지 과학 분야에서 머신러닝을 반대하는 주장이다.
과학은 세 단계를 거친다. 브라헤, 케플러, 뉴턴 단계다. 티코 브라헤가 밤마다 그리고 해마다 인내심을 발휘하며 행성의 위치를 기록한 것처럼 브라헤 단계에서는 많은 데이터를 모은다. 케플러 단계에서는 케플러가 행성의 운동에 관하여 수행한 것처럼 경험범칙을 데이터에 끼워 맞춘다. 뉴턴 단계에서는 더욱 심오한 진리를 발견한다.

마스터 알고리즘에 대한 가장 강력한 반대는 머신러닝 실행자들의 이야기다.
마스터 알고리즘은 최고의 판도라 상자일 것이다. 컴퓨터가 우리는 노예로 만들 것인가, 혹은 아예 우리를 멸종시킬 것인가? 머신러닝이 독재자나 악독 기업의 시녀가 될 것인가? 머신러닝이 향하는 방향을 알면 무엇을 걱정해야 하고 무엇을 걱정하지 않아도 되고 머신러닝에 대해 무엇을 해야 하는지 이해하는 데 도움이 될 것이다.
이론이란 세상이 어떤 모습으로 가능할지에 대한 제약들의 집합이지 세상에 대한 완전한 설명은 아니다. 완전한 설명을 얻으려면 이론과 데이터를 결합해야 한다.

머신러닝의 다섯 종족은 기호주의자와 연결주의자, 진화주의자, 베이즈주의자, 유추주의자 등이다.
* 기호주의자(symbolists)는 모든 지능을 기호를 다루는 활동으로 귀결 짓는다. 수학자가 수식을 다른 수식으로 바꾸면서 방정식을 푸는 것과 같다. 기호주의자는 아무것도 없는 곳에서는 학습을 시작할 수 없다고 생각한다. 당신은 데이터와 함께 초기 지식이 필요하다. 기호주의자는 새로운 문제를 풀기 위하여 이미 존재하는 지식을 학습 과정에서 사용하는 방법과 단편적인 여러 가지 지식을 합치는 방법을 알아냈다. 그들의 마스터 알고리즘은 연역을 진행하는 데 필요한 지식 중 빠진 지식이 무엇인지 파악한 후 연역을 최대한 보편적으로 만드는 역연역법(inverse deduction)이다.
* 연결주의자(connectionists)에게 학습은 두뇌가 하는 활동인 터, 우리가 해야 할 일은 두뇌를 역공학으로 알아내는 것이다. 두뇌는 신경세포의 연결 강도를 조절하여 학습하며, 주요 문제는 어떤 연결이 오류를 일으키는지 파악하여 올바르게 수정하는 것이다. 연결주의자의 마스터 알고리즘은 역전파법(backpropagation)이다. 이는 시스템의 출력을 목표 값과 비교한 후 여러 층에 걸쳐 연결된 신경세포들의 연결 상태를 계속 바꾸어 시스템의 출력이 목표 값에 더 가깝게 한다.
* 진화주의자(evolutionaries)는 모든 학습의 어머니는 자연 선택이라고 믿는다. 자연 선택이 우리를 만들었다면 어떤 것이라도 만들 수 있고, 우리가 해야 할 일은 자연 선택을 컴퓨터에서 모의실험하는 것이 전부다. 진화주의자가 달성하려는 핵심 과제는 학습하는 구조물이다. 역전파법처럼 변수를 조절하는 것에 더하여 이러한 조절값들을 세부 조정할 수 있는 두뇌를 창조한다. 진화주의자의 마스터 알고리즘은 유전자 프로그래밍이며, 자연이 생명체를 짝 지우고 점진적으로 발달시키는 방식과 같은 방식으로 컴퓨터 프로그램을 짝 지우고 점진적으로 발달시킨다.
* 베이즈주의자(Bayesians)는 불확실성에 주목한다. 학습된 지식은 모두 불확실하여 학습 자체는 불확실한 추론의 형태를 띤다. 그러므로 오류가 끼어 있는 듯하고 불완전하며 서로 모순된 정보들을 흩어 버리지 않고 잘 다루는 방법을 찾는 것이 과제다. 해결책은 확률 추론이며 마스터 알고리즘은 베이즈 정리와 그 정리의 파생 수식이다. 베이즈 정리가 새로운 증거를 우리의 믿음에 어떻게 끌어넣을 지 알려주고, 확률 추론 알고리즘이 가능한 한 가장 효율적으로 그 일을 수행한다.
* 유추주의자(analogizers)에게 머신러닝의 핵심은 상황들 사이의 유사성을 인식하여 다른 유사점들을 추론하는 것이다. 환자 둘이 비슷한 증상을 보인다면 그들은 같은 병에 걸렸을 것이다. 핵심 과제는 두 사물이 얼마나 비슷한가를 판단하는 일이다. 유추주의자의 마스터 알고리즘은 서프트 벡터 머신(SVM)이며, 어떤 경험을 기억할 것인가와 새로운 예측을 위해 그 경험들을 어떻게 결합할 것인가를 파악한다.
진정한 마스터 알고리즘은 한 가지가 아니라 다섯 가지 문제를 모두 해결해야 한다. 종족마다 다른 퍼즐 조각을 가지고 있으며 우리는 이것들을 모아야 한다. 머신 러닝 개발자는 모든 과학자처럼 장님이 코끼리를 만지는 상황에 처해 있다. 우리의 목표는 결론을 바로 내리지 않고 각 부분을 만지는 것이다. 모든 부분을 만지고 나서 코끼리의 전체 모습을 그려 볼 것이다. 모든 부분을 결합하여 하나의 해법을 어떻게 만들지는 분명하지 않다. 불가능하다고 여기는 사람들도 있지만 이것이 우리가 앞으로 할 일이다.
컴퓨터 과학은 아직 젊은 분야이며 물리학이나 생물학과 달리 변혁을 시작하는 데 박사 학위가 필요하지도 않다. 중요한 것은 통찰력과 인내력이다.



제3장 흄이 제가한 귀납의 문제 – 기호주의자의 머신러닝


합리주의 경험주의
감각은 우리를 속이기 때문에 논리적 추론만이 지식에 도달하는 확실한 길이라고 믿는다 모든 추론은 틀릴 수 있으며 지식은 관찰과 실험에서 나와야만 한다고 믿는다
프랑스인앵글로 색슨족
현자와 법률가, 수학자기자와 의사, 과학자
제시카의 추리 극장CSI:과학수사대
이론가와 지식공학자해커와 머신러닝 전문가
첫 행동을 개시하기 전에 모든 것을 계획여러 가지 시도를 해보고 결과가 어떻게 나오는 지 확인
플라톤아리스토텔레스
데카르트, 스피노자, 라이프니츠로크, 버클리, 흄 – 애덤스미스, 찰수 다윈
추론의 힘 – 미적분학, 분석기하학실용주의, 기호주의자
세상에 공짜는 없다

우리가 전에 본 적이 없는 경우에도 일반화하는 것이 머신러닝이 푸는 문제다
버트런트 러셀은 귀납론을 신봉하는 칠면조 이야기로 설명함
세상에 공짜는 없다 - 어떤 머신러닝도 임의로 하는 추측보다 나을 수 없다는 것이다.
머신러닝에서 선입견이 없어서는 안 된다. 선입견 없이는 학습이 불가능하다.
지식 펌프에 마중물 붓기 - 우리가 경험하는 것마다 이를 설명하는 규칙을 파악해야 한다. 기초 데이터에서 규칙성을 끌어내는 방법을 알아야 하는 것이다.
- 조합 개념 (conjunctive concept)
- 분할 정복 (divide and conquer)
- 이접 개념 (disjunctive concept) 또는 분리 개념
머신러닝이 데이터에서 실제 세계와 맞지 않는 패턴을 발견할 때마다 우리는 머신러닝이 데이터에서 과적합을 도출했다고 말한다. 과적합은 머신러닝의 핵심 문제다 => 환각적 패턴
좋은 머신러닝은 무지와 환각 사이에 난 좁은 길을 영원히 걸어야 한다.
과적합 문제는 잡음에 의해 더 심각해진다. 머신러닝에서 잡음은 데이터에 나타난 오류이거나 당신이 예측할 수 없이 무작위로 나타나는 사건이다. 과적합 문제는 가정이 너무 많고 가정들을 시험하여 솎아 낼 데이터는 충분하지 않을 때 발생한다. 나쁜 소식은 결함 규칙을 배우는 간단한 머신러닝이라도 가설의 수는 특성치의 수에 따라 기하급수로 늘어난다는 사실이다. - 조합 확산
학습은 당신이 보유한 데이터의 양과 당신이 고려하는 가설 수 사이의 경주다. 데이터가 많을수록 살아남은 가설의 수를 기하급수적으로 줄이지만, 많은 가설을 가지고 시작하면 나쁜 가설들이 여전히 남아 있는 채로 가설 검증이 끝날 수 있다. - 옳은 것에 그럴듯하게 근사화하다
몇몇 잘못된 가정을 어쩔 수 없이 포함하지만 매우 낮은 유의성을 나타내는 것을 거부하여 그 수를 일정 한계 아래로 낮추면서 살아남은 가설들을 더 많은 데이터로 시험하는 것이다. - 유의설 검증(significance test), 편중(bias), 분산(variance)
귀납법은 연역법의 역이다. - 역연역법
핵심은 귀납법이 단지 연역법의 역이라는 사실을 깨닫는 것이다. 이는 뺄셈이 덧셈의 역이며 적분이 미분의 역이라는 것과 같다.
스무고개 놀이: 역연역법의 또 다른 한계는 계산량이 매우 많아서 대용량의 데이터를 처리하기 어렵다는 점이다. 이런 점 때문에 기호주의자가 선택한 알고리즘은 의사결정트리를 이용한 귀납법이다. 한 가지 핵심 질문은 ‘각 단계마다 시험할 가장 좋은 특성을 어떻게 뽑는가’이다. - 엔트로피 (무질서의 양)
머신러닝 개발자 중에서 기호주의자는 기호를 조작하여 얻는 능력에 대한 믿음을 다른 컴퓨터과학자와 심리학자, 철학자와 공유한다. 풀려는 문제의 기본 성질, 문제를 풀 때 사용하는 알고리즘과 표현 기법, 물리적으로 구현하는 방법 등 세 가지 단계가 있다.
기호주의자의 머신러닝은 인공 지능의 지식공학학파에서 파생된 분파다. 지식기반 시스템은 1970년대에 인상 깊은 성공을 거두고 1980년대에 급속이 확산되었다가 사라져 갔다. 주요 요인은 악명 높은 지식 획득 병목 현상 때문이다
역연역법은 심각한 결점이 있다. 가능한 추론의 가짓수가 방대하여 초기의 지식에 가깝게 머물지 않으면 망망대해에서 조난당하기 쉽다. 역연역법은 잡음에 쉽게 오류를 일으킨다. 전제나 결론 자체가 틀렸다고 한다면 어떤 것이 연역 과정에서 빠졌는지 어떻게 파악하겠는가? 가장 심각한 것은 실제 개념은 규칙의 모음으로 간결하게 정의되는 일이 거의 없다는 사실이다.
논리 규칙으로 정의할 수 있는 개념은 빙산의 일각에 불과하다. 형식적인 추론이 볼 수 없는 많은 일이 수면 아래에서 진행되고 있다. 마치 우리 마음에서 일어나는 일은 대부분 무의식으로 일어나는 것과 같다.


제4장 우리 두뇌는 어떻게 학습하는가 – 연결주의자의 머신러닝

헵의 규칙(헵, 행동의 규칙, 1949)이라고 알려진 것은 연결주의에서 주춧돌 구실을 한다. 사실 이 학파의 이름은 ‘지식이란 신경세포 사이의 연결에 있다’는 믿음에서 유래한다.
기호주의자의 학습에서는 기호와 그 기호가 나타내는 개념 사이에 1대 1의 대응이 있다. 이와 대조적으로 연결주의자의 개념 표현은 여러 곳에 흩어져 있다. 각 개념은 많은 신경세포로 나타내고 각 신경세포는 다른 많은 개념을 나타내는 데도 참여한다. 서로 흥분시키는 신경세포들은 헵이 말하는 세포 모임을 형성한다. 개념과 기억은 두뇌에서 세포의 모임으로 나타낸다. 기호주의 시스템에 ‘뉴욕’이라는 개념이 어디에 표현되느냐고 묻는다면 개념이 저장된 기억 장소의 정확한 위치를 가리킬 수 있다. 연결주의 시스템은 ‘개념은 모든 곳에 조금씩 저장되어 있다’라고 대답한다.
기호주의자 학습과 연결주의자 학습의 차이점은 기호주의는 순차적인 반면 연결주의자는 동시적이라는 점이다. 역연역법에서 우리는 전제에서 목표 결론에 이르기 위해 필요한 규칙을 한 번에 한 단계씩 파악했다. 연결주의자 모형에서 모든 신경세포는 헵의 규칙에 따라 동시에 학습한다. 컴퓨터에 있는 트랜지스터의 수는 인간 두뇌의 신경세포 수를 따라잡고 있지만 두뇌는 연결 수에서 월등히 앞선다. 컴퓨터는 1000개의 연결을 모의시험하는 것을 한 개의 연결을 1000번 반복하는 방법을 통해 부족한 연결 수를 속도로 만회할 수 있다.
신경세포 발화의 지극히 복잡한 형태가 나타내는 것이 바로 당신의 의식이다.
신경세포는 논리 게이트 회로와 많이 닮았다.
퍼셉트론(1950, 프랭크 로젠블랫)에서 가중치의 양수값은 흥분성 연결을 나타내고 가중치의 음수값은 억제성 연결을 나타낸다. 학습이 필요한 이유는 오류를 해결하기 위해서다. 시간이 지나면 할머니를 나타내는 특징들은 높은 가중치를 얻고 그렇지 않은 특징들은 낮은 가중치를 얻는다. 일단 퍼셉트론이 할머니를 볼 때마다 발화하고 그때만 발화하면 학습은 종료된다. 긍정적인 예와 부정적인 예를 나누는 초평면이 존재한다면 퍼셉트론이 이 초평면을 발견할 수 있다는 것을 증명했다.
지식공학자인 마빈 민스키는 1969 '퍼셉트론즈'를 발간하여 XOR를 학습하지 못하는 것을 설명함.
홉필드는 시간에 따라 변하는 신경망을 정의하고 신경망의 최소 에너지 상태가 기억이라고 상정했다. 그러한 각 상태마다 초기 상태들이 수렴되는 ‘끌림 영역’이 있고 이런 식으로 신경망은 패턴 인식을 할 수 있다.
볼츠만 기계는 감각 신경세포와 은닉 신경세포가 혼합되어 있다. 볼츠만 기계는 사람과 똑같이 교대로 깨었다가 잠이 들었다가 하면서 학습한다.
신경세포는 주변과 관련하여 두 가지 상태 중 하나에 있을 수 있다. 즉 발화하거나 발화하지 않는다. 활동 전위는 유지 시간이 짧다. 뾰족한 모양의 전압 파형은 1초의 몇 분의 1 정도의 짧은 시간 동안 유지되며 곧 휴식 상태로 되돌아간다. 하나의 뾰족한 전압 파형은 수신 싱경세포에 영향을 거의 주지 못한다. 수신 신경세포를 깨우려면 뾰족한 전압 파형 여러 개가 가깝게 붙어서 연이어 도달해야 한다.
지수함수 = 시그모이드 곡선 = S자 곡선  세상에서 가장 중요한 곡선으로 모든 종류의 상태 전이를 나타내는 곡선이다. ‘서서히 그러다가 갑자기…’ 이런 방식이 S자 곡선의 본질이다. S자 곡선을 미분하면 종 모양의 곡선이 된다. 천천히, 빠르게 천천히 변하는 S자 곡선의 미분은 낮고, 높고, 낮은 값이다. 함수가 증가하면 S자 곡선을 더하고 함수가 감소하면 S자 곡선을 뺀다.
머신러닝의 망막은 새로운 영상을 볼 때마다 신경망이 결과를 출력할 때까지 신경망을 따라 신호를 계속 전달한다. 이 출력을 기대치와 비교하면 오류 신호를 얻고 이 오류 신호는 신경망의 여러 층을 거쳐 다시 되돌아가 망막에 이른다. 되돌아온 신호와 이 신호를 일으킨 입력에 근거하여 각 신경세포는 연결의 가중치를 조절한다. 신경망이 당신의 할머니와 다른 사람들의 영상을 더욱더 많이 보면 가중치는 점차 둘 사이를 구분해 주는 값으로 수렴한다. 역전파로 알려진 이 알고리즘은 퍼셉트론 알고리즘보다 경이적으로 강력하다. 하나의 신경세포는 직선만 학습할 수 있었다. 은닉 신경세포가 충분히 있다면 다층 퍼셉트론이라 불리는 신경망은 제멋대로 구불구불한 경계선도 표현할 수 있다. - 가중치를 계속 조절. 지역 최소(대)값 문제
살아 있는 세포는 비선형 시스템의 정수다. 세포는 복잡하게 얽히고설킨 화학 반응들을 거쳐 원재료를 최종 산물로 바꾸면서 자신의 모든 기능을 수행한다.
하나의 은닉 계층을 가진 네트워크를 학습하는 것은 훌륭했지만 그 일 이후 상황은 곧 매우 어려워졌다. 네트워크가 특정 응용 분야를 위하여 두 세 개 층으로 주의 깊게 설계되었을 때만 작동했다. 그 이상의 층이 있는 경우 역전파의 작동은 실패했다. 층을 늘리면서 오류 신호는 강이 점점 더 작은 지류로 나뉘어 인식되지 못할 개별 빗방울까지 나뉘듯 점점 더 옅게 퍼져 나갔다. 두뇌처럼 수십 개나 수백 개의 은닉 층이 있는 네트워크를 학습한다는 것은 먼 꿈만 같은 일로 남았었다.
자동부호기는 다층 퍼셉트론의 일종으로 입력과 똑 같은 것을 출력한다. 핵심은 은닉 층을 입력과 출력 층보다 훨씬 작게 만들어 신경망이 입력을 은닉 층에 그대로 복사하는 일과 은닉 층이 출력 층에 그대로 복사하는 일을 모두 할 수 없게 하는 것이다. 은닉 층이 작으면 흥미로운 일이 일어난다. 신경망은 입력을 더 적은 정보량으로 부호화해야 하고, 그러면 이 정보는 은닉 층에서 표현할 수 있게 되며, 이런 정보를 다시 원래 크기로 복호화한다. 예를 들면 자동부호기는 100만 화소의 할머니 영상을 단지 글자 수가 세 개인 ‘할머니’나 자신이 발명한 짧은 부호로 부호화하는 것을 배울 수 있고, 동시에 ‘할머니’라는 부호를 늙고 자상한 할머니의 원래 영상으로 복원하는 법을 학습하게 된다. 스스로 입력을 압축하는 방법을 알아내고, 또 잡음이 끼고 뒤틀린 영상을 멋지고 깨끗한 영상으로 바꿀 수 있는 두 가지 장점을 가지고 있다.
자동부호기는 1980년대에 알려졌지만, 은닉 층이 단 하나여도 학습을 수행하기는 매우 어려웠다. 발견하는 데 10년이 넘게 걸린 계책은 은닉 층을 입력과 출력 층보다 더 크게 만드는 것이었다. 실제로 이것은 계책의 절반이다. 다른 절반은 몇몇을 제외한 모든 은닉 층이 지정된 시간에 꺼지도록 하는 것이다. 이런 방식은 여전히 은닉 층이 입력을 단순히 복사하는 것을 방지하며 학습을 매우 쉽게 한다. 우리가 다른 입력을 나타내는 데 다른 비트를 할당하면 입력들은 더 이상 같은 비트에 대하여 경쟁할 필요가 없다. 또한 신경망에는 이제 더욱 많은 변수가 있게 되므로 당신이 다루는 초공간에는 더욱 많은 차원이 있고 국지적 최대값에서 벗어날 더욱 많은 길이 생긴다. 이것은 멋진 계책으로 드문드문한 자동부호기라 불린다.
그 다음 명석한 생각은 드문드문한 자동부호기들을 클럽 샌드위치처럼 겹겹이 쌓아 올리는 것이다. 첫 번째 자동부호기 입장에서는 두 번째 자동부호기의 입출력 층이 은닉 층이 되고 이런 식으로 두 번째 자동부호기 입장에서는 그 이후 자동부호기의 입출력 층이 은닉 층이 된다. 신경세포는 비선형적이기 때문에 각 은닉 층은 이전 은닉 층에서 수행한 결과를 바탕으로 더 정교한 표현을 만들어 낸다. 여러 가지 얼굴 영상을 입력하면 첫 번째 자동부호기는 얼굴의 윤곽과 눈, 코, 입 등 얼굴 각 부분을 부호화하고, 두 번째 자동부호기는 이런 정보를 이용하여 코끝이나 눈의 홍채 등 얼굴에 나타나는 특징을 부호화하고, 세 번째 자동부호기는 누구의 코와 눈 인지를 학습하고, 다음 번 자동부호기는 이런 식으로 점점 더 정교하게 학습해 나간다. 마지막으로 맨 마지막 층은 기존의 퍼셉트론이 올 수 있으며 아래층에서 제공하는 높은 수준의 특징으로 당신의 할머니를 인식하며 단 하나의 은닉 층에서 제공하는 정교하지 않은 정보만 사용하는 경우나 한꺼번에 모든 층으로 역전파를 실행하는 경우보다 훨씬 쉽게 학습이 가능하다.
구글 부레인 프로젝트의 참여자인 앤드루 응이 인간의 지성은 단 하나의 알고리즘으로 응결되면 우리가 할 일은 그것을 파악하는 것뿐이라는 주장의 지지자라는 것은 놀라운 일이 아니다.
예쁜고마선층의 신경계는 302개의 신경세포로만 구성되고 1986년에 완전히 지도로 만들어졌으나 어떻게 작동하는가는 여전히 부분적으로만 파악되었다. 일차적인 세부 사항의 늪에서 의미를 파악하려면 두뇌의 생물학 조건에만 해당되거나, 진화 과정에 나타난 기이한 점들은 제거하는 더 높은 차원의 개념이 있어야 한다. 새의 깃털을 역공학으로 분석하여 비행기를 만들지는 않는다. 우리가 만든 비행기는 날개를 퍼덕이지 않는다. 대신 비행기는 비행 물체에 모두 적용되는 공기역학의 원리에 기반을 두고 설계한다. 우리는 두뇌 이행의 필요한 생각의 원리를 여전히 파악하지 못했다.


제5장 진화, 자연의 학습 알고리즘 – 진화주의자의 머신러닝

유전 알고리즘의 핵심 입력은 적합성 함수(fitness function)다. 후보 프로그램과 달성할 목표가 주어지면 적합성 함수는 목표에 도달한 정도를 숫자로 표시하여 프로그램에 점수를 할당한다. 자연 선택에서 적합성이 이런 방식으로 해석될 수 있을 지 여부는 의문이다.
매우 잘 적응되지는 않은 개체에서 시작하여, 혹은 완전히 임의의 개체로 시작하여 유전 알고리즘은 적합성에 따라 선택할 수 있는 변종들을 내놓아야 한다. 자연은 어떻게 이런 일을 할까?
역전파는 어느 한 시점에서 하나의 가설을 확인하고, 가설은 국소 최적 값에 도달할 때까지 점차적으로 바뀐다. 유전 알고리즘은 한 단계에서 가설 집합의 전체 구성원을 확인하고 이 방식은 교차법 덕분에 한 세대에서 다음 세대로 넘어갈 때 크게 도약할 수 있다. 역전파는 초기 가중치가 임의의 작은 값으로 설정되면서 시작하여 마지막에 어떤 값으로 정해지면서 끝난다. 유전 알고리즘은 그와 대조적으로 임의의 선택으로 가득하다. 어떤 가설이 살아남고 교차되는지, 비트 열의 어느 부분이 교차되고 어느 비트가 돌연변이를 일으킬지는 임의로 선택된다. 역전파는 신경망의 미리 정해진 구조에 대한 가중치를 학습을 통하여 구한다. 신경망이 촘촘할수록 경우의 수가 더 많아지겠지만 학습하기도 더 어려워진다. 유전 알고리즘은 구조에 관한 일반 형태 외에는 미리 가정하는 사항이 없다.
이런 까닭에 유전 알고리즘은 역전파보다 국소 최적값에 머무는 경우가 덜하고 원리적으로는 새로운 것을 더 잘 도출할 수 있다. 하지만 유전 알고리즘의 분석은 훨씬 더 어렵다. 유전 알고리즘이 술주정뱅이처럼 휘청거리며 아무렇게나 가는 장소 대신 의미 있는 장소에 도달할 지 어떻게 알 수 있을까?
유전 알고리즘이 똑똑한 점은 각 비트 열이 기하급수로 늘어날 가능성을 내재한 스키마라는 구성 요소를 보유한다는 것과, 그래서 탐색이 보이는 것보다는 훨씬 더 효율적이라는 것이다.
머신러닝과 삶에서 매우 중요한 문제는 탐험과 개발 사이 딜레마다. 효과가 있는 것을 발견하면 그것만 계속 사용해야 할까? 아니면 시간 낭비가 될 수 있지만 더 나은 해법을 얻을 수도 있다는 것을 알고 새로운 시도를 해야 할까? 목동이 될까 아니면 농부가 될까? 새로운 사업을 시작할까 아니면 현재 사업을 계속할까? 중년의 위기는 오랜 세월 안주하다가 탐험을 갈망할 때 찾아온다.
프로그램은 호출하는 하위 프로그램으로 구성된 트리 형태이기 때문에 이러한 하위 프로그램을 직접 교차하는 것이 하위 프로그램을 억지로 비트 열에 집어넣고 임의의 위치에서 교차하여 완벽하게 훌륭한 하위 프로그램을 파괴하는 위험을 무릅쓰는 것보다 낫다.
유전자 프로그래밍은 교차와 돌연변이, 생존 등을 사용하여 적합성을 만족할 때까지 더 나은 프로그램으로 서서히 진화시킨다. 유전자 프로그래밍은 원자 수준의 기본 행동과 기본 행동의 조합에서 출발하여 바람직한 목표를 달성하는 복잡한 행동을 조립해 낼 수 있다. 비트 열 대신 프로그램 트리를 교차한 결과 어떠한 크기의 프로그램도 나올 수 있었고, 그래서 학습이 더 유연해졌다. 하지만 전반적으로는 진화가 더 오래 진행될수록 트리가 점점 더 커지는 거대화 경향이 나타났다.
진화주의자들은 유전자 프로그래밍이 학습을 통해 어떤 프로그램도 만들어 내는 만큼 마스터 알고리즘을 뽑는 독점 내기에 참가할 수 있을 것으로 믿는다.
유전 알고리즘은 성공 사례도 보여 주고 점진주의 대 단속평형설 같은 논의에 영감을 제시하기도 했지만, 진화에서 성이 맡은 임무는 무엇인가라는 커다란 수수께끼를 풀지 못하고 있다. 진화주의자는 교차를 대단히 중요하게 생각하지만 다른 종족들은 교차에 노력을 들일 가치가 없다고 생각한다. 홀랜드는 어떤 이론적 결과도 교차가 효과적이라는 점을 보여 주지 못한다.
진화주의자와 연결주의자는 중요한 공통점이 있다. 둘 다 자연에서 영감을 받아 학습 알고리즘을 설계한다는 것이다. 진화주의자는 학습 구조에 집중한다. 변수들을 최적화하여 진화된 구조를 미세 조정하는 일은 진화주의자에게 중요하지 않다. 반면 연결주의자는 연결부만 많고 손으로 만들 만한 간단한 구조를 선호하며 가중치 학습이 모든 일을 하도록 한다. 이것이 ‘선천적 요인 대 후천적 요인’의 머신러닝 판 논쟁이며 양쪽 모두 설득력 있는 논거가 있다.
진화는 속도가 몹시 느리다. 유기체의 전체 생애로 얻는 정보는 그 유기체의 유전자 정보, 즉 후손의 숫자로 가늠할 수 있는 유전체의 적합성뿐이다. 그런 식으로 오랜 시간 정보를 사용하지 못하는 것은 정보의 엄청난 낭비이며, 신경망 학습은 말하자면 필요할 때 바로 정보를 획득하면서 이런 낭비를 피한다.
선천적 요인 대 후천적 요인이라는 논쟁과 마찬가지로 진화주의와 연결주의 어느 편에도 완전한 해답은 없다. 열쇠는 두 진영을 결합할 방안을 찾는 것이다. 일반적인 견해로는 선천적인 자연이 먼저 자신의 소임, 즉 두뇌를 진화시키고 그 다음 후천적인 양육이 이어 받아 정보로 두뇌를 채운다.
볼드윈 효과: 가장 먼저 배운 행동은 나중에 유전적으로 고정된다. 신경망 구조를 진화시키는 유전 알고리즘을 사용하고 적합성은 개체 학습을 허용할 때만 시간이 지나면서 증가한다는 것을 관찰하여 머신러닝에서 볼드윈 효과를 입증했다.
진화는 훌륭한 구조를 찾고, 신경망 학습은 구조를 학습시킨다. 이 조합은 우리가 마스터 알고리즘을 찾을 때 따라야 하는 가장 쉬운 과정이다. 선척적 요인인 자연은 컴퓨터에서 돌아가는 프로그램이고 후천적 요인은 양육은 컴퓨터에 입력되는 데이터이다.
연결주의자나 진화주의자와 대조적으로 기호주의자와 베이즈주의자는 자연의 모방을 신뢰하지 않는다.


제6장 베이즈 사제의 성당에서 – 베이즈주의자의 머신러닝

P(A|B) = P(A) X P(B|A) / P(B)
근본적으로 베이즈 정리란 새로운 증거를 얻었을 때 가설에 대한 믿음의 정도를 갱신하는 간단한 규칙일 뿐이다. 증거가 가설과 일치한다면 가설이 옳을 가능성이 올라간다. 만약 아니라면 내려간다.
토머스 베이즈는 18세기 영국의 성직자다. 베이즈주의는 프랑스 사람 라플라스가 주창했다. 라플라스는 확률 이론의 아버지이기도 하다. 그는 확률이 계산으로 귀결되는 상식이라고 믿었다.
- 무차별성의 원리 혹은 이유 불충분의 원리 연속성의 규칙
사전 확률: 당신이 가진 우주 지식에 근거하여 어떤 일이 일어날 지 예측한 것 (주관적)
사후 확률: 더 많은 증거가 모이면 사후 확률은 어떻게 바뀌어야 하는가? 답은 베이즈 정리다. 베이즈 정리를 원인과 결과라는 측면에서 생각할 수 있다. 원인이 없을 때도 같은 결과가 발생하는 사건을 관찰한다면 결과가 발생하는 사건은 그 원인이 있었다는 큰 증거가 되지 못한다.
P(원인|결과) = P(원인) X P(결과|원인) / P(결과)
인간은 적어도 언어 추리가 연관되면 베이즈 추론을 매우 잘하는 것은 아니라는 점이 밝혀졌다. 문제는 인간은 원인의 사전 확률을 무시하는 경향이 있다는 사실이다. 우리는 보통 원인에 대한 결과의 확률을 알고 있지만, 우리가 알고 싶은 확률은 결과가 나왔을 때 결과의 원인에 대한 확률이기 때문에 베이즈 정리가 유용하다. 예를 들어 우리는 독감 환자의 몇 퍼센트가 열이 나는지 알지만, 우리가 진정으로 알고자 하는 것은 열이 있는 환가자 독감에 걸렸을 확률이 얼마나 되는가이다. 이처럼 베이즈 정리는 한 지점에서 다른 지점으로 가게 해 준다.
논쟁거리는 어떻게 베이즈주의자들이 그 정리에 있는 확률들을 구할 것이며 그러한 확률들은 무엇을 의미하는가이다. 베이주주의자의 대답은 확률이란 횟수가 아니라 주관적인 믿음의 정도라는 것이다. 그러므로 확률값을 어떻게 정할지는 당신에게 달렸고, 베이즈 추론에서 얻을 수 있는 것은 당신의 사후 믿음을 구하기 위해 당신의 사전 믿음을 새로운 증거들로 갱신하라는 것이 전부다.
우리는 인생에서 언제나 해야만 하는 일, 즉 타협을 한다. 우리는 꼭 추정해야 하는 확률의 수를 일정한 범위 내로 줄이는 단순화 작업이 가능하도록 가정을 세운다. 매우 간단하고 인기 있는 가정은 원인에서 나오는 모든 결과가 서로 독립적이라고 여기는 것이다.
베이즈 정리를 사용하고 원인이 조건으로 주어졌을 때 결과들은 서로 독립적이라고 가정하는 머신러닝 알고리즘을 ‘나이브 베이즈 분류기’라고 부른다. 이렇게 부르는 이유는 서로 독립적이라는 가정이 아주 순진한 가정이기 때문일 것이다. 통계학자 조지 박스는 “모든 모형은 틀리지만 그 중에는 유용한 모형도 있다.”라고 묘사한다. 추정에 필요한 충분한 데이터를 확보할 수 있는 과도하게 단순한 모형은 추정에 필요한 데이터를 충분히 확보할 수 없는 완벽한 모형보다 낫다. 매우 틀리지만 동시에 매우 유용하기도 한 모형도 있다는 사실이 놀랍다.
나이브 베이즈 분류기는 퍼셉트론 알고리즘과 밀접하게 관련되어 있다. 퍼셉트론은 가중치들을 더하고 나이브 베이즈는 확률들을 곱하지만, 로그를 적용하면 후자는 전자의 형태로 바뀐다. 두 개 다 “만약 ~ 이라면 … 이다”라는 간단한 규칙들의 일반화로 볼 수 있다. 여기서 전재들은 ‘다 맞음 아니면 다 틀림’의 성격이 아니라 결론에 많이 일치하기도 하고 적게 일치할 수도 있다. 두뇌에 있는 1000억 개나 되는 신경세포 하나하나를 어느 정도는 베이즈 정리의 작은 사례로 볼 수 있다.
마르코프 연쇄
상태들은 마르코프 연쇄를 형성하지만, 우리는 상태들을 보지 못하고 관찰들로 상태들을 추론해야 하는 경우가 있다. 이것을 은닉 마르코프 모형, 줄여서 HMM(Hidden Markov Model)이라 부른다. 시리 같은 음성 인식 시스템의 핵심이다. 음성 인식에서 은닉 상태는 글로 쓰인 단어이고, 관찰은 시리에 전달되는 소리이고, 목표는 소리에서 단어를 추론하는 것이다.
베이즈 네트워크는 각 변수와 부모들의 값에 따른 조합에 확률을 부여한 표가 딸려 있는 연관성 그림이다. 어떤 한 상태들의 조합에 대한 확률을 구하려면 개별 변수들의 표에서 해당 항목들의 확률을 모아 곱하기만 하면 된다. 그러므로 조건부 독립성이 유지된다면 더 간단한 표현으로 바꾼다고 놓치는 정보는 없다.
마르코프 연쇄는 현재라는 조건 아래에서 미래는 과거에 대하여 조건부 독립이라는 가정을 구현한다.
HMM은 조건부 독립에 더하여 각 관찰은 해당하는 상태에만 의존한다고 추정한다. 베이즈주의자에게 베이즈 네트워크는 기호주의자에게 논리가 차지하는 위치와 같다. 베이즈 네트워크를 생성 모형, 즉 세계의 상태를 확률적으로 생성하는 방안으로 볼 수 있다.
베이즈 네트워크로 확률 분포를 간단하게 나타낼 수 있다고 해서 이것을 이용하여 효과적으로 추론도 할 수 있는 것은 아니다. 많은 경우에서 이렇게 할 수 있고 기하급수적인 폭발적 증가를 피할 수 없다. 폐회로를 형성한다면 곤경에 처한다.
추론에 관한 결정적인 질문은 나무처럼 보이는 그림에 줄기가 너무 두꺼워지지 않으면서도 상호의존성을 다 표시할 수 있는 가이다. 줄기에 있는 다중 변수가 너무 많은 값을 갖는다면 나무는 제어할 수 없을 정도로 커져 버려 '어린 왕자'에 나오는 바오밥 나무처럼 행성을 전부 덮어 버린다. 가지가 너무 두꺼워질 때 유일한 선택 상항은 근사적 추론에 만족하는 것이다. 네트워크 구조에 폐회로가 없다고 가정하고 각 지점의 확률이 수렴될 때까지 계속 앞과 뒤로 왔다 갔다 하는 것이다. 이것은 빙빙 도는 신뢰 전파로 알려졌다.
가장 인기 있는 선택은 우리의 슬픔을 술잔에 넣어 버리고 정신 못 차릴 정도로 취하여 밤새도록 비틀거리며 돌아다는 것이다. 기술 용어로 마르코프 연쇄 몬테까를로라고 부르고 줄여서 MCMC라 한다. 몬테까를로라는 말이 붙은 까닭은 같은 이름의 카지노에 방문하는 것 같은 기회를 포함하기 때문이고, 마르코프 연쇄가 붙은 까닭은 각 단계가 오직 이전 단계하고만 연관되는 일련의 단계를 거치는 과정을 포함하기 때문이다. MCMC 방식의 착상은 소문난 술꾼처럼 최종적으로는 네트워크의 각 상태를 방문한 횟수가 상태의 확률에 비례하도록 이 상태에서 저 상태로 건너뛰면서 무작위로 걷는 것이다.
MCMC의 묘소는 베이즈 네트워크 분포로 수렴되는 마르코프 연쇄를 설계하는 것이다. 한 가지 쉬운 방법은 변수들을 계속 반복하여 순환하면서 이웃 상태가 주어진 경우의 조건부 확률에 따라 각 변수를 뽑은 것이다. MCMC의 단점은 종종 참기 힘들 정도로 수렴하는 데 오랜 시간이 걸리거나 아직 수렴하지 않았는데 수렴한 것처럼 보여 당신을 속인기도 하는 것이다.
베이즈주의자에게 학습이란 단지 또 다른 종류의 확률적 추론이다. 당신이 해야 할 일은 가설을 가능성 있는 원인으로 보고 데이터는 관찰된 결과로 여기면서 다음의 베이즈 정리를 적용하는 것이 전부다.
P(가설|데이터) = P(가설) X P(데이터|가설) / P(데이터)
베이즈주의자에게 진실 같은 것은 없다. 그저 가설들의 사전 확률 분포가 있고 데이터를 본 이후에는 베이즈 정리에 다라 사후 확률 분포를 얻는 것이 전부다. ‘코페르니쿠스나 프톨레미나 모두 옳지 않으니 행성의 미래 궤적은 한 번은 지구가 태양 주위를 돈다고 가정하여 구하고, 다른 한번은 태양이 지구를 돈다고 가정하여 구한 후 평균을 내자’라고 이야기하는 것과 같다. 물론 이것은 가중치를 부여한 후 구한 평균이고 이때 가설의 가중치는 가설의 사후 확률이며 데이터를 더 잘 설명하는 가설의 가중치가 더 크다. 그래도 베이즈주의자가 되는 것은 절대로 확신한다는 말을 하지 말아야 하는 것을 의미한다.
베이즈주의자는 가능성을 나타내는 P(데이터|가설) 뿐만 아니라 사전 확률인 P(가설)를 고려한다. 모든 가설의 사전 확률이 동일하다고 가정하면 베이즈 접근법은 이제 최대 가능성 원리로 요약된다.
베이즈주의자에게 확률이란 믿음의 주관적인 정도이므로 자유롭게 학습된 추측을 할 수 있고 추론을 구하는 미적분 계산의 도움으로 모든 추측이 일관성을 유지한다. 사전 분포를 어떠한 유형의 가설에도 적용하고 그 후에 가설의 데이터 조건부 가능성 함수로 사전 분포를 갱신할 수 있다. 베이즈주의자의 관점은 당신이 어떤 표현 방식을 선택하는지는 당신에게 달려 있지만 선택 후에는 베이즈 정리를 사용하여 학습시켜야만 한다는 것이다.
나이브 베이즈 분류기의 진정한 강점은 유형을 예측하게 하는 특징들을 모아놓아 유용한 정보가 많은 소규모 집합을 제공한다는 것 그리고 대응하는 변수들을 학습하는 빠르고 안정된 방법을 제공한다는 것이다.
마르코프 네트워크는 특징들과 이에 대응하는 가중치가 모인 것으로 이들은 함께 확률 분포를 정의한다. 마르코프 네트워크는 데이터 전체의 가능성을 최대화하거나 우리가 알고 있는 것이 주어진 경우 우리가 예측하고자 하는 것의 조건부 가능성을 최대화하도록 학습시킬 수 있다.
바로 바로 지식의 단편들을 찾아내는 능력은 기호주의자에게는 매우 소중하지만 베이즈 주의자의 방식에서는 찾아볼 수 없다. 가장 심각한 점은 우리가 배울 필요가 있는 많은 상황에 확률 분포를 연결하는 방법을 알지 못한다는 것이다. 베이즈주의자와 기호주의자는 사전 가정이 불가피하다는 점에 동의하지만 그들이 허용하는 사전 지식의 종류는 다르다. 베이즈주의자에게 지식은 모형의 구조와 변수들에 대한 사전 분포에 적용된다. 원칙상 사전 변수는 우리가 원하는 무엇이든 될 수 있지만 역설적이게도 베이즈주의자는 계산이 더 쉽기 때문에 균일한 것을 선택하는 경향이 있다.
분명히 우리는 논리와 확률 둘 다 필요하다. 베이즈 네트워크는 유전자 조절이나 단백질 접힘 구조같이 세포가 어떻게 작동하는가에 대하여 하나의 단면적인 상황은 모형화할 수 있지만 이 모든 조각을 함께 모아 조화로운 전체 그림을 구성하는 것은 논리밖에 없다. 반면 논리는 실험생물학에서 흔히 볼 수 있는 불완전하고 오류가 섞인 정보를 다룰 수 없지만 베이즈 네트워크는 침착하고 자신 있게 처리한다.
연결주의자와 진화주의의 결합은 매우 쉬웠다. 단지 네트워크의 구조를 진화시키고 역전파로 변수들을 알아내면 되기 때문이다. 하지만 논리와 확률의 통합은 훨씬 어려운 문제다. 이런 일의 시도는 논리와 확률의 선구자인 라이프니츠까지 거슬러 올라간다. 조지 부울, 루돌프 카르납 같은 19세기와 20세기의 뒤어난 철학자와 수학자가 통합 작업에 매진했지잔 큰 진전은 이루지 못했다. 새로운 천 년이 막 시작되었을 대 우리가 획득한 최선은 베이즈 네트워크에 몇몇 논리적 구조물을 덧붙이는 정도의 부분적인 성공이었다. 전문가들은 논리와 확률의 통합은 불가능하다고 믿었다. 다행히도 우리는 지금까지 그 문제를 깨뜨려 왔고 현재는 마스터 알고리즘에 훨씬 더 가까이 다가간 것처럼 보인다.
하지만 먼저 우리는 매우 데이터가 적을 때는 어떻게 학습할 것인가에 대한 답을 찾아야 한다. 이것이 바로 머신러닝에서 가장 중요한 착상이 등장하는 유추(analogy)다. 유추주의자는 단 하나의 사례처럼 적은 데이터를 가지고도 학습할 수 있다. 모형을 만들지 않기 때문이다. 대신 유추주의자가 무엇을 하는 지 알아보자.


제7장 당신을 닮은 것이 당신이다 – 유추주의자의 머신러닝

유추 [ Analogy , 類推] - 유비추론(類比推論)이라고도 한다. 유사(類似)를 기초로 하여 수행하는 추리. 즉 일반적으로는 'A는 b, c, d, e이다'와 'B는 b, c, d이다'에서 'B도 e이다'라는 형태의 추리이다. 예를 들면 '지구에는 생물이 있다'와 '화성은 여러 점에서 지구와 유사하다'에서 '화성에도 생물이 있을 것이다'라는 추리가 유추에 해당한다. 과학 연구에서는 이러한 추리가 대단한 역할을 하고 있다. 빛의 파동설을 제출한 호이겐스(Christiaan Huygens, 1629~1695 : 네덜란드의 물리학자)는 소리와 빛의 형태가 유사함에서 유추하여 그 학설을 수립하였다. 그러나 유추 그 자체는 증명은 아니며 단지 개연성을 가질 뿐이다. 이 개연성을 크게 하기 위해서는 1) 본질적 특징에 기초하여 가능한 한 많은 공통의 성질을 비교하는 대상에 요구하는 것과 2) 결론으로 된 성질과 비교되는 대상의 공통된 여러 성질 사이에 가장 큰 결합이 있을 수 있는 것과 3) 일정의 관계에서만 비교되는 대상에서 같은 것이 얘기될 수 있을 뿐, 그들의 모든 점에서는 동일하지 않는 것 등에 주의할 필요가 있다. 유추는 이러한 의미에서 대상들 사이의 동등성을 세우는 것에 이용되는 것이고 다른 연구로 보충되지 않으면 안 된다.
귀납추리와 유비추리:
귀납추리는 여러 예시들을 모아서 추리를 하는 것입니다. 예를 들어 내가 지금까지 봤던 까마귀는 전부 검은색이었다. 그러니 까마귀는 검은색일 것이다. 이런 구조 입니다. 그래서 예외 상황이 나타날 경우(하얀까마귀) 추리가 틀리게 됩니다.
유비추리는 비슷한 상황을 통해 추리를 하는 것입니다. 예를 들어 옆집 철수는 시험에서 빵점을 맞은 뒤 자기 엄마한테 혼났다. 그러니 나도 시험에서 빵점 맞으면 우리 엄마한테 혼날 것이다. 이런 식입니다. 유비 추리는 얼마나 유사한지에 따라 정확성이 달라집니다. 그래서 만약 두가지(철수와 철수엄마-나와 우리엄마) 경우의 유사성이 떨어지면 (우리 엄마는 시험성적으로 혼내는 분이 아니라든지) 틀린 추리가 됩니다
아리스토텔레스는 그의 유사성 법칙에서, ‘두 사물이 비슷한 경우 한 사물을 생각하면 다른 사물의 생각도 따라 나오는 경향이 있다.” 로크와 흄 같은 경험주의자도 같은 주장을 했다. 니체는 진리란 은유의 동적인 집합이라 말했다. 칸트도 유비추리 지지자였다. 현대 심리학자 중에는 인간의 인식이 전부 비유로 짜여 있다고 주장하는 사람들도 있다.
최근접 이웃 알고리즘, 서포트 벡터 머신, 유비추론으로 심리학과 인공 지능을 연결해 주는 스테이플러 역할을 하며 머신러닝의 역사만큼 오랫동안 머신러닝의 배경이 되는 주제다. 앞으로 10년 안에, 최근접 이웃 알고리즘의 효율성, 서포트 벡터 머신의 수학적인 정교함, 유추의 강력한 능력과 유연성 등을 하나의 알고리즘으로 묶은 심층 유추법 (deep analogy)이 머신러닝을 주도하는 시기가 올 것이다.
최근접 이웃 알고리즘은 이제까지 발명된 머신러닝 알고리즘 중에서 가장 간단하고 빠르다. 최근접 이웃 알고리즘에서 각 데이터는 그 자체가 작은 분류기이며 자기를 가장 가까이 있는 점으로 삼는 질의 예제들에 대하여 그 유형을 예측한다. 최근접 이웃 알고리즘이 하는 일은 개미 군대에서 각 병사가 하는 일처럼 작지만 모두 모이면 산을 옮길 수도 있는 것과 비슷하다.
차원의 저주: 차원이 낮은 경우(2, 3차원)에는 최근접 이웃 알고리즘은 보통 매우 잘 작동한다. 하지만 차원이 올라갈수록 상황은 급속히 나빠진다. 차원의 수가 늘어나면 개념의 경계선을 알아내기 위하여 필요한 학습 예제의 수가 기하급수로 늘어난다. 최근접 이웃 알고리즘은 비슷한 사물들을 찾는 것에 기반을 둔다. 그런데 고차원에서는 유사성이라는 개념 자체가 허물어진다.
사실 어떤 머신러닝도 차원의 저주에서 벗어나지 못한다. 차원의 저주는 머신러닝에서 과적합 문제에 이어 두 번째로 가장 나쁜 골칫거리다. ‘차원의 저주’는 제어이론가 리처드 벨먼이 1950년대에 만든 용어다. 그는 3차원에서 잘 작동한 제어 알고리즘이 로봇 팔의 모든 관절이나 화학 공장의 모든 조절 손잡이를 제어하기 원할 때처럼 더 높은 차원의 공간에서는 절망스러울 정도로 비효율적이 되는 것을 발견했다. 머신러닝에서 발생하는 문제는 단지 계산 비용이 커진다는 것 이상이다. 차원이 증가할수록 학습 자체가 점점 더 어려워진다는 것이 문제다.
그렇지만 전혀 희망이 없는 것은 아니다. 가장 먼저 할 수 있는 일은 관련 없는 차원들을 없애는 작업이다. 약하게 관련된 속성들을 다루는 한 가지 방법은 속성의 가중치를 구하는 것이다. 모든 차원에 따른 유사성을 똑같이 평가하는 대신 덜 관련된 속성들의 영향을 줄인다.
서포트 벡터 머신 (SVM)은 소련의 빈도학파 수학자 블라디미르 바프닉의 발명품이었다. SVM은 가중치 k-최근접 이웃 알고리즘과 매우 비슷해 보인다. 즉 양과 음의 유형 사이의 경계선은 일정 수의 예들과 가중치로 구하는 유사성 측면으로 정해진다. SVM을 학습시키려면 서포트 벡터들과 그것들의 가중치를 정해야 한다. SVM 분야에서 커널이라 부르는 유사성 측정은 보통 사전 지식으로 미리 선택된다. 경계선에 가장 가까운 거리를 안전 마진이라 하고 SVM은 안전 마진을 가장 크게 하는 서포트 벡터들과 가중치들을 선택한다. SVM은 양과 음 지역의 지뢰 사이를 지나가는 가장 굵은 뱀을 어떻게 찾을 것 인가이다.
SVM은 퍼셉트론의 일반형으로도 볼 수 있는데, 유형을 나누는 초평면 경계는 특별한 유사성 측정을 사용할 때 얻는 것이기 때문이다. 하지만 SVM은 다층 퍼셉트론과 비교하여 중요한 장점이 있었다. 가중치에는 국부 최적합이 많지 않고 단일한 최적값이 있으므로 신뢰성 있게 가중치를 찾기가 훨씬 더 쉽다. 신경망을 학습할 수 있다면 많은 층으로 구성된 신경망은 SVM보다 간결하게 많은 기능을 표현할 수 있는데, SVM은 항상 하나의 층만으로 구성되고 이것으로 모든 차이점이 생긴다.
두 사물에 서로 일치하는 면이 있다면 두 사물은 비슷하다. 두 사물에 일치하는 면이 있다면 두 사물은 다른 면에서도 일치할 가능성이 있는 것이다. 이것이 유추의 핵심이다. 이것은 또한 유추의 주요 하위 문제 두 개를 드러낸다. 즉 두 사물이 얼마나 비슷한지 알아내는 문제와 두 사물의 유사성에서 추론할 수 있는 그 밖의 다른 것을 알아내는 문제가 있다.
유추주의 머신러닝 알고리즘이라도 가장 중요한 질문은 어떻게 유사성을 측정하는 가이다. 어느 경우든 유사성 함수는 머신러닝 알고리즘이 이미 아는 사례를 어떻게 일반화하여 새로운 예들을 판단할 것인가를 제어한다. 사물들 사이의 유사성을 측정할 방법이 있다면 특성 벡터들뿐만 아니라 모든 종류의 사물에 유추주의 머신러닝을 적용할 수 있다.
유추의 두 번째 부분은 발견된 유사점을 기반으로 새로운 사물에 대해 무엇을 추론할 수 있는 가이다. 최근접 이웃 알고리즘이나 SVM에서 이것은 최근접 이웃들이나 서포트 벡터들의 유형들을 기반으로 하여 새로운 사물의 유형을 예측하는 것이다. 하지만 또 다른 종류의 유추주의 머신러닝인 사례 기반 추론법은 검색한 사물들의 구성 요소들을 이용하여 새로운 사물의 복잡한 구조를 추론한다. 최후의 이해 영역인 창의성은 유추와의 재결합으로 요약된다.
유추주의자의 가장 멋진 묘소는 문제 영역 전반에서 학습하는 방식이다. 인간은 항상 이렇게 한다.
유추가 할 수 없는 일이 있는가? 없다라고 말하는 인지과학자도 있다. 지적인 행동은 모두 유추로 축약된다고 강하게 주장하기도 한다. 우리가 배우거나 발견하는 모든 것은 유추가 작용한 결과다.
인지 과학에서 기호주의자와 유추주의자는 오랫동안 논쟁을 벌였다. 기호주의자는 자신은 모형화할 수 있지만 유추주의자는 할 수 없는 사례를 지적한다. 그러면 유추주의자는 그 사례를 모형화하는 방법을 알아내고 자신을 할 수 있지만 기호주의자는 못하는 사례를 제시한다. 인스턴스 기반 학습이라 불리는 유추주의자의 방법이 우리가 살면서 겪는 구체적인 사건을 어떻게 기억하는가에 대하여 더 훌륭히 모형화할 것이다. ‘일’이나 ‘사랑’ 같은 추상 개념을 사용하는 추론에는 사실상 기호주의자의 방법인 규칙이 선택된다. 규칙이란 사실 몇 가지 속성은 중요하지 않기 때문에 빠뜨리고 일반화한 사건이다. 반대로 사건이란 모든 속성의 상태가 정해진 매우 특정한 규칙이다.
인스턴스 기반 학습과 규칙 기반 학습을 더 많이 만족시키는 선결 조건을 지닌 규칙이 다른 규칙보다 이 개별 사건에 더 유사하다는 기준을 사용하는 방식으로 통합하는 알고리즘을 설계했다. - RISE


제8장 선생님 없이 배우기

우리가 필요한 모든 것이 아이의 마음에 있으므로 어떻게든 마음의 핵심을 컴퓨터 프로그램으로 담아낼 수 있으면 좋을 것이다. 지능을 가진 기계를 만드는 방법은 로봇 아기를 만들어 인간 아기가 하듯이 세상을 경험하게 하는 것이라고 주장하는 연구자도 있다. 세상을 사물과 범주로 조직하는 일이 어른에게는 간단하고 자연스럽지만 아기에게는 그렇지 않으며 로봇 아기에게는 더욱 그렇지 않다.
군집은 비슷한 사물의 집합이고, 최소한 다른 군집의 구성원보다는 서로 더 유사한 사물의 집합이다. 사물을 유사한 것끼리 모으는 것은 사람의 본성이며 종종 지식으로 가는 첫 번째 단계다. 예로 주기율표가 있다. 세그먼트는 군집이라는 뜻으로 마케팅 담당자가 사용하는 말이다.
데이터의 모양 발견하기
주요 성분을 찾는 전체 과정은 선형 대수를 조금 사용하면 한 번에 모두 이루어질 수 있다. 무엇보다 좋은 점은 얼마 안 되는 차원으로 매우 높은 차원의 데이터에 있는 변화라도 설명할 수 있는 경우가 많다는 것이다. 이런 경우가 아닌 상황에서도 상위 두 차원이나 세 차원의 주요 성분에 관한 데이터를 눈을 크게 뜨고 쳐다보면 많은 영감을 얻는다. 당신은 인간 시각 시스템의 놀라운 인식 능력을 충분히 이용할 수 있기 때문이다.
주요 성분 분석(PCA, principle-component analysis)으로 알려진 이 과정은 과학자의 도구 상자에서 핵심도구이다. PCA가 자율 학습 분야에서 차지하는 위치는 선형회귀법이 지도 학습 분야에서 차지하는 위치와 같다.
비선형 차원 축소를 하는 가장 인기 있는 알고리즘인 이소맵(Isomap) 방식은 고차원 공간(예를 들어 얼굴)의 각 점을 이웃에 있는 모든 점(매우 닮은 얼굴)에 연결하고 각 점마다 가장 가까이에 있는 점과의 거리, 즉 가장 짧은 거리를 모든 점에 대해 계산하고 이러한 최단 거리들을 가장 잘 근사시키는 축소된 좌표축들을 찾는다. PCA와 다르게 이 공간에 있는 얼굴들의 좌표축들은 종종 매우 많은 의미를 보여 준다.
시간은 다른 말로 하면 기억의 주요 성분 축이다.
인간을 계속 조종하는 것이 하나 있다. 바로 감정이다.
강화 학습: 스스로 탐험하고 이리저리 움직이다가 상을 찾고 미래에 다시 상을 찾을 방법을 파악하는 알고리즘, 즉 주위를 기어 다니다가 입에 물건을 집어 넣은 아기와 매우 비슷한 알고리즘만 전적으로 다루는 머신러닝의 하위 분야이다. 지도 학습에서 상태의 목표 가치는 항상 똑같지만 강화 학습에서 목표 가치는 주위 상태들의 가치를 갱신하는 결과로 계속 바뀐다. 그 결과 일반화를 하는 강화 학습은 내부 학습 알고리즘이 선형함수처럼 매우 간단한 것이 아니면 안정된 해답을 도출하는 데 자주 실패한다.
그럼에도 불구하고 신경망을 포함하는 강화 학습은 몇몇 주목할 만한 성공을 거두었다. 우리 두뇌도 기대한 보상과 실제 보상 사이의 차이를 전파시키는 신경 전달 물질인 도파민을 이용하여 강화 학습을 한다.  딥마인드의 심층신경망
학습이란 연습을 하며 더 나아지는 것이다. 당신은 골프 스윙이나 테니스 서브를 다 배우고 나서도 여러 해 동안 연습을 계속한다. 처음에는 빠르게 향상되다가 제자리를 맴도는 것 같더니 매우 조금씩 나아진다. 이런 형태의 곡선을 ‘지수 법칙’이라 부른다.
청킹(chunking, 의미 덩어리로 나누기) - 우리는 사물을 덩어리로 나누어 인식하고 기억하는 데, 어느 시간 동안 단기 기억으로는 한정된 수량만 유지할 수 있다. 예를 들어, 1-723-458-3897이 17234583897보다 훨씬 더 기억하기 쉽다. 체스 초보자는 체스판에서 기물의 위치를 한 번에 하나씩 파악하는 반면 전문 체스 기사는 여러 기물이 관련된 커다란 배치 형태를 파악한다. 체스 실력이 나아진다는 것은 기물의 배치를 덩어리 형태로 더 많이, 더 크게 파악하는 것과 관련된다.
우리가 하위 문제를 풀 때마다 하위 문제를 풀기 전의 상태에서 푼 이후의 상태로 바로 가게 해 주는 ‘청킹’이라는 활동을 수행한다는 것이다. 이런 의미에서 청킹은 두 부분, 즉 자극(당신이 외부 세계나 단기 기억에서 인식하는 유형)과 반응(유형을 파악하고 당신이 차례대로 수행하는 행동들)으로 구성된다. 당신은 덩어리를 배우면 장기 기억에 저장한다. 다음에 같은 하위 문제를 풀어야 할 경우 기억해 둔 덩어리를 적용하면 된다. 유형을 탐색하는 시간이 절약되는 것이다. 전체 문제에 대한 덩어리를 얻고 자동으로 전체 문제를 풀 수 있을 때까지 하위 문제들의 모든 수준에서 덩어리 나누기가 일어난다. 예, 신발끈 묶기
데이터와 유사물을 덩어리로 만들고 나누는 방식을 통해 새로운 지식을 학습하는 데까지 적요할 수 있었다. 문제 해결 프로그램이 더 많은 덩어리와 더 복잡한 덩어리를 학습하자 이들을 적용하는 대가가 너무도 커져서 프로그램이 점점 더 빨라지는 대신 점점 더 느려진 것이다. 인간은 어떻게든 이런 사태를 피하지만 지금까지 이 분야의 연구원들은 그 방법을 알아내지 못했다.
빅 데이터는 인과 관계는 찾지 못하고 연관 관계만 잘 찾는다는 비판이 거짓이라는 것이 시험으로 드러났다. 인과 관계 학습이란 당신이 취한 행동의 효과를 학습하는 것이라고 말할 수 있고, 행동이 미친 영향에 대한 데이터를 계속 얻는다면 욕조에서 첨벙거리며 노는 한 살짜리 아기부터 재선 운동을 벌이는 대통령까지 누구라도 인과 관계를 학습할 수 있다.
인간은 연결하도록 태어난 관계형 학습자이다. 세상이 어떻게 작동하는지 이해하고 싶다면 관계형 학습은 좋은 도구다. 큰 수의 법칙에 따르면 개인은 예측 불가능하지만 전체 사회는 불가능하지 않다고 확신할 수 있다. 사회관계망 외에 관계형 학습의 인기 있는 응용 분야는 살아 있는 세포가 어떻게 작동하는지 이해하는 일이다.


제9장 마스터 알고리즘을 위한 마지막 퍼즐 조각

머신러닝은 과학이자 기술이며 양쪽의 특징에서 머신러닝을 통합하는 단서를 얻을 수 있다. 과학의 측면에서 보면 이론의 통합은 아주 간단한 관찰에서 출발한다. 무관해 보이는 두 개의 현상은 단지 동전의 양면으로 판명 나고, 그렇게 깨닫고 나면 도미노처럼 다른 것도 연속으로 알아 나간다. 멘델레예프의 주기율표는 알려진 모든 원소를 단지 2차원 평면에 배치한 것만이 아니라 새로운 원소가 어디에서 발견될지도 예측했다. 정리하면 정신 없을 정도로 다양한 관찰에는 공통의 원인이 있다는 것이 판명되었고, 과학자들이 그 원인을 찾아내자 그 원인을 사용하여 새로운 현상을 많이 예측할 수 있었다.
마스터 알고리즘은 머신러닝의 통합체다. 마스터 알고리즘은 모든 응용 분야에 적용되는 공통 형식으로 여러 머신러닝 알고리즘을 축약하여 어떤 응용 분야라도 필요한 머신러닝 알고리즘을 사용하게 해 준다. 마스터 알고리즘으로 가는 첫 번째 발걸음은 놀라울 정도로 간단할 것이다. 메타학습이라는 방식을 사용하여 여러 가지 머신러닝 알고리즘을 하나로 묶는 것은 어렵지 않다고 밝혀졌다.
메타학습을 ‘스택킹’이라고 부르기도 한다. 통계학자 레오 브레이먼이 발명한 ‘배깅’(자루에 넣기)은 학습 예제에서 새로운 표본을 추출해 여러 학습 예제를 무작위로 만들어 머신러닝 알고리즘에 적용한 후 그 결과들을 투표 방식으로 통합한다. 이렇게 하는 까닭은 분산이 줄어들기 때문이다. 통합된 모델은 데이터에 예상 밖의 변화가 생겼을 때 단일 모델보다 훨씬 덜 민감하므로 정확도를 향상하는 매우 쉬운 방법이다. 모형들이 의사결정트리이고, 학습 예제에만 변화를 주는 것이 아니라 각 지점에서 파악하여 얻은 속성들 가운데 무작위로 뽑아 부분 집합을 만들고 이를 각 트리가 보유하는 식으로 변화를 주면 ‘랜덤 포레스트’라 부르는 방식이 된다. 랜던 포레스트는 매우 정교한 분류기다.
‘부스팅’ 방법은 여러 학습 알고리즘을 결합하는 대신 이전 모형들이 저지른 실수를 바로잡는 새 모형을 이용하면서 같은 분류기를 데이터에 반복 적용한다. 이 방식은 학습 예제에 가중치를 부여한다. 학습을 할 때마다 잘못 분류한 사례의 가중치를 증가시켜 다음 번 학습에서는 이 사례에 더욱 집중하도록 하는 것이다. 부스팅이라는 이름은 이 과정이 처음에는 무작위 추측보다 그저 약간 좋기만 한 분류기를 지속적으로 강화하여 거의 완전한 분류기로 만든다는 개념에서 나왔다.
표현은 머신러닝 알고리즘이 자신의 모형을 표현하는 공식 언어다. 기호주의자의 공식 언어는 논리이고 논리의 규칙과 의사결정트리가 구체적 사례다. 연결주의자의 공식 언어는 신경망이다. 진화주의자는 공식 언어는 유전 프로그램과 분류기 시스템이다. 베이즈주의자의 공식 언어는 그래픽 모형이고, 그래픽 모형이라는 말은 베이즈 네트워크와 마르코프 네트워크를 모두 가리키는 포괄적 용어다. 유추주의자의 공식 언어는 특별한 사건들이고 SVM처럼 가중치를 가질 수도 있다.
평가 부분은 모형이 얼마나 좋을 지로 점수를 매긴다. 기호주의자는 평가 부분으로 정확도 혹은 정보 이득을 사용한다. 연결주의자는 제곱 오차 같은 연속적인 오차 측정을 사용한다. 제곱 오차는 예측된 값과 참 값 사이의 차이들을 제곱하여 더한 것이다. 베이즈주의자는 사후 확률을 사용한다. 유추주의자는 마진을 사용한다. 모형이 데이터와 얼마나 맞는가와 함께 모형이 얼마나 단순한가 같은 바람직한 다른 특성들도 고려한다.
최적화는 가장 높은 점수를 내는 모형을 찾아주는 알고리즘이다. 기호주의자 특유의 탐색 알고리즘은 역연역법이다. 연결주의자의 탐색 알고리즘은 기울기 하강이다. 진화주의자의 탐색 알고리즘은 교차와 돌연변이 같은 유전자 탐색이다. 베이즈주의자는 이 영역에서 특이하다. 그들은 단순히 최고의 모형만 찾지 않고 모형이 얼마나 가능성이 있는가에 따라 가중치를 주고 모든 모형으로 평균을 취한다. 가중치 부여 작업을 효율적으로 하기 위해 베이즈주의자는 MCMC 같은 확률적 추론 알고리즘을 사용한다. 유추주의자는 최고의 모형을 찾기 위해 조건부 최적화를 사용한다.
논리와 확률을 통합하는 것은 인간의 능력 밖 일인지도 모른다. 복잡성 괴물이 달려든다. 괴물을 벨 수 있는 유일한 무기는 학습이다.
논리와 확률을 어떻게 결합할 것인가? 베이즈 네트워크의 경직된 형태, 즉 변수들의 엄격한 순서와 부모가 정해진 상태에서 자식들의 조건부 확률 분포들이 논리의 우연성과는 양립할 수 없다. 베이즈 네트워크를 마르코프 네트워크로 바꾸면 어떠한 논리 공식도 마르코프 네트워크 특징의 견본으로 사용할 수 있고, 그렇게 되면 논리와 그래픽 모형을 통합할 수 있을 것이다.
마르코프 네트워크는 퍼셉트론과 매우 비슷하게 특징들의 가중치 합으로 정의된다. 퍼셉트론에서는 이런 특징들의 가중치 합을 한계치 값과 비교하여 결정한다. 마르코프 네트워크에서는 가중치의 합을 지수로 하는 자연 로그의 거듭제곱을 만들면 이것은 가중치를 지수로 하는 자연 로그의 곱의 형태가 되고, 이 곱은 사진에 당신의 할머니가 있는지 여부와 상관없이 사진 모음에서 그런 특징을 가지 사진을 고를 확률이 된다. 마르코프 네트워크는 확률 분포를 나타내는 매우 유연한 방법이 된다.
P= e^(w∙n)/Z
P는 확률이고 w는 가중치 벡터이고 n은 숫자들의 벡터다. 이것들의 내적을 자연 로그의 지수 자리에 넣고 모든 곱의 합인 Z로 나누어 P를 구한다. 사진의 첫째 특징이 진실이면 n의 첫째 성분을 1이라고 하고 거짓이면 0이라 하자. 나머지 특징들에 대해서도 똑같이 정하면, wn은 우리가 지금까지 이야기한 특징들의 가중치 합을 나타낸다.  마르코프 논리 네트워크 (MLN)
마르코프 논리 네트워크는 단순히 논리 공식들과 그 가중치의 집합이다. 사물의 특정 집합에 적용되면 그들의 가능한 상태에 관하여 마르코프 네트워크가 정해진다. 통합 머신러닝 알고리즘은 MLN을 표현으로 사용하고 사후 확률로 평가 기능으로 사용하고 기울기 하강과 결합한 유전 탐색을 최적화기로 사용했다. 우리가 원한다면 사후 확률은 다른 정확도 측정으로, 유전 탐색은 언덕 오르기로 쉽게 교체할 수 있다.  알케미( alchemy.cs.washington.edu )
알케미가 수행하는 추론은 논리 추론과 확률 추론을 결합한 것이다. 논리 추론은 정리들을 증명하면서 수행되고 확률 추론은 신뢰 전파와 마르코프 연쇄 몬테카를로 방법으로 수행한다. 세상은 상호작용이 무작위로 일어나는 정글이 아니다. 세상은 계층 구조를 지닌다. MLN은 계층적 군집으로 데이터에서 지식을 배울 수 있다. 세상은 부분으로 구성되고 부분은 유형에 속한다. 이 두가지 사실을 결합하면 알케미가 수행하는 추론을 추적하는 일이 대부분 가능해진다.
지식을 일관성 있게 하나로 모으는 것은 아무리 똑똑하더라도 사람이 혼자서 할 수 있는 일이 아니다. 오직 머신러닝만 할 수 있다.


제10장 이것이 머신러닝이 펼치는 세상이다

모든 사람이 자신에 대한 섬세한 모형을 둘 테고, 이러한 모형들은 항상 이야기를 나눌 것이다. 당신이 일자리를 찾고 X사가 일할 사람을 찾는다면 그 회사의 모형이 당신의 모형과 면접을 볼 것이다. 또한 당신의 모형이 수백만 번 데이트 가상 체험을 하기 때문에 당신은 실제로 수백만 번 데이트할 필요가 없으며, 토요일이 되면 유망한 데이트 상대 상위 목록에 있는 사람들과 파티에서 만날 것이다.
‘내 사람들이 당신의 사람들을 부를 것입니다’라는 말이 ‘내 프로그램이 당신의 프로그램을 부를 것입니다’라고 바뀔 것이다. 한 사람 한 사람마다 딸린 수행 로봇이 세상을 원만히 살아가도록 돕는다.
당신의 데이터를 맡는 새로운 종류의 회사가 생긴다. 단신의 돈을 맡는 은행과 같다. 디지털 당신을 확보하기 싶어하는 회사가 있을 것이다. 구글의 세르게이 브린은 ‘우리는 구글이 당신 두뇌의 세 번째 반구가 되기를 원한다’라고 말했다.
사람들은 데이터 조합에 가입할 수 있다.
빅 데이터는 감각 기관의 확장이고 머신러닝 알고리즘은 두뇌의 확장이라고 생각한다. 기술이 발전하면 사람과 기계의 조합이 구체적으로 나타난다.
통계학자는 예측이 어렵다는 것을, 특히 미래에 관한 예측이 어렵다는 것을 알고, 컴퓨터 과학자는 미래를 예측하는 가장 좋은 방법은 미래를 창조하는 것임을 알지만 검증하지 않은 미래는 발명할 만한 가치가 없다.