강아지 사진인지를 판단하는 방법을 글로 적어보시라. 그리고 그 방법대로 판단하는 과정을 밟아보시라. 틀린 답을 내기 일쑤다. 논리와 언어로는 그 방법을 잡아내지 못한다. 우리가 늘 하는 일이니 분명히 가능한 일인데, 그 방법을 일일이 표현하려 들면 난감해진다. 아직 우리가 이해하는 언어로는 구체적으로 작성할 수 없는 소프트웨어가 우리 몸에서 작동하고 있는 것이다. (이광근) - P9

서당개 3년이면 풍월을 읊는다는데, 서당개에게 5만 년어치의 글을 들려준다면? 기계 학습을 돌리는 컴퓨터에게 5만 년어치 책을 주입해주면 학습 결과로 얼추 글을 쓰는 서당개를 만들어 준다. 종종 엉터리 글을 쓸 수는 있지만 어느 정도 해낸다. (이광근) - P10

컴퓨터의 원천 설계도를 선보인 튜링(Alan Turing)의 업적이 사실 그런 것이었다. 튜링은 1930년대에 기계적인 계산이 뭔지를 명확히 정의한다. 그 정의 덕분에 컴퓨터로 하는 온갖 문제 풀이 능력과 한계를 파악할 수 있었다. 그리고 그 정의가 지금까지 깨지지 않고 유지된 덕분에, 파악했던 것들이 지금까지 사실로 유지될 수 있었고, 컴퓨터 하드웨어와 소프트웨어 분야가 서로 신경 쓰지 않고 전속력으로 발전할 수 있었다. (이광근) - P11

이 책에서 내가 논의할 알고리즘은 조금 특별한 것들이다. 대부분의 알고리즘과는 달리, 디자인한 사람이 모르는 환경에서 그 알고리즘들이 실행될 수 있다. 그 알고리즘들은 환경과 상호작용하면서 그 환경을 효과적으로 헤쳐나가는 방법을 배운다. 상호작용을 충분히 하고 나면 그 알고리즘들은 더 똑똑해진다. 어떤 전문성을 가지게 된다고 할까. 알고리즘에 미리 심어 넣은 전문성이 아니라 실행하며 외부 환경에서 배워 익힌 전문성이다.
이런 알고리즘을 에코리즘ecorithm이라고 부르겠다. 에코리즘이 따르는 학습을 얼추거의맞기probably approximately corect, PAC학습이라고 한다. 이 학습 모델은 성공적으로 학습했다는 게 뭐고 그렇게 되기까지의 비용은 어떻게 되는지를 판단하는 틀을 제공한다. 그 안에서 디자이너들은 알고리즘이 배운 전문성이나 그것을 배우는 비용을 재 볼 수 있다. (이광근) - P18

따라서 인덕(학습)의 정의는 수학적인, 명확한 것이어야 한다. 튜링 테스트같은 애매한 것이 아니라 튜링의 기계적인 계산의 정의 같아야 한다. 튜링이 계산을 애매하게 정의했었다면 지금 우리는 어디쯤 있을까? 튜링 시절 그럴듯하게 들렸을 기계적인 계산의 정의는 어떤 게 있을까? 이런 건 어떤가. "어떤 일이 기계적으로 계산 가능하다는 것은 다음의 경우만이다. 그 일을 보통의 지능을 가진 사람이 일상적인 일을 하면서, 예를 들어 스파게티를 먹으면서 계산할 수 있는 경우." 이런 정의가 그럴듯하다는 것에 반대할 사람은 거의 없었을 테지만, (튜링이 계산에 관한 지금의 개념을 담은 논문을 발표한) 1936년에 이런 애매한 정의로 시작했다면 지금 우리가 보는 21세기의 정보 혁명은 싹트지 못했을 것이다. - P11

이 책의 핵심은 자연에서 일어나는 학습 현상을 수학적으로 명확하게 정의한 것이다. PAC 또는 얼추거의맞기probably approximately correct 모델이라고 한다. 이 모델은 학습 과정을 계산 과정으로 보는데, 특히 그 연산 횟수가 제한된 것으로 한다. 생명체는 너무 긴 시간을 학습에 쓸 수가 없다. 다른 일도 해야 하거니와 수명 때문에도 학습 시간이 마냥 길 수는 없다. 또, 이 모델은 학습 중에 외부 세계와 주고받는 횟수도 비슷하게 제한된 것으로 한다. 그리고 학습으로 유기체가 새로운 정보를 분류하는 데 틀리는 경우가 적어야 하지만 항상 맞을 수는 없다는 점을 담고 있다. 인덕induction, 歸納은 ’아마도’가 낀다. 그래서 늘 백 퍼센트 정답만 인덕할 수는 없다. 정답과 조금 어긋난 것을 만들 여지가 늘 있다. 또 세상이 갑자기 변하면 학습한 것은 언제라도 쓸모 없어질 수도 있다. - P11.12

