인공지능

 

물질과 의식 : Paul M. Churchland 지음, 석봉래 옮김, 서광사, 1992 (원서 : Matter and Consciousness: A Contemporary Introduction to the Philosophy of Mind, MIT Press 1988), Page 161~196

 

1. 컴퓨터 : 몇 가지 기본 개념들

     (1) 하드웨어

     (2) 소프트웨어

2. 지능의 프로그램화 : 점진적 접근

     (1) 의도적 행위와 문제 해결 능력

     (2) 학습

     (3) 시각

     (4) 자연 언어 조작

     (6) 몇 가지 만성적 문제들

     (7) 최근 진단

 

 

진짜 기능을 갖추고 있는 순수하게 물리적인 장치를 구성하고 조립해 내는 것이 가능한가? "인공지능" ("AI" 라고 줄여서 부르기도 하는) 이라 불리는 연구 계획이 주는 확신은 그것은 가능하다는 것이고, 그래서 이 계획의 목적은 그 목표를 달성하는 데 있다. 이 계획이 포함하는 것은 무엇이고 왜 이 계획의 실행자들은 낙관적인지 하는 점이 이 장에서 다룰 문제가 된다. 이 계획 앞에 놓여진 몇 가지 문제들 또한 논의될 것이다.

인공지능을 향한 희망적인 시도들은 긴 역사를 가지고 있다. 데카르트 (René Descartes) 가 살았던 세기의 후반에 수학자이며 철학자였던 독일인 라이프니츠 (Gottfried Leibniz) 는 서로 연결되어 도는 실린더들을 이용해서 더하기와 빼기를 할 수 있는 장치를 만들었다. 또한 그는 모든 사고를 순전히 연산으로 환원해 버리는 완전히 논리적인 언어의 가능성을 주장하기도 했다. 이 언어에 대한 매우 명확한 생각을 그가 가진 것은 아니었으나, 우리가 곧 보게 되겠지만, 이 생각은 예언적인 것이었다.

데카르트가 살았던 세기 다음에 오게 되는 세기에 드 라 메트리 (Julien de la Mettrie) 라고 하는 생리학적 연구 기반을 가지고 있는 사상가는, 데카르트처럼, 인간 신체의 구조와 '생명' 활동은 물질의 내재적인 원칙이나 어떤 비물질적인 실체에서가 아니라 물질적 구조와 그 물질이 그런 구조를 통해 갖게 되는 기능적 조직에서부터 나타나게 된다는 생각에 깊은 영향을 받았다. 그런데 이런 생각들이 제시하는 것에서 한 걸음 더 나아간 결론을 데카르트는 받아들이지 않았지만, 드 라 메트리는 과감하게 받아들였다. 그는 우리의 '생명' 활동들은 물질의 조직화된 구조에서부터 나타난다고 했을 뿐 아니라 우리의 모든 심리 활동도 역시 그러하다고 주장했다.

≪인간 기계론≫ 이란 그의 책은 널리 비난의 대상이 되었다. 그러나 일단 나타난 이런 그의 생각들은 잠잠해질 것 같지 않은 것들이었다. 드 라 메트리의 동시대인인 쟈끄 드 보캉송 (Jacques de Vaucanson) 은 내부적 구조와 기체의 작용이 여러 단순한 행동을 할 수 있게 만들어져 있는 매우 멋지고 생생한 몇 가지 인물상들을 만들었다. 금박을 입힌 구리로 된 오리는 마시고 먹고 꽥꽥거리고 물을 튀기는 그럴싸한 동작을 취했다. 그리고 실물 크기의 인물상은 플루트를 썩 잘 불었다고 전해진다. 이런 몇 가지 행동을 할 수 있는 자동 인형이 당시 널리 유행된 견해에 영향을 주었던 것 같진 않지만, 순진한 18 세기 관찰자들에게 있어 그런 자동 인형의 급작스런 동작들은 굳은 신념에 지속적인 동요를 일으켰다.

좀더 특정한 정신적 능력들은 지난 세기에 케임브리지 수학자였던 배비지 (Charles Babbage) 에 의해 연구되었다. 조심스럽게 설계된 그의 분석기 (Analytical Engine) 는 모든 기초적인 산술적ㆍ논리적 조작을 할 수 있는 것이었으며 그것의 원리는 현대의 디지털 컴퓨터의 전조가 되는 것이었다. 그러나 배비지는 여전히 순수하게 기계적인 장치의 영역을 벗어나지 못했으며, 비록 물리적으로 실현되었더라면 그의 상세한 설계가 실지로 작동했을 테지만, 어마어마한 기계적 복잡성 때문에 실지로 작동하는 기계는 결코 만들어지지 않았다.

모든 지적인 활동에 포함되는 복잡성은 그 활동을 기계적 장치로 쉽게 시뮬레이션하는 데 있어 지속적인 방해물이 되어 왔다. 그 방해물을 기술이 극복하는 데는 배비지 이래 한 세기가 걸렸다. 그러나 그 중간에 지나간 시간은 헛된 것은 아니었다. 추상적 영역에서 근본적인 발전이 있었다. 게다가 위에서 나열된 논리 체계들이 구체적인 사례가 되는 보다 상위의 추상적 개념 즉, 형식 체계 (formal system) 라는 추상적 개념을 우리는 이해할 수 있게 되었다. 형식 체계는 (1) 정식 (formula) 들의 집합 (2) 그 정식들을 조작하는 데 필요한 변형 규칙 (transformation rule) 들의 집합으로 구성되어 있다. 정식들은 약정된 형성 규칙 (formation rule) 에 따라서 몇 개의 기본 요소들은 연결시킴으로써 형성된다. 변형 규칙은 모든 주어진 정식의 형식 구조 (formal structure)  (= 정식의 요소들이 결합되는 틀) 에 관계하며, 그 규칙의 기능은 한 정식을 다른 정식으로 변형시키는 것뿐이다.

기초적인 대수의 경우에 기본 요소들은 0 에서 9 까지의 숫자와 "a", "b", "c", ……, (", "), "=", "+", "-", "/", "×" 등이다. 정식들은 "(12-4)/2" 와 같은 항들이거나 "x = (12 - 4) / 2" 같은 방정식들이다. 변형의 순차적 과정은

x = (12 - 4) / 2

x = 8 / 2

x = 4

일 것이다. 이 변형 규칙들이 무엇을 할 수 있는지 뿐만 아니라 그 규칙들 자체가 어떤 것인지에 대해서도 여러분은 잘 알고 있다. 그래서 여러분은 적어도 하나의 형식 체계를 이미 자유 자재로 구사하고 있는 것이다. 그리고 여러분이 생각을 할 수 있는 한, 여러분은 또 하나의 다른 형식 체계인 일반적인 명제 논리에 대해서 적어도 암묵적인 이해를 가지고 있는 것이다.

대부분이 별로 중요하지 않고 흥미를 끌 요소도 지니지 못한 것들이지만, 형식 체계들이 무한히 많이 존재할 가능성은 언제나 있다. 그러나 그들 중 상당수는 논리학과 수학의 예들이 밝혀 주듯이 보기 드물게 막강하다. AI 의 입장에서 보아 더욱 흥미로운 점은 모든 형식 체계는 원칙적으로 자동화될 수 있다는 점이다. 말하자면, 모든 형식 체계의 요소들과 조작들은 적절히 구성된 물리적 장치가 그 나름대로 설정하고 조작할 수 있는 그런 종류에 항상 속하는 것들이란 이야기이다. 물론 적절한 장치를 실지로 만드는 것은 그 크기 혹은 시간 혹은 기술 상의 문제로 가능하지 않을지도 모른다. 그러나 20 세기 후반의 전자 기술의 발달은 고속도의 범용 디지털 컴퓨터의 제작을 가능하게 만들었다. 그런 기계들은 매우 막강한 형식 체계들의 자동화를 가능하게 만들었으며, 결국 매우 강력한 형태의 계산이 가능하게 되었다. 결국 배비지를 머뭇거리게 한 장애물은 무너지게 된 것이다.

1. 컴퓨터 : 몇 가지 기본 개념들

(1) 하드웨어

"하드웨어 (hardware)" 라는 용어는 컴퓨터 몸체 자체와 입력을 위한 문자판, 화면과 출력을 위한 인쇄기 그리고 입력과 출력 모두를 위한 '보조' (passive) 또는 외부 기억 테이프/디스크/드럼 등과 같은 주변 장치들을 가리키는 말이다 (그림 1). 이 말은 "소프트웨어" (software) 라는 용어와 대조되는 것인데, 소프트웨어는 하드웨어가 무엇을 할 것인지를 알려 주는 일련의 지시 사항들을 나타내는 말이다.

 

그림 1

컴퓨터 본체는 두 가지 주요 요소 즉 중앙 처리 장치 (central processing unit, CPU) 와 주로 임의 접근 방식 (random access, RAM) 을 취하는 주 기억 장치 (active memory) 로 구성되어 있다. 임의 접근 방식이란 표현은 정보가 저장된 기억 요소들이 전자 그리드 (electronic grid) 에 배열되어 있어서, 각각의 요소 또는 '레지스터' (register) 가 중앙 처리 장치에 의해 직접적으로 접근 가능한 하나의 유일한 '어드레스' (address) 를 갖게 된다는 점을 의미한다. 이 방식은 중앙 처리 장치가 필요한 어떤 것을 찾기 위해 수천의 레지스터들의 전 배열을 수고스럽게 다 뒤져 볼 필요 없이 주어진 레지스터에 무엇이 있는지를 찾아낼 수 있게 해준다. 유사한 방식으로 중앙 처리 장치는 특정한 레지스터에 즉각적으로 정보를 집어 넣을 수 있다. 중앙 처리 장치는 이런 유형의 주 기억 장치가 가지고 있는 모든 요소들에 대해 자유스럽고 직접적인 접근을 할 수 있다. 따라서 "임의 접근 방식" 또는 "RAM" 이란 말이 생긴 것이다. 주 기억 장치는 중앙 처리 장치를 위한 '메모지' 또는 '작업 공간' 의 역할을 하며 그것은 또한 중앙 처리 장치가 특별히 무엇을 해야 하는지를 일러 주기 위해 우리가 집어 넣는 지시 사항들 또는 프로그램을 맡아서 가지고 있기도 한다.

