논리 기반 인공지능
존 매카시가 추구하는 인공지능은 그가 1959년에 발표한 논문에서 제안한 Advice taker에서 엿볼 수 있다.9 그는 Advice taker를 이렇게 정의했다.
여기서 제안하는 Advice taker는, 형식 언어formal language로 작성된 문장들을 다룸으로써, 주어진 문제를 푸는 프로그램이다. 형식 언어를 다루는 다른 프로그램들(예를 들면 뉴얼, 사이먼, 쇼가 만든 Logic Theory Machine이나 GPS)과 가장 다른 점이라면, 다른 프로그램들은 관심의 대상이 형식 시스템formal system이기는 하지만 순전히 휴리스틱으로 가득 차 있지만, Advice taker는 주어진 언어를 사용해서 과정을 최대한 기술한다는 것이다. 특히, 휴리스틱들도 주어진 언어로 기술된다.
형식 언어formal language란 알파벳과 같은 기호symbol를 사용해서 정해진 문법에 따라 구성되는 언어를 말한다. 우리가 수학 공식을 작성할 때 알파벳과 사칙 연산 기호 등을 사용하게 되는데, 수학적 표현도 하나의 형식 언어라고 할 수 있다. 형식 언어로 작성된 문장을 다루는 방식의 인공지능 방법론을 기호주의Symbolic AI라고 부른다. 기호주의 AI는 신경망 AI와 대응되는 위치에 있어 왔다.
인공지능의 역사에서 컴퓨터를 이용한 구현은 신경망 AI에서 처음 출발했다고 볼 수 있다. 첫 시작은 인간의 신경 세포인 뉴런을 모델링하면서 시작되었으며 수학적인 논리적 연산이 뉴런 모델을 통해 구현될 수 있음을 맥컬럭과 피츠가 보이면서부터였다.10 아직 제대로 동작하는 전자식 컴퓨터가 만들어지지도 않았던 시절에 수학자 및 과학자들은 인공지능의 세계에 빠져들었고, 그 과정에서 사이버네틱스 이론과 오토마타 이론이 발전했다.
신경망 AI의 기념비적인 사건은 로젠블렛의 퍼셉트론이었다.11 그가 전자 회로로 구현한 신경망 구조는 의미 있는 학습 활동을 할 수 있음을 보였다. 신경망 AI에서는, 주어진 입력과 출력의 관계를 가장 유사하게 만족시키는, 네트워크(신경망) 내부 변수의 최적값을 피드백을 통해 찾아 나갈 뿐, 입력값에서 출력값으로 연결되는 논리적 관계는 따지지 않았다.
신경망 AI와 대비되는 기호주의 AI는, 기호들로 표현되는 규칙이나 관계들을 바탕으로 논리적 추론deduction을 통해 답을 찾아 나간다. 기호주의 AI의 기념비적인 사건은 뉴얼, 사이먼, 쇼의 Logic Theorist 프로그램이었다. 이 프로그램은 기본적인 수학 정리들로부터 논리적 추론을 통해서 화이트헤드와 러셀의 <수학 원리Principia Mathematica> 2장에 나오는 첫 52개 이론 중 38개를 증명해냈다. 1956년 초에 이 프로그램이 성공적으로 동작함을 확인한 뉴얼과 사이먼은 다트머스 인공지능 워크샵에서 이를 공개했고, 큰 반향을 일으켰다.
다트머스 인공지능 워크샵의 참석자들은 Logic Theorist의 성공적인 결과를 보고 기호주의 AI의 가능성을 높이 샀다. 솔직히 말해서 이들에게 신경망 AI는 속을 알 수 없는 녀석이기 때문이었다.§§ 매카시도 기호주의 AI를 자신의 연구 방향으로 삼았다. 수학자였던 그에게는, 기호에 기초하고 수학적 연역법을 사용하는 기호주의 AI가 구미에 맞았을 듯싶다.
그런데 Logic Theorist의 결과는 인상적이었지만 사용한 방법은 그렇지 않았다. Logic Theorist는 휴리스틱Heuristic이라는 방법론을 컴퓨터 과학에 도입한 장본인이다. Logic Theorist의 동작 원리는 가능한 모든 조합을 다 해보는 것이었다. 즉, 어떤 가정이 주어졌을 때 거기에 적용할 수 있는 수학적 정리들을 모두 해보는 것이다. 문제는 이렇게 되면 엄청나게 경우의 수가 많아지므로 시간이 오래 걸린다. 이를 줄이기 위해서 일종의 경험적 판단을 도입한다. 흔히 ‘경험 법칙rule of thumb‘이라고 부르는 기준을 도입하는 것이다. 그래서 의미가 없어 보이는 경우는 진행하지 않고 넘어간다.
매카시는 이 휴리스틱이 마음에 들지 않았다. 그는 완벽하게 수학적 논리에 의해서 결정되는 인공지능을 만들고 싶었다. 그의 방법론은 논리 기반logic based 인공지능으로 불리게 된다. 이는 그와 비슷하게 출발했던 마빈 민스키와의 차별성을 보여주는 부분이다. 민스키는 오히려 휴리스틱을 적극적으로 받아들였다.12 인간의 활동은 여러 가지 복합적인 판단에 의해 이루어지며 그 복합적인 판단 각각은 그것에 맞는 기준으로 처리되어야 한다는 것이 민스키의 생각이었다. 이에 비해 매카시는 수학적 논리만으로 인간의 지적 능력을 완성하고 싶어했다.
인간 수준의 인공지능으로 가기 위한 하나의 방법은 상식에 관한 지식을 수학적 논리로 형식화하는 것이다. 그렇게 하면 상식 문제를 논리적 추론에 의해 풀어낼 수 있다.13
결과적으로 말하자면 매카시의 방법은 그리 큰 성공을 거두지 못했다. 인간의 지적 활동은 워낙 복합적이어서 예외적인 상황이 너무 많았기 때문에 이런 것들을 모두 수학적으로 모델링하기란 쉽지 않았기 때문이다. 후에 매카시는 비단조 추론non-monotonic reasoning이라는 개념을 제안했다.
상식 기반 인공지능
Advice taker는 상식common sense을 구현하려 했다. 그는 이렇게 표현했다.
Advice taker에게 뭔가를 주문하면 이미 가지고 있는 지식까지 고려하여 즉시 논리적인 결과를 제공할 수 있을 겁니다. 사람에게 상식이 있다고 말할 수 있게 해 주는 어떤 특징과, 이 Advice taker의 특징은 상당히 공통점이 있을 것으로 예상됩니다. 그래서 우리는 이렇게 말하고자 합니다. 만약 어떤 프로그램에게 뭔가를 말했을 때 그 프로그램이, 이미 알고 있는 것을 바탕으로, 충분히 광범위한 계통의 결과들을 즉각적으로 도출해낼 수 있다면 그 프로그램은 상식을 가지고 있다.9
우리가 누군가에게 상식이 많다고 말하면, 그 의미는 그 사람이 아는 것이 많다는 것이다. 하지만 매카시가 표현한 상식은 조금 다르다. 그가 말하는 상식common sense는 지식knowledge 그 자체라기보다는, 주어진 입력으로부터 결과를 도출해내는 과정을 말한다. 그 결과는 주어진 입력과 이미 보유하고 있는 정보에 기반하여 만들어진다.
후에 매카시는 상식에 관한 지식common-sense knowlege을 이렇게 정의했다.
상식에 관한 지식에는 사건(행위 포함)과 그것에 의해 영향에 관한 사실, 지식과 그 지식을 어떻게 얻는지에 관한 사실, 신념과 욕망에 관한 사실, 물질적 객체와 그것의 특징에 관한 사실 등이 포함된다.13
상식을 구현하기 위해서 필요한 지식은 사뭇 광범위하다. 인과관계에 관한 정보와, 지식에 관한 정보, 물질에 관한 정보 외에 신념과 욕망까지도 포함하고 있다. 이런 정보를 수학적으로 형식화formalizing하기 위해 그가 선택한 것은 1차 논리first order logic였다. 다음은 1차 논리의 예이다.
모든 사람은 죽는다:
매카시의, 논리에 기반한 인공지능 방법론은 스탠퍼드 대학교를 중심으로 이루어졌고 후에 영국의 에든버러 대학교에서도 활발히 이루어졌다. 1970년대에 인공지능 프로그래밍을 위해 개발된 프롤로그Prolog 언어는 1차 논리를 바탕으로 한다.
답글 남기기