이 책에서는 이런 에코리즘의 언어를 써서 진화, 학습, 지능을 설명하려고 한다. 에코리즘이라는 알고리즘으로 생명의 진화 같은 자연 현상을 설명할 수 있으려면 만족해야 할 것이 많다. 특히 제한적인 횟수만 환경과 상호작용해서, 그리고 제한적인 자원만 사용해서 결과를 만들어야 한다. 에코리즘도 그렇고 그걸 품고 고안된 일반 학습 모델(얼추거의맞기probably approximately correct, PAC 학습이라고 부르는)도 그런 제한된 자원량 이상을 소모하지 않는 알고리즘이 되도록 정의한 것이다. 이런 알고리즘으로 설명되는 자연 현상은 우리 경험에 익숙한 것(학습, 유연한 반응, 그리고 적응 등)부터 진화와 지능까지 광범위하다. - P26

기계적인 계산으로 자연 현상이 이해될 수 있다는 아이디어는 비교적 최근 아이디어지만, 자연의 비밀을 밝히는 데 사용하는 무기의 하나로 확실하게 자리잡고 있다. 물리의 법칙을 표현하는 데 수학 방정식이 유용하다는 아이디어, 실험실의 실험이 화학 세계의 사실을 밝힐 수 있다는 아이디어, 그리고 사회과학에서 통계 분석이 인과 관계에 관한 실마리를 준다는 아이디어들은 널리 받아들여졌다. 기계적인 계산의 관점이 유용하다는 아이디어도 그런 위치에 서게 될 것이다. 의심의 여지가 없다. - P34

컴퓨터과학의 대상은 컴퓨터가 아니다.
천문학의 대상이 망원경이 아닌 것처럼.
—다익스트라(Edsger Dijkstra) - P37

튜링이 보인 건 기계적인 계산이라는, 혹은 생각 없이 한 스텝 한 스텝 실행하는 정보 처리라는 애매한 개념이 체계적으로 정의되고 분석될 수 있다는 것이었다. 그 이후로 우리는 기계적인 계산으로 가능한 것과 불가능한 것의 경계를 이해하게 되었다. 다시 말해서 계산이 뭔지를 비로소 이해하게 된 것이다. - P40

멈춤 문제halting problem의 불가능에 대해서 주의해야 하는 점은, 모든 기계에 대해서 그 멈춤 여부를 정확히 답하는 기계가 불가능하다는 것이다. ‘모든‘과 ‘정확히‘가 핵심 조건이다. 몇몇 기계에 대해서만 정답을 내는 기계는 가능하다. 혹은 모든 기계에 대해서 답을 내지만 때때로 틀린 답을 내는 기계는 가능하다. 모든 기계에 대해서 항상 정답을 내는 기계가 불가능하다는 것이다. - P44

튜링 3원소 중 하나인 기계적인 계산의 정의, 이게 그래서 중요한 시작이었다. 튜링은 그 모델로 기계적인 계산이라고 할 수 있는 현상을 모조리 잡아내려고 했다. 누구도 생각하지 않았던 현상까지 모조리, 사람이 창의성이나 영감을 이용하지 않고 기계적으로 별생각 없이 하는 일들이라면 모두 튜링기계로 표현하려는 게 목표였다. - P46

컴퓨터과학과 물리학이 주로 사용하는 수학도 차이가 있다. 튜링 이전의 수학은 연속한 세계를 다루는 것continuous mathematics이 지배적이었다. 물리학에서 주로 사용하는 수학이다. 변화가 한없이 작은 양으로도 일어난다고 생각하는 세계다. 하지만 튜링기계는 연속하지 않는 모델이다. 변화가 뚝뚝 끊겨서 일어나는 세계를 다루는 이산수학discrete mathematics의 세계다. 튜링 이전까지는 이산수학은 거의 연구되지도 않았다. 사실 튜링의 영향이라고 거의 이야기되지 않는데, 이산수학이 부상하게 된 것이 튜링 때문이다. 이 책에서 우리가 다룰 학습과 진화 등의 현상을 정의할 때도 이산 모델이 가장 튼튼한 모델이 된다. 학습과 진화의 핵심 현상을 끄집어내는 데 가장 유효한 것이 이산 모델들인 것이다. 연속 모델이 결국에는 큰 관심을 받겠지만, 첫 스텝으로서 가장 근본적인 개념을 정의하는 데는 연속 모델보다는 이산 모델이 직관적이다. - P50.51

여담으로, 현재의 과학 분야 전반에서 계산 복잡도의 중요성을 흡수하는 과정에 있지만, 전통적인 과학 교육은 아직 그런 상황을 준비하는 것 같지는 않다. 계산 복잡도로 보면 전통적인 수학과 과학 과목에서 푸는 문제들은 모두 현실적인 비용에 풀 수 있는 것들로 제한되어 있다. 산수도 그렇고 선형대수도 그렇다. 이 상황은 당연히 이유가 있지만(현실적인 비용으로 할 수 있는 방법만 가르쳐야 했기 때문에) 그러나 이런 문제들만 다루는 교육은 잘못된 인상을 남긴다. 쉽게 정의되는 문제는 모두 효율적으로 풀린다는 인상을 줄 수 있다. 이러면 학생들이 잘못 준비될 수 있다. 전혀 새로운 문제에 직면했을 때 계산적으로 비용이 현실적인 풀이법을 찾아야 한다는 기준을 간과할 수 있다. - P55

