인공지능 : 회고

 

괴델, 에셔, 바흐 : Douglas Hofstadter 저서, 박여성 옮김, 까치, 1999 (원서 : Godel, Escher, Bach : an Ethernal Golden Braid, Harper-Collins Pub, 1979), Page 763~814

 

 

튜링

튜링 테스트

튜링은 반박을 예견한다

"패리가 닥터를 만날 때"

인공지능의 간략한 역사

기계번역

컴퓨터 체스

새뮤얼의 체커프로그램

프로그램은 언제 독창적인가?

누가 컴퓨터 음악을 작곡하는가?

정리의 증명과 문제의 환원

섄디와 뼈다귀

문제공간의 변경

다시 한번 지능적 방식과 기계적 방식

인공지능을 수학에 응용하기

인공지능의 핵심 : 지식의 표상

DNA 와 단백질은 몇 가지 시각을 제공한다

지식의 모듈성

지식을 논리형식으로 표상하기

연역적 인식 대 유추적 인식

RTN 에서 ATN 으로

간단한 튜링 테스트

사고의 이미지

더 높은 층위의 문법들 ...

음악의 문법?

위노그래드의 프로그램 SHRDLU

SHRDLU 의 구조

PLANNER 는 문제환원을 쉽게 해준다.

통사론과 의미론

 

튜링

1950 년, 앨런 튜링은 「정신 (Mind)」이라는 잡지에 "계산기계와 지능 (Computing Machinery and Intelligence)" 이라는 인공지능에 대한 예언적이면서도 상당히 도발적인 내용의 논문을 썼다. 나중에 이 논문을 다시 다루겠지만, 일단 튜링이라는 인물에 대하여 몇 가지를 미리 말해두고자 한다.

앨런 매티슨 튜링은 1912 년 런던에서 출생했다. 호기심이 많을 뿐만 아니라 유머가 넘치고 수학적인 재능이 대단했던 그는, 케임브리지 대학에 진학해서 기계와 수리논리에 대한 관심을 종합하여 "연산 가능한 수 (computable numbers)" 라는 유명한 논문을 내놓게 되었다. 그는 이 작업을 통하여 튜링 기계의 이론을 창안했고 정지 문제의 해결 불가능성을 제기했다. 하지만 그 논문은 1937 년이 되어서야 발간되었다. 1940 년대에 들어서자 그의 관심은 계산기계의 이론으로부터 실제의 컴퓨터의 구축으로 급격히 선회했다. 튜링은 영국에서의 컴퓨터 개발에 주도적인 인물이었으며, 인공지능이 통박당했던 초창기에 이미 인공지능을 열렬히 변호하였다. 그의 절친한 친구 중에 데이비드와 튜링은 둘 다 열광적인 체스 애호가였으며, "라운드-더-하우스 (round-the-house)" 체스라는 방식을 창안했다 : 여기에서는 행마를 하면 하우스 주위를 돌아야 한다. 하지만 상대방이 하우스를 돌기 전에 되돌아왔을 때에는, 또 다른 행마를 실행할 수 있는 방식이다. 그들은 "튜로챔프 (Turochamp)" 라고 불리는 최초의 체스 프로그램을 개발했다. 튜링은 - 아마 약물중독으로 - 41 세의 나이에 요절했다. 항간에는 자살을 했다는 설도 있다. 그가 죽자 그의 어머니 사라 튜링은 아들의 전기를 썼는데 그녀가 술회하는 튜링의 면모에 따르면, 앨런은 매우 비전통적이었고 고지식했을 뿐만 아니라 세상 일에 너무 쉽게 상처받을 정도로 민감하고 자존심이 강한 사람이었다고 한다. 또한 여러 가지 게임과 체스를 좋아했고, 어린이들을 사랑했으며 자전거를 즐겨 탔고 게다가 탁월한 장거리 선수이기도 했다. 케임브리지 학창시절에는 중고 바이올린을 하나 사서 독학하기도 하였다. 음악적인 소질은 별로 없었지만 음악에서도 큰 기쁨을 얻었다. 그는 좀 편집광이었으며 가끔씩 엉뚱한 일에 몰두하며 열을 올리기도 했다. 그의 주요 연구영역 중의 하나는 바로 생물학의 형태발생의 문제였다. 그의 어머니에 따르면, 튜링은 "특히 디킨즈의 소설 「피크위크 클럽의 기록」을 좋아했지만, 셰익스피어를 제외한 모든 문학에는 무관심했다" 고 한다. 앨런 튜링은 컴퓨터 과학의 진정한 선구자 중의 하나였다.

튜링 테스트

튜링의 논문은 "나는 '기계는 생각할 수 있는가' 라는 문제를 논의하려고 한다" 라는 문장으로 시작한다. 그가 강조하다시피 그것은 좀 부담스러운 표현들이기 때문에, 그 질문에 접근하는 조작적 경로를 찾아내야 할 것이다. 이에 따르면, 이것은 그가 "모의 게임" 라고 부르는 것에 포함되었다. 오늘날에는 그것을 통상 튜링 테스트라고 부른다. 튜링은 다음과 같이 그것을 소개한다 :

어떤 남자 (A) 와 여자 (B) 그리고 남자 또는 여자일 수도 있는 질문자 (C) 셋이 놀이를 하고 있다. 질문자는 다른 둘과 떨어져 어떤 방 안에 홀로 있다. 그 질문자의 게임의 목표는 나머지 둘 중의 누가 남자이고 누가 여자인지 알아내는 것이다. 그들은 질문자에게는 X 나 Y 로만 이름 붙여져 있고, 놀이가 끝날 즈음에는 질문자는 "X 는 A 이고, Y 는 B 이다" 나 "X 는 B 이고, Y 는 A 이다" 를 말한다. 이때 질문자는 다음과 같은 식으로 질문할 수 있다 :

C : X 는 나에게 그 남자의 또는 그 여자의 머리카락의 길이를 좀 말해줄 수 있나?"

이제 X 가 실제로 A 라고 가정한다면, A 가 대답해야 한다. 이 놀이에서 A 의 목표는 C 로 하여금 잘못된 확인을 하게 만드는 것이다. A 의 대답은 다음과 같을 것이다 :

"나의 머리카락은 층층이 가지런하게 잘려 있는데, 그중의 가장 긴 것이 20 센티미터 정도되지."

목소리의 음조로 인하여 질문자의 성별이 탄로나지 않도록, 대답은 문서나 더 좋게는 타자로 제출되어야 했다. 두 개의 방이 하나의 텔렉스로 연결되었다면 더욱 이상적일 것이다. 아니면 중개자를 통하여 질문과 대답이 전달될 수도 있다. 세번째 참여자 (B) 의 과제는 질문자를 돕는 것이다. 그녀의 최선의 전략은 아마 진실한 대답을 하는 것이다. 그녀는 자기의 대답에 "나는 여자니까 그 남자 말에 귀기울이지 말아요" 같은 말을 덧붙일 수 있다. 그러나 남자도 비슷한 사족을 붙일 수 있기 때문에 별로 소득이 없다.

이제 다음과 같은 질문을 던져보자 : "이 놀이에서 기계가 A 의 역할을 맡는다면 어떻게 될까?" 그 놀이가 이런 식으로 진행되는 경우는, 질문자는 그 놀이가 남자 및 여자에 의해서 진행되는 경우와 마찬가지로 그릇된 결정을 내리게 될까? 이 질문은 "기계들은 생각할 수 있는가?" 라는 원래의 질문을 대체한다.

튜링은 자기의 테스트의 본질을 설명한 다음에, 해설이 쓰인 시점을 고려하여 매우 교묘한 해설을 덧붙인다. 일단 그는 질문자와 피질문자 사이의 짤막한 가상대화를 하나 제시한다 :

질문 : 포스 브리지 [스코틀랜드의 포스 강의 하구에 놓여진 철교] 주제에 대한 소네트를 하나 써보시오.

대답 : 그 질문에 응답할 수 없습니다. 아직 시를 써본 적이 없거든요.

질문 : 그러면 34957 에다가 70764 를 더해보시오.

대답 : (30 초 정도 지나자 대답이 나온다) 105621.

질문 : 체스를 둡니까?

대답 : 예.

질문 : 나는 K1 자리에 킹만 있고 다른 곳에는 없어요. 당신은 K6 에 킹만을, R1 에 루크만을 가지고 있습니다. 시작하세요. 어디에 두겠습니까?

대답 : (15 초 정도 지나서) R - R8 에 메이트.

이 산술문제의 해결이 상당한 시간을 잡아먹을 뿐만 아니라, 오류라는 것을 알아차리는 독자는 많지 않다. 이때 대국자가 사람이라면 그것이 연산오류임을 설명하기 아주 쉬울 것이다. 그러나 기계라면, 더욱 많은 설명이 필요하다. 그중의 몇 가지만 들어보자 ;

이 미묘한 단서를 가지고 튜링이 무엇을 의도했을지 곰곰히 생각해보면, 그것은 인공지능과 관련되는 핵심적인 철학적인 문제로 우리를 인도한다.

튜링은 계속 말한다 :

그 새로운 인간의 육체적인 능력과 지적인 능력 사이에 아주 명확한 경계선을 지어주는 장점을 가진다. [....] 우리는 미인대회에서 두각을 나타내는 능력이 없다고 해서 기계를 처벌하지도 않으며, 인간이 비행기와의 경주에서 진다고 해서 벌을 주려는 것도 아니다.

이 논문을 읽으면서 느끼는 기쁨 중의 하나는 튜링이 사고의 과정을 얼마나 멀리까지 추적하는가를 보는 일이다. 그는 전반적으로 어떤 일정한 지점에서 아마 겉으로 보기에는 모순으로 보이는 것을 발견하고는, 자기의 개념들을 더 깊은 분석층위에서 정교화하는 가운데 그 문제를 해결했다. 그의 논문은 이 문제들을 매우 깊숙이 다루었기 때문에, 지난 30 년간 발전해온 오늘날의 컴퓨터와 인공지능에 관한 연구에서도 여전히 빛을 발하고 있는 것이다. 아래에 나오는 인용을 보면 그의 좌충우돌하는 풍부한 아이디어의 일면을 느낄 수 있다 :

아마도 우리는 그 전제조건들이 기계에 대해서는 너무 과중한 것이었기 때문에, 그 놀이를 비판할 수도 있겠다. 인간이 기계가 되고자 했다면, 분명히 형편없는 기계가 되었을 것이다. 그 즉시 산술처리 능력의 완만함과 부정확성이 탄로났을 것이다. 예를 들면 인간이 행하는 것과는 매우 다르지만 기계가 좌우간 "사고" 라고 기술될 수 있는 것을 할 수 있지 않을까? 이러한 반론은 매우 강력하다. 그럼에도 불구하고 흉내놀이를 만족스럽게 할 수 있는 기계를 만들 수 있다면, 적어도 이 반론은 우리에게는 해당하지 않는다고 하겠다.

"흉내놀이" 에서 기계에 대한 최선의 전략은 아마도 인간의 행동을 흉내내는 것과는 좀 다르다는 것이 감안되어야 할 것이다. 그럴 수도 있겠지만, 나는 이런 종류의 효과가 유효할지 회의적이다. 어쨌든 여기에서 그 놀이의 이론을 연구할 의도는 없다. 그래서 최선의 전략은 어떻게 하면 인간이 자연스럽게 제시해줄 대답을 찾는 것이라고 본다.

그 테스트를 설명하고 논의한 다음에 튜링은 덧붙인다 :

"기계들은 생각할 수 있는가?" 라는 원래의 질문은 논의할 필요가 없을 정도로 무의미한 질문이다. 그럼에도 불구하고 나는 금세기 말에 가면 결국 낱말의 사용이나 일반적인 교육을 받은 사람 수준의 견해들은 생각하는 기계들에 의해서 별 문제 없이 말해질 수 있을 것으로 믿는다.

튜링은 반박을 예견한다

이 입장에 대해서 의심의 여지없이 평지풍파가 일어날 것을 직시하면서, 튜링은 기계도 생각할 수 있다고 보는 시각에 대한 일련의 반론들을 아주 간명하고도 빈정대는 유머로 조목조목 반박하고 있다. 나는 아래에 그가 마주쳤던 아홉 가지의 반론을 인용하겠는데, 이때 그의 원래의 말투를 재현하고자 한다. 하지만 유머와 상상력으로 가득한 그의 말투를 전부 옮길 만한 공간이 여기에 부족한 것이 유감이다. 여러분도 이 반론을 깊이 생각해서 스스로 답을 구하도록 해보라 :

(1) 신학적인 반론. 생각한다는 것은 인간의 불멸의 영혼의 기능이다. 신은 바로 그와 같은 불멸의 영혼을 모든 인간에게 선사했지만, 다른 동물이나 기계에는 주지 않았다. 따라서 그 어떤 동물이나 기계도 생각할 수 없다.

(2) "돌대가리" 반론. 생각할 수 있는 기계들의 결과는 끔찍할 것이다. 우리는 그런 일이 일어나지 않기를, 또 일어날 수도 없다고 믿는다.

(3) 수학적인 반론 [기본적으로 루카스의 논거이다].

(4) 의식에 기초하는 논거. "일단 기계가 소네트를 쓰거나 협주곡을 작곡할 정도의 수준에 이르고, 또한 그것을 우연히 출현하는 기호의 배열이 아닌 생각과 감정의 수준에서 해낸 다음에야, 비로소 우리는 기계가 두뇌와 맞먹는다는 사실에 동의할 수 있다 - 즉 기계는 쓸 수 있을 뿐만 아니라, 자신이 썼다는 사실을 알 수 있어야 한다는 뜻이다. 그 어떤 메커니즘도 성공에 대한 기쁨을 효과적으로 느낄 수 없다 (단순히 인위적으로 징후를 나타낸 것이 아니다). 뿐만 아니라 진공관의 퓨즈가 나가면 슬퍼하고, 감언이설에 넘어가거나, 오류로 인하여 슬퍼지거나, 섹스에 현혹당하거나, 분노하고, 원하는 것을 얻지 못할 경우에는 낙심하는 것이 기계에서는 가능하지 않다." [제퍼슨이라는 어느 교수의 말을 인용]

튜링은 이런 심각한 반론들을 조목조목 반박하는 데 적극적이었다. 그래서 그는 자기의 대답에 충분한 공간을 할애해서 다음과 같은 짧은 가상대화를 하나 만들었다 :

 

질문자 : "당신" 이 지은 소네트의 첫 줄은 다음과 같군요 : "그대를 여름날에 비유하리라." "여름날" 보다는 "봄날" 이 더 낫지 않을까요?

증   인 : 그러면 운율이 맞지 않아요.

질문자 : 그러면 "겨울날" 은요? 그건 잘 맞을 것 같은데요.

증   인 : 그래요, 하지만 겨울날에 비유되고 싶은 사람이 누가 있겠어요?

질문자 : 피크위크 씨가 크리스마스 때의 당신을 기억한다고 말하려는 건가요?

증   인 : 어느 정도는요.

질문자 : 그러면 크리스마스도 겨울날이니, 피크위크 씨도 이 비유에 반대하지 않을 것 같은데요.

증   인 : 진심이 아니기를 바랍니다. 우린 보통 겨울날 하면 크리스마스같이 특별한 날보다는 전형적인 혹독한 겨울날을 떠올리지 않습니까!

이 대화가 끝난 후 튜링은 다음과 같이 묻는다 : "그 소네트를 쓰는 기계가 이 구두시험에서 그렇게 대답할 수 있었다면, 제퍼슨 교수는 뭐라고 대답했을까?"

다른 반론들이 더 있다 :

(5) 다양한 종류의 무능력에 기인하는 논거. 이 논거는 "당신이 언급한 모든 일을 할 수 있는 기계를 당신이 만들 수는 있겠지만, 당신은 그 기계가 어떤 일 X 를 하게 할 수 없을 것이다" 라는 형식을 가진다. 이 맥락에서는 많은 종류의 능력인 X 라는 특징이 도입된다. 몇 가지만 나열해보자 :

     친절, 원기왕성함, 아름다움, 상냥함, 솔선수범, 유머 감각, 정의와 비리를 구별하기, 오류, 사랑에 빠지기, 크림을 얹은 딸기를 좋아하기 등은 낱말을 적절히 사용하는 경험으로부터 배우는 것이다. 그것은 무엇인가 진정으로 새로운 것을 행할 때의 인간의 행동만큼이나 다양함을 가지는 사고 자체의 주제이다.

(6) 러블레이스 부인의 반론. 배비지의 해석 기관에 대한 가장 상세한 정보는 러블레이스 부인의 회고록에서 유래한다. 그녀는 다음과 같이 술회한다 : "해석 기관은 무엇이라도 다 창출하라는 요구를 주장하지 않는다. 그것은 우리가 실행을 위한 명령을 내릴 수 있는 것만을 할 수 있다." (원문의 강조)