중앙 처리 장치는 이 체계의 기능적인 핵이다. 이 장치는 그것 안에 입력된 여러 정식들을 조작하는 장치이다. 즉 이것은 이 기계가 가지고 있는 기본적 변형 규칙들을 실행하고 구체화시킨다. 연산 또는 정보 처리는 일군의 정식이 다른 일군의 정식에로 규칙에 따라 변형되면서 성립된다. 이것이 중앙 처리 장치의 일인 것이다.

어떤 정식들을 중앙 처리 장치가 처리하고, 어떻게 그것들을 변형시키는 것인가? 표준적인 컴퓨터에 내장되어 작동하게끔 되어 있는 형식 체계는 매우 엄밀한 것이다. 그것은 단지 두 개의 기본 요소 - 그것을 "1" 과 "0" 이라고 부를 수도 있다. - 만을 갖는데 거기서부터 그 체계의 모든 정식들이 구성되어야 하는 것이다. 이것은 기계문 또는 기계어라고 한다. 이 기계어로 되어 있는 모든 정식들은 1 또는 0 으로 구성된 유한한 문자열 (string) 이다. 이런 것들은 기계 그 자체 내에서는 주 기억 장치의 각 요소들에 부하가 걸려 있거나 그렇지 않거나 하는 상태로 그리고 중앙 처리 장치의 여러 회로에서는 펄스 상태이거나 아닌 상태로 나타난다.

중앙 처리 장치 내부에 만들어져 있거나 배선되어져 있는 것들이란 논리 게이트 (logic gate) 라 불리는 다수의 작은 요소들인데 그것들은 각각의 입력단에서 1 또는 0 을 취하고 출력으로 1 또는 0 을 내놓는다. 이 때 출력은 게이트의 속성과 입력된 요소들에 의해 전적으로 결정된다. 논리 게이트들의 전 체제를 이용하여, 1 들과 0 들의 모든 문자열들은 중앙 처리 장치에 어떻게 그리고 어디에 입력되느냐에 따라 다른 방식으로 배열된 1 들과 0 들의 새로운 문자열로 변형될 수 있다. 여기가 바로 규칙에 의해 지배되는 변형이 나타나는 곳이다.

이 지루한 정식들에 대한 조작에 있어서 흥미로운 점은 - 이러한 조작이 이루어지는 놀랄 만한 속도 즉 초당 백만 번의 변형 속도를 별도로 하고서도 - 어떤 문자열들은 체계적으로 보통의 숫자들을 나타내는 것으로 해석될 수 있고, 반면 중앙 처리 장치들의 어떤 하부 장치들은 덧셈기, 곱셈기, 나눗셈기 기타 등등으로 해석될 수 있다는 점이다. 모든 숫자들은 우리에게 친근한 10 진법 대신에 2 진법으로 표현될 수 있다. 즉 숫자들은 1 과 0 들의 문자열로 표시될 수 있다. 그런데 중앙 처리 장치의 어떤 하부 장치에서는 그렇게 표시된 숫자들이 입력 문자열 과 그리고 출력 문자열 로 주어졌다고 할 때, 그들 사이에는 보통의 숫자로 해석되었을 때, 가 항상 과 의 합과 같게 되는 관계가 성립하게 된다. 이 때 그 하부 장치들 - 적합하게 연결된 일군의 논리 게이트들 - 은 덧셈기로서 작동하는 것이다. 다른 하부 장치들은 다른 기본 산술적 연산을 수행한다.

마찬가지로, 우리는 명제 논리의 정식들을 (자연 언어의 문장들을 나타내는) 기계어로 기호화시킬 수 있고, 그래서 중앙 처리 장치의 어떤 하부 장치는 출력된 문자열이 다른 정식 즉 입력된 문자열이 나타내는 명제들의 논리적 연언 또는 선언 또는 부정 또는 조건인 정식들을 항상 나타낼 수 있게 그 문자열들을 처리할 것이다. 같은 방식으로, 임의적인 진술들 (예를 들어 "만약 ~ 라면 ~ 이다" 식의 진술들) 을 표현하는 입력 문자열들은 출력 문자열이 최초의 진술이 갖는 진리 함수적 타당성에 관한 판정을 나타내는 것이 되게 처리될 수 있다.

중앙 처리 장치들은 가장 기본적인 논리적ㆍ산술적 조작들을 모두 수행할 수 있도록 만들어졌다. 또한 이때 우리들이 프로그램을 만들 때 하는 식으로 기본적인 조작들을 결합시켜 좀더 복합적인 것을 만들거나 그렇게 된 것을 다시 결합시키거나 해서 끝없이 많은 조작들이 운영될 수 있다. 확실히 1 과 0 들로 된 문자열에 대한 지루한 조작은 속도에서 뿐만 아니라 그 깊이와 복잡성에서도 막강한 매우 흥미있는 형태의 계산 활동일 수 있는 것이다.

(2) 소프트웨어

중앙 처리 장치의 계산 활동은 통제될 수 있는데, "소프트웨어" 는 그런 통제를 수행하는 프로그램 혹은 일련의 지시 사항을 가리키는 용어이다. 프로그램은 컴퓨터의 주 기억 장치에 들어가게 되는데 거기서 프로그램의 개별적 지시 사항들이 순차적으로 중앙 처리 장치에 의해 판독되고 수행된다. 프로그램은 어떤 입력 문자열을 어떤 방식으로 처리할 것인지를, 언제 그것을 다시 꺼내서 화면에 표시하고 인쇄해 낼 것인지 등을 중앙 처리 장치에 알려 준다.

따라서 하나의 일정한 프로그램은 컴퓨터를 '특수한 목적' 을 위한 기계로 바꾸어 놓는다. 그런데 잠재적으로 무한한 수의 다른 프로그램들이 있다고 한다면, 우리는 컴퓨터가 잠재적으로 무한한 수의 다른 '특수한 목적' 을 위한 기계들처럼 작동할 수 있게 만들 수 있다. 이 점이 우리가 여기서 서술되고 있는 컴퓨터를 "범용" (general-purpose) 기계라 부르는 이유가 되는 것이다. 그런데 그렇게 부르는 보다 근원적인 이유가 있다. 그것을 지금 알아보려 한다.

가장 낮은 단계에서는, 지시 사항들을 담은 프로그램은 1 과 0 의 문자열로 된 기계어로 중앙 처리 장치에 입력되어야 한다. 왜냐하면 중앙 처리 장치가 이해할 수 있는 언어는 기계어밖에 없기 때문이다. (= 중앙 처리 장치가 조작하도록 만들어진 유일한 형식 체계가 그것이니까.) 그러나 기계어는 사람이 다루기에는 매우 어색하고 분명치 않은 언어이다. 일정한 숫자들과 방정식들, 명제들은 나타내고 있는 문자열들과 논리적ㆍ산술적 조작들을 수행하라는 지시 사항들을 나타내는 문자열들은 매우 숙달된 프로그래머가 아닌 이들에게는 아무 의미 없는 문자열들과 꼭같은 것처럼 보인다. 즉 1 과 0 으로 무의미하게 주절주절 나열된 것으로 보인다는 것이다. 분명 우리가 기계어를 인간들이 보다 접근하기 쉬운 언어로 번역할 수 있다면 훨씬 좋을 것이다.

이것은 이미 실제로 이루어진 것이다. 번역이란 한 종류의 정식을 다른 종류로 변형시키는 작업의 일종이라 할 수 있고, 컴퓨터는 매우 훌륭한 변형 장치이므로, 우리는 우리를 위해 컴퓨터가 그 일을 하게끔 시킬 수도 있다. 제 1 단계는 각각의 친숙한 글자들이 눌러졌을 때, 이것들이 1 과 0 으로 구성된 여덟 단위짜리 하나의 숫자열로 기호화되어 컴퓨터 본체로 보내질 수 있게 입력 문자판을 만드는 것이다. 이 최초의 기호화는 보통 ASCII 기호 (American Standard Code for Information Interchange, 정보 교환을 위한 미국 표준 기호) 의 한 예가 된다. 따라서 적어도 "ADD 7, 5" 같은 글자열은 기계어의 어휘로 나타내어질 수 있다. 다음 단계는 컴퓨터에 이 글자열을 기계어로 된 숫자열로 변형시킬 프로그램, 즉 예를 들어 중앙 처리 장치로 하여금 7 에 해당되는 2 진수와 5 에 해당되는 2 진수를 더하도록 실제로 지시할 (기계어로 힘들게 작성되었지만, 단 한 번의 일로 족한) 프로그램을 얻는 일이다. 같은 프로그램은 결과로서 나타나는 출력 (1100) 을 ASCII 기호 (00110001, 00110010) 로 다시 변화시키고, 그것을 받는 즉시 ASCII 로 기호화된 인쇄기는 이 경우에는 "12" 인, 원하는 일련의 친숙한 숫자나 문자들을 인쇄해 낼 것이다.

이런 프로그램을 번역기 또는 컴파일러 또는 어셈블러라 부르는데, 독자들은 이런 전략이 인간과 기계 사이의 보다 '우호적인' 상호 작용에서 뿐만 아니라, 복잡한 표현들을 간략화하는 데 있어서도 성립할 수 있다는 점을 알게 될 것이다. "AVERAGE " 이라는 단일한 표현은 (먼저 ASCII 기호로 그리고 나서) 더하기나 나누기 같은 다수의 각기 다른 기초적인 조작들을 조합하는 긴 기계어 숫자열로 변형될 수 있다. 즉 상위 레벨의 언어로 되어 있는 하나의 명령은 기계어로 된 대단히 많은 명령들의 수행을 야기하는 것이다. 그런 상위 레벨 언어들은 프로그래밍 언어라고 부르는데, 그것들은 기계어의 지긋지긋한 기호법에 통달한 대부분의 프로그래머들이 하는 일과 거의 같은 일을 한다.