그림 3.4 무작위randomized 알고리즘의 예. 임의의 모양이 사각형 안에 그려져 있다고 하자. 그 모양의 면적을 어림잡는 방법으로 그 사각형 안에 점을 무작위로 찍어서 그 중에서 모양 안에 들어가는 점들의 비율로 계산하는 것이다. 조건은 점은 사각형 안에 어디에나 동일한 확률로 찍는 경우여야 하고, 각각의 점 찍기는 독립적이어야 한다. 크게 틀리는 경우는 아주 운이 나빠서 균일하게 점을 찍지 않게 되는 경우다. 이런 경우는 점점 더 많이 점을 찍으면 줄어들게 된다. 무작위 알고리즘은 근본적으로 이런 식의 성공 보장을 한다. - P58

현재까지 다항 시간 안에 인수 분해를 하는 알고리즘은 양자 컴퓨터를 이용하는 것 이외에는 알려진 게 없다. 무작위 알고리즘(BPP) 중에도 없다. 인수의 존재 여부를 알아내는 것과 인수를 찾아내는 것 사이의 어려움은 기하급수로 차이가 난다. 이 차이가 암호 시스템들의 기초다. 예를 들어 RSA 암호시스템에서는 두 개의 큰 소수 p, q를 골라서 곱한 결과 x를 공개하고 p, q는 내가 비밀로 가지고 있는다. 다른 사람들이 x를 가지고 내게 보낼 메시지를 암호화하면 나만 p, q를 가지고 그 암호화된 메시지를 풀 수 있다. 임의의 소수 p, q를 만드는 일은 임의의 수를 선택하고 소수인지를 확인하면 되지만, 암호화된 메시지를 엿들으려면 x를 인수분해해서 p, q를 알아내야 하는데 이건 훨씬 어려운 일이다. (이 인수분해 문제는 BOP에 속한다. 즉, 양자 컴퓨터로는 다항시간 안에 할 수 있다. 이런 이유 때문에도 양자 컴퓨터가 실현 가능할지를 많은 사람들이 궁금해하는 것이다.) - P63

가설 P≠NP는 현재는 물리 법칙과 비슷한 처지에 있다. 물리 법칙도 수학적으로 증명되지 않는다. 물리 법칙은 당연히 수학적으로 증명되는 게 아니다. 계산에 대한 가설이 물리 법칙과 역할이 비슷한 이유는 누군가 틀렸다는 증거를 내놓기 전까지는 가설로서 유용하게 살아있기 때문이다. 우리의 경우 가설은, 다항 시간에 마칠 수 있는 알고리즘은 NP-완전 문제들에는 없다는 것이다. 결국에 이 가설이 틀렸다고 밝혀지면 물론 좋은 일이다. 모든 NP-완전 문제들을 푸는 효율적인 알고리즘을 찾아낸 셈이므로, 그게 충분히 효율적이면 혁명적인 결과가 될 것이다. - P66

알고리즘의 풍부한 능력에 대한 또 다른 면은 이런 것이다. 아주 간단한 알고리즘인데 그 실행 양상은 우리 같은 유한한 존재로서는 도무지 알 수 없는 경우가 있다. 실행 양상을 파악할 수 없는 알고리즘으로 잘 알려진 것이 있다.
다음의 알고리즘이다.

1. 양의 정수 n으로 시작한다.
2. n=1일 때까지 다음을 반복한다:
(a) 만일 n이 짝수면 n을 n/2로 바꾼다.
(b) 만일 m이 홀수면 n을 3m +1로 바꾼다.

예를 들어, n=44에서 시작하면 다음의 값들을 만든다. 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1. n의 첫 값이 정해지면, n의 다음 값들을 차례로 계산하는 것은 간단하다. 알 수 없는 것은 시작하는양의 정수가 뭐가 되었든 만들어지는 숫자열이 항상 끝날지 여부다. 수학자 콜라츠(Lothar Collatz)가 1937년에 낸 문제인데 그 이후로 많은 양의 정수로 시작해 봤는데 모두 1을 만들고 알고리즘이 끝났다. 그러나 (그 문제가 얼마나 간단한지에 대비해서 놀랍게도) 누구도 증명할 수는 없었다. 모든 경우 늘 끝나는지, 아니면 어떤 양의 정수의 경우 끝나지 않는지.
콜라츠 문제는 간단한 알고리즘에 숨은 근본적인 복잡성에 대한 한 예다. 특히 그 알고리즘은 외부 환경과는 완전히 격리되어서 작동하는 알고리즘이었다. 입력이란 것도 필요 없이 구성할 수 있다. - P69.70