(7) 신경체계의 연속성을 토대로 한 논거. 신경체계는 정밀한 상태를 완벽하게 유지하는 기계는 아니다. 신경상의 자극이 뉴런에 미치는 정보상의 작은 오류만 있어도, 귀결되는 자극의 규모에 상당한 차이를 유발할 수 있다. 그렇다면 우리는 신경체계의 자극의 규모에 상당한 차이를 유발할 수 있다. 그렇다면 우리는 신경체계의 행동을 정밀한 체계의 상태에 비추어 모방할 수 있다고 기대할 수 없다.

(8) 행동의 무정형성을 근거로 한 논거. 그것은 대략 다음과 같다. "모든 사람이 제각기 자신의 생명을 조절하는 정확한 행동규칙의 집합을 가진다면, 기계보다 나을 게 없다. 그러나 그런 규칙들은 존재하지 않기 때문에, 인간은 기계일 수가 없다."

(9) 초감각적 지각을 근거로 한 논러. 이제 흉내놀이를 한 번 해보자. 이때 텔레파시를 접수하는 어떤 남자와 디지털 컴퓨터를 증인으로 삼아보자. 다음과 같이 질문할 수 있다 : "내 오른손에 있는 카드가 어떤 것일까?" 그 남자는 텔레파시나 투시력을 통하여 400 장 중의 130 장 정도의 카드를 맞춘다. 그런데 기계가 무작위로 104 장 정도를 맞추면 질문자는 옳다고 확인한다.

우리가 보았듯이, 반론의 대다수는 서로 중복될 뿐만 아니라 연관되어 있다. 이 책에서 나는 그런 반론의 대부분에, 전반적으로 튜링의 설명보다는 덜 간략하지만, 대답하고자 하였다.

반론 (9) 는 주목할 만하다. 나는 튜링의 논문 사본을 하나 읽은 적이 있는데, 거기에는 반론 (9) 가 생략되어 있었다. 그 사실 또한 놀라운 것이었다. 튜링과 달리, 나 자신의 입장에서 보면, 초감각적 지각 (ESP : Extra Sensory Perception) 이란 존재하지 않는다. 튜링은 초감각적 지각이 실재한다는 것을 인정하기 꺼려 했지만, 그럼에도 불구하고 그의 비범한 학문적 통합성 때문에 초감각적 지각을 옹호하는 강력한 통계상의 증거로 간주한 일련의 결과들을 인정할 수밖에 없는 처지가 되었다. 나는 이 문제가 매우 복잡한 동시에 흥미진진한 것이라고 보지만, 그와는 견해가 다르다.

"패리가 닥터를 만날 때"

이 장의 앞에 있는 대화 편에서, 독자는 컴퓨터 프로그램과 인간 사이에서 진짜로 행해졌던 의사교환을 본 바 있다. 이제 SHRDLU 에 비해서는 "대화" 능력이 좀 떨어지는 많은 프로그램들이 개발되었다. 그중에서 알려진 것으로는 요제프 바이첸바움이 개발한 "닥터 (Doctor)" 라는 프로그램과 케네스 콜비가 개발한 "패리 (Parry)" 라는 프로그램이 있다. 전자는 "비지령적인 치료" 를 적용하는 신경정신과 의사를 시뮬레이션하는 것이고, 후자는 정신분열증 환자의 정신구조를 시뮬레이션하는 데 쓰인다. 두 프로그램 사이의 우스운 정면충돌은 컴퓨터 네트워크를 통하여 조정되었다. 아래의 보기는 그 녹취록에서 발췌한 것이다 :

패리 : 나는 당신의 동기를 이해하지 못한다.

닥터 : 나의 동기를 한번 이해해보지 그래?

패리 : 내가 그래야 하나?

닥터 : 그러면 왜 지금 그것을 말하는가?

패리 : 바로 그렇게 말하게 되어 있으니까.

닥터 : 바로 그렇게 말하게 되지 않을 것으로 가정하게.

패리 : 그렇다면?

닥터 : 내가 자네를 완전히 이해하는지 자신이 없군.

패리 : 자네는 똑같은 질문만 되풀이하는군.

닥터 : 이 유사성이 자네에게는 어떻게 느껴지나?

패리 : 모르겠는데.

닥터 : 자네가 나를 이해했다는 사실을 받아들이겠나?

패리 : 이제 서서히 자네가 나의 감정에 좀 관심을 가져야 할 시간인 것 같군.

닥터 : 오? 내가 자네의 감정에 관심을 가진다구?

이 프로그램들은 당연히 인간에게 말하게 하기 위하여 개발된 프로그램들이다. 따라서 그것들끼리 대화를 시키면 보잘것없다는 인상을 주는 것이다. 대부분의 경우 그 프로그램들은 (자신들이 아주 피상적으로 해석하는) 입력의 본질에 관한 예민한 추측에 의지하기 때문에, 거대한 레퍼로리로부터 신중하게 선별된 미리 입력된 대답을 거침없이 토해낸다. 그 대답은 예를 들어서 채워질 수 있는 공백을 가지는 어떤 판형이 문제될 경우에는 부분적으로만 입력될 수 있다. 그것들의 인간 상대자가 실제로 기저에 있는 것보다 더 많은 것을 판독한다고 가정해보자. 그런데 바이첸바움의 책 「컴퓨터의 위력과 인간의 이성 (Computer Power and Human Reason)」에 따르면 사실 그렇기는 하다. 그는 다음과 같이 쓰고 있다 :

ELIZA ["닥터" 를 개선하여 만든 프로그램] 는 자기와 대화를 나누었던 많은 사람들의 뇌리에, 놀랍게도 마치 그 프로그램이 이성을 갖춘 것 같다는 착각을 불러일으켰다. 그래서 사람들은 종종 그 체계와 개별적으로 대화하도록 허용되었는데, 상당 시간 대화를 나누고 난 후에는, 내가 사실을 말해주었음에도 불구하고, 그 기계가 자기들을 정말로 이해했다고 주장했다.

여러분은 앞의 발췌부분을 믿을 수 없다고 생각할 지도 모른다. 믿을 수 없지만 사실이었다. 바이첸바움은 설명을 덧붙인다 :

대부분의 사람들은 컴퓨터의 '컴' 자도 모른다. 따라서 그들이 (무대 위의 마술사의 마술을 보면서 저건 도저히 불가능하다고 느끼는) 매우 심각한 비관을 할 수 없다면, 바로 그들 고유의 사고능력의 모델에 유추시킬 수 있다는 사실을 통해서만 컴퓨터의 사고능력을 설명할 수 있다. 그래서 도를 지나치는 것도 놀라운 일이 아니다. 즉 예를 들면 ELIZA 를 모사할 수 있는 인간은 거의 상상하기 어렵다. 뿐만 아니라 그에게는 ELIZA 의 언어능력이 그의 한계가 될 것이다.

이런 종류의 프로그램이 인기를 끈 것은 인간의 경박한 믿음을 미끼로 이득을 얻으려는 허풍과 속임수에 기인한다.

기괴한 "ELIZA-효과" 에 직면하여, 몇몇 사람들은 튜링 테스트는 원시적인 속임수로 사람들을 우매하게 만들기 때문에 개선되어야 한다고 말했다. 예를 들면 질문자는 노벨상을 수상한 과학자이어야 한다고 말했다. 예를 들면 질문자는 노벨상을 수상한 과학자이어야 한다고 제안된 바 있다. 아니면 튜링 테스트를 거꾸로 되돌려서, 질문자는 다른 컴퓨터이어야 한다고 주장하는 것이 나을지도 모른다. 아니면 혹시 두 질문자 - 인간과 컴퓨터라는 - 와 한 명의 증인이 있으면, 두 질문자는 그 증인이 인간인지 컴퓨터인지를 판정해야 할지도 모르겠다.

그러나 진지하게 말하자면 - 개인적으로는 - 원래 제안된 형태의 튜링 테스트는 매우 합당하다고 본다. ELIZA 에 열광한다고 바이첸바움이 비난하는 그 사람들은 비관적일 필요가 없었다. 또는 대답을 주는 "인물" 이 사람인지의 여부를 확인하기 위하여 머리를 굴릴 필요가 없었다. 나는 이 문제에 대한 튜링의 이해가 건전하며, 수정되지 않은 본래의 튜링 테스트 또한 계속 빛을 발하리라고 생각한다.

인공지능의 간략한 역사

다음 쪽들에서는 -비정통적인 시각이긴 하지만 - 지능의 배후에 있는 알고리듬을 밝혀내기 위하여 노력해온 역사를 간략히 정리해보고자 한다. 그 과정에는 수많은 시행착오가 있었으며 앞으로도 실패는 계속 나올 것이다. 그럼에도 불구하고 우리는 매우 많은 것을 배우고 있으며, 그래서 오늘날은 가장 흥분되는 시대이기도 하다.

파스칼과 라이프니츠 이래로 사람들은 지능적인 과제를 수행할 수 있는 기계를 꿈꾸어왔다. 19 세기에는 불과 함께 드 모르간이 "사고법칙" - 기본적으로는 명제계산인 - 을 고안했고, 이를 통하여 인공지능 소프트웨어로의 첫 발을 내딛었다. 또한 찰스 배비지는 오늘날의 컴퓨터 하드웨어의 조상이자 인공지능의 조상인 최초의 "연산 엔진 [초창기 컴퓨터]" 을 발명했다. 이전에는 인간의 정신에 의해서만 실행될 수 있던 과제들을 기계적인 장치들이 떠맡는 그 순간을 바로 인공지능의 탄생 시점으로 정의할 수 있을 것이다. 돌아보건대 톱니바퀴가 아마어마하게 큰 수들을 더하고 곱하는 것을 처음 보았을 때의 사람들의 감격이 얼마나 대단했을지 미루어 짐작하기 어렵다. 아마 사람들은 그들의 "사고" 가 그야말로 물리적인 하드웨어 속으로 흘러들어가는 것을 보면서 일종의 경외심을 가졌을 것이다. 어쨌건, 최초의 전자계산기가 개발된 지 거의 100 년이 지난 오늘날, 당시의 개발자들이 또 다른 종류의 "생각하는" 존재의 출현에 놀라움고 신비함의 감정을 가졌었으리라는 것을 짐작할 수 있다. 그러나 여기에서 진정한 사고가 얼마나 실행되었는지가 상당한 의구심을 불러일으켰으며, 수십 년이 지난 오늘날에도 이 문제는 고무적인 자극인 동시에 비난의 원천이기도 하다.

재미있는 것은 사실 오늘날에는 그런 경외심을 가지는 사람이 거의 없다는 점이다. 심지어는 인공지능의 초창기에 사람들을 엿먹이던 것보다도 훨씬 더 복잡한 연산을 컴퓨터가 수행해도 사람들은 더 이상 놀라지 않는다. 이전에는 흥분을 자아내기에 충분했던 "거대한 전자 두뇌" [Giant Electronic Brain]" 와 같은 말들은 이제 낡아빠진 상투적인 어구가 되었으며, 다만 플래시 고든과 벅 로저스 시대의 우스꽝스런 잔재에 불과하다. 우리가 샴페인을 너무 일찍 터뜨린 것이 약간은 서글프기도 하지만 말이다.

인공지능의 발전에 있어서도 이와 관련된 "정리" 가 존재한다 : 일단 몇 가지 정신적인 기능이 프로그래밍되면, 사람들은 즉시 그것을 "진정한 사고" 의 본질적인 성분으로 간주하기를 중지한다. 지능의 불가피한 핵심은 늘 아직 프로그래밍되지 않은 바로 다음 사항에 좌우되기 때문이다. 이 "정리" 를 내게 처음으로 제안한 사람이 래리 테슬러였기 때문에, 나는 그것을 테슬러 정리라고 부른다 : "인공지능 연구는 아직까지 이루어지지 않은 모든 것에 대한 연구이다."

인공지능에 대하여 아래에 약간의 개관을 했다. 이 개관은 연구자들이 그들의 노력을 집중한 영역들을 보여주는데, 그들은 나름대로 지능의 정수를 탐구하고 있다. 나는 응용된 방법론이나 특별한 관심사항에 따라서 이 영역들을 다음과 같이 분류해보았다 :

기계번역

     직접적인 기계번역 (낱말들을 재정렬하여 자체 내의 사전에서 검색 변환하는 방식)

     간접적인 기계번역 (내부에 장착된 매개언어를 경유하는 번역)

 

게임

     체스

          순수한 연산능력을 동원한 예측능력을 가지는

          발견술적으로 지탱되는 예측능력을 가지는

          예측능력을 가지지 않는

     체커

     바둑

     칼라

     브리지 (패 잡기 ; 게임)

     포커

     틱 - 탁 - 토 게임의 여러 가지 변이형

     등.

 

수학의 여러 영역에서 정리들을 증명하기

     기호논리

          "유도추론을 통한" 정리의 증명

     기초 기하학

 

수식의 기호 조작

     기호 적분

     대수학적 단순화

     무한급수의 합

 

시지각 처리

     인쇄물 :

          작은 부류 (예를 들면, 숫자) 에서부터 개개인의 손으로 쓴 기호의 인식

          다양한 글씨체로 쓰인 텍스트 판독

          손으로 쓰인 부분을 판독

          인쇄된 한자 또는 일본 문자의 판독

          손으로 쓴 한자 또는 일본 문자의 판독

     영상 :

          미리 지정된 대상들을 사진에 담기

          하나의 광경을 여러 대상에 분할하기

          한 광경 안에 있는 다양한 대상들의 인식

          손으로 그린 스케치에 들어 있는 대상들의 인식

          사람 얼굴의 인식

 

청각 처리

     제한된 어휘로 된 말로 행해진 발화의 이해 (예를 들면, 열 개의 숫자의 이름)

     확정된 영역 안에서 행해지는 연속적인 발화의 이해

          음소들 사이의 경계 식별

          음소의 인식

          형태소들 사이의 경계 식별

          형태소의 인식

          낱말과 문장의 구성

 

자연언어의 이해

     특정한 영역에 해당하는 질문에 대답하기

     복잡한 문장의 통사구조 파악 (parsing)

     비교적 긴 텍스트 조각들을 풀어내기

     텍스트 부분의 이해를 위하여 현실세계의 지식을 사용하기

     애매한 지시관계의 명료화

 

자연언어의 생성

     추상적인 시 쓰기 (예를 들면, 하이쿠)

     문장, 단원 또는 비교적 긴 텍스트 부분들을 무작위로 만들기

     지식의 내적인 표상으로부터 출력을 생성하기

 

독창적인 생각 또는 예술작품의 창조

     시의 창작 (하이쿠)

     이야기 쓰기

     컴퓨터 예술

     작곡

          무조 음악

          조성 음악

 

유추적 사고

     기하학적 도형 ("지능 검사")

     인접하는 영역에 기초하여 수학의 한 영역에서 증명들을 구성하기

 

학습

     매개변수들의 조정

     개념 형성

기계번역

위의 주제 중 상당수는 다음의 논의에서 다루어지지는 않지만, 그것들이 없었다면 목록은 정확하지 못할 것이다. 처음의 몇 가지 주제들은 역사적인 순서로 나열된 것이다. 그런데 초기의 노력들이 모든 기대를 다 충족시킨 것은 아니었다. 예를 들면 기계번역의 완벽한 구축은 어렵지만 기본적인 실행은 쉬울 것이라고 믿었던 많은 사람들을 난감하게 만들었다. 그러자 번역이란 사전을 뒤적거리거나 낱말들을 치환하는 것보다 훨씬 어려운 작업이라는 것이 밝혀졌다. 물론 그러한 난점은 관용구에 대한 부족한 지식 때문만은 아니다. 사실 번역행위는 논의되고 있는 세계에 대한 정신 모델을 포함하고 있으며, 그 모델 안에서 기호를 조작한다. 그러나 그 세계에 대한 모델을 운용하지 않는 프로그램은 너무나도 빨리 절망적으로 애매성과 다의성의 늪에 빠져들어간다. 심지어는 세계에 대한 완벽한 이해로 무장되어서 컴퓨터에 비해 훨씬 많은 장점을 가지는 사람들 조차도, 하나의 텍스트와 사전만 가지고는 다른 언어로 된 텍스트를 그들의 언어로 옮기는 일이 거의 불가능하다는 것을 알게 된다. 결국 - 되돌아보면 놀랄 일도 아닌데 - 인공지능의 첫번째의 문제가 즉각 인공지능 연구의 핵심사안이 되었다.

컴퓨터 체스