일단 번역기가 얹혀져서 상위 레벨의 프로그래밍 언어를 쓸 수 있게 된 이상, 이제 컴퓨터는 그 '기본적인' 변형이 기계어의 형식 체계에서 나타났던 변형보다 훨씬 복잡한 새로운 형식 체계의 정식들을 조작하게 된다. 우리의 최초의 컴퓨터는 이제 다른 컴퓨터를, 즉 프로그래밍 언어로 된 문자열들을 조작하도록 만들어진 컴퓨터를 흉내내고 있는 것이다. 이 '새로운' 컴퓨터를 쓰고 있는 사람에게 있어서 이 '새로운' 언어는 컴퓨터의 언어와 동일하다. 이 이유에서 컴퓨터-더하기-번역하기를 종종 "가상적 기계" (virtual machine) 라 한다.

하나의 정보 처리 체계가 만약 다르게 프로그램된다면, 전혀 다른 다수의 정보 처리 체계들을 본들 (simulate) 수 있다는 것을 이 점은 의미한다. 이 점은 적절히 프로그램된 컴퓨터가 생물체의 신경계에서 발견되는 정보 처리 체계를 본뜰 수 있을지도 모른다는 점을 시사한다. 추상적 계산 이론 (abstract computing theory) 의 어떤 결론들은 이런 기대를 강하게 뒷받침하고 있다. 만약 어떤 컴퓨터가 일정한 기능적 조건들을 만족하게 된다면, 그 컴퓨터는 이론가들이 소위 말하는 만틍 튜링 기계 (universal Turing machine) (선구적인 컴퓨터 이론가인 튜링의 이름을 따서 이름지어졌다.) 의 한 예가 된다. 만능 튜링 기계에 관한 한 가지 재미있는 사실은, 제대로 정의된 모든 연산 과정 (computational procedures) 들 어떤 것에 대해서도 만능 튜링 기계는 그런 과정을 실행하는 물리적 체계를 본뜰 수 있다는 것이다. 본떠야 하는 물리적 체계의 입력/출력 행위를 정확히 재생해 냄으로써 만능 튜링 기계는 그러한 일을 하는 것이다. 그런데 흥미진진한 사실은 현대의 컴퓨터는 바로 만능 튜링 기계란 점이다. (하나의 단서가 있다면 그것은 진짜 컴퓨터는 무한한 기억 용량을 가지고 있지 않다는 점인데, 기억 용량은 요건을 충족시키기 위해 언제든지 확장될 수 있다.) 앞에서 이야기한 것처럼, 이런 보다 깊은 의미에서, 현대의 디지털 컴퓨터는 '범용' 기계인 것이다.

따라서 AI 의 연구 프로그램이 직면하고 있는 문제로 적절히 프로그램된 컴퓨터가 인간뿐만 아니라 동물들에게서 발견되는 연산 과정 (computational procedures) 을 기반으로 하는 연속적인 행동을 본뜰 수 있느냐 하는 것은 아니다. 그런 문제는 일반적으로 해결된 것으로 간주되고 있다. 적어도 원칙상으로는 본뜰 수 있다. 중요한 문제는 의식을 가진 지성을 구성하고 있는 활동들이 모두 모종의 연산 과정인가 하는 문제이다. AI 의 주도적인 가정은 그런 활동들은 모종의 연산과정이라는 것이고 그래서 AI 의 목표는 그런 활동을 본뜰 실제적인 프로그램을 만드는 것이다.

이 점이 대다수의 AI 연구가들이 좀더 참신한 컴퓨터 하드웨어의 형태를 만드는 것보다는 프로그램을 작성하는 데 더 관심을 가져온 이유가 된다. 범용 기계는 이미 여기 있고, 그 기계는 우리가 원하는 어떤 종류의 정보 처리기도 본뜰 수 있게끔 프로그램될 수 있다. 그렇다면 언뜻 보기에는, 인지 과정들을 본뜨는 문제에 대한 가장 가망성 있는 접근은 범용 기계를 작동시키는 절묘하게 만들어진 프로그램을 통해서 이루어질 것처럼 보인다. 다음 절에서 우리는 이 생산적인 접근법의 몇 가지 결과들에 대해 살펴보려고 한다.

추천도서 ~~~~~~~~~~~~

Weizenbaum, Jospeh, Computer Power and Human Reason (San Francisco : Freeman, 1976). 특히 2, 3 장을 참조.

Raphael, Bertram, The Thinking Computer : Mind inside Matter (San Francisco : Freeman, 1976).

Newell, Alan, and Simon, Herbert, "Computer Science as Empirical Inquiry : Symbols and Search," in Mind Design, ed. J. Haugeland (Montgomery, VT : Bradford, 1981 : Cambridge, MA : MIT Press).

2. 지능의 프로그램화 : 점진적 접근

지능을 프로그램화하는 작업에 대해 소박하게 접근할 때, 우리는 어떤 프로그램의 천재가 특별한 영감에 사로잡혀 불뿜는 창조의 격렬함으로 밤을 지새고 비밀 (The Secret) 이란 프로그램을 아침에 떠올리게 되어 그것을 근처의 사용 가능한 기계로 수행시켰을 때, 여러분이나 나 같은 의식을 가진 존재가 나타나게 되는 그런 식의 일만을 생각하게 될지도 모른다. 이런 생각은 매력적이긴 하나 만화책에나 나올 법한 이야기이다. 이것은 우리 앞에 단순하고 통일적인 현상이 있다고 가정하는 데서 그리고 그런 현상의 원인으로 감추어진 하나의 본질만이 있다고 가정하는 점에서 단순하기 이를 데 없는 주장이다.

동물계를 대강 훑어 보면 지적인 능력이 수천의 매우 다른 등급으로 나타남을 알 수 있다. 그리고 서로 다른 생물체들의 경우에 있어서는 모두가 각각의 생리학적 구성과 진화론적 역사의 차이를 반영하는 서로 다른 기술, 관심, 전략에 의해 지능이 구성된다는 점이 명백해질 것이다. 통속적인 예를 들어 본다면, 여러 다양한 측면에서 돌고래의 지적인 능력은 인간의 지적인 능력과 실질적으로 다르다. 출력의 측면에서, 돌고래는 복잡한 조작을 위한 팔, 손, 손가락을 가지고 있지 않을 뿐 아니라, 항구적인 중력장 내에서 불안정한 자세로 꼿꼿이 서 있을 필요가 없다. 따라서 돌고래는 이런 중차대한 문제들을 맡아 다루게 되는 특정한 통제 체계를 가질 필요가 없다. 입력의 측면에서 돌고래의 주된 감각은 수중 음파 탐지 (sonar echolocation) 인데, 이것은 시각을 통해 드러날 세계와 매우 다른 세계를 열어 주는 창문이 된다. 그렇지만 돌고래는 전반적인 능력에 있어 시각과 견줄정도가 되는 음파 처리 체계를 가진 수중 음파 탐지 능력을 가지고 있다. 예를 들어 수중 음파 탐지는 색을 식별하게 하지는 못하지만, 어떤 것이든 소리에 대해서는 어느 정도 '투명' 하므로 수중 음파 탐지는 지각된 물체의 내부 구조를 돌고래에게 알려 준다. 그러나 복잡한 반사파로부터 그런 정보를 여과시켜 내는 것은 인간의 시각 피질이 직면하고 있는 것과는 다른 문제를 돌고래의 뇌에 대해 제기하며, 따라서 돌고래는 구조적으로 그런 문제를 해결할 전문적인 두뇌 구조 혹은 신경 체계를 가지고 있다.

이러한 입력/출력 처리에 있어서의 주된 차이점들은 보다 근본적인 단계에서의 다른 차이점들 또한 포함할 것이며, 결과적으로 우리는 각 유형의 생물체들의 지적 능력은 아마도 그 종에 고유한 것이라는 점을 되새기기 시작할 수 있게 되었다. 그런데 그런 지적인 능력을 독특하게 만드는 것은 진화의 결과로 서로 묶이게 된 특수한 목적을 위한 정보 처리 체계들의 일정한 연합이다. 이 점은 우리 자신의 지적 능력이 여러 다른 가닥으로 엮어진 하나의 밧줄과 같은 것임에 틀림없다는 점을 깊이 생각할 수 있게 도와준다. 따라서 그런 지적 능력을 본뜨기 위해 우리는 비슷한 가닥들을 비슷한 방법으로 엮어야 할 필요가 있다. 그런데 그렇게 하기 위해서는 우리가 먼저 그 가닥들을 만들어야 한다. 이런 이유 때문에 AI 연구가들은 지적 능력의 어떤 한 측면을 끄집어 내서 그 측면에 대해서만 연구를 집중하는 경향이 있다. 전략적인 측면에서 각각의 실을 엮는 종합의 문제는 잠정적으로 뒤로 미루어질 수 있다.

(1) 의도적 행위와 문제 해결 능력

이 폭넓은 영역 - 먹이를 쫓아다니는 것, 장기 두는 것, 벽돌로 탑을 쌓는 것 - 내에 들어 오는 것들은 많다. 즉 이 영역에는 행위자의 활동을 특정한 목적이나 목표를 달성하기 위한 시도로 이해할 수 있는 모든 경우가 모두 포함된다. 그 중 가장 단순한 경우는 유도탄 어뢰 또는 열 추적 미사일일 것이다. 이런 것들은 이리저리 도망가는 목표물을 항상 고정적으로 향하기 위해 방향타를 움직이고 몸체를 뒤틀기도 할 것이다. 여러분의 뒤꽁무니를 그런 것이 쫓아온다면, 그것은 진정 여러분을 맞추려고 열심히 쫓아오는 것처럼 보일 수도 있을 것이다. 하지만 미사일의 감지기에 의해 측정되는 '목표물이 갖는 미사일의 현재 진행 방향으로부터의 편차' 에 의해 직접적으로 야기되고 있는 반응, 즉 각각의 피하는 행동에 따른 유일한 반응만을 그 미사일은 내보일 것이기 때문에, 평정을 되찾은 순간 여러분은 참된 지적인 능력을 그 미사일에 부여할 용의를 거의 가지고 있지 않게 된다. 그런 체계들은 동물의 행동을 - 분명히 모기들은 단순히 위와 같이 증가하는 이산화탄소의 변화 정도 (내뿜는 숨) 를 추적한다. - 이해하는데 관련이 없는 것은 아니다. 그러나 우리는 모기의 지적 능력보다는 AI 에서 더 많은 것을 기대한다.