학습은 많은 단계를 통해서 달성되는데, 각각의 단계를 따로 놓고 보면 그럴듯하지만, 뭐 하자는 건지 어디로 향하는지 무심하다. 이 단계들은 큰 그림의 계획하에 작용하는 알고리즘을 따른다. 그 때문에 각 단계는 비로소 의미를 가진다. 단계들이 모두 모여서 뭔가를 이루는 일종의 수렴 과정이랄까.
진화도 비슷하다고 주장하려고 한다. 진화의 많은 작은 단계가 따로 놓고 보면 크게 의미 있지는 않다. 하지만 큰 그림을 품은 알고리즘 스타일의 계획 아래 발맞춰 진행되면 놀라운 결과를 낳게 된다. - P77

다음 장에서 보겠지만, 학습할 수 있는 것의 한계가 있다는 사실은 경고 시그널로도 볼 수 있다. 실험 데이터를 많이 모은다고 반드시 대상 시스템을 더 잘 이해하게 돕는것은 아니다,라는 경고. 단적인 예로, 개별 사람들의 행동이 가까이서 관찰되어 왔고 수천 년 동안 널리 기록되어 왔지만 아직 우리는 그런 행동을 만드는 뇌의 작동 방법에 대해서 아는 게 거의 없다. 생물학 연구방법에 대해 참고할 의미심장한 사실이다. - P86

의식 현상을 계산 과정으로 보자는 아이디어가 그럴듯한 이유가 있다. 그 ‘계산 과정‘이라는 것이 대단히 폭넓기 때문이다. 만능이라고 여겨질 정도로 컴퓨터로 할 수 있는 계산이 광범위하기 때문이다. 뇌 모델이나 생각 과정 모델은 매번 그 시대의 첨단 기계 장치들로 바뀌어 왔기 때문에, 혹자는 컴퓨터가 현재로선 첨단 기계지만 미래에는 또 바뀌게 될 거라고 의심할 수 있다. 그러나 이번은 아니라고 본다.
컴퓨터가 모델이 될 수 있는 이유는 이 세상의 모든 기계적인 계산을 컴퓨터가 실행할 수 있다고 여겨지기 때문이다. 컴퓨터가 단순히 현재 가장 첨단의 복잡한 기계 장치이기 때문에 자격이 있는 게 아니다. 컴퓨터가 하는 계산이 기계적인 계산이라고 상상할 수 있는 것은 모두 포함하고 있다고 여겨지기 때문에 진지하게 보는 것이다. - P91

우리의 과제는 논리가 놓치는 직관의 세계가 뭔지, 그리고 그 세계로 가는 과학적인 방법은 무엇인지 찾는 것이다. 직관의 세계를 논리적인 가이드에 준해서 잘 작동하는 세계로 정의하고, 그 세계에 대해 논리적으로 설명하는 것이다. 직관 혹은 상식이 발휘하는 능력은 명확한 논리적인 가이드가 없는 세계에서 좋은 판단을 해내는 능력이다. 그런 능력을 과학적으로 설명한다는 것은 논리가 없어 보이는 세계를 논리의 그물로 온전히 길어 올리는 일이다. 논리적인, 수학적인 이론을 세우는 일이다. - P92

두 개의 가정만 있으면 인덕을 이치에 맞게 과학적으로 설명할 수 있다. 더군다나, 이 두 개의 가정은 논리를 위해서 필요한 면도 있지만 실제 세계에서 우리가 관찰할 수 있는 모든 학습 과정에 늘 깔려있는 것이기도 하다.
첫 번째 가정은 변동 없다는 가정invariance assumption이다. 학습한 결과가 사용되는 미래 상황은 학습할 때의 상황과 다르지 않다는 가정이다. 한 도시에서 다른 도시로 이사한다면 예전 도시에서의 경험은 새 도시에서도 도움이 된다. 두 도시 상황이 대단히 다르지 않아서 가능한 일이다. 변동 없다는 가정을 조금 수학적으로 이야기하면 이렇다. 어떤 상황들이 있는지, 그리고 상황마다 얼마나 자주 발생할지가 학습 전후로 변동이 없다는 가정이다. 이 가정은 세상이 변하지 말아야 한다는 게 아니고, 변하더라도 어떤 규칙성은 유지되어야 한다는 거다. 이런 규칙성이 세상의 변화를 예측할 수 있게 해준다. 지난 한 시간 동안 해가 지평선을 향해 꾸준히 내려가고 있었다면, 앞으로 한 시간 동안도 해는 꾸준히 지평선에 가까워지리라고 우리가 예상하듯이. - P96.97