마찬가지로 컴퓨터 체스도 초창기의 직관적인 평가에서보다는 훨씬 어려운 것으로 판명되었다. 여기서 인간의 마음속에 있는 판세를 표상하는 방식은, 체스에 대한 지식과 짝을 이루어, 개개의 말들이 어느 칸에 놓여야 하는가에 대한 단순한 지식보다는 훨씬 더 복잡하다는 것도 다시 한번 드러났다. 이를테면 서로 연관되는 다양한 말들 사이의 조합이나 그런 조합들을 높은 층위의 뭉치로 응축하는 발견술적인 지식 또는 엄정한 규칙들의 복합을 인식하는 것이 필요하다. 발견술적인 규칙들이 공식적인 규칙만큼 엄밀하지는 않더라도, 체스판 위에서 벌어지는 상황에 대한 신속한 개관을 가능하게 한다. 하지만 공식적인 규칙에 대한 지식은 이것을 파악할 수 없다. 그것은 이미 처음부터 알려진 것이었다. 그러나 당시에 사람들은 인간의 체스 실력에서 체스의 세계에 대한 직관적이고도 "응축된" 이해의 역할을 과소평가했다. 그래서 기초적인 발견술을 가지는 프로그램이 입력된 - 개개의 행마의 예측과 분석에 있어서 엄청난 속도와 정확성을 가지는 - 컴퓨터를 가지고서 별 어려움 없이 최고 수준의 인간 체스 선수의 수준에 도달할 것이라고 예견되었다. 그러나 그 예측은 수많은 학자들이 거의 25 년간 집중적으로 작업했음에도 불구하고 아직까지 실현되지 못하였다.

체스 문제는 오늘날 여러 진영에서 공박당하고 있다. 가장 새로운 논박 하나는 그러한 판세예측이 멍청한 짓이라는 전제에서 출발한다. 그 대신에 우리는 단적으로 그 순간의 체스판을 보고서, 몇 가지의 발견술적인 데이터들의 도움으로 작전을 수립하고 그 특정한 전략을 보완하는 행마를 찾아야 한다. 물론 그런 전략을 완성하기 위한 규칙들은 어떤 점에서는 예측의 "단순해진" 변이형을 설명하는 발견술을 반드시 포함할 것이다. 즉 상당수의 게임에서 얻어진 예측의 경험에 상응하는 것이 아마 예측될 수 없는 다른 형식으로 "압출된다" 는 것을 의미한다. 이것은 어떤 점에서는 말장난인지도 모른다. 그러나 바로 그 "단순해진" 지식이 - 심지어 종종 오류를 야기하더라도 - 실제의 예측보다 더 효율적인 대답을 제공한다면, 소득이 있는 것이다. 이제 지식을 이처럼 사용하기에 더 좋은 형태로 증류하는 것이 바로 지능을 전형적으로 규정하는 바로 그것이다. 예측을 통하여 얻어진 지식 자체를 바로 그 "단순해진" 규칙으로 번역할 수 있는 프로그램을 설계한다면 아주 흥미있을 것이다. 하지만 그것은 그야말로 어마어마한 과제이다.

새뮤얼의 체커프로그램

실제로 그런 방법은 아더 새뮤얼의 경탄할 만한 체커-프로그램에서 개발되었다.

그 프로그램의 장점은 주어진 판세를 평가할 때 동적인 (예측하는) 방법과 정적인 (예측하지 않는) 방법을 모두 사용한 점에 있다. 정적인 방법은 어떤 판세라도 규정할 수 있는 다양한 크기의 단순한 수학적인 함수를 포함하는데, 그렇게 해서 판단은 즉석에서 연산될 수 있었다. 반면에 동적인 판단은 그것에 대한 대답과 그 대답에 대한 대답 등을 포함하는 가운데 (그림 38 참조) 앞으로 가능한 행마의 "수형도" 를 포함한다. 정적인 평가함수의 다양한 가능한 변이형의 집합을 제공하는 것이었다. 새뮤얼의 전략은 진화론적 방식으로 그 매개변수들의 더욱더 개선된 값들을 선별하는 것이었다.

그것은 다음과 같은 방식으로 되었다 : 그 프로그램은 체스판 위의 판세를 판정할 때마다, 정적인 동시에 동적으로 평가했다. 예측을 통하여 얻은 대답 - D 라고 하자 - 이 앞으로 취해져야 할 행마를 확정하는데 사용되었다. 정적인 평가인 S 의 목적은 더 교묘한 것이었다 : 모든 행마마다 가변적인 매개변수들은 S 가 최대한 D 에 근접하도록 약간 재조정되었다. 그 효과는 수형도의 동적인 검색을 통하여 얻어진 지식을 정적인 평가변수의 값에 부분적으로 코드화하는 것이었다. 요컨대, 그 착상은 복잡한 동적인 평가방식을 훨씬 더 간단하고 효과있는 정적인 평가함수로 "단순화" 하는 것이었다.

여기에는 아름다운 재귀순환적인 효과가 있다. 요점은 체스판 위의 어떤 판세에 대한 동적인 판정도 유한한 수의 행마 - 예를 들면 일곱 단계 - 의 예측을 포함한다는 것이다. 이제 위로 향한 일곱 개의 경로가 아래쪽으로 생성할 수 있는 각 행마들이 생기는데, 그것은 앞과 마찬가지로 어떻게든 평가받아야 한다. 그러나 그 프로그램이 이 판세들을 평가한다면, 열네 개 또는 스물한 개의 단계를 미리 예측해야 하는 것은 아니니까 - 무한역행을 하지 않으려면 - 다른 일곱 개의 단계를 예측할 수 없다. 그 대신에 일곱 단계 앞의 위치들에 대한 정적인 평가에 의존한다. 따라서 새뮤얼의 도식에서는 프로그램이 예측평가를 계속 더 간단한 정적인 처방으로 "단순화" 하려는 복잡한 유형의 피드백이 일어난다. 그러면 이 처방 자체는 다시 동적인 예측평가에서 핵심적인 역할을 한다. 따라서 이 두 방식은 밀접하게 연관되며, 각자는 다른 것에서의 개선을 통하여 재귀순환적으로 서로 이득을 본다.

새뮤얼이 개발한 체커-프로그램은 거의 세계 최고의 수준이다. 그렇다면, 어째서 이와 같은 기술을 체스에는 적용하지 않는 걸까? 컴퓨터 체스의 실현가능성을 연구하기 위하여 네덜란드의 세계 체스협회장이자 수학자인 막스 위베가 포함되어 1961 년 결성된 국제 위원회에서 새뮤얼의 체커 - 프로그램을 체스에 응용하는 것이 100 만 배는 더 어렵다는 결론이 내려진 결과, 이 논란은 일단락되었다.

체커-프로그램의 실력은 아직 "지능 수준에 도달했다는 것" 을 의미하지는 않지만 얕잡아 보아서는 안 된다. 그것은 체스 경기의 본질이 무엇이며, 그것에 대해서 어떻게 숙고하며, 그것을 어떻게 프로그래밍해야 할 것인가에 대한 통찰의 복합이다. 아마 우리는 이 모든 것을 보여주는 것이 새뮤얼 자신의 체스 실력이라고 생각할 수 있다. 그러나 이것은 적어도 두 가지 이유에서 틀린 말이다. 첫번째 이유는 능란한 선수는 자기 자신이 완전히 이해하지는 못하는 정신적인 과정 (즉 자기의 직관) 에 따라서 자기의 행마를 선택한다는 것이다. 하지만 자기 자신의 모든 직관을 드러낼 수 있는 어떤 방법도 존재하지 않는다. 내적 성찰을 통하여 할 수 있는 최선의 방법은 "감정" 또는 "메타-직관" - 자기의 직관에 대한 직관 - 을 길잡이로 사용하여, 우리가 자기 자신의 직관에 대한 모든 것을 묘사하는 것이다. 그것으로는 직관적인 방법의 진정한 복잡성에 대략 접근할 정도 밖에 안된다. 따라서 새뮤얼이 자기 자신의 경기방법을 그의 프로그램에 반영하지 않았다는 것은 짐작컨대 거의 확실하다. 새뮤얼의 프로그램과 그 자신의 경기를 혼동하면 안 되는 또 다른 이유는 새뮤얼이 자기의 프로그램만큼 체커를 잘 두지는 않았다는 점이다. 그것은 π 를 연산하도록 프로그래밍된 컴퓨터가 π 라는 지수의 연산에 있어서 그것을 프로그래밍한 프로그래머를 능가하듯이 전혀 이율배반이 아니다.

프로그램은 언제 독창적인가?

한 프로그램이 자기를 프로그래밍한 사람을 능가한다는 문제는 인공지능의 "독창성" 이라는 문제와 연계된다. 인공지능 프로그램이 게임 속에서 프로그래머는 전혀 생각치도 못한 아이디어나 전략을 만들 경우에, 그 공로는 누구의 것인가? 그런 흥미있는 보기들이 몇 가지 있는데, 그중의 몇 가지는 좀 사소한 층위의 것이며, 다른 것들은 심층적인 차원의 것들이다. 유명한 것들 중의 하나는 바로 겔레른터에 의해서 개발된 것으로서, 유클리드 기하학의 정리들의 증명을 탐색하는 프로그램이다. 그 프로그램은 어느 날 유클리드 기하학의 근본정리 중의 하나에 대한 그야말로 독창적이며 찬란한 증명 - 이른바 "폰스 아시노룸 (pons asinorum)" 또는 "당나귀 다리 정리" 라고 불리는 - 을 만들었다.

이 정리는 이등변 삼각형의 밑각이 동일하다는 것을 말한다. 표준 증명은 삼각형을 두 개의 대칭으로 나누는 수직선을 만들 것을 요구한다. 그 프로그램에 의해서 발견된 근사한 방법 (그림 114) 에서는 어떤 보조 작도선도 사용하지 않는다. 그 대신에 삼각형과 그 반영상을 두 개의 상이한 삼각형으로 간주한다. 그러면 그 프로그램은 그들 사이의 합동관계를 확인한 후에, 두 개의 밑각이 이 합동 삼각형에서 동일하다는 것을 암시한다. QED (증명 끝) :

그림 114  폰스 - 아시노룸 증명 (파포스 [-300] 가 발견) 과 겔레른터의 프로그램 (-1960). 문제 : 이등변 삼각형의 밑각이 동일하다는 것을 증명하기. 해답 : 삼각형이 등변형이기 때문에, AP 와 AP' 의 길이는 같다. 따라서 삼각형 PAP' 와 P'AP 는 변의 길이가 같기 때문에 합동이다. 이것은 상응하는 각이 같으며, 특히 두 밑각이 같다는 것을 함축한다.

 

프로그램의 개발자와 몇몇 사람들은 이 증명을 보고서 환호했고 심지어 어떤 사람들은 그 프로그램의 천재성을 엿보게 되었다. 이 업적을 깎아내리려는 의도는 없지만, 실은 300 년에 기하학자인 파포스 또한 이와 동일한 증명을 발견한 바 있다. 어쨌든 '누가 그 주창자인가?" 라는 질문이 남는다. 그 증명은 지능에 따른 행동인가? 아니면 인간 (겔레른터) 의 내면 깊숙이 숨어 있다가, 단지 컴퓨터가 표층으로 가져온 것에 불과한가? 이 마지막 질문이 바로 문제의 핵심이다. 그것을 거꾸로 물어볼 수도 있다 : 그 증명은 프로그램 속에 깊숙이 숨겨져 있었나? 아니면 표층 가까이에 있었나? 즉 하나의 프로그램은 자기가 무엇을 했는지 어떻게 쉽게 알 수 있는가? 이러한 발견을 간단한 메커니즘이나 메커니즘들의 복합체인 프로그램에 할당할 수 있는가? 아니면 그것에 대한 경외감을 줄이지 않는 복잡한 교호작용이 있었는가?

다음과 같이 말하는 것이 합리적일 것이다. 그 실행이 프로그램 안에서 쉽게 추적될 수 있는 연산들에 할당될 수 있다면, 그 프로그램은 어느 정도 - 아주 깊은 곳은 아닐지라도 - 프로그램 자체의 정신에 숨어 있던 관념들을 드러낸 것이다. 그러나 역으로 그 프로그램이 바로 이 특정한 발견이 왜 튀어나왔는가를 밝혀줄 정보를 주지 않는다면, 우리는 아마 프로그램의 "정신" 과 프로그래머의 정신을 분리시켜야 할 것이다. 인간은 자기가 그 프로그램을 개발했기 때문에 공로를 인정받는 것이지, 프로그램에 의해서 생성된 관념들을 자기 머릿속에 가지고 있었다는 이유 때문은 아니다. 그런 경우들에서는 우리는 인간을 "메타 - 저자" - 그 결과의 저자 [프로그램] 의 저자 - 로, 프로그램은 (단지 평범한) 저자로 부를 수 있다.

겔레른터와 그의 기하학 기계라는 특별한 경우에서, 겔레른터는 아마 파포스의 증명을 재발견하려고 한 것은 아니었다. 그러나 그 증명을 만들었던 메커니즘은 그 프로그램의 표층에 지나치게 근접하였다. 그랬기 때문에, 그 프로그램을 기하학자로 부르기에는 곤란한 느낌이 든다. 우리가 어떤 표준방법이 아니라 섬광같이 스쳐가는 생각에 토대를 두는 천재적인 새로운 증명들에 계속 경탄하게 된다면, 그렇다면 그 프로그램을 주저없이 기하학자라고 부를 것이다. 하지만 그런 일은 일어나지 않았다.

누가 컴퓨터 음악을 작곡하는가?

컴퓨터에 의해서 작곡된 음악의 경우만큼 저자와 메타 - 저자 사이의 차이에 대한 문제가 첨예화된 적이 없다. 작곡행위를 할 때 프로그램은 여러 개의 독자성 층위들을 동원한다. 그 "메타 - 저자" 가 벨 연구소의 맥스 매튜스였던 어떤 작품을 보기로 그중의 한 층위가 설명된다. 그는 "조니의 개선 (When Johnny Comes Marching Home)" 과 "영국군 척탄병 (The British Grenadiers)" 이라는 두 개의 행진곡의 악보를 입력하고는, 컴퓨터에게 "조니" 로 시작하지만 점차 "척탄병" 으로 옮아가는 새로운 악보를 만들라고 명령했다. 그 곳의 가운데에서 "조니" 가 완전히 사라지게 되자, 사람들은 "척탄병" 만을 듣게 되었다. 그러자 그 과정은 역전되어서 그 곳은 시작할 때와 마찬가지로 "조니" 로 끝나게 되었다. 매튜스의 설명을 들어보자 :

그것은 꺼림칙한 음악적 체험이기는 하지만, 꽤 재미있는 것이다. 특히 그 리듬이 전환될 때 그러하다. "영국군 척탄병" 은 바장조로 된 2/4 박자의 곡이고, "조니" 는 마단조로 된 6/8 박자의 곡이었다. 2/4 박자에서 6/8 박자로 넘어가는 변화는 분명히 식별할 수 있지만, 연주하기는 여간 어려운 것이 아니다. 음계에서 서로 다른 조인 바장조에서 마단조로 전조하는 것은 좀 불협화음이다. 차라리 그 전조가 좀 경미하면 좋았을 뻔했다.

그렇게 해서 생긴 곡은 어떤 일정한 부분에서는 지나치게 과장되고 혼란스럽게 들리지만, 또 다른 부분에서는 우스꽝스럽게 들린다.

컴퓨터가 작곡을 하는가? 이런 질문은 안하는 것이 가장 좋지만, 그렇다고 묵살할 수도 없다. 대답하기 참 어렵다. 알고리듬들은 결정론적이며 단순하고 쉽게 이해된다. 복잡하고 이해하기 어려운 어떤 연산도 필요없으며, "학습" 프로그램들도 이용되지 않으며, 어떤 우연적인 과정들도 일어나지 않는다. 기계는 액면 그대로 기계적으로 작동한다. 그러나 그 영역의 전체 구조가 완벽하고 정확하게 구체화되었다고 해도, 자세히 보면 작곡가가 의도하지도 않은 음의 연속체가 생성된다. 그래서 작곡가는 종종 자기의 생각이 실현된 세부결과를 보고 아연실색하는 것이다. 그런 점에서만 컴퓨터가 작곡하는 것이다. 우리는 그 과정을 "알고리듬 작곡" 이라고 하는데, 이 알고리듬이 분명히 단순하다는 사실을 다시 한번 강조하고자 한다.

이것은 매튜스가 "대답하고 싶지 않을 법한" 질문에 대한 그 자신의 대답이다. 그의 부인에도 불구하고 대부분의 사람들은 그 곡이 "컴퓨터에 의해서 만들어졌다" 고 간단히 말하는 것이 낫다고 생각한다. 나는 이런 표현은 사태를 완전히 곡해한다고 본다. 그 프로그램은 두뇌의 "기호" 에 유추적인 어떤 구조도 함유하지 않으므로, 결코 자신이 하는 것을 "생각한다" 고 말할 수 없다. 그런 곡의 작곡의 공을 컴퓨터에 돌리는 것은, 마치 (가끔씩 틀리게) 편집하는 자동식자기에 이 책의 저작권을 부여하는 것과 다를 바 없다.