현재 상태와 목표 상태 사이의 지각된 모든 간격에 대한 가능한 반응들의 범위가 훨씬 클 경우는 어떨까? 그리고 그런 반응들 사이에서의 유용한 선택이 행위자 측에 어떤 문제의 해결을 요구하고 있는 경우는 어떤가? 그것은 참된 지성의 일인 것처럼 여겨진다. 흥미롭게도, 현재 나와 있는 상당히 다양한 프로그램들은 이 조건을 만족시키고 있는 것이며, 그들 중 몇 가지는 인간에 의해 행해졌더라면 매우 지적인 것으로 인정될 정도로 복잡한 행위를 산출한다.

그림 2

단순한 경우들에서 시작해 보자. 세목 놓기 게임 혹은 ○× 게임 (그림 2) 을 생각해 보자. 그리고 컴퓨터가 이기거나 혹은 적어도 다른 선수와 비길 경우를 최대화하기 위해 컴퓨터가 써먹으리라 여겨지는 과정들을 생각해 보자. 컴퓨터가 먼저 × 로 시작한다고 하면, 그것은 둘 수 있는 9 가지 가능한 수를 갖는다. 이들 각각에 대해 ○ 를 선택한 선수는 8 가지 가능한 맞서는 수를 가진다. 그리고 이들 각각에 대해서 컴퓨터는 7 가지 가능한 반응을 할 수 있다. 이렇게 계속 진행된다. 간단한 계산을 해보면, 9 × 8 × 7 × … × 2 ( = 9! = 362,880) 가지의 빈칸을 채워 가는 다른 방식들이 존재한다. (빈 칸이 다 채워지기 전에도 대부분의 게임은 × 나 ○ 세 개가 일렬로 늘어선 경우에는 끝나기 때문에 다소 이 숫자보다는 적은 수의 완료된 게임들이 존재한다.) 우리는 이런 가능성들을 게임 수형도 (그림 3) 로 나타낼 수 있다.

그림 3

이 게임 수형도는 한 페이지에 큰 가지를 하나 이상 맞추어 넣기에는 너무 크다. 그러나 그것은 적절히 프로그램된 컴퓨터가 날쌔게 각각의 단일한 가지들을 점검해서 그 가지들이 × 에 대해 이기는 것으로, 지는 것으로, 혹은 비기는 것으로 끝나는지를 확인하는 것에 비해선 그리 큰 것은 아니다. 그런 정보는 게임의 각 단계에서 컴퓨터가 취해야 할 수의 선택을 알려준다. × 에 해당되는 가지들 중에 만약 다음 수에 ○ 에게 승리를 안겨 주어 경기가 끝나게 하는 가지가 있다면 그 가지를 "나쁜 가지" 라고 부르기로 하자. 그리고 × 에 해당되는 가지 중에서 다음 수에 ○ 가 × 에게 오직 나쁜 가지만을 남기게 되는 수를 가지게 하는 모든 가지도 역시 나쁜 가지라고 부르기로 하자. 이런 일종의 순환적인 정의를 가지고 컴퓨터는 먼저 최후의 나쁜 가지들을 확인하고 나서 나무를 아래로 더듬어 가면서 모든 나쁜 가지들을 확인한다.

실제로 경기의 각 단계에서 그렇게 확인된 나쁜 가지들을 결코 선택하지 않고 또 비기는 것보다는 이기는 것을 항상 선택하도록 우리가 더 프로그램을 짠다면, 컴퓨터는 결코 게임에 지지 않을 것이다! 컴퓨터에 대해서 희망할 수 있는 최대한의 것은 비기는 것일 뿐이고, 그래서 이렇게 프로그램된 두 컴퓨터는 모든 게임에서 서로 비길 것이다.

이 점을 간략히 예시하기 위해 특정한 게임 × - 5, ○ - 9, × - 8, ○ - 2, × - 7, ○ - 3, × - 6, ○ - 1 을 살펴보자. 그림 4 에서 볼 수 있는 바와 같은 바둑판에서 네번째 수 이후의 게임을 주목해 보자.

그림 4

그림 5

원한다면, 여러분은 연필로 마지막 네 수들을 써 넣을 수도 있고, × 의 패배를 목격할 수도 있다. 만약 네번째 ○ 의 수에서부터 뻗어나가는 수형도의 일부분을 (그림 5) 이제 살펴본다면, 왜 × 가 다섯번째 수에서 사각형 7 을 선택하지 않았어야 하는지를 우리는 알 수 있다. 거기에서부터, ○ 는 × 에게 오직 나쁜 가지만을 남기는 수 (사각형 3) 를 가지게 된다. × 는 일곱번째 수로서 1, 4 또는 6 을 선택해야만 하는데, 이 세 수 모두는 나쁜 가지이다. 그러므로 사각형 7 의 다섯번째 수인 × 의 가지 역시 나쁜 가지이다. 왜냐하면 그것은 다음 수에 ○ 로 하여금 × 에게 온통 나쁜 가지만을 남겨 놓기 때문이다. 이런 상황으로 미루어 보아, 우리는 × 가 다섯번째 수로 7 을 두지 말아야 했다는 것을 이해할 수 있다. 프로그램된 우리의 컴퓨터도 그것을 알고 있으며 그러므로 그 컴퓨터는 방금 살펴본 것 같은 실수를 피할 것이다. 또한 컴퓨터는 수형도의 어떤 곳에서 생기는 실수일지라도 피할 것이다.

결국 우리는 여기서 프로그램된 기계가 어떤 목표 (이기는 것 혹은 적어도 비기는 것) 와, 그 자신이 봉착하게 되는 각 상황에 대한 가능한 반응들의 범위와, 각 단계에서 반응들 중 어떤 것이 목표를 달성하는 데 가장 적합한 것인가 하는 문제를 푸는 절차의 세 가지 고려에 의해 작동된다는 사실을 알게 되었다. (만약 둘 또는 그 이상의 반응이 꼭같이 좋은 것들이라면, 우리는 컴퓨터에게 목록에서 먼저 나타나는 것을 선택하거나 혹은 어떤 무작위 서브루틴 (subroutine) 에 의한 '동전 던지기' 의 방법을 취하라고 지시할 수 있다.)

대강 훑어본 이 특정한 전략은 소위 말하는 문제 해결을 위한 밀어붙이기 (brute force) 접근법의 일예이다. 밀어붙이기 접근법이란 컴퓨터가 문제에 대한 기본적 서술로부터 시작해서 모든 관련되는 가능성을 다 포괄하는 수형도 (searching tree) 를 작성하고, 해답이 되는 하나의 가지 혹은 다수의 가지들을 얻기 위해 샅샅이 뒤지는 작업을 수행하는 방법을 말한다. 이것은 철저한 검색 (exhaustive lookahead) 이라고도 부른다. 하나의 해답을 가지고 있는 문제에 대해서는 (모든 문제가 그런 것은 아니지만) 만일 충분히 밀어붙일 '힘' 이 있기만 하다면, 이 접근법은 멋지게 작동한다. 이것은 최선의 수를 얻어내기 위한 효과적인 과정 혹은 알고리듬 (algorithm) 을 구성한다.

여기서 '힘' 이란 기계의 처리 속도와 기억 용량을 의미한다. 즉 관계되는 수형도를 만들고 검색할 수 있는 충분한 능력을 말한다. 불행하게도, 참된 지적인 능력 앞에 놓여 있는 많은 문제들은 가능한 기계들의 능력이나, 밀어붙이기 접근법의 영역을 넘어서는 수형도를 포함하는 것들이다. 세목 게임의 특정한 전략에 있어서도 빠른 처리 속도와 큰 기억 용량이 필요하다. 그래서 보다 많은 조건이 요구되는 게임들에 대해서는 이 접근법이 금세 듣지 않게 된다.

체스 경기를 생각해 보자. 분명 상당한 노력이 필요하긴 할 테지만, 인간이 늘상 기계적으로 반복하는 사교적인 '게임들' 처럼 체스도 그렇게 힘들지는 않을 것이며 평균적으로 한 선수는 체스 경기의 어떤 장면에서든지 적어도 규칙에 어긋나지 않는 30 가지 안팎의 수 중에서 한 수를 선택해야 한다. 그리고 각 수는 상대방으로부터 30 가지 안팎의 응수를 가능하게 할 것이다. 그렇게 되면 처음 두 수만을 놓고 봐도, 그것들은 대략 30² (= 30 × 30 = 900) 개의 가능한 쌍들에서 선택된 한 쌍인 것이다. 보통 게임에서 각각의 선수들이 40 수 정도를 둘 수 있다고 한다면 합해서 80 수가 되고 그러면, 거기서 나올 수 있는 서로 다른 가능한 평균적인 경우의 수는 30 의 80 승 즉 대략 10118 일 것이다. 이것은 터무니없이 큰 숫자이다. 백만 대의 컴퓨터가 각각 초당 맥만 개의 가지들을 점검한다 해도 나무 전체를 점검하는 데는 10100(1 다음에 0 이 100 개 붙은 수) 년 걸릴 것이다. 명백히, 이런 식의 접근법은 체스 경기에 제대로 먹혀들지 않을 것이다.