깊은 신경망(deep neural net, DNN, 딥뉴럴넷) 알고리즘이 (PAC 학습 알고리즘으로 확인되지 않았지만 기계 학습에서는 잘 사용되고 있는 많은 알고리즘의) 한 예다. DNN 알고리즘은 실험적으로는 PAC 알고리즘의 양상을 보인다. 정확도를 올리는 데 필요한 학습 시간이 기하급수로 늘지 않는다. 그러나 현장에서 사용되는 실제 DNN 알고리즘들이 PAC 알고리즘인지는 아직 엄밀히 증명된 바는 없다. PAC 알고리즘이려면 모든 분포의 샘플들에 대해서 그렇게 작동해야 한다.
이론적으로는 자격이 안 되지만 쓸모 있는 알고리즘은 흔하다. NP-완전 문제를 푸는데, 실제 현장에 출현하는 입력들에 한해서는 다항 시간에 답을 내는 알고리즘이 종종 있다. 그런 알고리즘은 NP-완전 문제를 다항 시간에 푸는 알고리즘은 아니다. 모든 입력에 대해서 다항 시간에 답을 내는 건 아니기 때문이다. 실제 DNN 알고리즘들이 이와 유사할 수 있다. 이상적인 PAC 알고리즘 자격은 안되지만 현실에서는 쓸모 있는. - P114

그런데, 그런 함수(많은 데이터에 숨은 간단한 함수)를 다항식 비용으로 인덕하는 건 대부분 불가능할 것 같은 이유는 데이터를 더 많이 봐야만 정답 함수의 면모가 드러나서가 아니고, 있는 데이터에서 정답 함수의 면모를 끄집어내는 과정, 이 과정 자체가 다항식 비용으로는 불가능할 것 같아서다. - P121

내가 믿는 바, 사람들이 복잡한 개념을 학습할 수 없는 주된 걸림돌은 데이터가 아니다. 적당한 개수의 샘플 데이터에서 규칙성을 도출해내는 계산 과정의 복잡도가 크기 때문이다. 예를 들어, 행성 궤도가 타원형을 그린다는 것을 인덕하는 데 큰 어려움이 바로 이것이었다. 필요한 데이터를 모으는 데 수백 세대가 걸렸기 때문이 아니었다. 타원형 궤도라는 개념이 사람들이 쉽게 도출할 수 있는 규칙성 중에 한동안 존재하지 않았기 때문이었다. - P121

정리하면, 학습의 한계를 이해하려거든 계산의 한계를 고려해야 한다는 것이다. P=NP로 판명되거나 그에 버금가는 예상외의 강력한 결과가 나온다면, 모든 다항식 복잡도(P 클래스)의 함수가 다항식 개수의 데이터만 있으면 학습 가능하게 된다. 그러나 P=NP는 아니라고 컴퓨터 과학자들이 널리 예상하고 있다. 따라서, 확신할 수는 없지만 모든 P 클래스 함수가 데이터만 있다고 학습 가능한 건 아닐 것으로 예상할 수 있다. 즉, 데이터 안에 학습할 함수에 대한 모든 게 있다는 생각만으로는 학습 가능한 함수들의 경계를 파악하는 데 충분치 않다. - P123

[RSA(Rivest-Shamir-Adleman) 암호 시스템의] 공개 열쇠를 인수분해해서 짝꿍열쇠의 핵심 부품을 찾아내는 것은 현실적으로 불가능하다. 큰 수의 인수분해를 현실적인 비용으로 할 수 있는 디지털 컴퓨터 알고리즘이 아직 없기 때문이다. - P124

정규 언어를 학습하는 일은, 다항식 개수의 문장들만 보고(문장마다 그 언어에 속한다 속하지 않는다 여부가 표시되어 있다) 학습한 후 새 문장이 오면 해당 언어의 문장인지 답을 내주는 일이다. 정답 언어의 오토마타를 추정해 내는 게 한 방법이다. 원칙적으로, 오토마타까지 가지는 않더라도 문장을 받아서 얼추 거의 맞게probably approximcately correctly 판단해 주는 가설을 추정해 내는 거다. 촘스키 이후로 수십 년 연구해 왔지만 그런 학습 알고리즘을 찾는 데는 실패했다. 1980년대에 그 실패가 말이 된다는 사실이 밝혀졌다. 정규 언어를 PAC 학습할 수 있는 알고리즘이 존재하면 RSA 암호 시스템을 깰 수 있다고 증명되었다. 그런 암호 시스템이 깨질 수 없는 한 정규 언어를 학습하는 기계적인 방법은 없다. - P126

내 생각에 인간은 본능적으로, 접근 가능한 목표를 모두 좇도록 항상 준비되어 있다. 그래서 인간은 배울 게 풍부한 환경에서는 선생이 없더라도 계속 학습할 수 있다. 그 덕에, 이전에 학습한 개념을 갈고닦는 것뿐 아니라 접근 가능하기만 하면 전혀 새로운 개념도 배울 수 있다. - P131