이것은 우리를 그리 심한 것은 아니지만 인공지능의 주제로부터 약간 벗어나는 질문으로 인도한다. 그것은 다음과 같다 : 어떤 텍스트에서 "나 (I)" 또는 "나를 (me)" 이라는 낱말을 본다면 여러분은 그것이 무엇을 지시한다고 생각하는가? 에를 들면 지저분한 트럭의 꽁무니에 종종 쓰여 있는 "나를 씻어주세요 (WASH ME)" 같은 구절을 생각해보라. 이때 "나를" 은 누구를 말하는가? 그것은 목욕하기를 갈망하면서 가장 가까이 있는 물건의 표면에 휘갈겨 쓴 부랑아의 아우성인가? 아니면 그 트럭이 청소되기를 바라는 것인가? 아니면 그 문장 자체가 샤워되기를 바라는 것인가? 아니면 그 더러운 영어가 정화되기를 바라는 것인가? 우리는 이런 게임을 무한히 계속 진행할 수 있을 것이다. 이 경우에 그 구절은 일종의 농담인데, 어떤 일정한 층위에서는 트럭 자체가 그 구절을 썼고 자기가 세차되기를 바란다고 상상해야 할 것이다. 또 다른 층위에서 어떤 아이가 그것을 썼다는 것을 알아차리고는, 그런 헛다리를 짚은 유머를 즐긴다. 사실 이것은 "나를" 이라는 말을 잘못된 층위에서 해석하기 때문에 생기는 일종의 언어유희이다.

바로 이런 종류의 중의성이 이 책의 "두문자행렬 대위법" 편과 괴델의 연쇄체 G (및 그것과 유사한 것) 에 대한 논의에서 시도되었다. 연주가 불가능한 음반을 위하여 주어진 해석은 "나는 X 라는 전축에서는 연주될 수 없다" 였고, 증명 불가능한 명제들에 대해서는 "나는 X 라는 형식체계에서는 증명될 수 없다" 였다. 후자를 살펴보자. 여러분은 도대체 어떤 경우에 문자의 화자를 지칭하는 것이 아니라 정리 자체에 관련하는 것으로 자동적으로 이해되는 "나" 라는 대명사를 포함하는 문장을 보았는가? 짐작컨대 몇 개 없을 것이다. "나" 라는 낱말이 셰익스피어의 소네트에 나타나면, 그것은 그 낱말이 나타난 어느 쪽에 인쇄된 14 행 시의 형식을 지칭하는 것이 아니라, 무대 뒤의 어딘가에 서 있는 살과 피로 이루어진 존재를 지칭하는 것이다.

그러면 어떤 문장 안에 있는 "나" 라는 말을 통상적으로 어디까지 추적해가는가? 그 대답은 다음과 같을 것이다 : 우리는 저작권을 부여할 수 있는, 의식을 가지는 존재를 찾는다. 그러나 의식을 가지는 존재란 무엇인가? 우리가 안심하고 스스로를 사상시킬 수 있는 무엇이다. 바이첸바움의 "닥터" 프로그램에 인성이 존재하는가? 그렇다면 어떤 인성이 존재하는가? 바로 이 문제에 대한 논쟁이 최근에 「과학 (Science)」이라는 학술잡지에 실린 바 있다.

이것은 누가 컴퓨터 음악을 작곡하는가라는 구절의 "누구" 로 우리를 다시 인도한다. 대부분의 경우에서 그런 곡들의 배후에 있는 추진력은 인간의 지능이며, 컴퓨터는 어느 정도는 인간이 고안한 착상을 실현하기 위한 도구로 동원되었다. 그 작업을 실행하는 프로그램은 우리와 동일시되는 그 어떤 것도 아니다. 그것은 유연성이나, 자기 자신이 하고 있는 것에 대한 개괄 또는 "자아" 라는 감정이란 전혀 없는 단순하면서도 오로지 하나만을 추구하는 소프트웨어 조각일 분이다. 그러나 인간이 이런 속성들을 가지고 음악을 만드는 프로그램을 만든다면, 나는 찬탄의 공로를 나누어 가져야 할 시점이 왔다고 본다 : 공로의 반은 그런 놀라운 프로그램을 개발한 프로그래머에게 돌아가야 하고, 나머지 반은 프로그램 자체, 즉 그 프로그램의 음악성으로 돌려야 한다. 그렇다면 그것은 오직 그런 프로그램의 내부 구조가 우리의 두뇌와 그 격발 패턴 속에 들어 있는 의미의 복잡한 개념을 담당하는 "기호들" 과 비슷한 무엇에 근거할 경우에만 가능한 것 같다. 이런 내부 구조가 있다는 사실은 어느 정도까지는 그 프로그램에 그 프로그램을 편안히 느끼게 하는 속성들을 부여하게 될 것이다. 그러나 그때까지는 "이 곡은 컴퓨터가 작곡했다" 고 말하는 것이 내키지 않는다.

정리의 증명과 문제의 환원

다시 인공지능의 역사로 돌아가보자. 인공지능 연구의 초기에 프로그래밍하려고 했던 것은 정리의 증명이라는 지적인 활동이었다. 그 구상은 MIU - 체계에서 MU 를 추론하기 위하여 컴퓨터를 프로그래밍하는 것과 다르지 않다. 다만 형식체계들은 종종 MIU - 체계들에 비해 더 복잡했을 분이다. 그것들은 양화사를 사용하여 명제계산을 확장하는 술언논리의 변형이었다. 더군다나 술어논리의 대부분의 규칙들은 실은 TNT 에 포함되어 있다. 그런 프로그램을 짜는 데 있어서의 기교는, 그 프로그램이 지도 위를 다 헤집고 다니는 것이 아니라, 합리적인 기준들에 따라서 원했던 연쇄체로 인도할 수 있는 "유효한" 경로들에서만 작업하도록 방향성을 주입하는 것이다.

이 책에서는 그런 문제들을 자세히 다루지는 않았다. 그런데 우리는 도대체 언제 정리에 접근한다는 것을 알 수 있는가? 그래서 나는 MU - 수수께끼로 그 문제에 접근하고자 한다. 물론 궁극적인 대답이 없을 수도 있다 : 그것은 제한적인 정리의 내용이기 때문이다. 희망컨대 우리가 이른바 어떤 경로를 밟아야 할지를 늘 알 수 있다면, 우리는 원하는 어떤 정리라도 증명할 수 있는 알고리듬을 구축할 수 있을 것이다. 하지만 그러면 처치의 정리를 위반하게 되므로, 그런 알고리듬은 존재하지 않는다 (그것이 처치의 정리로부터 어떻게 유도되는지는 독자에게 맡기고자 한다). 그렇다고 이것이 어떤 경로가 유망하고 어떤 것은 그렇지 않은가에 대한 직관이 불가능하다는 것을 의미하지는 않는다. 사실 최고의 프로그램들은 매우 정교한 발견술을 통하여 능숙한 사람의 능력에 비견될 정도의 속도로 술어논리의 연역을 실행한다.

정리 증명의 기교는 어떤 사람을 국소적인 층위로 인도하는 주요 목표 - 즉 우리가 만들고자 하는 연쇄체 - 를 가진다는 사실을 우리가 이용하는 것이다. 전체적인 목표를 증명유도를 위한 국소적인 전략으로 변환하기 위하여 개발된 테크닉을 문제 환원이라고 부른다. 그것은 우리가 어떤 원거리 표적을 가질 때면 언제나 통상적으로 목표에 도달하기까지 도움을 주는 하위목표들이 존재한다는 생각에 토대를 둔다. 그렇기 때문에 주어진 문제를 일련의 새로운 하위문제들로 분할하면 다시 하위하위 문제들로 분할되며, 재귀순환적인 방식으로 계속 진행되어 결국, 아마 몇 단계가 지나면 도달할 수 있는 아주 소박한 목표들에 도달하게 된다. 아니면 적어도 그렇게 될 것이다.

문제환원은 제논을 곤경에 빠뜨렸다. 기억하다시피, A 에서 B (이때 B 가 목표 지점이다) 로 갈 때 일단 그 길의 반을 지나가고 그 나머지를 지나가라는 제논의 방법은 그 문제를 두 개의 하위문제들로 "환원" 하는 것이다. 그러면 우리는 두 개의 하위목표를 - 제 5 장에서 사용한 의미로 - "목표 더미로 밀어넣은" 것이다. 그 각각은 다시 두 개의 하위하위목표들로 대체될 것이다. 이런 식으로 무한대로 진행된다. 결국 우리는 유일한 목표 (그림 115) 대신에, 목표들의 무한한 더미를 가지게 된다. 그 더미로부터 무한한 수의 목표들을 "끄집어내는 것" 은 교묘한 것으로 드러날 것이다. 물론 그것이 바로 제논이 노린 점이다.

 

그림 115  A 에서 B 로 도달하기 위한 제논의 무한한 "목표 수형도."

문제환원에서 나타나는 무한 재귀순환의 또 다른 보기는 아킬레스가 무형의 소원을 피력했던 "작은 화성의 미로" 에서 일어났다. 그의 소원달성은 메타 - 요정의 허락이 떨어질 때까지 연기되어야 했지만, 허락을 알리는 허락을 얻기 위해서 그 메타 - 요정은 다시 메타 - 메타 - 요정을 호출해야 했다. 목표 더미들의 무한성에도 불구하고 아킬레스는 원했던 것을 얻었다. 즉 문제환원이 성공한 것이다.

내가 빈정거리기는 했지만, 실은 문제환원은 전체적 문제를 국소적 문제로 변환하는 강력한 테크닉이다. 그것은 일정한 상황들, 예를 들면 우스꽝스럽게 열다섯 또는 그 이상의 행마로까지 연장된다고 해도, 예측이 종종 좌절되는 체스의 끝내기에서는 빛을 발할 수 있다. 따라서 예측은 계획에 근거하는 것이 아니다. 그것은 단적으로 말하자면 어떤 목표도 가지지 않으며, 다만 엄청난 수의 선택적인 대안들을 모두 탐색할 뿐이다. 우리는 어떤 목표를 가짐으로써, 그 목표를 달성하기 위한 전략을 개발할 수 있다. 그렇다면 이것은 기계적으로 예측하는 것과는 판이한 철학이다. 물론 예측에 있어서, 일정한 판세에 대한 희망 여부는 당연히 행마위치의 평가함수에 의해서 판정되는데, 그것은 패하지 않으려는 일련의 목표들을 간접적으로 포함한다. 그러나 그것은 너무 간접적이다. 체스 예측 프로그램에 대항하여 등장하는 우수한 체스 선수들은 대부분 그들의 적수가 계획이나 전략을 공식화하는 데 매우 취약하다는 인상을 받는다.

섄디와 뼈다귀

문제환원의 방법이 작동할지에 대해서는 어떤 보장도 없다. 제대로 작동하지 않는 상황도 많다. 예를 들면 이런 간단한 문제를 생각해보자 : 여러분이 개라고 가정하고, 어떤 사람이 여러분이 제일 좋아하는 뼈다귀를 담 너머 저쪽 집으로 던졌다고 해보자. 그 뼈다귀는 저쪽 정원에서 정말로 여러분을 유혹할 것이다. 그런데 뼈다귀로부터 15 미터쯤 떨어진 곳 울타리에 문이 열려 있다. 어떻게 해야 할까? 어떤 개들은 울타리 앞으로 무작정 뛰어가서 그 앞에서 짖을 것이고, 또 다른 개들은 열려진 문 사이로 가서 맛있는 뼈다귀를 집어 물 것이다. 이 두 마리의 개들은 문제환원 테크닉을 응용했다고 말할 수 있다. 그러나 개들은 각자 그들의 정신 속에서 상이한 방식으로 문제를 표상하는데, 그것이 모든 차이를 결정한다. 짓는 개는 하위문제들을 (1) 울타리로 뛰어가는 것, (2) 그것을 넘어서 가는 것 그리고 (3) 뼈다귀를 집어물기로 본다. 그러나 두번째 하위문제는 "난감한" 것이다. 그래서 짖는 것이다. 또 다른 개는 하위문제를 (1) 문으로 뛰어가기, (2) 문을 지나가기 그리고 (3) 뼈다귀를 집어물기로 본다. 이 모든 것은 "문제공간" 을 어떻게 표상하는가에 좌우된다는 것을 유념하라. 즉 무엇을 문제의 환원 (전체 목표 쪽으로 전진) 으로 그리고 무엇을 문제의 확장 (목표로부터의 후퇴) 으로 지각하는가에 좌우된다.

문제공간의 변경

어떤 개들은 곧장 뼈다귀 쪽으로 뛰어가려고 한다. 울타리에 도착하면 그들의 두뇌 속에 무슨 생각이 퍼뜩 스친다. 그들은 곧 방향을 바꾸어 문 쪽으로 뛰어간다. 이 개들은 얼핏 보기에는 마치 최초의 상황과 원하는 상황 사이의 간격이 커지는 것 - 즉 뼈다귀로부터 멀어지고 문 쪽으로 달려가는 것 - 처럼 느끼게 된다. 그러나 실제로는 간격이 줄어든다. 일단 그들은 물리적인 거리와 문제상의 거리를 혼동한다. 뼈다귀로부터 출발하는 모든 운동은 정의상 열악한 것으로 보인다. 그러나 그후에 - 어떤 식으로든 - 그들은 뼈다귀에 더 가까이 데려다 줄 그들의 지각을 변경할 수 있다는 것을 알아차린다. 제대로 선택된 추상적인 공간에서는, 문을 향하는 운동은 개를 뼈다귀에 접근시키는 포물선이다. 매 순간마다 개는 - 새로운 의미로 - 뼈다귀에 더 가까이 접근한다. 따라서 문제환원의 유용성은 우리가 그 문제를 정신적으로 어떻게 표상하는가에 좌우된다. 어떤 공간에서는 후퇴로 보이는 것이, 다른 공간에서는 전진을 위한 혁명적인 발걸음으로 보일 것이다.

일상생활에서 우리는 위와 비슷한 문제에 직면하여 그것을 해결한다. 예를 들면 어느 날 오후 남쪽으로 160 킬로미터를 떠나기로 결심했다고 하자. 그러나 내가 아침에 자전거를 타고 출근했다면, 실제로 나의 차를 타고 남쪽으로 떠나기 전에는 "엉뚱한" 방향으로 움직일 수밖에 없다. 일단 내 사무실을 (동쪽으로 몇 미터) 떠나고 나서, 북쪽으로 나 있는 복도를 따라가다가 다시 서쪽으로 간다. 그리고 나서 자전거를 타고 집으로 돌아간다. 그것은 나침반의 모든 방향으로의 천방지축을 의미한다. 그리고 집에 도착한다. 일련의 작은 행보의 연속이 결국 나를 차로 인도하며, 그러면 나는 떠난다. 나는 목표지점인 고속도로에 가능하면 빨리 도착하기 위하여 동서남북으로 돌아가는 우회로 중의 하나를 택한다.

이 모든 것은 전혀 이율배반적인 것 같지는 않다. 심지어 어떤 즐거움도 없이 이루어졌다. 물리적인 역방향 진행이 목표지점을 향한 직접적인 운동으로 지각되는 공간은 북쪽으로 가는 이율배반을 전혀 느끼지 못할 정도로 나의 정신에 너무나도 깊숙이 개입되었다. 이때 도로들과 복도들은 별다른 거부감 없이 수용할 수 있는 경로들로 기능하며, 그 결과 내가 그 상황을 어떻게 지각하는가를 선별하는 행위의 일부분은 바로 주어진 상황을 곧바로 수용하도록 한정한다. 그러나 개들은 울타리 앞에서, 특히 그들의 눈에 보이는 맛있는 뼈다귀들이 가까이 놓여 있을 경우에는 어려움을 느낀다. 그리고 그 문제공간이 물리적인 공간보다 좀더 추상적인 경우에는, 우리 인간들에게도 종종 짖어대는 개들과 마찬가지로 무엇을 해야 하는가에 대한 통찰이 결여될 수 있다.