여기서 우리가 접하고 있는 문제는 경우의 수의 조합의 폭발적 증가 (combinatorial explosion) 의 한 예이며, 그것은 체스 경기 프로그램이 믿을 만한 최선의 가능한 수를 찾아 낼 알고리듬을 쓰길 포기해야 한다는 것을 의미한다. 그 프로그램은 개략적이고 경험적인 휴리스틱 (heuristic) 한 과정에 의존해야만 한다. 말하자면, 그 프로그램은 단지 괜찮은 수와 그렇게 좋지 않은 수를 구분하기 위해 '어림짐작의 방법' (rules of thumb) 을 써야만 한다. 이것이 어떻게 작동하는지 살펴보자. 컴퓨터로 하여금 40 수 앞을 내다 보는 것이 아니라 단지 4 수 (= 각 선수에 대해 2 수씩) 앞만을 바라보게끔 프로그램을 짠다고 하면 여기에 관련되는 수형도의 나무는 단지 30⁴개 혹은 800,000 개의 가지만을 갖게 된다. 이것은 현존하는 기계가 적당한 시간 내에 검색해낼 수 있을 정도의 작은 수이다. 그런데 궁극적인 승리를 컴퓨터가 얻어낼 수 없는 이 마당에 도대체 컴퓨터는 무엇을 지금 찾고 있는 것인가? 여기서 우리는 컴퓨터에게, (a) 효과적으로 파악될 수 있다고 (b) 그런 파악이 반복적으로 달성된다면 궁극적인 승리도 그것에 의해 어느 정도의 확률로 도달될 수 있게 해주는 중간 단계의 목표를 제시하려 노력하게 된다.

예를 들어, 우리는 말들의 일반적 중요성에 따라 특정한 말의 손실에 일정한 값을 부여할 수 있다. 그리고 우리는 컴퓨터로 하여금 상대방과의 모든 가능한 말의 교환에 있어 누가 잃고 얼마 정도 잃게 되느냐에 따라 전반적으로 플러스 값 또는 마이너스 값이 매겨질 수 있게 할 수 있다. 컴퓨터는 또한 '중앙을 장악한' (in control of the center) 그것의 말들에 (= 체스판의 중앙 부분에서 상대방 말을 잡을 수 있는 위치에 놓인 말들에) 어떤 특정한 플러스 값을 부여함으로써 수들의 선택을 이끌어 나갈 수 있다. 상대방의 왕을 공격할 가능한 수들에 대해서도 부가적인 값이 부여될 수 있다. 왜냐하면 그것이 승리의 필요 조건이기 때문이다. 이런 식으로 중간 목표들이 제공된다.

우리는 컴퓨터가 각각의 고려되고 있는 수들에 대해 이러한 조건들의 값을 더해서, 가장 높은 합산 값을 갖는 수를 선택하도록 프로그램을 짤 수 있다. 이런 방식으로, 적어도 우리는 컴퓨터로 하여금 훌륭한 체스 경기를 치룰 수 있게 할 수 있다. 그런데 이것은 밀어붙이기 접근법에서는 해야 할 작업의 막대함 때문에 기계가 마비될 수밖에 없으므로 불가능했던 것이다.

실제로, 이러한 휴리스틱 또는 다른 보다 영리한 방법을 이용하고 있는 체스 경기 프로그램은 달관의 경지에 이른 소수의 체스 애호가들을 제외하고는 누구든 무찌를 수 있게끔 작성된 것이다. 물론 달관의 경지에 이른 사람들과의 경기에서도 뛰어나게 경기를 이끌 것이다. (보다 단순하지만 여전히 경기력을 지닌 프로그램들이 '전자 장기판' 에 실려 최근 수년 동안 상업적으로 거래되고 있다. AI 는 그것들을 시장에 내다 놓은 것이다.) 그런 복잡하게 조절된 행동은 인간의 표준적인 지적 능력에 비춰 보아도 굉장한 연출이다. 휴리스틱에 의한 수를 내다보는 방법은 전혀 오류가 없는 것은 아니지만 여전히 매우 강력한 것일 수 있다.

철저한 검색 방식 또는 휴리스틱에 의한 부분적인 수 계산 방식과는 다른 전략이 문제 해결 행위와 의도적 행위를 본뜨려 하는 일군의 다른 프로그램들에 의해 나타난다. 먼저 컴퓨터의 능력 내에서 모든 가능한 수들을 다 고려하고 그리고 나서 이 어마어마한 나무의 어떤 가지가 결국 목표와 만나게 되리라는 희망을 가지고 거기서부터 파생되는 가능한 다른 모든 수들을 고려하는 등등의 방식으로 검색해서 목표에 접근하는 대신, 컴퓨터는 문제의 다른 끝에서 시작할 수 있다. 즉 컴퓨터는 한 수만 더 놓으면 그 자신이 이길 수 있는 모든 가능한 상황들을 고려하는 것에서부터 시작할 수 있다. 그런 상황이 꼭 많을 필요는 없다 - 오직 하나일 수도 있다. 이런 가능한 상황들은 이제는 중간 단계의 목표가 되고, 컴퓨터는 하나 또는 다수의 그런 목표들을 확보하기 위한 가능한 길들을 찾는 탐색 작업을 반복할 수 있다. 이런 과정은 컴퓨터가 즉각적으로 만족스런 수를 둘 수 있는 상황에 도달하였음을 스스로가 파악하게 될 때까지 반복된다. 그러고 나면 컴퓨터는 그 수를 두게 되고, 따라서 컴퓨터가 구성한 수단과 목적의 연쇄의 다른 모든 수들은, 역순으로 컴퓨터의 원래적이고 궁극적인 목표를 달성하게 된다. 이 전략이 항상 철저한 검색 방식보다 훨씬 효과적인 것은 아니다. 그러나 컴퓨터가 최초에 둘 수 있는 수가 많고 목표를 달성하게끔 해주는 수는 단지 극소수에 지나지 않는 경우에는 이 접근법이 훨씬 빠르다.