진화가 PAC 학습의 한 예라면, 진화도 목표를 가지고 있어야 한다. 최종 목적까지는 아니더라도 그때그때의 목표가 진화에도 있어야 한다. 진화를 목표 없는 경쟁만으로 설명하기에는 부족하다. 경쟁만으로 어떻게 단순한 단백질 회로가 시각이나 달리는 기능을 하는 정교한 시스템으로 발전하는지 설명하기는 어렵다. 비유로, 주식회사를 생각해 보자. 다른 회사들과 경쟁하는데 경쟁만으로 회사의 여러 행동을 설명할 수 있을까? 그것보다는 이윤 창출이라는 목표를 가지고 있기 때문에 여러 행동이 나온다. 꼭 경쟁만이 회사의 존재 이유는 아니다. - P144

여기서 ‘최선‘이라는 용어에 대해서 오해가 없기를, ‘최선‘이 최적을 뜻하는 건 전혀 아니다. 인류는 최선을 좋은 진화 과정의 결과로 출현한 것이다. 최적의 결과를 좇은 진화의 목적물이었다고는 말할 수 없다. 우리가 ‘최선‘으로 의미하는 바는 아주 지엽적인 의미다. 하나의 개체와 하나의 환경에 대해서 어느 한순간에 ‘최선‘이라는 뜻일 뿐이다. 예를 들어, 우리의 어떤 행동은 현재 환경에서 다른 행동보다 더 이득이 된다. 우리 몸의 일곱 번째 단백질을 발현시키는 함수들 중 좀 더 좋거나 좀 더 나쁜 함수가 있고, 하루에 먹을 초콜릿 양에도 좋은 양이 있고 나쁜 양이 있다. 뭐가 더 좋은지는 그때그때 환경에 따라 변한다. 현재 행동 때문에 다음번에 가장 유익한 행동이 달라질 수 있다. 지금 현재 환경에서 지금과 다음번 행동 조합만을 따저서 가장 큰 이득을 만드는 행동을 유도하는 함수가 ‘최선 함수‘다. - P146

진화 과정은 학습 과정과 똑같다. 학습할 수 있는 목표를 좇는 학습 과정은, 이미 배운 것에 조금씩 새로운 것이 덧붙여지면서 차례차례 쌓여간다. 그리고 그전에 배운 대부분이 유지된다. 진화 과정도 같다. 다양한 생물종에 걸쳐서 유전체의 많은 부분이 유지되며 변화가 조금씩 쌓여간다. 변함없는 부분들은 아마도 바뀌지 않는 게 좋은, 중요하고 복잡한 진화 결과를 표현하는 부분들일 것이다. 지구상에서 생명체에 공통으로 필요한 생화학 기초 정보 같은, 이 부분이 조금만 바뀌면 유기체는 불가능하다. 유전체의 다른 부분은 굉장히 빠른 진화 과정을 겪으며 변한다. 잘 작동하고 있고 유용한 장치를 만드는 유전 정보는 버리지 않고 보존하는 것이 진화에 꼭 필요하다. 학습에서도 그렇듯이. - P150.151

이렇게 쉽게 부서지는 문제를 극복해야 한다. 근거 없지만 상식선에서 하는 생각 과정을 명확하게 결정된 프로그램으로 구현하는 한, 이치 따지기reasoning 시스템이 논리적인 방식이건 확률적인 방식이건 쉽게 부서지는 문제는 어쩔 수 없다. 표현한 정보가 내부적으로도 부대끼고 표현 대상이 되는 바깥 세계와도 동떨어지면서 그 시스템에서 일어나는 논리 추론의 의의는 무너지게 된다. 근거가 있는 생각 과정에 대해서는 논리적인 원칙을 가지고 잘 구성되었겠지만, 근거 없이 상식적으로 진행되는 생각 과정에 대해서는 어떤 유용한 보장도 할 수 없게 된다. - P188

레지스터가 아주 소규모일 수밖에 없는 실용적인 이유가 뇌에서도 똑같이 성립한다. 작업보따리working memory를 관리하는 회로들이 꽤 복잡할 것이고, 그곳에서 일어나는 모든 일을 잘 조정하는 일도 복잡할 것이다. 복잡하고 빠른 장치를 대용량으로 갖추기에는 비용이 너무 클 것이다. 이런 이유 때문에 마음의 눈이 한순간에 다룰 수 있는 정보 조각이 몇 개 안 되는 것이다.
작은 작업보따리는 결코 궁극의 제약 사항이 아니다. 뇌는 단순 계산만이 아니라 학습도 해야 하기 때문에 다른 더 심한 제약들이 있다. 마음의 눈을 통해 보는 시야가 좁은 것은 세계를 학습하는 데 꼭 필요하다. 더 많은 정보에 주의를 기울일수록 그로부터 패턴을 도출해내기는 더 복잡해진다. 7±2개가 시야 범위와 계산 효율 사이의 적절한 균형인 것이다. 우리의 의식이 그렇게 작은 조리개를 통과하게 됨으로써 현실적으로 학습이 가능해지는 것이다. - P197.198