어떤 의미로는 모든 종류의 문제들은 다 개와 뼈다귀 문제의 추상적인 형태들이다. 상당수의 문제들은 물리적인 공간이 아니라, 일종의 개념상의 공간에 존재한다. 우리가 어떤 목표지점을 향한 직접적인 운동이 우리를 일종의 추상적인 "울타리" 로 인도한다는 것을 안다면, 우리는 둘 중의 하나를 할 수 있다 : (1) 뼈다귀에 도달하기 위하여 우리가 지나가는 숨겨진 "문" 에 도달하기를 바라면서 목표지점으로부터 좌우간 멀어지려는 시도, 또는 (2) 그 문제를 표상할 수 있는 새로운 "공간" 을 찾으려는 노력이 필요하다. 그 안에는 당신의 목표와 구분되는 어떤 추상적인 울타리도 없다. 그렇다면 우리는 이 새로운 공간에서 목표를 향하여 나아갈 수 있다. 첫번째 방법은 굼뜬 길로 보이며, 두번째 방법은 매우 어려우며 복잡하게 보일 것이다. 그렇다면 문제공간의 구조변경을 요하는 해결책들은 완만하고도 사려깊은 사고과정보다는 전광석화 같은 통찰의 결과로서 더 자주 나타난다. 아마 이러한 직관적인 섬광은 지능의 심연으로부터 오는 것 같다. 말할 것도 없이 그 근원은 시샘이 많은 두뇌의 엄격하게 보호된 기밀이다.

어쨌든 어려움은 문제환원 그 자체가 실패를 야기하는 것이 아니라는 점이다 ; 그 환원 자체는 지극히 건전한 것이다. 문제는 더욱 깊은 데 있다 : 즉 우리가 그 문제의 내재적인 표상을 어떻게 제대로 선별하는가? 그 표상에서 어떤 종류의 "공간" 을 보는가? 어떤 행위들이 실제의 당신과 당신이 선택한 공간 안에 있는 당신의 목표 사이의 "괴리" 를 줄일 것인가? 수학적인 언어로 말하자면 이것은 두 가지 상태 사이의 적절한 계량 (거리 함수), 즉 당신과 당신의 목표 사이의 괴리가 아주 적은 그런 계량을 찾아내는 것이라고 표현될 수 있다.

그러면 이제 내적인 표상을 선택하는 문제 자체가 다시 일종의 문제이기 때문에 - 가장 골치아픈 문제이다 - 우리는 문제환원의 기술은 그 문제 자체에 적용해볼 수 있다. 그렇게 하려면, 우리는 엄청나게 다양한 추상적 공간들을 표상할 방법을 가져야 하는데, 그것은 그야말로 난감한 과제이다. 혹시 언제 누가 이런 종류의 과제에 도전해보았는지 궁금하다. 그것은 아마 이론적으로는 매력적인 작업일 테지만, 사실은 전혀 실현될 수 없는 공상일 것이다. 어쨌든 인공지능에는 "뒤로 물러서서", 무엇이 진행되는가를 개괄하고, 이런 시각을 가지고서 그들 스스로를 재정향시키는 프로그램이 결여되어 있다. 그런데 인간에 의해서 실행되면 지능을 필요로 하는 것 같은 단순한 과제를 적절히 실행하는 프로그램을 만드는 일과, 지능을 갖춘 프로그램을 만드는 일은 전혀 다른 성질의 과제이다. 그것이 바로 위대한 지능을 몸에 밴 습관으로 현혹적으로 보여주는 말벌 (제 11 장 참조) 과 그 말벌을 관찰하는 인간 사이의 차이이다.

다시 한번 지능적 방식과 기계적 방식

지능을 갖춘 프로그램은 아마 다양한 종류의 문제들을 해결하기에 충분할 정도로 만능일 것이다. 그 프로그램은 각기 다른 것을 배워서 경험을 축적하고자 할 것이다. 그래서 규칙들의 집합 안에서 작동할 수 있을 뿐만 아니라, 적절한 시점에서 뒤로 물러서서 그 규칙들의 집합 안에서의 작업이 그 프로그램이 가지는 전반적인 목표 집합에 비추어볼 때 유용한지 평가하게 될 것이다. 그리고 필요하다면 주어진 틀 안에서 작업하는 것을 중지하고 어느 정도 다른 작업을 하게 해주는 새로운 틀을 창출할 수도 있을 것이다.

이 논의의 상당수는 독자들에게 MU - 수수께끼의 일정한 측면을 상기시킨다. 예를 들면 어떤 문제의 목표로부터 떠나는 것은 점점 더 긴 연쇄체를 만들면서 간접적인 방식으로 MU 를 만들기를 바라는 가운데, MU 로부터 멀어지는 것을 생각나게 한다. 우리가 아주 순진한 "개" 라면 아마도 그 연쇄체가 철자 두 개를 넘어설 경우에는, 즉시 "MU - 뼈다귀" 로부터 멀어져갈 것이다. 그러나 우리가 좀더 똑똑한 개라면, 그런 연장규칙의 적용은 간접적으로 정당화되는데, 그것은 마치 MU - 뼈다귀를 얻으려고 문 쪽으로 움직이는 것과 같다.

앞의 논의와 MU - 수수께끼 사이의 또 다른 연결고리는 MU - 수수께끼의 본성으로의 통찰로 인도해주는 두 가지 연산유형 : 즉 기계적 방식과 지능적 방식이다. 전자의 경우, 우리는 몇 개의 고정된 틀 안에 삽입되는 것이고, 후자의 경우는, 늘 한 발 물러나서 전체를 조망할 수 있다. 조망한다는 것은 어떤 표상방식으로 작업하는가를 선택하는 것이며, 그 체계의 규칙들 안에서 작업한다는 것은 선택된 틀 내부에서 문제환원의 기법을 시도하는 것과 같다. 라마누잔의 문제 - 특히 자신의 가설도 기꺼이 바꾸려는 그의 태도 - 에 대한 하디의 해설은 바로 창조적인 사고에서 나타나는 기계적 방식과 지능적 방식 사이의 교호작용을 시사하고 있다.

말벌은 기계적 방식으로는 뛰어나게 작동하지만, 자신의 틀을 선택하거나 심지어 자신의 기계적 방식을 변경할 능력은 전혀 없다. 말하자면 체계 안에서 늘 다시 동일한 일이 일어난다는 것을 알아차릴 수 없다. 그것을 알아차리려면, 그 체계는 - 그것이 아주 미미할지라도 - 자신으로부터 벗어나야 할 것이다. 그것은 단적으로 반복의 동일성을 알아차리지 않는다. 이 생각 (즉 어떤 반복되는 사건들의 동일성을 알아차리지 못하는) 을 우리 자신에게 역적용해볼 경우에 흥미있다. 그 동일성을 충분히 개괄하지 않기 때문에, 우리의 삶 속에서 늘 다시 나타나고 그때마다 우리가 동일한 우매한 방식으로 다루는 영원히 반복하는 상황들이 존재하는가? 그런 것이 있다면 다음과 같은 반복적인 질문으로 이어진다 : "동일성이란 무엇인가?" 그것은 우리가 패턴 인식을 논급할 때, 곧 인공지능의 주제로 등장하게 될 것이다.

인공지능을 수학에 응용하기

인공지능의 입장에서 보자면, 수학은 어느 정도 매우 재미있는 영역이다. 모든 수학자는 수학적인 개념들 사이에는 일종의 운율 - 즉 모든 수학은 엄청난 수의 관계들이 존재하는 결과의 그물조직 - 이 있다는 직관을 가진다. 그 그물 조직안에서 몇몇 개념들은 밀접히 연관되어 있고 다른 것들은 더 정교한 연결경로를 필요로 한다. 수학에서는 종종 두 개의 정리들이 서로 가깝다. 왜냐하면 어떤 하나는 증명되기 쉬우며 다른 하나는 이미 주어져 있기 때문이다. 다른 한편 두 개의 개념은 서로 유추적이거나 심지어 동형관계이기 때문에 가깝다. 이것들이 수학의 영역에서 쓰이는 "가깝다" 라는 낱말의 두 가지 상이한 의미이다. 그밖에도 몇 가지가 더 있을 것이다. 수학적 근접성에 대한 객관성이나 보편성이 존재하는지, 아니면 단지 역사적인 전개 속에서 배태된 우연에 불과한지는 말하기 어렵다. 수학의 여러 영역의 정리들은 우리에게는 서로 관련시키기 어려운 것으로 보일 때가 있다. 그래서 서로 무관하다고 말할 것이다. 그러나 우리의 마음을 바꾸게 하는 무엇이 나타날 수도 있다. 우리가 수학적인 근점성에 대한 고도의 감각 - "수학자의 정신적 운율" - 을 어떤 프로그램에 입력시킬 수 있다면, 아마 원초적인 "인공수학" 을 창출할 수 있을 것이다. 그러나 그것은 우리가 단순성 또는 "자연성" 의 감각을 전달할 수 있어야 한다는 사실에 좌우되므로, 또 다른 심각한 장애물이다.

이 문제들은 일련의 인공지능 프로젝트들의 대상이었다. 그중에는 MIT 에서 "MACSYMA" 라는 이름으로 개발된 프로그램이 있는데, 그것의 목적은 수학자들이 복잡한 수식을 기호로 조작하도록 도와주는 것이다. 이 프로그램은 "어디로 갈 것인가" 에 대한 감각을 가진다 - 즉 우리가 통상 복합적 표현이라고 부르는 것을 더 단순한 것으로 바꾸는 일종의 "복잡성 낙차" 를 가진다. MACSYMA 레퍼토리의 일부분은 "SIN" 이라고 불리는 프로그램인데, 그것은 함수들의 적분을 기호로 실행한다. 그것은 통상 일정한 범주에서는 인간들보다 탁월한 것으로 받아들여지며, 일반적으로 지능에도 적용되는 일련의 다양한 기술에 기대고 있다. 이를테면 대량의 지식, 문제환원의 기법, 다수의 발견술 내지는 일정한 속임수에 근거하고 있다.

스탠퍼드 대학의 더글라스 레너트가 개발한 또 다른 프로그램의 목표는 개념들을 창안하고 초등 수학의 사실들을 발견하는 것이었다. 그 프로그램은 "집합" 의 개념과 일련의 "재미있는" 개념을 수집하여 셈하기를 창안했으며, 나아가 더하기, 곱하기 - 특히 소수의 개념 - 나 골트바흐의 추측을 재발견하기에 이르렀다. 물론 이 모든 "발견들" 은 수백 년 - 아니 수천 년 - 이나 된 것들이었다. 아마 "재미있음" 이라는 것에 대한 레너트의 감각은 그가 20 세기에 수학적 수련을 받았기 때문에 만든 일련의 규칙에 영향받았다고 설명할 수도 있다. 그렇다고 해도 인상적인 것이다. 이러한 주목할 만한 성능에 의거하여, 그 프로그램은 생명체처럼 보였다. 그런데 재미있는 것은 그 프로그램이 재미있음에 대한 자기 자신의 감각을 개발하거나 개선시킬 수 없다는 사실이었다. 그것은 또 다른 또는 여러 단계 더 어려운 층위의 사안으로 보였다.

인공지능의 핵심 : 지식의 표상

앞의 보기들 중의 상당수는 한 영역이 표상되는 방식은 그 영역이 "이해된" 방식과 밀접한 관계가 있다는 것을 강조하기 위하여 인용된 것이다. TNT 의 정리들을 예정된 순서로 출력하기만 하는 프로그램은 수론을 "이해하지" 모살 것이다. 지식의 특별한 층위를 가지는 레너트의 프로그램 같은 것은 수론에 대한 기본적인 감각을 가진다고 말할 수 있다. 수학적 지식을 현실 - 세계의 경험이라는 폭넓은 맥락에 산입하는 프로그램은 아마 우리가 생각하는 그 의미에서 이해능력을 소유할 것이다. 이러한 지식의 표상이 바로 인공지능의 관건이다.

인공지능의 초창기에는 지식이란 문장과 비슷한 "꾸러미" 형태일 것이며, 어떤 프로그램에 지식을 이식하는 최선의 방법은 사실들을 작은 수동적인 데이터 꾸러미로 번역하는 간단한 절차를 개발하는 것이라고 가정되었다. 그렇다면 모든 사실은 데이터 조각에 불과해서 단적으로 데이터를 사용하는 모든 프로그램에 의해서 접근 가능할 것이다. 예를 들면, 행마의 위치가 어떤 식으로든 절점이나 목록으로 코드화되고, 검색되어서 하위과정으로 작동될 수 있는 기억장치에 저장되는 체스 프로그램을 그 보기로 들 수 있다.

인간이 어떤 사실들을 복잡한 방식으로 저장한다는 것은 심리학자들에게는 진작에 알려진 상식이지만, 인공지능 연구자들에게서는 "응축된 지식" 이라는 문제에 직면해서 최근에야 재발견되엇다. 이를테면 이 문제들이 제 11 장에서 본 바 있는, 지식의 절차적 유형과 정언적 유형의 차이와 비슷하며, 내성에 접근될 수 있는 유형의 지식과 내성에 접근 불가능한 채로 있는 지식 사이의 차이와 비슷하다는 사실을 재발견한 것이다.

모든 지식은 수동적인 데이터 조각으로 코드화되어야 한다는 소박한 가정은 실제로 컴퓨터 설계의 근본원리, 즉 데이터의 가감승제 방식은 데이터 조각이나 기억장치 안에 저장된 것이 아니라는 사실과 배치된다. 사실 데이터들은 기억장치의 어느 곳에도 표상되어 있지 않다. 차라리 하드웨어의 회로 패턴 속에 저장된 것이다. 휴대용 계산기는 덧셈을 어떻게 할 것인가에 대한 지식을 자신의 기억장치에 저장하는 것이 아니다. 그 지식은 자신의 "내장" 속에 코드화되어 있는 것이다. 그 안에는 "더하기에 대한 지식이 이 기계의 어느 곳에 자리잡고 있는 것이다. 그 안에는 "더하기에 대한 지식이 이 기계의 어느 곳에 자리잡고 있는지 보여다오" 라고 요구할 경우, 꼭 집어 지정해야 할 어떤 기억장소도 존재하지 않는다.

그럼에도 불구하고 상당수의 인공지능 연구자들은 엄청난 양의 지식 - 즉 정언적 지식 - 이 특정한 장소에 저장된 시스템의 개발에 몰두했다. 물론 프로그램안에 일정한 지식이 함유되어 있어야 한다. 그렇지 않다면 우리는 전혀 프로그램을 가지지 못하며 백과사전만을 가질 뿐이기 때문이다. 문제는 이제 우리가 지식을 어떻게 프로그램과 데이터로 구별하는가이다. 프로그램과 데이터를 구별하는 것이 늘 쉬운 것은 아닌데 어떻게 해야 할 것인가! 바라건대 제 16 장에서 그것을 충분히 설명했다고 본다. 그러나 시스템을 개발하는 프로그래머가 직관적으로 어떤 특정한 개별적인 항목을 데이터 (또는 프로그램) 로 간주한다면, 그것은 시스템 구조에 대하여 중대한 역효과를 가질 수 있다. 왜냐하면 우리는 프로그래밍을 하는 동안에는 데이터와 유사한 대상과 프로그램과 유사한 대상을 구분하려고 하지 않기 때문이다.

중요한 것은 정보를 데이터 구조나 절차 [과정] 로 코드화하는 어떤 방식도 그 근본원리에 있어서 대동소이하다는 것이다. 이를테면 효율에 별로 신경쓰지 않는다면, 우리가 어떤 한 인지도식에서 할 수 있는 것을 다른 인지도식에서도 수행할 수 있다는 점에서 그렇다. 한편 어떤 방법이 다른 방법에 비해서 단연코 월등하다는 사실을 암시하는 몇 가지 근거가 있을 수 있다. 예를 들면 순수한 절차적인 표상만을 사용하는 다음과 같은 논거를 살펴보자 : "우리가 충분히 복잡한 속성들을 데이터로 코드화하려는 즉시, 하나의 새로운 언어이자 형식체계로 간주되는 무엇을 개발하지 않을 수 없다. 그렇다면 이때 그 프로그램의 일정한 부분이 해석장치로 사용되는 가운데, 데이터 구조들은 사실 프로그램과 유사해진다. 따라서 우리는 처음부터 동일한 정보를 절차적인 형태로 직접 제시하고, 추가적인 해석의 층위를 생략할 수 있을 것이다."

DNA 와 단백질은 몇 가지 시각을 제공한다