STRIPS (Stanford Research Institute Problem Solver), 라는 프로그램은 이런 전략을 수행할 수 있는 능력을 갖추었다. 셰이키 (Shakey, 흔들이) 라는 자신을 설명하는 이름을 가진 움직이는 로봇은 STRIPS 프로그램을 채용하고 있는 컴퓨터에 의해 원격 조정되고 있는데, 이 체제는 여러 가지 큰 상자들로 가득 찬, 서로 연결된 몇 개의 방들이 있는 그런 상황에서 수행될 다양한 목표들을 받아들일 수 있다. 방들의 위치, 그것을 연결하는 문들, 상자들 그리고 셰이키 자신에 대한 정보가 주어지고 또 "방 3 의 상자를 방 7 로 집어 넣도록 한다" 하는 형식의 목표가 주어지면 셰이키는 (또는 오히려 그것보다는 STRIPS 는 그 목표를 달성할 일련의 행위를 스스로 수행한다.

(2) 학습

주어진 프로그램에 의해 학습이 나타나는 데는 두 가지 방식이 있다는 점을 우리는 명심해야 한다. 매우 단순한 첫번째 방식은 이미 얻어낸 해답들을 기억 장소에 단지 저장하는 것이다. 같은 문제가 다시 나타나면 매번 수고스럽게 다시 문제가 해결되는 대신에 기억 장소에서 해답을 즉시 꺼내 바로 쓰게 된다. 일단 학습된 해답은 기억되는 것이다. 따라서 처음에는 머뭇거려진 의도적 행위가 유연해지고 망설임없이 행해질 수 있게 된다.

두번째 방법은 휴리스틱 방식에 의해 주도되는 체스 프로그램의 경우에서 예시될 수 있다. 우리가 컴퓨터로 하여금 컴퓨터 자신의 승률을 기록하게끔 프로그램을 만들었다면, 컴퓨터가 자신의 형편없이 낮은 승률을 발견했을 때, 우리는 컴퓨터로 하여금 그것의 몇몇의 휴리스틱에 새로운 가중치를 부여하게끔 할 수 있다. 예를 들어 "상대방의 왕을 공격하라" 는 휴리스틱에 처음부터 너무 과하게 많은 값이 매겨져서 매번 경기마다 상대방 왕에 대한 반복되는 카미카제식 공격 때문에 이 기계가 지게 되는 경우를 생각해 보자. 자신의 패배를 알게 된 다음, 컴퓨터는 각각의 가중치를 순서대로 조정하여 보다 나은 승률이 나타나는가를 알아 보려 할 것이다. 궁극적으로 과대하게 평가된 휴리스틱은 하향 조정될 것이고 기계의 경기력은 향상될 것이다. 여러분이나 내가 그러는 것과 비슷한 방식으로 컴퓨터는 경기에서 보다 강하게 되는 법을 배운다.

확실히 이 두 전략은 우리가 일상적으로 학습이라 부르는 어떤 것을 보여준다. 그러나 획득된 정보를 단순히 저장하는 것을 훨씬 넘어서 있는 것이 학습이다. 서술된 두 전략들 모두에 있어서 기계는 최초의 프로그램에 의해 제공되는 개념과 범주들의 틀 내에서 '학습된' 정보를 나타내고 있다. 어떤 경우에라도, 기계는 들어오는 정보를 분석하고 조작할 새로운 개념들이나 범주들을 만들어 내지 않는다. 기계는 기존의 범주들을 조작하고 그것들의 다양한 조합들을 만들 수는 있지만 개념적 창조는 원래의 개념의 틀 내에서의 조합 활동에 한정된다.

작은 아이가 그의 생의 처음 2 년 동안 겪게 되는 학습이나 학문 공동체가 한 세기에 걸쳐 겪게 되는 학습을 고려해 볼 때, 기계의 학습은 우리가 생각할 수 있는  것보다 매우 보수적인 형태의 학습이다. 대규모의 개념적 변화 - 오래된 개념의 틀을 몽땅 대치할 진짜 새로운 범주의 틀을 만들어 내는 것 - 는 두 과정 모두의 특징이다. 개념 변화의 문제를 해결하기 이전에는 학습의 문제를 해결했다고 우리는 장담할 수 없다.

보다 깊이 있는 형태의 이런 학습은 위에서 논의된 보다 단순한 형태의 학습보다 컴퓨터로 본뜨거나 재생해 내기가 훨씬 어렵다. 왜냐하면 그것을 본뜨거나 재생해 내기 위해서는 언어적으로 표현될 수 있는  개념의 단계보다 아래에 있는 보다 기본적인 단계에서 지식과 정보를 표현하는 것이 필요하기 때문이다. 그 단계의 요소들은 일정한 방식으로 조합되거나 하나하나의 마디가 되어 광범위한 대안적 개념들을 형성할 수 있다. 그런 표현의 단계는 차후에 연속적으로 나타나는 전체 체계의 임무 수행에 관련이 있고 그것에 밀접한 영향을 줄 것임에 틀림없으며, 그래서 성공적인 개념들은 쓸모없고 혼란된 개념들과 구분될 수 있게 된다.

이 문제는 최근에 이르기까지 거의 극복하기 어려운 것으로 여겨졌다. 다행스럽게도 많은 정보들의 조작과 표현의 문제에 대한 새로운 접근법들에 의해서 최근에는 몇몇의 매우 놀랄 만한 '학습 과정들' 이 나타났으며, 이것들은 현재 상당한 관심을 끌고 있다. 그러나 그것들은 적어도 이상적으로는 몇 페이지 앞에서 서술된 기계들과는 매우 다른 구조를 갖춘 연산의 능력을 지닌 기계에 장치될 것으로 고안된 것들이다. 그런데 여기서 그런 것들에 대해 설명하는 것은 주제를 벗어나는 것이 된다. 그것은 7 장에서 다시 전면에 부각될 것이다.

(3) 시각

광학 감지기가 장착된다면 적절히 프로그램된 컴퓨터는 볼 수 있는가? 광학 정보 처리의 단순한 단계에서는 그 대답은 분명 그렇다이다. 출판사에서는 식자를 하는 과정에서 이런 체계를 종종 쓰고 있다. 글자들을 차례차례로 훑어 보고 그 각각의 정체를 테이프로 기록하는 체계는 저자의 타이프된 원고를 '읽는다'. 또 다른 컴퓨터는 그 테이프를 이용해 식자기를 돌린다. 문자 판독기는 매우 단순하게 만들어질 수 있다. 일군의 렌즈들의 체계는 글자의 흑백 영상을 광학감지 (photo-sensitive) 판의 격자 그물에 투영시킨다 (그림 6).

그림 6

격자 그물의 사각형들은 글자의 영상에 의해 채워지게 되는데, 판별기는 기호화된 그것들의 목록을 모두 컴퓨터에 전달한다. 그러고 나면 관련된 프로그램은 컴퓨터로 하여금 그것의 기억 장소에 있는 많은 표준 목록들과 그 목록을 각각 비교하게 한다. 즉 각각의 표준적인 글자들 하나하나와 기호화된 영상을 비교하게 한다. 명백히 이 체계는 융통성이 없으며 쉽사리 무너질 수 있다. 비정상적인 글자 형태들은 고질적인 오판을 야기할 것이다. 그리고 이 체계에 얼굴이나 동물들의 영상을 집어 넣으면 그 이전에 그랬던 것과 마찬가지로 작동하여 그것을 잡다한 숫자나 글자들로 파악할 것이다. 이런 실수들은 우리 자신의 시각 체계의 명백한 특성과 비슷하다. 우리도 역시 우리가 본 것을 친숙하거나 예상된 범주들로 해석하려는 경향이 있어서, 적극적으로 주의해서 살피지 않으면 색다른 것은 종종 알아 보지 못한다.

문자 판독은 그러나 기계적 시각의 초보적 출발을 나타낼 뿐이지 그 완성을 드러내는 것은 아니다. 다양하게 비추어지는 점들의 2 차원적 배열에서 제공되는 것 이상의 어떤 정보도 사용하지 않고, 3 차원 공간의 물체를 판별하고 위치시키는 보다 일반적인 문제를 살펴보자. 이것을 명암 배열 (intensity array) 이라 하는데, 텔레비전 영상은 그 친근한 예가 된다. 보다 많은 감지판과 각 감지판에 매겨지는 차등적인 값들을 제외한다면, 그것은 앞의 문자 판독 격자 그물의 수준으로 보아서는 상상으로만 가능한 것이다.

여러분이나 나는 명암 배열의 기능을 하는 망막을 가지고 있어서 망막의 특정한 명암 배열의 강도에 근거하여 물체들의 일정한 배열을 보면서 관련되는 문제를 쉽게 해결할 수 있다. 우리는 해석의 '문제' 를 의식하지 못하며 우리의 내부에서 그것을 해결하는 내적 과정에 대해서도 의식하지 못한다. 그러나 이런 능력은 시각 체계의 실질적인 지적 능력을 반영하는 것이기 때문에 프로그래머에게는 하나의 심각한 도전이 되고 있다.

그것은 시각적 영상들이 항상 그리고 끝없이 애매하기 때문이다. 많은 서로 다른 외적인 상황들이 주어진 하나의 명암 배열과 정확히 들어맞는 경우가 있다.  말하자면, 약간 기울어진 10 원짜리 동전이 진짜 타원 동전과 똑같이 보이는 것처럼 서로 다른 상황들이 거의 또는 정확히 똑같이 '보일' 수 있다는 것이다. 모든 시각 체계는 주어진 시각 자료에 대한 가장 그럴 듯한 해석을 찾기 위해 합당한 방식으로 장면들을 명확히 구분할 수 있어야 한다. 게다가 어떤 장면들은 다른 것보다 복잡하기 때문에, 이때 '정확한' 해석이란 그 체계가 가지고 있지조차 못한 개념들을 필요로 할지도 모른다. 이 점은, 시각은 지적인 능력 그 자체처럼, 정도의 차이를 지닌 채 나타난다는 점을 시사한다. 다행스럽게도 이 점은 단순한 경우를 먼저 다룰 수 있게 해준다.

특정한 명암 배열을 살펴보자. 몇 개의 큰 상자들이 뒤죽박죽 쌓여 있는 모습이 나오는 텔레비젼 화면을 생각해 보자. 반사된 빛의 명암의 급작스런 변화는 각각의 상자들의 가장자리를 표시하게 되는데 그런 변화에 민감한 프로그램은 그런 변화에서부터 몇몇 상자들의 윤곽선과 그 상대적 위치를 구성할 수 있게 된다. 이 상태에서, 가장자리들이 만나서 모서리들/면들/전체 피부를 형성하는 방식들에 민감한 프로그램 (구즈맨의 SEE 프로그램 같은) 은 상자 몇 개가 어떤 상대적 위치로 놓여 있는지를 정확히 알려줄 수 있다. 그런 프로그램들은 평면으로 구성된 입체들만을 포함하는 고도로 인위적인 환경에서는 잘 작동한다. 그러나 그런 프로그램들의 해상력을 넘어서는 다수의 애매한 입체들은 항상 존재하며, 바위가 많은 해변이나 잎이 우거진 계곡이 나타났을 때는 그런 프로그램들은 완전히 실패하고 만다.

더욱 최근의 프로그램은 매우 광범위한 대상들에 관한 가설들을 지지하기 위해 명암의 연속적인 변화들 - 구나 원통에 광선이 퍼져 있는 방식을 생각해 보라 - 에 포함되어 있는 정보를 써먹고 있다. 또한 인공 입체시 (artificial stereopsis) 도 연구되고 있다. 조금 다른 두 위치에서부터 얻어진 2 차원 명암 배열의 한 쌍의 짝들 (여러분의 오른쪽과 왼쪽 망막에 나타나는 영상과 같은 두 짝들) 사이에 나타나는 미묘한 차이는 그 장면에 등장하는 물체들의 상대적인 공간 위치와 윤곽선에 관한 결정적인 정보를 포함하고 있다. 그림 7 에서 나타나고 있는 입체 시각 쌍과 감추어진 3 차원적 정보를 되살려 낼 알고리듬이 이미 작성되었다.

그림 7

업무용 봉투를 두 사각형 사이에 수직으로 세우고 각각의 눈이 한 모양만을 보게끔 봉투에 얼굴을 대고 코를 그 중심에 맞추어 보자. 혹은 보다 나은 방법으로, 편지지 크기의 종이를 말아 만든 한 쌍의 긴 튜브로 종이 쌍안경을 만들어 보자. 각각의 눈이 튜브를 통해 곧바로 내려다 볼 수 있도록 그래서 동그랗게 열린 각각의 구멍의 한가운데 있는 하나의 사각형만을 보게 되도록 튜브의 각각의 끝을 페이지에 가깝게 한 채로, 그 둘을 평행하게 잡아 보자. 여러분의 시각 체계가 오른쪽과 왼쪽의 영상들을 명료하게 초점이 맞추어진 하나의 단일한 영상으로 융합시키도록 몇 분 동안 기다려라 (인내심을 가져라). 그러면 여러분은 여러분의 고도로 숙달된 알고리듬이 둘 사이에서 같은 정보를 찾아내자마자 그 단일한 영상을 볼 수 있을 것이다.

기계 시각이 가지고 있는 고질적인 문제는, 우선 시각이란 것 자체가 지적인 능력을 포함한다는 점이고, 다음으로 주어진 상황에서 어떤 존재가 볼 수 있는 것은 그 존재가 이미 가지고 있는 개념이 어떤 것인가 그리고 그 존재가 이미 가지고 있는 지식이 어떤 것인가에 매우 밀접하게 의존하고 있는 것이기 때문에, 고성능 인공 시각 체계의 제작은 고성능 지적 체계 일반의 제작 그리고 그 체계 자신의 지각 처리 과정에 지침을 줄 수 있는 매우 광범위한 지식 저장소를 가지고 있는 체계의 제작에 의존적이라는 점이다. 이 점은 놀라운 것도 또 특별히 실망스러운 것도 아니다. 그러나 이 점은 인지적 능력들을 본뜨는 데 있어서 순수히 점진적인 접근법이 갖는 한계를 예시하고 있는 것이다.

(4) 자연 언어 조작

매우 광범위한 지식 저장소의 부족으로 연구자들을 괴롭혀 온 또 하나의 영역은 자연 언어 이해와 사용의 분야이다. 많은 이유 때문에 컴퓨터와 일상 언어로 대화할 수 있는 것은 바람직한 것이며, 자연 언어 조작은 어떤 경우이든 그 자체로 본뜰 가치가 충분히 있는 인간의 지적 능력의 중심적인 요소이다. 언어학자 측에서 제공되는 언어의 구조에 대한 통찰력과 프로그래머 측에서 제공되는 계산적 처리 솜씨로 인해 영어 혹은 더 복잡한 말의 구문론적 구조들을 다루는 프로그램의 제작이 가능하기에 이르렀다. 그러나 문제의 의미론적 부분은 다루기가 그보다는 덜 용이했다. 게다가 공교롭게도 구문을 조작하는 것만 가지고도 굉장한 일을 할 수 있다는 점이 드러났다. 바이젠바움 (J. Weizenbaum) 의 유명한 초기 프로그램 ELIZA 를 살펴보자. 이것은 심리 상담자를 본뜨고 있는데, '환자' 는 타자기로 이것과 대화하게 된다. 아래 것은 그런 대화에서 발췌한 것이다. 고딕체로 된 것이 컴퓨터의 대답이다 (바이젠바움, 1976).

남자들은 모두 똑같아요.

어떤 점에서

그네들은 이리저리 우리를 괴롭혀요.

어떤 예를 생각해 볼 수 있겠어요

음, 내 남자 친구 때문에 여기에 왔거든요.

당신의 남자 친구 때문에 여기 왔다 이거죠

그는 내가 늘 우울하대요.

당신이 우울하다니 안됐군요

사실 나는 불행해요.

여기 온 것이 당신이 불행해지지 않는 데 도움이 되리라 생각하십니까

나는 도움이 필요해요. 그 점은 확실한 것 같아요.

도움을 받는다면 그것은 당신에게는 어떤 의미가 됩니까

아마 우리 어머니와 잘 지낼 수 있는 법을 배울 수 있을 거예요.

당신의 가족에 대해 좀더 말해 주십시오

어머니께서 저를 돌보아 주세요.

당신의 가족 중에 또 누가 당신을 돌보아 줍니까

우리 아버지.

당신의 아버지

당신은 몇 가지 점에서 우리 아버지 같군요.

어떤 닮은 점이 있다고 보십니까

당신은 그리 거칠지 않아요. 하지만 당신은 내가 그것을 눈치채길 바라지 않는 것처럼 보여요.

무엇 때문에 내가 매우 거칠지 않다고 당신은 생각하는 겁니까

당신은 나와 다투지 않았어요.

왜 내가 당신과 다투지 않았다고 당신은 생각하지요

당신은 날 두려워하고 있어요.

내가 당신을 두려워한다고 믿는 것이 당신을 기쁘게 만듭니까

우리 아버지는 누구든 두려워해요.

당신의 아버지를 생각할 때 또 무엇이 떠오릅니까

건달들.

그것이 당신의 남자 친구 때문에 당신이 여기 온 것과 어떤 관계가 있습니까

       .
       .
       .

이 대화에서 ELIZA 를 수행하고 있는 컴퓨터는 참된 이해를 하고 있는 듯한 섬뜩한 인상을 준다. 그러나 실제로 그것은 아무 것도 이해하고 있지 않다. 컴퓨터의 대답들은 간단한 변형들과 환자가 이야기할 때 던져 놓는 핵심어들 ("우울하다", "같다", 기타 등등) 로 만들어진 일군의 표준 질문 형식에 의해 환자의 문장들에서부터 대체로 구성된다. ELIZA 는 아버지, 형제 또는 불행 등이 무엇인지 알고 있지 않다. 그것은 이런 것들에 대한 개념을 가지고 있지 않고 그런 단어가 무엇을 의미하는지도 이해하고 있지 못하다. 이 점은 많은 표준적 형태의 대화에 성공적으로 참여하는 데 필요한 이해가 실제로 얼마나 작은지를 보여주고 있을 뿐이다.

훨씬더 인상적인 프로그램은 위노그래드 (T. Winograd) 의 SHRDLU 인데, 이 프로그램은 구문뿐만 아니라 의미도 다루며 그것이 알고 있는 벽돌과 같은 대상들로 이루어진 블록 월드 (block world) 라는 (본떠진) 환경 내의 요소들도 조작한다. 이 프로그램이 가진 구분은 매우 복잡하며, 블록 월드라는 환경에 존재하는 물체들의 속성에 대한 체계적 정보를 구체화시키고 있다. 대충 말해서 이것은 자신이 말하고 있는 것에 대해서 조금 알고 있다. 결과적으로 SHRDLU 는 쓸모 있는 추론을 할 수 있고 참된 관계들을 예측할 수 있으며, 우리가 이것과 나눌 수 있고 참된 관계들을 예측할 수 있으며, 우리가 이것과 나눌 수 있는 훨씬더 복잡하지만 정확히 주제가 파악되는 대화에서는 재능을 발휘할 수 있다. 그러나 대화는 블록 월드라는 환경에, 즉 이것이 포함할 수 있는 좁은 측면들에 한정되어야 한다. SHRDLU 는 공허한 지식 저장소를 가지고 있지는 않지만 우리의 것과 비교해 보았을 때 그 저장소는 매우 작은 소우주에 불과하다.

간단히 말해서, 문제는 자연 언어를 인간의 수준에서 이해하려면 인간이 가지고 있는 것과 비견할 만한 세계에 대한 전반적인 지식이 필요하다는 (의미 전체론 (holistic theory of meaning) 을, 즉 3 장 3 절에서 논의된 '망상 구조 의미론' 을 상기해 보자) 것이다. 우리는 아직도 어떻게 엄청난 지식 저장소를 접근과 조작이 가능한 방식으로 설치하고 기술할 것인가 하는 문제를 해결하지 못했다. 이것과 연결되는 더 근본적인 문제도 있다. 도대체 어떻게 그런 총체적인 양의 지식이 얻어질 수 있는가 하는 문제를 해결하지 못했다. 이것과 연결되는 더 근본적인 문제도 있다. 도대체 어떻게 그런 총체적인 양의 지식이 얻어질 수 있는가 하는 문제를 풀지 못한 것이다. 어떻게 전 개념 체계가 만들어지고 수정되고 그리고 나서는 새롭고 더 세련된 틀로 인해 폐기되는가? 그리고 어떻게 그런 틀이 무엇인가를 우리에게 알려 주는 것으로 또는 잘못된 길로 우리를 이끄는 것으로, 참으로 또는 거짓으로 평가될 수 있는가? 이들 중 어떤 것도 전혀 이해되고 있지 않다. 그리고 이것의 해결에 AI 도 거의 접근하고 있지 않다.

이런 문제들은 철학자들에게는 전통적인 귀납 논리, 인식론 및 의미론의 영역에 속한다. 또한 그런 문제들은 심리학자들에게 있어선 발달 심리학과 학습 이론의 영역에 놓인다. 여기서 우리가 이해해야 하는 현상들은 우리가 여태껏 만나온 것만큼이나 복잡하고 파악하기 어려운 것이기 때문에 공동적인 공략이 필요한 것처럼 보인다. 확실히 여기서도 인내가 필요하다. 왜냐하면 30 억 년에 걸쳐 진행되어 온 진화의 과정을 통해 만들어진 것을 단 수십 년 안에 창조할 수 있으리라 기대할 수는 없기 때문이다.

(5) 자기 의식

독자들은 여기서 논의된 어떤 본뜸도 자기 의식의 문제를 건드리고 있지 않다는 점을 눈치챘을 것이다. 아마 시각과 촉각 감지기에 멋진 프로그램을 더하면 컴퓨터가 외부 세계를 '의식' 하게 될지도 모르겠으나, 그런 것들은 자기 의식에 대한 기대를 거의 또는 전혀 할 수 없게 한다. 이 점을 이상하게 생각할 필요는 없다. 자기 의식이라는 것이라면 그 인지 과정들이 성공적으로 본떠지기 전에는 그런 과정들에 대한 내성적 파악을 본뜨려 하는 것은 거의 또는 전혀 의미없는 일이다. 참으로 반성적 지각이라 인정할 만한 몇몇의 '자아들' 을 AI 가 구성해낼 때까지는 자기 지각에 대한 총체적인 공략이 연기될 수도 있을 것이다. 그러나 어떤 기초적 작업이 필요하다는 점이 이미 드러났다. 자기 수용 (proprioception) - 공간상에 놓인 자신의 관절의 위치를 의식하는 것 - 은 자기 지각의 한 형태인데, 명백한 이유로 인해 컴퓨터로 조정되는 로봇 팔의 개발에는 컴퓨터가 그 자신의 팔의 위치와 움직임을 감지하고 그 자신의 팔의 움직임에 계속적으로 도움이 되도록 자기 수용적 정보를 기술할 몇 가지의 체계적 수단들을 필수적으로 가질 것이 요청된다. 아마도 이것은 원시적이고 고립된 형태의 자기 의식을 이미 구성하고 있는 것이다.

결론적으로 우리는 "본뜸 (simulation)" 이라는 말에 현혹되어 의식을 지닌 지성의 문제에 대한 이러한 전반적인 접근의 전망을 포기해서는 결코 안 된다. 왜냐하면 문제가 되는 본뜸이란 것은 그 가장 강력한 의미에 있어서도 기능적 모방일 것이기 때문이다. 인간의 연산 체계를 모델로 삼고 있는 AI 이론가들에 따르면, 여러분들의 계산 과정과 기계에 의해 본떠진 연산 과정 사이에는 어떤 차이도 존재해야 할 이유가 없다. 즉 그런 행동들을 밑받침해 주고 있는 특정한 물질적 실체의 차이 이외에는 어떤 차이도 존재해야 할 이유가 없다. 즉 그런 행동들을 밑받침해 주고 있는 특정한 물질적 실체의 차이 이외에는 어떤 차이도 존재하지 않는다는 것이다. 여러분에게 있어서 그것은 유기체이고, 컴퓨터에게는 금속과 반도체들이다. 그러나 혈액형이나 피부색, 신진 대사의 화학적 차이가 의식을 지닌 지성의 문제에 더 이상 아무런 관련이 없듯이, 이런 차이 역시 그 문제에 아무런 관련이 없다고 (기능주의적) AI 이론가들은 주장한다. 만약 기계들이 우리의 모든 내적인 인지 활동을 연산 과정의 마지막 세부 사항에 이르기까지 남김없이 본뜨게 되었다면, 인간으로서의 참된 지위를 그들에게 부여하길 거부하는 것은 새로운 형태의 종족주의 (racism) 에 지나지 않는 것이다.

(6) 몇 가지 만성적 문제들

앞의 절들은 AI 의 추상적인 전망들을 평가하는 데 낙관적이었다. 그러나 전통적인 AI 혹은 '프로그램 작성' (program writing) AI 의 연구 계획을 좌절시켰던 꾸준히 되풀이되는 난점들이 있으며, 그래서 그런 난점들의 존재를 인정하고 그것들의 의미에 관해 깊이 생각해 보는 것은 우리의 의무이다.

AI 연구의 결과들 중에서 하나 놀라운 사실은 숫자를 다룬다든지, 정리를 증명한다든지, 목록을 찾는다든지 하는 종류의 일들을 보통의 컴퓨터들이 매우 빠르게, 잘 해 내고 있는 반면, 인간의 두뇌는 매우 느리고 비교적 서툴게 해 내고 있다는 점이다. 한편, 얼굴을 알아 본다든지, 어떤 장면을 파악한다든지, 감각을 통해서 운동을 조정한다든지 (sensorimotor coordination), 학습을 한다든지 하는 종류의 일들을 인간과 다른 동물들은 빠르게 잘 해내는 반면, 지극히 복잡한 프로그램을 수행하고 있는 가장 속도가 빠른 컴퓨터는 매우 형편없이 그리고 오랜 시간이 지난 다음에야 그런 일들을 해 내는 것이다.

보다 구체적으로 이야기해서, 여러분은 매우 다양한 포즈를 취하고 있는 가장 친한 친구의 얼굴이 나타나 있는 사진을 0.5 초 이내에 알아 볼 수 있다. 그러나 그러한 파악의 능력은 우리가 접할 수 있는 최고의 패턴-파악 프로그램 (pattern-recognition program) 으로서도 여전히 따라잡을 수 없는 것이며, 그래서 얼굴을 알아 보는 것과 같은 지극히 단순화된 종류의 파악의 문제에 대해 여하한 답을 내는 데는 수 분 혹은 그 이상의 복잡한 컴퓨터 처리가 필요하게 된다.

두번째는 다음과 같다. 여러분은 10 번 또는 15 번 정도 연습해 보고는 테니스 공을 네트 너머로 쳐 보내는 법을 배울 수 있다. 그러나 실제로 인간의 신체와 같은 복잡한 골격 근육 체계의 움직임을 산출하는 데 필요한 지각 감시 조정은 현재의 AI 능력을 훨씬 넘어서 있는 것이다. 테니스 공을 되받아 치는 일을 할 수 있도록 그리고 그것도 15 번 정도 시험삼아 해 봐서 할 수 있도록 학습 할 수 있는 체계를 위한 프로그램의 완성은, 그래서, 좀더 먼 장래의 전망일 뿐이다.

(7) 최근 진단

왜 두뇌는 어떤 친근한 일들을 해 내는 데 있어서는 매우 요령있게 프로그램된 컴퓨터보다 훨씬 낫지만, 다른 종류의 일을 할 때는 가장 단순한 컴퓨터보다도 훨씬 못한가? 대답은 두 종류의 정보 처리 체계에서 나타나는 물리적 연산 구조 (physical and computational architecture) 의 유형적 차이에 있는 것처럼 보인다. 어떤 가능한 정보 처리 체계도 모두 본뜰 수 있다는 점에서 보통의 컴퓨터들은 실지로 '범용' 기계들이긴 하지만, 보통의 컴퓨터의 중앙 처리 장치가 어마어마한 양의 시간을 소비해야 본뜰 수 있는 많은 종류의 정보 처리 체계들이 있다. 생물학적인 두뇌는 그러한 본뜨기 곤란한 체계인 것처럼 보인다. 원칙상 두뇌는 본떠질 수는 있지만 우리는 매우 느린 속도라는 - 아마 두뇌보다 100 만 배 또는 10 억 배 느리게 - 대가를 지불하면서 요망된 활동을 수행하거나, 관련된 문제를 풀 컴퓨터 본뜨기에 도달할 것이다.

속도에 있어서 그렇게 큰 차이가 나는 이유는 무엇인가? 문제는 표준적인 범용 기계의 중앙 처리 장치가 가지고 있는 정보 처리 상의 '병목 현상' 에 있는 것 같다. 그런 기계의 중앙 처리 장치는 1 초에 백만 (106) 개의 서로 다른 계산을 순서에 따라 함으로써 작업을 수행하는 매우 활발한 전형적 일꾼이다. 그것만 따로 떼어 놓고 생각해 보면, 이것은 굉장한 일이다. 그러나 아무리 빨리 일한다 해도, 여전히 장치는 한 번에 한 가지 계산만을 할 수밖에 없다. 그런데 앞에서 서술된 학습이나 무엇을 파악하는 작업과 같은 많은 문제들은 그 해결을 위해 10 억 (109) 을 훨씬 웃도는 수의 서로 다른 연산 단계들을 필요로 한다. 조심스럽게 조정된 직렬 방식으로 하나하나 각각의 단계가 중앙 처리 장치에 의해 수행되어야 하므로, 분명히 기계는 그런 문제를 풀기 위해서는 적어도 (109/106=) 1000 초 또는 1/4 시간 이상이 필요하다. 생물학적 기준으로 봐서 그것은 긴 시간이다. 그 시간보다도 더 빨리 고양이를 알아 채지 못하는 쥐는 고양이의 밥이 되게 되어 있다.

반면 두뇌는, 모든 연산들이 그 안에서만 이루어지고 모든 정보가 반드시 그것을 통과해야 하는, 중앙 처리 장치를 가지고 있지는 않다. 두뇌는 전형적인 컴퓨터 (computing machine) 가 가지고 있는 것과는 전혀 다른 물리적 연산 구조를, 즉 수십 억의 단순한 계산들을 동시에 수행할 수 있는 구조를 가진 것으로 여겨진다. 이런 연산들 각각은 매우 단순하기 때문에, 두뇌에 속한 수십 억의 서로 다른 세포들 중 단 하나의 세포에 의해서 재빠르게 수행된다. 그 모든 연산들은 그런 세포들의 집합적인 출력이 주어진 문제에 대한 완전한 답을 구체화시키는 방식으로 수행되는 것이다.

여기서는 단일화 화일 (file) 내에서 관련되는 정보들 모두를 하나하나 조르게 되는 연산 상의 과정 전체에 대해 하나의 연산만을 맡아 하게 되기 때문에 전체적인 조작은 관련되는 두뇌 세포들의 망을 통해 하나의 단일한 통로에서 완성될 수 있다. 또한 그 단일한 통로는 100 분의 1 초 이상의 시간을 필요로 하지 않는다. 그것은 그 통로가 정확히 같은 시간에 세포망의 각 세포들을 관통하고 있는 것이기 때문이다. 따라서 쥐의 뇌라 할지라도, 눈 깜짝할 사이에 복잡한 파악 작업을 수행할 수 있다.

다른 스타일의 이러한 정보 처리 방식을, 표준 연산기 (computing machine) 에서 드러나는 직렬 처리 방식과 대비해서, 병렬 처리 방식이라 부른다. 이 방식이 가져다 주는 진실로 어마어마한 이점은 높은 연산 강도를 필요로 하는 일정한 종류의 문제가 매우 빠른 속도로 해결된다는 점에 있다. 이 속도상의 이점은 요즘 병렬 처리 방식이 인공지능과 인지 과학의 연구자들 사이에서 높은 관심의 초점이 되게 만들었다. 그러나 속도가 그런 방식을 권장하도록 만든 유일한 특징은 아니다. 병렬 처리기는 체계가 손상되었을 때에도 기능적 지속성을 잃지 않으며 습득된 지식을 일반화하여 새로운 환경에 적응하는 능력같은 매우 흥미로운 몇몇의 연산적 속성들을 가지고 있다. 특별히 그런 체계의 구조는 표준적인 컴퓨터들의 직렬 구조보다 두뇌를 훨씬더 닮고 있기 때문에, 이 모든 점은 우리를 매우 흥분시킨다.

인공지능과 인지 과학의 이러한 새로운 스타일의 연구는 연결론 (connectionism) 또는 PDP 연구라는 이름과 더불어 진행되고 있다. 첫번째 이름은 연산이 중앙 처리 장치뿐만 아니라 다수의 극히 단순한 처리 장치들의 복잡한 연결 체계에 의해서도 수행된다는 점을 지적하기 위해 지어졌다. 두번째 것은 "Parallel Distributed Processing" (병렬 분산 처리) 의 약호인데, 같은 아이디어를 의미하는 것이다. 이런 체계들의 몇몇 속성들, 그리고 이런 연구들의 몇 가지 결과는 다음 장의 끝 부분에서 검토될 것이다. PDP 체계들은 다소간 생물학적인 착상에 의해 나타난 것들이므로 우리가 두뇌의 구조에 대해 좀 알고 났을 때 가장 손쉽게 이해될 수 있을 것이다.

추천도서 ~~~~~~~~~~~~

Boden, Margaret, Artificial Intelligence and Natural Man (New York : Harvester Press, 1977).

Dennett, Daniel, "Artificial Intelligence as Philosophy and as Psychology," in Philosophical Perspectives on Artificial Intelligence, ed. M. Ringle (New Jersey : Humanities Press, 1979). Reprinted in Daniel Dennett, Brainstorms (Montgomery, VT : Bradford, 1978 ; Cambridge, MA : MIT Press).

Winston, P. H., and Brown, R. H., Artificial Intelligence : An MIT Perspective, Vols. I and II (Cambridge, MA : MIT Press, 1979).

Marr, D., and Poggio, T., "Cooperative Computation of Stereo Disparity," Science, Vol. 194 (1976).

Dreyfus, Hubert, What Computers Can't Do : The Limits of Artificial Intelligence, revised edition (New York : Harper and Row, 1979).

Haugeland, J., Artificial Intelligence : The Very Idea (Cambridge, MA : MIT Press, 1985).

Holland, J., Holyoak, K., Nisbett, R., and Thagard, P., Induction : Processes of Inference, Learning, and Discovery (Cambridge, MA : MIT Press, 1986).

Rumelhart, D., and McClelland, J., Parallel Distributed Processing : Essays in the Microstructure of Cognition (Cambridge, MA : MIT Press, 1986).