인간에게서 타고난 것과 길러진 것을 구분하기 어려운 이유가 바로 이것이다. 난자와 정자가 수정되기 전에 일어난 진화 과정과 수정된 후의 학습 과정이 너무 비슷해서 이 둘을 경계면을 찾기가 불가능하다. 어떤 사람의 성격 중에 어느 것이 5.5살 이전 경험에서 배운 것이고 어느 것이 그 이후에 익힌 것인지 구분하려고 한다고 하자. 말이 되지 않는다. 비슷하게, 탄생 순간이 모든 게 시작되는 지점은 아니다. 우리가 수정되거나 탄생했을 때, 이미 우리는 많은 중요한 것들을 반 정도 학습한 형태로 가지고 있다.
타고난 것이냐 길러진 것이냐는 틀린 질문이다. 계속되는 변화의 과정 중에서 거의 아무 순간이나 잡아서 억지로 묻는 식이기 때문이다. - P215

사람의 초기 학습 본능은 세계가 중립인 것으로 생각하게끔 진화했을 것이다. 주어진 모든 정보를 있는 그대로 받아들이고 대표적인 것으로 여기도록 진화했을 것이다. 부모나 선생은 이런 상황을 이용할 수 있다. 학습이 신속히 진행하도록 돕는 정보를 내놓으며 아이의 학습을 도울 수 있다. 반대로, 나쁜 경우 호도할 수도 있다. 왜곡된 정보를 내놓아서 학습 알고리즘이 잘못된 일반화로 신속히 수렴하게 할 수도 있다.
사람은 우연의 일치나 속임수에 쉽게 넘어간다. 학습할 수 있는 것은 거리낌없이 좋고 앞에 놓인 정보를 중립적으로 보려는 경향 때문이다. 그래서 우리는 처음 만나는 사람의 행동을 믿게 된다. 정상적이라고 생각하지 속이려고 드는 게 아니라고 본다. 식당에 가서는 그 식당 대표 음식을 먹고 있다고 믿게 된다. - P216217

추가적인 이유가 있을 듯싶다. 왜 학습 알고리즘들이 확실한 증거가 있기 전부터 가설을 부지런히 만드는지. 예전에 논의한 퍼셉트론perceptron 알고리즘이 처음 제안되었던 이유는 한 스텝 한 스텝 진행되는 것이 뇌 모델과 비슷해 보여서인데, 이 알고리즘의 또 다른 성질은 소위 온라인 알고리즘이라는 것이다. 예시를 몇 개를 보았건 간에, 매번 예시를 보면 새 가설을 잡는다. 우리 뇌가 그런 온라인 알고리즘을 구현한 것이라면(그렇다고 나는 믿는데) 매번 예시를 보고 가설을 내놓으려 할 것이다. 우리 뇌는 성급하게 판단하도록 짜여 있는 것이다.
성급한 판단은 중립적인 세계에서 전반적으로 우리에게 이득일 것이다. 한 번 만나고 우리는 상대방에 대해서 판단하는 경향이 있다. 음식점도 한 번 가보고 판단한다. 빈약한 증거로 성급하게 편견을 가지는 경향은 기본적인 본능이라고 본다. 빈약한 정보로도 일단 결정을 내리는 시스템을 가진 결과일 것이다. - P218

누구나 그렇듯이 우리 각자는 개별적으로 우리 의견이나 느낌을 위해서 투쟁하고 행동하는 것에 정당성을 부여할 수는 있을 것이다. 하지만, 조심해야 하고 겸손해야 한다. 우리 느낌과 의견이 다른 사람 것보다 더 우월하다고 정당화할 수있는 방법이 없어 보인다. - P221.222

제일 정교한 이론 있는 기술은 그 한계를 충분히 이해하고 사용해야 한다. 사용하지 말아야 한다는 것이 아니다. 이론 없는 분야(사회과학을 포함해서)에서, 우리의 의사 결정은 가장 정교한 지적 도구로 도움을 받았다고 해도 PAC 학습에 근본적으로 존재하는 불확실성에 휘둘린다. - P226

이 책에서 사람의 인지를 어떻게 보는지 정리해 보면 이렇다. 사람이 이해하는 개념은 계산에서 온 것이다. 우리가 태어나기 전후로 모종의 알고리즘 스타일의 학습 과정으로 얻어진. 그런 개념은 또 통계적인 과정에서 온 것이다. 학습 과정이 통계적인 증거로부터 기본적인 타당성을 끄집어 낸다는 의미에서. 즉, 증거를 더 많이 볼수록 우리의 확신이 증가한다는 의미에서. 그리고, 마음의 눈이라는 통로를 통해서 바깥 세계와 내부의 기억 장치가 만난다. 우리는 이 마음의 눈을 통과하는 정보를 통제한다. 그런 의미에서 우리 마음의 눈은 객관적이거나 중립적이라고 할 수 없다. 우리 신경계 회로들은 지식의 거대한 합을 만들고 있는데 이는 많은 진화와 학습이 축적된 결과다. 다윈 방식으로 다시 이야기하자면, 우리의 지식은 차례차례 일어난 작은 변화를 통해서 축적해 온 것이다. 각 변화는 학습의 의미를 가지는 것이었고, 이치 따지기는 이런 회로를 마음의 눈 안에서 현재의 상황에 적용하는 것으로 이루어진다. 우리의 뇌 시스템은 이론 없는 것을 다루도록 진화했지만, 이론 있는 결정을 할 때도 같은 회로를 사용한다. - P227