이 논거는 아주 확실한 것 같은데, 덜 엄격하게 해석한다면, DNA 와 RNA 의 폐기에 대한 논거로 간주될 것이다. 우리가 단백질로 직접 표상함으로써 하나가 아닌 두 개의 해석층위를 제거할 수 있다면, 유전자 정보는 어째서 DNA 로 코드화되는가? 그 대답은 다음과 같다 : 동일한 정보를 다양한 목적을 위한 다양한 형태로 가지는 것이 매우 유용하다. 유전자 정보를 DNA 의 모듈적인 형태와 데이터에 유사한 형태로 저장할 때의 이점은, 두 개체의 유전자들이 새로운 유전자형을 형성하기 위하여 쉽게 재결합될 수 있다는 것이다. 그러나 유전정보가 오로지 단백질로만 코드화되었다면 이것은 매우 어려울 것이다. DNA 로의 정보 저장이 가지는 두번째 장점은 그것이 단백질로 쉽게 전사되고 번역될 수 있다는 점이다. 그것이 필요하지 않다면 많은 공간을 필요로 하지 않는다. 그러나 그것이 필요하다면 판형으로 기능한다. 단백질을 다른 단백질로 복제하는 메커니즘은 존재하지 않는다. 그들의 주름진 3 차 구조는 그런 복제행위를 대단히 어렵게 만들 것이다. 이와 상보적으로, 유전자 정보를 효소와 같은 3 차원적 구조로 입력하는 것은 불가피한 것으로 보이는데, 그 이유는 분자의 인식과 조작은 본질적으로 3 차원적인 연산작동이기 때문이다. 순수한 절차적인 표상이라는 논거는 세포라는 맥락에서는 심한 논리적 오류를 유발하는 것으로 간주될 것이다. 따라서 절차적인 표상과 정언적인 표상 사이를 넘나들 수 있는 장점을 가진다고 보일 것이다. 그것은 아마 인공지능에서도 마찬가지일 것이다.

이 문제는 지능을 가진 외계존재와 커뮤니케이션을 주제로 한 학술회의에서 프란시스 크릭이 제기한 바 있다.

우리는 지구상에서, 하나는 복제 [DNA] 를 담당하고 다른 하나는 행위 [단백질] 를 담당하는 두 개의 분자를 본다. 이때 하나의 분자가 두 과제를 다 해결하는 체계를 구축할 수 있는가, 아니면 혹시 그 과제를 두 개로 분할하는 것이 더 장점이라는 것을 시사하는 체계분석 (그런게 있다면) 에 좀더 강한 논거를 부여할 것인가? 나는 이에 대한 해답을 모르겠다.

지식의 모듈성

지식을 표상할 때 부딪히는 또 다른 문제는 모듈성이다. 새로운 지식을 입력하는 것은 얼마나 쉬운가? 모든 낡은 지식을 수정하는 것은 얼마나 쉬운가? 책들은 어느 정도나 "모듈적" 인가? 이 모든 것은 다 상황에 따라서 다르다. 서로 교차 지시구조를 가지는 복잡하게 구조화된 책에서 어느 한 장을 빼내면, 사실상 그 책의 나머지는 이해 불가능하다. 말하자면 거미줄 전체에서 실 한 오라기를 당기면, 거미집 전체를 망치는 것이다. 다른 한편으로, 어떤 책들은 서로 독립적인 장들을 포함하기 대문에 지극히 모듈적이다.

이제 TNT 공리들과 추론규칙들을 이용하는 직선적인 정리 - 생성 프로그램을 살펴보도록 하자. 그런 프로그램의 "지식" 은 두 가지 측면을 가진다. 그 프로그램은 공리들과 규칙들 안에서는 암시적이지만, 지금까지 생성된 정리의 총체 안에서는 명시적이다. 우리가 지식을 보는 방식에 따라서, 우리는 지식을 한편으로는 모듈적으로 보고, 또 다른 한편으로는 모든 곳에 잘 분배된, 말하자면 비모듈적인 것으로 본다. 예를 들면 우리가 그런 프로그램을 만들었지만, TNT 공리를 공리 (1) 에 취하는 것을 완전히 망각했다고 가정해보자. 그 프로그램이 몇 천 번의 유도공식을 실행하고 나면, 우리는 이 문제를 인식하게 되고 새로운 공리 (1) 을 삽입한다. 우리가 그런 일을 순식간에 할 수 있다는 사실은 그 체계의 암시적인 지식이 모듈적이라는 것을 보여준다. 그러나 새로운 공리가 그 체계의 명시적인 지식을 위해서 기여한 것은 시간이 상당히 지나야 반영될 수 있다. 이를테면 향수병이 깨어지고 나서 시간이 좀 지나야 방 안에 향기가 서서히 퍼지는 것과 마찬가지이다. 그런 점에서 새로운 지식이 좀 지나야 방 안에 향기가 서서히 퍼지는 것과 마찬가지이다. 그런 점에서 새로운 지식이 삽입되기까지는 오랜 시간이 걸린다. 더욱이 우리가 되돌아가서 공리 (1) 을 그것의 부정으로 대체하려 한다면, 저절로 할 수는 없다. 우리는 공리 (1) 을 유도공식에 포함하는 모든 정리들을 삭제해야 할 것이다. 분명히 말하건대 이 체계의 명시적 지식은 암시적 지식만큼 모듈적이지는 않다.

그렇다면 지식을 어떻게 모듈적으로 이식할 수 있는지 배우는 것이 좋다. 그래서 누구에게 프랑스어를 가르치고자 한다면, 우리는 간단히 그 사람의 두개골을 열어서 확정된 방식으로 그 사람의 신경구조에 집도하면 될 것이다. 그렇다면 그 사람들은 프랑스어를 어떻게 하는지 알게 될 것이다. 물론 장난삼아 말해본 공상일 뿐이다.

지식 표상의 또 다른 측면은 그 지식을 사용하려는 방식과 관계가 있다. 정보의 조각들이 들어오는 동안에 추론이 도출되어야 할까? 새로운 정보와 낡은 정보 사이에 끊임없이 유추와 비교가 만들어져야 하는가? 예를 들면 우리들이 체스 프로그램에 예측 수형도를 만들고자 한다면, 정보를 상이한 방식으로 반복하는 수형도보다 잉여성이 가장 적은 해마 위치들을 코드화하는 표상이 선호될 것이다. 그러나 우리가 그 프로그램이 어떤 패턴을 검색해서 그것을 기존의 패턴들과 비교하는 가운데 "행마 위치들" 을 이해하기를 바란다면, 동일한 정보를 다른 형태로 표상하는 프로그램이 더 유용할 것이다.

지식을 논리형식으로 표상하기

지식을 표상하고 조작하기 위한 최선의 방법을 연구하는 여러 학파가 있다. 상당한 영향력을 행사했던 학파 중의 하나는 TNT 에서와 비슷한 형식논리 표기법, 이를테면 술어논리의 연결부호와 양화사들을 사용하는 표상을 옹호한다. 그런 표상에서 근본적인 연산조작은, 놀랄 것은 없는데, 연역추론의 형식화이다. 논리적 연역은 TNT 에서와 유사한 추론규칙을 사용하는 가운데 만들어질 수 있다. 특정한 관념 체계에 대한 질문은 유도되어야 할 연쇄체의 형태로 제기된다. 예를 들면 : "MUMON 은 정리인가?" 그리고 나면 자동적인 추론 메커니즘들이 문제환원의 다양한 방식을 사용하는 가운데, 목표지향적인 방식으로 작동한다.

예를 들면, "모든 형식적인 대수학들은 불완전하다" 는 명제가 알려져 있고, "「수학 원리」는 불완전한가" 라고 묻는다고 하자. 종종 데이터 베이스라고 불리는 알려진 사실들의 목록을 점검해보면 - 그 체계는 「수학 원리」가 형식적인 대수학이라는 것을 확인할 수 있는 경우에는 이 질문이 답변되었다는 것을 알아차릴 것이다. 그러므로 "「수학 원리」는 형식적인 대수학이다" 라는 명제는 하위목표로 설정될 것이며, 그리고는 문제환원이 떠맡을 것이다. 그리고 목표나 하위목표의 입증 (또는 반박) 을 도와줄 수 있는 또 다른 사실들이 발견될 수 있다면, 그것은 이 사실들 위에서, 즉 재귀 - 준거적으로 진행될 것이다. 이 과정은 역방향 연쇄화 (backwards chaining) 라고 불리는데, 그것은 이 작업이 그 목표에서 아마도 이미 알려진 것들로 그 과정을 역방향으로 작동시키기 때문이다. 우리가 하나의 핵심목표, 보조목표들 및 하위하위 목표들을 그래프로 표상한다면, 수형도 비슷한 구조가 생길 것이다. 왜냐하면 핵심목표가 각각 다시 그들 나름대로 하위하위목표들을 가지는 다양한 하위목표들을 포함할 것이기 때문이다.

다음을 유의하라 : 이 방법은 그 문제의 해결을 보장하지는 않는다. 왜냐하면 그 체계의 내부에서는「수학 원리」가 형식적인 대수학이라는 사실을 확인할 어떤 방법도 없기 때문이다. 그렇다고 해서 그 핵심목표나 하위목표가 그릇된 진술이라는 것을 의미하는 것이 아니며, 다만 바로 그 체계가 현재 동원할 수 있는 지식으로는 추론될 수 없다는 것을 의미한다. 그런 상황에서는 컴퓨터는 아마도 "난 모르겠다" 나 그에 준하는 표현을 인쇄할 것이다. 그런 상황에서는 컴퓨터는 아마도 "난 모르겠다" 나 그에 준하는 표현을 인쇄할 것이다. 몇몇 질문들이 대답되지 않은 채로 있다는 점은 당연히 잘 알려진 일정한 형식체계도 어쩔 수 없이 가지는 불완전성과 유사하다.

연역적 인식 대 유추적 인식

이 방법은 알려진 사실들로부터 올바른 논리적인 추론들을 이끌어낼 수 있다는 점에서 표상된 영역에 대한 연역적 인식을 제공한다. 그러나 그 방법은 인간 지능의 핵심인 - 유추적 인식이라고 부를 수 있는 - 유사성을 분별하거나 상황들을 비교하는 능력이 부족하다. 그렇다고 그 사실은 유추적 사고과정이 그런 형식으로 압축될 수 없다는 것을 의미하지는 않는다. 다만 그런 종류의 형식체계가 다른 체계들처럼 그리 자연스럽게 잘 쓰이지는 않아서 개입되지 않는다는 사실을 말한다. 오늘날, 논리지향적인 체계들은 오히려 자연스럽게 비교라는 복잡한 형식들을 실행시켜준다.

그러면 지식 표상이 수의 단순한 저장과는 완전히 다른 체계라는 것을 이해한다면, "컴퓨터는 엄청난 양의 기억을 가진다" 는 생각은 결국 물거품으로 드러날 것이다. 기억 속에 저장된 것과 프로그램이 아는 것이 꼭 동일한 것을 의미하지는 않는다. 왜냐하면 주어진 지식 조각이 어떤 복잡한 체계의 어디엔가 코드화되었다고 하더라도, 이 지식에 도달하는 데이터들을 다루는 처리과정이나 규칙 또는 그 어떤 다른 유형도 존재하지 않기 때문이다. 그런 경우에는 지식으로의 접근경로가 잠정적으로 또는 영원히 상실되었기 때문에, 지식의 조각은 "망각되었다" 고 말할 수 있다. 그렇다면 컴퓨터 프로그램은 낮은 층위에서 "기억하는" 어떤 것을 높은 층위에서는 "망각할" 수 있다. 이것이 아마도 우리 자신으로부터 배울 수 있는, 영원히 재귀반복하는 층위 구별들 중의 하나이다. 인간이 무엇인가를 망각한다면, 그것은 아마도 높은 층위의 방향장치가 상실되었다는 것을 의미하는 것이지, 어떤 정보가 삭제되거나 파괴되었다는 것을 의미하지 않는다. 이것은 우리가 입력되는 경험들의 흔적을 추적하는 방식이 매우 중요하다는 점을 시사한다. 왜냐하면 어떤 상황에서, 어떤 각도에서 기억장치로부터 무엇을 끄집어내고 싶은지 아무도 미리 알 수 없기 때문이다.

컴퓨터 하이쿠에서 RTN - 문법까지

"밑도 끝도 없이" 영어 문장을 생성하는 프로그램에 몰두했을 때, 나는 인간 두뇌에서 지식을 표상하는 것이 얼마나 어려운지 절실히 알게 되었다. 나는 재미있는 방식으로 이 프로젝트에 접근했다. 나는 라디오에서 이른바 "컴퓨터 하이쿠" 의 몇 가지 보기를 들은 적이 있었는데, 그중 몇 수가 깊은 인상을 주었다. 거기에는 해학이 풍부했으며, 동시에 일반적으로 보기에는 예술적 창조로 보이는 것을 컴퓨터가 생성할 수 있게 하는 신비스런 요소를 포함한다. 내게는 그 해학이 섞인 측면들이 매우 흥미있었으며, 창조행위의 프로그래밍이라는 미스테리 - 그야말로 모순적인 것 - 또한 흥미를 끌었다. 그래서 나는 하이쿠 프ㅗ그램보다 더 신비스럽고 모순적인 프로그램을 설계하기로 결심했다.

일단 나는 그 프로그램이 단순히 판형의 빈틈을 메꾸는 데 불과하다는 인상을 주지 않으려고, 문법을 좀 유연하고 재귀순환적으로 만들려고 했다. 그 당시에 나는 과학학술지 「미국의 과학 (Scientific American)」에 실린 빅터 잉비의 논문을 구할 수 있었는데, 거기에서 그는 동화책에서 발견할 수 있는 매우 다양한 유형의 문장을 만들 수 있는 간단하지만 유연한 문법을 기술해놓았다. 나는 그의 논문의 아이디어를 약간 수정해서, 제 5 장에서 기술한 것과 같은 재귀순환 추이도 (RTN) 문법을 형성했던 일련의 처리과정을 얻게 되었다. 이 문법에서는 문장 속의 낱말은 문장의 전체 구조가 우발적으로 선택되도록 설계되었다. 그 결정과정은 점차 낱말 내지 철자 층위에 이를 때까지 더 낮은 구조층위들로 침투되었다. 낱말 층위의 아래에는, 예를 들면 동사의 활용과 명사류의 복수 형성과 같은 것이 있다. 또한 불규칙 동사와 명사형식들은 일단 규칙에 따라 형성되고, 그것들이 도표의 입력부분과 일치될 경우, 상응하는 대체형태 (즉 불규칙) 가 만들어졌다. 각 낱말이 최종적인 형태에 도달하면 인쇄되었다. 그 프로그램은 문자 그대로 타자기 앞의 멍텅구리였지만, 단순히 철자 층위에서만 작동하는 것은 아니라, 다양한 층위에서 동시에 작동하는 것이다.

이 프로그램을 개발한 초창기에, 오로지 웃기는 텍스트를 산출하기 위해서 나는 말도 안 되는 어휘들을 사용했다. 그 프로그램은 매우 많은 무의미한 문장들을 만들었는데, 몇 가지는 매우 복잡한 구조들을 가졌으며 다른 것들은 좀 짧은 것들이었다. 그중에서 몇 개를 뽑아보면 :

어쩔 수 없이 웃을 수밖에 없는 숫놈 연필은 어색하게 꽥꽥거릴 것이다. 프로그램이 아가씨를 늘 기억 속에 깨물어 먹어야 하는 것은 아닌가? 하릴없이 침을 뱉는 십진법의 빈대는 뒹굴어 떨어질 것이다. 분명히 예기치 못한 남자와 관계를 가지는 케이크들은 늘 카드를 집어던질 것이다.

프로그램은 명랑하게 작동해야 한다.

존경받는 프로그램은 언제나 우주비행사를 도로포장해서는 안 된다.

오, 프로그램, 정말로 아가씨에게서 달아나려는 프로그램은 극장을 위한 음악가를 쓴다. 사업과 같은 관계가 꽥꽥거린다.
늘 꽥꽥거릴 수 있는 행복한 아가씨는 결코 꽥꽥거리지 않을 것이다.
게임은 꽥꽥거린다. 교수는 오이지를 쓸 것이다. 모기는 뒹군다. 우리는 미끄러지는 상자를 가진다.

여기서 나타나는 효과는 매우 초현실적이며, 종종 하이쿠 - 예를 들면 네 개의 연속하는 짧은 문장들의 최종적인 패턴을 가지는 - 를 생각나게 한다. 시작할 때는 모든 것은 정말 우스웠고 어느 정도 매력이 있었지만 곧 싫증나게 되었다. 출력 결과를 몇 쪽 읽어보고서, 우리는 그 프로그램이 작동했던 공간의 한계를 파악할 수 있었다. 그 공간 안에서 우연한 점들을 발견했을지라도 - 그 모든 것이 "새로운" 것이었다고 해도 - 새로운 것은 없었다. 나에게는 그것이 일반원리로 보인다 : 우리는 행동의 레퍼토리를 소진했을 경우가 아니라, 이 행동을 함유하는 공간의 한계를 다 그려냈을 경우, 지루해지기 시작한다. 한 인간이 행동하는 여유공간은 대략 그 행동이 다른 사람을 계속 놀라게 할 정도로 복잡하다. 그러나 그것은 나의 프로그램에는 해당하지 않는다. 나는 - 진정으로 유머를 만드는 일 - 나의 목표가 더욱 교묘하게 프로그래밍되어야 한다는 것을 알았다. 그러나 이 경우 "교묘하게" 라는 말은 무엇을 뜻하는가? 낱말들의 말도 안 되는 조합은 너무나 어설펐다는 것이 이내 드러났다. 나는 낱말들이 세계의 현실에 상응하여 사용되는 것을 보장할 방법이 필요했다. 이것은 바로 지식의 표상의 본질에 대한 생각에서 구상되었다.

RTN 에서 ATN 으로

내가 적용했던 방법은 각 낱말 - 명사, 동사, 전치사 등 - 을 상이한 "의미론적 차원" 으로 분류하는 것이었다. 각 낱말은 상이한 부류의 성분이었다. 그리고 부류들의 부류인 상위부류들이 존재했다 (울람의 설며잉 생각난다). 원칙적으로 그런 복합형성은 임의의 많은 층위로 계속 진행될 수 있지만, 나는 두 층위에만 국한했다. 임의의 순간의 낱말의 선택은 구성될 문장의 부분들 사이의 조응을 요구했기 때문에, 늘 의미론적으로 제약되었다. 예를 들면 나는 일정한 행위들은 생물에 의해서만 실행될 수 있으며, 일정한 종류의 추상화만이 사태에 영향을 줄 수 있다고 전제했다. 어떤 범주들이 합리적인가에 대한 결정과, 각 범주를 어떤 부류 또는 상위부류로 관찰해야 더 좋을지의 여부는 정말 복잡했다. 모든 낱말들은 상이한 차원들로 표지가 부여되었다. 통상적인 전치사들 - "앞에", "안에" 등 - 은 그들의 상이한 용법에 상응하여 상이한 표지를 달았다. 이제 그 출력결과는 이해하기 훨씬 쉬워졌고, 바로 그 이유에서 또 다른 웃음거리를 주었다.

간단한 튜링 테스트

내 프로그램의 나중 판의 일부의 여러 쪽을 세심히 읽고 난 후, 나는 아홉 부분을 재현해보았다. 이 아홉 문장 중에 인간이 직접 (진정으로 의도되어서) 쓴 문장은 세개이다 :

사람이 직접 쓴 문장은 (1) 에서 (3) 까지이다. 그것들은 「예술 - 언어 (Art-Language)」라는 잡지에서 발췌한 것인데 - 내가 말할 수 있는 것은 - 그것들은 서로 무엇에 대해서 커뮤니케이션하려는 교양 있고 정신적으로 건전한 인간들 사이에서 진지하게 의도된 노력들이다. 여기에서 그 문장들은 전체 문맥으로부터 유리되어 인용되었지만, 실은 원래의 문맥도 오십보 백보이기 때문에, 지나친 오독을 야기하지는 않는다.

그밖의 문장들은 내 프로그램이 만든 것이다. (10) 에서 (12) 까지는 명철함의 철저한 붕괴를 보여주려고 선별된 것이다. (7) 에서 (9) 까지는 의미와 무의미 사이의 이상하고도 도발적인 저승을 방황하는 전형적인 결과들이며, (4) 에서 (6) 까지는 대부분 의미를 초월하는 것들이다. 좀 점잖게 말하자면, 마치 돌 대신에 낱말로 만들어진 추상적인 조각 같은 순수한 "언어적 대상" 으로 존재한다고 말할 수 있다. 아니면 순전히 사이비 지성인의 헛소리라고 말할 수도 있다.

어휘를 선별할 때는 우스꽝스런 효과가 생기게 했다. 출력의 취향을 특징짓기는 어렵다. 그들 중 상당수는 적어도 개별 문장의 층위에서는 "의미" 를 가지지만, 우리는 그 출력이 우리가 이해하지도 못하고 또 왜 말하는지도 모르는 원천으로부터 나온다는 느낌을 받는다. 더욱이 우리는 낱말들의 배후에 있는 시각적인 이미지가 전적으로 부족하다. 그런 문장들이 프린터에서 인쇄되어 나오는 것을 보았을 때, 나는 기분이 묘했다. 나는 우스꽝스런 결과에 즐거워했다. 동시에 나의 성과에 자부심을 느꼈으며 그것을 친구들에게 전달하려고 했다 : 그것은 우리가 - 조금 과장된 보기이지만 아주 적절한 것 같다 - 의미있는 이야기들을 아랍어로 단숨에 써 내려갈 수 있게 하는 규칙을 부여하는 절차와 유사할 것이다. 그래서 결국 나는 이 어마어마하게 복잡한 기계가 그 내부에서 기호의 긴 행렬을 일정한 규칙에 따라서 이리저리 모색하는 지식과, 이 기호의 기다란 행렬이 내 자신의 머릿속에 있는 사고와 비견될 만한 것이라는 생각으로 인하여 솟아오르는 기쁨을 억누를 수 없었다.

사고의 이미지

물론 나는 그 문장들의 배후에 의식을 가지는 존재가 버틴다는 생각은 전혀 하지 않았다. 이 프로그램이 실제의 사고와는 그야말로 거리가 멀다는 이유를 나만큼 아는 사람은 없었다. 이에 대해서는 테슬러의 정리가 적절하다 : 언어처리능력의 층위가 기계화되자마자 그것이 본래 지능을 구축하는 게 아니라는 것이 분명해졌다. 그러나 이 인상적인 경험은 내게 실제의 사고는 두뇌 속에 있는 훨씬 더 길고 복잡한 기호의 연속체로 이루어진다는 생각을 남겨주었다. 사고란 차량을 끌어 당기며, 매달고, 매달리며 또 신경상의 무수한 조절 역동장치에 의하여 조정되는 그야말로 동시에 수많은 평행선상에서 교차하는 궤도들 위에서 움직이는 행렬이라는 것을 알게 되었다.

그것은 말로 표현할 수 없는 희미한 이미지, 그저 하나의 이미지에 불과했다. 그러나 이미지와 직관 및 동기들은 나의 마음속에 뒤섞여 있었으며, 이 이미지에 대한 나의 진정한 열광은 사고란 진정 무엇일까를 더 깊숙이 생각하게 꾸준한 자극을 주었다. 나는 이 책의 다른 부분에서, 특히 "전주곡" 과 "개미 푸가" 에서, 원래의 이미지에 딸린 이미지를 몇 개 전달하고자 했다.

이 프로그램을 개발한 지도 벌써 수십 년이 지났기 때문에, 이제는 말해지고 있는 것의 배후에는 어떤 이미지도 없다는 생각이 분명히 들게 되었다. 그 프로그램은 노예가 무엇인지, 인간이 무엇인지 알지 못했으며, "무엇이 ..... 이다" 라는 것을 전혀 모르는 그런 것이었다. 낱말들은 마치 pq - 체계의 p 나 q 처럼 공허한 - 아니면 더 공허할지도 모르는 - 형식기호들이었다. 나의 프로그램은 우리가 어떤 텍스트를 읽을 때 아주 자명하게 각 낱말에 - 마치 이것이 그 낱말을 형성하는 철자의 무리와 반드시 결부된 것처럼 - 그것의 완전한 취향을 부여하는 성향이 있다는 사실을 이용했다. 나의 프로그램은 그 "정리들" - 출력 문장들 - 이 마치 (적어도 동일한 언어를 말하는 독자들에게는) 미리 만들어진 해석을 가지는 형식 체계로 간주될 수 있을 것이다. 그러나 pq - 체계와는 달리 이 "정리들" 은 그런 식으로 해석될 경우에는, 다 참인 진술은 아니었다. 상당수는 오류일 뿐만 아니라 무의미한 것이다.

pq - 체계는 겸손하게 세계의 극히 일부분을 반영했다. 그러나 나의 프로그램이 작동되었을 때 준수해야 했던 약간의 의미론적 제한을 제외하고는, 그 안에 세계가 작동하는 방식을 가지는 어떤 거울도 없었다. 그러한 이해의 거울을 창출하려면 나는 모든 개념을 이 세계에 대한 여러 층위가 지식으로 겹겹이 포장했어야 했을 것이다. 그것은 의도했던 것과는 다른 종류의 노력이었을 것이다. 내가 그런 것을 검토하지 않은 것은 아니다. 단지 그러고 싶지 않았기 때문이다.

그림 116  아라비아 어로 쓰인 의미가 가득한 이야기 [출전 : A. 카티비 및 M. 시젤마시, 「휘황 찬란한 이슬람 서체 (The Splendour of Islamic Calligraphy)」(New York 1976)].

더 높은 층위의 문법들 ...

사실 나는 이 세계에 대해서 참인 문장들만을 만들 수 있는 ATN - 문법 (또는 다른 종류의 문장들을 만드는 프로그램) 을 만들 수 있을지 종종 숙고해 보았다. 그러한 문법은 pq - 체계나 TNT 에서와 같은 방식으로 낱말들에 진정한 의미를 부여할 것이다. 거짓 명제들은 곧 비문법적이 되어버리는 그런 언어에 대한 발상은 이미 1633 년의 요한 아모스 코메니우스에게로 소급된다. 그 발상은 문제가 되고 있는 진술이 문법적으로 옳은지 그른지를 검증하는 수정알을 문법 속에 집어 넣어주는 것이기 때문에, 매우 매력적인 생각이었다. 사실 코메니우스는 한 수 더 떴다. 왜냐하면 그의 언어에서 거짓 명제들은 비문법적일 뿐만 아니라, 표현불가능하였다!

우리가 이 생각을 다른 각도에서 보면, 무작위로 공안을 만드는 높은 층위의 문법을 상상할 수 있을 것이다. 못할 이유가 있는가? 그러한 문법은 그것의 정리가 공안인 형식체계와 등가일 것이다. 우리가 그런 프로그램을 가진다면, 오로지 참인 공안만을 만들도록 조정할 수 없을까? 나의 친구인 마샤 메리디트 양은 일종의 "인공 이즘 (Artificial Ism)" 이라는 식의 아이디어에 매료되었고, 그래서 공안을 만드는 프로그램을 연구하는 프로젝트를 결성했다. 초기의 결과들 중의 하나는 다음과 같은 이상한 공안 구절이다 :

A SMALL YOUNG MASTER WANTED A SMALL WHITE GNARLED BOWL. "HOW CAN WE LEARN AND UNDERSTAND WITHOUT STUDY?" THE YOUNG MASTER ASKED A LARGE CONFUSED MASTER. THE CONFUSED MASTER WALKED FROM A BROWN HARD MOUNTAIN TO A WHITE SOFT MOUNTAIN WITH A SMALL RED STONY BOWL. THE CONFUSED MASTER SAW A RED SOFT HUT. THE CONFUSED MASTER WANTED THE HUT. "WHY DID BODHIDHARMA COME INTO CHINA?" THE CONFUSED MASTER ASKED A LARGE ENLIGHTENED STUDENT. "THE PEACHES ARE LARGE", THE STUDENT ANSWERED THE CONFUSED MASTER. "HOW CAN WE LEARN AND UNDERSTAND WITHOUT STUDY?" THE CONFUSED MASTER ASKED A LARGE OLD MASTER. THE OLD MASTER WALKED FROM A WHITE STONY G0025. THE OLD MASTER GOT LOST.

기하학적 코드나 참선 연쇄체의 기법 따위를 사용하지 않고도, 아마 우리는 공안의 진위 여부에 대하여 판정했을 것이다. 대명사나 조잡한 통사구조에 대한 결핍이 여러분의 의구심을 돋우지 않았다면, 그것은 끝에 이상한 "G0025" 를 가질 것이다. 그것은 무엇인가? 그것은 아주 기이한 우연이었으며 프로그램이 모든 구체적인 대상에 대한 모든 정보가 저장된 "절점" (실은 LISP 원자) 에 대한 프로그램 내부의 명칭을 인쇄하도록 만든 프로그램 오류에 대한 징후였다. 따라서 우리는 여기에서 바탕에 놓여 있는 참선 정신의 더 깊은 층위로 향하는, 보이지 않은 채로 있어야 하는 "창문" 을 하나 가지는 것이다. 그러나 유감스럽게도 우리는 인간의 참선 정신의 더 깊은 층위로 향하는 명확한 창문들은 가지지 않는다.

좀 자의적이기는 하지만, 그 행위들의 연속체는 애매한 인과적 방식으로 연결된 행위의 사슬을 만드는 "CASCADE" 라고 불리는 재귀순환적인 LISP 과정에서 유래한다. 비록 이 공안 생산자가 가지는 세계 파악의 정도가 그리 대단한 것은 아니지만, 그 출력을 좀더 진짜처럼 보이게 하는 과정이 진행된다.

음악의 문법?

그러면 음악으로 가보자. 음악은 얼핏 ATN - 문법이나 그것과 비슷한 프로그램으로 코드화가 잘 될 것 같은 영역으로 보인다. (이러한 소박한 추론을 따르면) 언어는 의미에 대해서 존재하는 외부세계와의 연결에 의존하는 반면에, 음악은 순수하게 형식적이다. 음악의 음들에는 "저기 바깥 세계의 사물" 에 대한 어떤 지시관계도 없다. 음악에는 음표를 따라 전개되고 화음을 따라 펼쳐지며 박자와 박자, 악장과 악장을 따라 전개되는 순수한 통사구조만이 있을 뿐이다.

그러나 잠깐! 이 분석에서 뭔가 맞지 않는 것이 있다. 어째서 어떤 음악은 다른 것보다 더 심오하고 아름다운가? 그것은 그 음악이 바로 형식이며, 표현이 풍부하고 우리 정신의 이상한 무의식적인 영역들에 대하여 정표적인 무엇이기 때문이다. 음악의 소리는 노예나 도시국가를 지시하는 것이 아니라, 우리의 가장 내밀한 심연에 감정의 구름을 촉발한다. 그런 점에서 음악적인 의미는 기호로부터 이 세계의 사물로 연계되는 포착할 수 없는 연결에 기대고 있다. 이 경우 그 "사물들" 은 우리의 정신 안에 있는 비밀스러운 소프트웨어 구조들이다. ATN - 문법과 같은 간단한 형식체계로부터는 어떤 위대한 음악도 탄생하지 않을 것이다. 사이비 음악은 사이비 동화와 마찬가지로 탐구해 볼만한 가치는 있지만, 음악 속에 있는 의미의 신비들은 순수한 통사구조보다 훨씬 더 깊은 곳에 있다.

여기서 한 가지 점을 밝혀두고자 한다. 원칙적으로 모든 ATN - 문법들은 그 어떤 프로그래밍 형식체계들과도 맞먹는 성능을 가진다. 따라서 음악의 의미가 파악될 수 있다면 (나는 가능하다고 본다), 그것은 ATN - 문법으로도 파악될 수 있다. 정말이다. 그러나 그 경우 나는 문법이 단지 음악적인 구조일 뿐만 아니라, 관찰자의 정신적 구조 전체라고 본다. 그 "문법" 은 음악의 문법을 넘어서는 사고의 완전한 문법이다.

위노그래드의 프로그램 SHRDLU

마지못해 하기는 하지만, 인간 존재로 하여금 그 프로그램이 "이해력" 을 가진다고 인정하게 만드는 것은 어떤 프로그램일까? "아무것도 없다" 는 것을 직관적으로 느끼기 전에 그 프로그램은 무엇을 필요로 하는가?

테리 위노그래드 (일명 토니 어윅 박사) 는 1968 년에서 1970 년까지 MIT 에서 수학하면서 언어와 이해의 문제에 몰두했다. 당시 MIT 의 많은 인공지능 학자들은 이른바 블록 세계를 연구했다. 그것은 시지각 내지 언어처리의 문제에 적합한 비교적 간단한 영역이었다. 블록 세계는 장난감같이 생긴 사각형, 기다란 삼각형 등의 다양한 종류의 블록이 놓인 책상들로 이루어졌다 (또 다른 종류의 "블록 세계" 를 그림 117 이 보여주고 있다 : 그것은 르네 마그리트의 "정신의 대수학 (Mental Arithmetic)" 이라는 그림인데, 그 제목은 우리가 지금 말하려는 상황과 잘 맞는 것이다). MIT 블록 세계 안에 있는 시지각의 문제들은 매우 교묘한 것이다 : 텔레비전 키보드 조작을 통하여 많은 블록들을 가지는 장면의 검색으로부터 어떤 종류의 블록이 존재하고 그들 사이의 관계가 어떠한지 컴퓨터는 어떻게 파악하는가? 몇몇 블록들은 아마 나란히 놓여 있을 것이며, 다른 것들은 그밖의 것들의 앞에 있을 것이고 그림자를 드리울 것이다 등.

 

그림 117.  "정신의 대수학" (르네 마그리트, 1931).

그러나 위노그래드의 작업은 시지각적인 문제와는 동떨어진 것이었다. 블록 세계가 컴퓨터의 기억장치에 잘 표상되었다는 가정에서 출발했기 때문에, 그는 컴퓨터가 다음과 같은 다양한 일을 처리하게 해야 할 문제에 직면하게 되었다 :

그 모든 프로그램을 하위 프로그램 모듈들, 즉 문제의 개별 부분들에 대한 각 모듈로 분할하고 그리고 나서 그 모듈들이 개별적으로 개발된 후에, 그것들을 부드럽게 통합하는 것이 합리적으로 보일 것이다. 위노그래드는 서로 무관한 모듈들의 개발이라는 전략이 근본적인 어려움에 봉착한다는 사실을 알아내었다. 그는 지능이란 서로 독립적인 또는 반 독립적인 조각들로 분할될 수 있다는 이론에 도전하는 극단적인 단서를 전개했다. 신문 사설의 오철을 표시하는 라이토타이프 식자기를 사용한 그의 프로그램 SHRDLU - 이것은 오래 된 공안인 "ETAOIN SHRDLU" 의 이름을 따온 것이다. - 는 문제를 선명한 부분개념들로 분할하지 않았다. 문장의 경계인식, 내부 표상의 생성, 프로그램 자체에 표상된 세계에 대한 추론, 질문에 대한 대답들 등은 모두 지식의 과정적인 표상 속에 복잡하고 어려운 방식으로 뒤엉켜 있다. 몇몇 비판자들은 그의 프로그램이 언어에 대한 "이론" 을 전혀 표상하지도 못하고, 또한 사고과정에 대한 우리의 통찰에도 기여하는 바가 없다고 비난한다. 내가 보기에는 그런 비난만큼 터무니없는 것도 있다. SHRDLU 가 보여준 묘기 (tour de force) 는 아마 우리의 작업과는 동형태가 아닐 것이다. 사실 우리는 SHRDLU 에서 "기호 층위" 가 달성되었다고 믿어서는 안 된다. 그러나 SHRDLU 의 창출과 그에 대한 숙고는 지능이 작업하는 방식에 대한 엄청난 통찰을 우리에게 선사했다.

SHRDLU 의 구조

자세히 보면 SHRDLU 는 세계에 대한 지식을 포함하는 독립적인 여러 과정들로 이루어진다. 그러나 그 과정들은 서로 완전히 분리되지 않을 정도로 강한 상호 연관성을 가진다. 그 프로그램은 풀리기를 거부하는 매우 헝클어진 절점 같은 것이다. 그러나 풀 수 없다고 해서 이해할 수 없다는 것을 의미하지는 않는다. 물리적인 혼란스럽기는 하지만, 전체 절점에 대한 우아한 기하학적 묘사는 존재할 것이다. 우리는 "MU 헌정" 에 나오는 은유로 되돌아가서, 그것을 "자연" 의 시각에서 과수원을 관찰하는 것과 비교할 수 있다.

위노그래드는 SHRDLU 에 대하여 명철하게 써놓았다. 여기에서 섕크와 콜비가 편집한 책에 있는 그의 논문을 인용하고자 한다 :

그 모델에 토대가 되는 가장 중요한 관점 중 하나는 언어의 모든 사용은 듣는 이에게서 과정들을 활성화하는 방법으로 간주될 수 있다는 것이다. 우리는 그 어떤 발화도 듣는 이의 인지체계 안에서 실행되어야 할 연산의 집합을 간접적으로 야기하는 프로그램으로 간주할 수 있다. 우리가 말하는 이가 의도한 것과는 판이한 일련의 행동을 할 수 있는 지능을 가지는 해석자를 다룬다는 점에서 이 "프로그램 쓰기" 는 간접적이다. 정확한 형식은 세계에 대한 지식, 자기와 말하는 사람에 대한 기대 등에 의해서 규정된다. 이 프로그램에서 우리는 로봇에게서 볼 수 있는 간단한 형태의 해석과정을 가진다. 로봇에 의해서 해석된 각 문장은 PLANNER 안에 있는 일련의 명령들로 전환된다. 그러면 그렇게 생성된 프로그램은 원하는 효과를 얻기 위하여 실행된다.

PLANNER 는 문제환원을 쉽게 해준다.

여기에 언급된 PLANNER 언어는 인공지능 언어로서, 문제환원을 위해서 필요한 연산과정 몇 가지가 구축되었다는 것이 그 특징이다 - 즉 하위목표들, 하위하위목표들의 수형도를 만드는 재귀순환적인 과정을 포함한다. 즉 그 과정들은 프로그래머가 늘 명령을 반복하는 대신에, 이른바 목표-명제들이 자동으로 함축되는 과정들이다. PLANNER 프로그램을 써본 독자는 그런 연산이 구체적으로 무엇을 언급하는지 모를 것이다. 전문용어로 말하자면 그것들은 사용자에게 투명한 프로그램이다. 그 수형도의 한 경로가 원하는 목표에 도달하지 못하면, 그 PLANNER 프로그램은 "되돌아가서" 다른 경로를 탐색할 것이다. 여기서 "되돌아간다 (backtracking [궤환])" 는 것은 바로 그 PLANNER 프로그램을 좌우하는 마법의 주문이다.

위노그래드의 프로그램은 PLANNER 의 이러한 속성들을 탁월하게 이용했다. 더 정확히 말하자면 그가 이용한 것은 PLANNER 의 설계를 부분적으로 수정한 MICROPLANNER 이다. 그러나 지난 몇 년간, 인공지능을 개발하려던 학자들은 PLANNER 에서와 같은 자동 궤환이 결정적인 단점을 가지며, 아마 그들의 목표로 인도하지 못할 것이라고 결론내렸다. 따라서 그들은 그 길을 포기하고 인공지능을 위한 다른 길을 모색했다.

이제 SHRDLU 에 대한 위노그래드의 해설을 좀더 들어보도록 하자 :

각 낱말의 정의는 분석의 상응하는 지점에서 호출되며, 그렇다면 그것은 문장과 현재의 물리적인 상황을 포함하는 임의의 연산을 실행할 수 있는 프로그램이다.

위노그래드가 인용한 보기 중에는 다음과 같은 것이 있다 :

"그 (the)" 의 의미에 대한 상이한 가능성은 문맥에 대한 다양한 사실들을 검증한 다음, "이 기술을 충족하는 데이터 베이스 안에서 유일한 대상을 찾아라" 나 "그 기술된 대상이 말하는 이에 대하여 유일무이함을 주장하라" 와 같은 지침들을 만드는 과정들이다. 그 프로그램은 그 문맥의 어느 부분이 유효한지를 결정하는 다양한 발견술을 포함한다.

"그" 라는 낱말의 문제는 놀라울 정도로 복잡하다. 영어에서 가장 많이 쓰이는 다섯 낱말인 "the", "of", "and", "a" 와 "to" 를 완벽하게 처리할 수 있는 프로그램을 만드는 것은 인공지능의 모든 문제를 해결하는 것에 맞먹는 일이며, 따라서 지능과 의식이 무엇인지를 아는 것에 버금간다고 말할 수 있다. 조금 주제를 벗어나자면 : 「영어 어휘 통계 (Word Frequency Book)」(J. B. 캐럴 외 편) 를 보면, 영어에서 가장 많이 쓰이는 명사 다섯 개를 순서대로 나열하면 "time", "people", "way", "water" 그리고 "words" 라고 한다. 이때 놀라운 사실은 대부분의 사람들은 우리가 그렇게 추상적인 용어로 사고한다는 사실을 전혀 모른다는 점이다. 당신 친구에게 물어봤을 경우, "사람", "집", "자동차", "개", "돈" 과 같은 낱말을 사용할 확률이 9/10 일 것이다. 한편 메르겐탈러에 의하면, 빈도수가 가장 높은 영어 철자 열두 개를 늘어놓으면, "ETAOIN SHRDLU" 이다.

컴퓨터에 대한 고정관념인 "숫자 벌레" 에 대한 표상과 전혀 맞지 않는 SHRDLU 의 멋있는 속성을 위노그래드는 다음과 같이 지적하고 있다 : "우리의 체계는 그 어떤 수도 수의 형태로 받아들이지 않는다. 다만 열까지 세는 것만 학습되었을 뿐이다." 그 완전히 수학적인 구조에도 불구하고, SHRDLU 는 수학적으로는 바보 천치이다. 힐러리 이모처럼 SHRDLU 도 자신을 떠받치고 있는 낮은 층위들에 대해서는 아무것도 모른다. SHRDLU 의 지식은 대부분 절차적이다 (앞 장의 대화편 11 절에 있는 "토니 어윅 박사" 의 해설을 보라).

재미있는 것은 지식을 SHRDLU 에 과정적으로 삽입하는 것과 문장생성 프로그램 안에 있는 지식과 비교하는 것이다. 나의 프로그램에 들어 있는 모든 통사적 지식은 알골 (Algol) 로 쓰인 ATN 에 절차적으로 삽입되었다. 그러나 의미론적 지식 - 의미부류 귀속성에 대한 정보 - 은 정태적이었다 : 그것은 매 낱말 뒤에 설정된 수의 짧은 일람표에 포함되어 있다. 거기에는 예를 들면 "to be" 나 "to have" 같은 조동사나 알골의 과정으로 완전히 표상된 다른 낱말이 있는데, 그것들은 예외였다. 이와 달리 SHRDLU 에서는 모든 낱말들은 프로그램으로서 표상되었다. 여기에서는 이론상 데이터와 프로그램이 등가임에도 불구하고, 실제로는 다른 것보다 어느 것을 선호하는 것이 중요한 결과를 가질 수 있다는 점을 보여줄 수 있다.

통사론과 의미론

그러면 이제 위노그래드의 말을 좀더 인용해보도록 하자 :

우리의 프로그램은 일단 문장의 경계를 식별하고 나서, 그것을 의미론적으로 분석하고 끝으로 연역적인 방식으로 대답을 만드는 식으로 진행되지는 않는다. 이 세 과정은 통사구조 분석 전 과정에 걸쳐 동시에 진행된다. 통사구조의 한 조각이 형성되는 순간, 그것이 의미를 가지는지 보기 위해서 의미론적 프로그램이 호출된다. 그러면 그 결과 생기는 문장의 경계구분을 결정할 수 있다. 무엇이 의미있는가를 결정하는 데 있어서, 의미론적인 일상과정은 연역적인 과정을 호출할 수 있으며 실제 세계에 대한 질문을 던질 수 있다. 예를 들면 그 대화 ("푸른 피라미드를 상자 안에 있는 블록 위에 놓아라") 의 문장 34 에서 문장분석기 (parser) 는 명사구에 대한 후보로서 "블록 위에 있는 푸른 피라미드" 를 제안한다. 이 지점에서 의미론적 분석이 취해지며, "푸른 블럭" 은 유한한 것이기 때문에, 데이터베이스에서는 지시된 대상이 검색된다. 아무 대상도 발견되지 않으면, "푸른 피라미드" 라는 명사구를 찾기 위하여 재명령된다. 그 프로그램은 그런 식으로 계속 진행하면서 "상자 안에 있는 블록 위에" 를 장소를 제시하는 간단한 구로 간주할 것이다. [...] 그런식으로 서로 영향을 주는 다양한 종류의 분석 사이의 끊임없는 교호작용이 이루어진다.

자연언어에서 통사론과 의미론이 매우 밀접히 얽혀 있다는 것은 매우 흥미있다. 앞의 장에서 "형식" 이라는 난감한 개념을 언급했을 때, 우리는 그 개념을 두 범주로 나눈 바 있다 : 즉 예측 가능하게 종료되는 결정과정에 의해서 검색될 수 있는 통사적 형식과 그렇지 못한 의미론적 형식으로 나누었다. 그러나 여기서 위노그래드는 우리에게, 적어도 우리가 통상적인 의미에서 "통사론" 과 "의미론" 을 이해한다면, 그 양자는 자연언어에서는 융합되었다고 말한다. 문장의 외적 형식 - 즉 문장요소들의 합성 - 은 통사적 측면과 의미론적 측면으로 깔끔하게 분리되는 것은 아니다. 이것은 언어학에 매우 중요한 관점이다.

이제 SHRDLU 에 대한 위노그래드의 마지막 해설을 들어보도록 하자 :

예를 들면 "피라미드를 받치고 있는 붉은 주사위" 와 같은 간단한 묘사를 그 체계가 어떻게 다룰지 보도록 하자. 그 묘사는 상자 (BLOCK), 붉다 (RED), 피라미드 (PYRAMID) 및 등차원 (EQUIDIMENSIONAL) 같은 개념들 - 즉 그 체계에 토대가 되는 세계 속으로의 범주화 - 을 사용할 것이다. 우리는 그 결과를 그림 118 과 같은 순서도로 그려볼 수 있다. 이때 이것이 그 기술에 적절한 대상을 검색하는 프로그램이라는 것을 주목하라. 그리고는 어떤 대상, 그것에 대하여 질문을 하는 문제와 관련되는 명령에 삽입된다. 아니면 그것이 진술 안에 나타날 경우에는, 차후의 사용을 위한 의미를 표상하기 위하여 만들어진 프로그램의 일부분이 될 것이다. 이때 또한 첫번재 명령 FIND 가 특정한 대상만을 검색하기 위하여 실행된다면, 한 대상이 그 기술에 적합한지의 여부를 확인하기 위하여 이 프로그램 조각이 쓰일 수 있다는 것을 주목하라.

그림 118  "피라미드를 받치고 있는 붉은 주사위" 를 절차적으로 표상한 그림 [출전 : 로저 섕크 및 케네스 콜비, 「사고와 언어의 컴퓨터 모델 (Computer Models of Thought and Language)」(San Francisco, W. H. Freeman, 1973), 172 쪽)].

얼핏 보기에는, 이 프로그램 안에 너무 많은 구조가 포함된 것처럼 보인다. 그 이유는 한 단순한 구문의 의미가 구체적으로 반복고리, 조건 테스트 및 여타 프로그래밍의 세부를 포함한다고 생각하고 싶지 않기 때문이다. 그 해답은 적절한 반복고리 형성과 테스트들을 기본적인 연산으로 포함하고 그 안에 기술과 같은 간단한 과정의 표상이 있는 내부 언어를 제공하는 데 달려 있다. 그림 118 에 기술된 프로그램은 PLANNER 로 쓰였는데, 대략 다음과 같은 것이다 :

        (GOAL (IS ?X1 BLOCK))

        (GOAL (COLOR-OF ?X1 RED))

        (GOAL (EQUIDIMENSIONAL ?X1))

        (GOAL (IS ?X2 PYRAMID))

        (GOAL (SUPPORT ?X1 ?X2))

순서도의 반복고리들은 함축적으로 PLANNER 의 "궤환 (backtrack)" 제어구조에 포함되어 있다. 그 기술은 일정한 목표들이 실패할 때까지, 결정이 내려진 최종 지점으로 자동으로 되돌아가서 다른 가능성을 탐색한다. 예를 들면 "?X1" 이나 "?X2" 와 같이 "?" 라는 접두사로 표시된 새로운 대상명칭이나 변수가 나타나면 늘 하나의 결정이 내려지는 지점으로 돌아간다. 그 변수들은 패턴조정장치에 의해 사용되는데, 그것들에 이미 특정한 값이 할당되었으면, 그 목표가 그 항목에 대해서 적절한지의 여부를 검토한다. 그렇지 않으면 그중의 하나를 선택해서 그 지점으로 "궤환" 될 대마다 후속수를 취한다. 그렇다면 심지어 테스트와 선별 사이의 구별도 함축적이다.

이 프로그램을 개발한 중요한 전략적인 결정은 영어 [자연언어] 를 LISP 로 모조리 번역하는 것이 아니라, 단지 부분적으로 - 즉 PLANNER 로만 - 번역하는 것이다. (PLANNER 해석장치 자체가 LISP 로 쓰였기 때문에) 가장 높은 층위 (영어) 와 가장 낮은 층위 (기계언어) 사이에는 새로운 중간 층위 - PLANNER - 가 삽입되었다. PLANNER 프로그램이 일단 영어의 문장조각으로부터 생성되었다면, 그것은 PLANNER 해석장치로 보내질 수 있으며, SHRDLU 의 더 높은 층위들은 새로운 과제를 위하여 해방될 것이다.

이런 종류의 결정은 꾸준히 요구된다 : 하나의 체계는 얼마나 많은 층위들을 가져야 하는가? 얼마나 많은, 어떤 종류의 "지능" 이 어떤 층위에 자리잡아야 하는가? 이것들은 인공지능 연구가 오늘날까지도 여전히 고민하는 가장 골치 아픈 문제들이다. 우리는 자연지능에 대해서는 별로 아는 바가 없기 때문에, 인공지능 체계가 어떤 층위에서 어떤 부분과제들을 해결해야 할지 파악하기가 어렵다.

따라서 우리는 이 장의 앞에 있는 "대화" 편의 장면의 배후를 되돌아보게 된다. 다음장에서는 인공지능에 대한 새로운 사변적인 아이디어들을 보게 될 것이다.