나는 항상 ‘인공지능artificial intelligene‘이라는 용어에 불편함을 느껴왔다. 내 주 전공이 그 분야라고 말하는 것도 좀체 꺼려왔다. 다익스트라(Edsger Dijkstra)를 처음 만났을 때를 기억한다. 그는 컴퓨터과학의 선구자로서 공헌한 것이 많기도 하지만 뚜렷한 의견과 촌철살인의 위트로도 잘 알려져 있다. 내게 어떤 공부를 하냐고 물었다. 기억할 만한 대화를 만들려는 욕심에서 그랬던 것 같은데 이렇게 답했다. "AI(인공지능)요." 그가 즉각 되받았다. "I(지능)를 연구하지 그래요?"
‘지능‘이 ‘인공지능‘보다 더 일반적이라면, 그의 말대로 당연히 더 일반적인 문제를 파야 한다. 그것이 더군다나 지능과 같은 자연 현상에 대한 것이라면 더욱 그렇다. 되돌아보면, 그동안 내가 해왔던 공부가 그랬던 것 같다. 이 책에서 인공지능 관련해서 이야기한 모든 것이 사실은 광범위하게 일반 지능에도 모두 적용된다. - P233

어떤 문제에는 간단한 방법이 아주 효과적일 수 있다. 예를 들어, 가장 가까운-이웃nearest-neighbor 알고리즘이다. 답안 예시들이 있고 가설은 만들어 내지 않는다. 새로운 질문이 주어지면 답안 예시들 중에서 가장 가까운 것을 찾아서 그 답안대로, 혹은 답안을 참고로 주어진 질문에 답하는 것이다. 최근의 자연어 번역이 이 기술을 사용해서 성공한 경우다. 두 언어 사이의 번역 예들을 어마어마하게 모아 놓으면, 새로운 문장을 어떻게 번역해야 할지에 대한 값진 정보가 거기에 있다. - P238.239

인식 능력에서 아기들은 생각보다 훨씬 더 철저하게 준비되어 태어난다. 간접적인 증거로, 인공지능 연구자들이 일상을 이해하는 데 필요한 상식들을 모두 정의하려고 할 때 만난 어려움이 있다. 소설을 이해하려면 소설에는 표현되지 않은 많은 지식이 필요하다. 너무 당연한 것들이라서 소설에는 없는 것들이다. 성인이 읽는 복잡한 소설만의 이야기가 아니다. 어린이를 위한 동화에서도 거의 같은 분량의 상식이 필요하다고 한다. 튜링의 꿈에 찬물을 끼얹는 이야기지만, 아기들은 놀랄 만큼 잘 학습된 상태로 태어나고 더 잘 배울 수 있게 준비되어 있다. - P244

튜링은 기계를 프로그램하는 것과 기계가 배우게 하는 것 사이의 딜레마를 이야기했다. 그는 학습시키는 것의 중요성을 인식하고 있었다. 한때 다음의 주장이 힘을 받았지만, 현실적으로 불가능한 이야기다. 학습한 기계가 일종의 고정된 프로그램을 실행하게 되는 것이므로 처음부터 그런 프로그램을 프로그래머가 만들 수 있었던 게 아닐까라는 주장이었다. 기계 학습이 성공적으로 사용되고 있는 경우에 학습한 결과를 같은 일을 하는 프로그램으로 바꿔치기하는 것은 거의 불가능하다. 학습 과정을 통하지 않고는 모든 관련된 인자 값을 가진 학습 결과를 얻을 수 있는 다른 방법이 아직 없기 때문이다. - P256

학습이 가진 중요한 장점은, 학습은 학습 시스템이 과거에 학습한 지식과의 관계에서 작동한다는 것이다. 선생이 전달하는 예시마다 학생은 이미 알고 있는 개념의 예인지 아닌지를 판단한다. 예시들은 이런 방식으로 학생이 이미 익힌 지식과 관계를 맺는다. 선생이 정확히 그 관계가 뭔지를 모르더라도 그렇게 작동된다. 이런 의미에서 가르치기는 프로그램 짜기보다 훨씬 더 생동적인 행위다. 학생의 이전 지식이 학습의 주고받는 과정에 자동으로 동원되기 때문이다. - P257

우리 조상들이 지구 위에서 겪은 익스트림 생존 훈련과 똑같은 유산을 로봇들에게 제공하지 않는 한 그들은 인간이 스위치를 끄는 것에 저항하지 않을 것이다. - P259


댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo