여기서는 문외한을 위해 인공지능에 관한 기본적인 질문에 답한다. 여기서 서술된 것이 인공지능 연구자들사이에서 모두 일치된 견해는 아니다. 이 문서는 2002년에 개정된 내용이다.
Q. 인공지능 (Artificial Intelligence) 란 무엇인가?
A. 지능적 기계 특히 지능적 컴퓨터 프로그램을 만드는 과학과 공학이다. 컴퓨터를 사용해서 인간 지능을 이해하는 작업들과 관련되어있으며 생물학적인 방법에만 국한되지는 않는다.
Q. 지능이란 무엇인가?
A. 지능 (Intelligence) 은 삶에서 목적을 이루기 위한 능력의 일부 (computational part) 이다. 다양한 종류와 정도의 지능이 인간과 많은 동물들 그리고 기계에 존재한다.
Q. 인간 지능에 의존하지 않는 지능의 확실한 정의가 존재하는가?
A. 아직 확실한 정의는 없다. 문제는 우리가 지능적이라고 부를 만한 일반적인 계산 과정을 아직 특징지울 수가 없다는 것이다. 우리는 지능적 메카니즘의 얼마를 이해할뿐이며 이해 못하는 부분도 많다.
Q. 이 기계가 지능적이냐? 아니냐? 에 대한 질문에 확실히 예, 아니오 라고 대답할 수 있는가?
A. 아니다. 지능은 메카니즘을 포함하며, AI 연구는 컴퓨터로 하여금 그 메카니즘의 일부만을 수행하도록 하는 방법을 발견해 왔으며 나머지는 수행하지 못했다. 특정한 일을 수행할 때 잘 이해되는 유일한 메카니즘만을 요구한다면 컴퓨터 프로그램은 매우 인상적인 성능을 보여왔다. 그러한 프로그램에 대해 "다소 지능적" 이라고 할수있다.
Q. AI 란 인간 지능을 흉내내는 것이 아닌가?
A. 때때로 그렇다. 그러나 항상 그런건 아니다. 한편으로 다른 사람이나 우리 자신을 관찰하여서 기계로 하여금 똑같이 문제를 해결하도록 하는 방법에 대해 우리는 배워왔다. 그러나 다른 한편으로, AI에서 대부분의 작업은 인간이나 동물에 대한 연구보다는 세상에서 당장 쓰이는 문제들에 대한 연구에 몰두하였다. AI 연구자들은 인간에서 발견되지는 않지만 인간이 할 수 없는 훨씬 더 계산적인 것을 포함하는 방법들을 사용하기도 한다.
Q. IQ란 무엇인가? 컴퓨터 프로그램이 IQ를 가지고 있는가?
A. 아니다. IQ (Intelligent Qutient) 는 어린이의 지능이 개발된 정도에 기초한다. 그것은 어린이의 나이에 비해 어느정도의 점수를 가지는가 하는 비율이다. 그 척도는 어른에게도 같은 방법으로 적용된다. IQ는 앞으로의 인생에서의 성공과 실패의 다양한 측정과 밀접하게 연관된다. 그러나 컴퓨터는 IQ테스트에서 높은 점수를 맞게는 할 수 있지만 그것의 유용성과는 무관하다. 어린이가 긴 숫자를 잘 암기한다면 그것은 한번에 여러 가지를 계산할 수 있는 능력과 밀접히 관련되겠지만 아주 능력이 떨어지는 컴퓨터에게 조차도 그런 것은 사소한 일일뿐이다.그러나 IQ테스트의 몇가지 문제들은 AI에서는 유용한 문제이다.
Q. 인간지능과 컴퓨터지능 사이의 비교하여 보면?
Arthur R. Jensen 은 정상적인 인간들은 같은 지능적 메카니즘을 가지지만 생화학적이고 생리적인 조건에서의 양적인 차이 때문에 지능에서의 차이를 가지는 것이며, 컴퓨터 지능과의 다른점은 " 경험적인 가설" 이라고 제시한다. 즉 속도, short term memory (기억, RAM), 정확하고 검색가능한 long term memory (메모, hard disk) 에 차이가 있다고 본다. Jensen 이 옮던 그르던 오늘날의 인공지능은 바뀌고 있다. 컴퓨터 프로그램들은 속도와 기억용량에서 많은 발전이 있었고 프로그램 설계자가 입력한 지능적 메카니즘에 상응한 능력을 가지게 되었다. 어린이가 10대까지도 개발하지 못한 능력들이 들어갈수 있고, 2살짜리 아이가 가진 능력을 가지지 못하기도 한다. 인지과학 (Cognitive Science) 에서 아직도 인간의 능력이 무엇인지를 정확히 정의하는데 실패하였기 때문에 그 문제는 더욱 복잡하게 되었다. 인공지능을 위한 지능적 메커니즘의 조직은 인간의 그것과는 다를수 있다. 사람이 어떤 작업에서 컴퓨터보다 더 잘하고 컴퓨터가 많은 계산을 사용함에도 사람이 더 나은 결과를 보일때마다, 프로그램 설계자가 일을 효율적으로 하기위해 필요한 지능적 메카니즘에 대한 이해가 부족하다는 것을 보여 준다.
Q. AI 연구는 언제 시작되었나?
A. 2차 대전 이후 많은 사람들이 지능적인 기계에서 작업하기 시작하였는데, 영국 수학자 Alan Turing 이 아마도 처음일 것이다. 그는 1947년에 관련 강의를 처음하였으며, AI는 어떤 기계를 만들어서 되는 것이 아니고 컴퓨터상에서 프로그래밍에 의해 가장 잘 수행된다고 하는 결론을 얻었다. 1950년대 말까지 AI에 관한 많은 연구가 있었고 그들중 대부분은 컴퓨터에서의 프로그래밍으로 그작업을 수행하였다.
Q. AI 의 목적이 인간의 마음을 컴퓨터에 집어넣는것인가?
A. 몇몇 연구자들은 그러한 목적을 가지고 있다고 말한다. 그러나 그들은 비유적으로 말했을 것이다. 인간의 마음 (Mind) 은 엄청 기묘한 것이라서 나는 마음 전체를 모방하는 것이 가능하다고 생각하지는 않는다.
Q. Turing test란 무엇인가?
A. Alan Turing 의 저서 Computing Machinery and Intelligence 에서 기계가 지능적이라고 간주할 수 있는 조건을 언급했다. 만일 지성있는 사람이 관찰하여 기계가 진짜 인간처럼 보이게 하는데 성공한다면 확실히 그것은 지능적이라고 간주해야 한다고 주장했다. 이 test는 대부분의 사람들을 만족시키지만 어떤 철학자들은 납득하지 않는다. 관찰하는 사람과 기계는 상호교류한다. 이때 텔레타이프를 사용하는데 기계는 아직 사람의 외모와 목소리를 완전히 흉내내지 못하기 때문이다. 이때 관찰하는 사람에게 자기가 인간이라고 설득함으로써 기계는 관찰자를 바보로 만들려고 시도할것이다.
튜링 테스트 (Turing Test) 는 일방적 (one-sided) test이다. 그 test를 통과하는 기계는 확실히 지능적이라고 간주되어야 할 것이다. 그러나 인간에 대해 충분히 알지는 못하면서 인간을 흉내냄으로써 지능적이라고 간주될 뿐이다.
Daniel Dennett 의 책 Brainchildren 에서 Turing test에 관한 탁월한 언급이 있으며, 여러 가지 부분적인 Turing test가 구현되었는데, 예를들면 관찰자의 AI 에 관한 지식과 질문 주제에 관한 제약을 두는 등등이다. 많은 사람들로 하여금 쉽게 우둔한 프로그램을 지능적이라고 믿게 만들 수 있다는 것이 그 테스트에서 증명되었다.
Q. AI 는 인간수준의 지능을 목적으로 하는가?
A. 그렇다. 궁극적으로 인간만큼의 문제 해결능력과 실생활에서의 목표달성이 가능하도록 컴퓨터 프로그램을 만드는 것이다. 그러나 연구분야에 있는 많은 사람들은 그보다는 못한 욕심을 가지고 있다.
Q. 인간수준의 지능을 지닌 AI 는 언제나 가능할 것인가?
A. 사람들이 지식을 표현하기위해 사용하는 언어에서와 같이 방대한 양의 지식베이스를 사용할 수 있는 많은수의 프로그램을 작성함으로써 만이 인간수준의 지능이 이루어 질 수 있다고 소수의 사람들은 생각하고 있다. 그러나 많은 AI 연구자들은 새로운 근본적인 idea가 요구되며 따라서 인간수준의 지능이 언제 이루어질지는 예상할 수 없다고 믿고있다.
Q. 컴퓨터가 지능을 구현하는데 가장 적절한 기계인가.
A. 컴퓨터는 어떤 종류의 기계도 흉내낼 수 있도록 프로그램 될 수 있다. 많은 연구자들이 컴퓨터 프로그램이 할 수 있는 것과는 다른 방법으로 지능을 표현하려는 희망에서 다른 종류의 기계들을 발명했었다. 그러나 그들은 그들이 고안한 기계를 결국 컴퓨터에서 시뮬레이션하였고 새로운 기계를 만들 필요가 있는가 의심하게 되었다. 왜냐하면 수십억 달러를 투입하여 컴퓨터는 더욱 더 빠르게 되었고, 어떤 종류의 기계도 그 기계를 시뮬레이션하는 컴퓨터상의 프로그램보다 더 빠르게 수행되지 못했기 때문이다.
Q. 컴퓨터는 지능적으로 될만큼 충분히 빠른가?
A. 어떤 사람들은 새로운 idea를 수용하려면 훨씬 더 빨라져야 한다고 생각한다. 30년전의 컴퓨터도 그걸 어떻게 프로그램해야 하는지를 제대로 안다면 충분한 속도를 냈었다고 나는 생각한다. 물론 AI 연구자들의 욕구에는 미치지 못했다. 컴퓨터는 계속 더욱더 빨라질 것이다.
Q. 병렬 처리 기계에 대해서는?
A. 많은 processor를 가진 기계는 하나를 가진 것 보다 훨씬 더 빠르다. 병렬 그 자체로는 어떤 장점을 보이지는 않으며 더욱이 병렬 기계는 프로그램하기가 다소 불편하다. 극단적인 속도가 요구될 때는 할 수 없이 이러한 불편을 감수해야 할것이다.
Q. 경험을 통해 또는 책을 읽어서 더 많이 배울 수 있게 되는 "child machine" 을 만드는 것에 대해서는?
A. 이 idea는 1940 년대 이래로 여러번 제안되었다. 궁극적으로는 그렇게 될 것이다. 그러나 AI 프로그램은 어린이가 물리적 경험에서 많은 것을 배우는 정도의 수준에는 아직 이르지 못했다. 어떤 프로그램도 읽기를 통해서 많이 배울 수 있을 정도로 언어를 이해하는 것은 아직 없다.
Q. AI 시스템이 스스로 생각하여서 더 높은 수준의 지능으로 그 자신의 능력을 향상시키는 (bootstrap) 것이 가능할까?
A. 가능하다고 생각한다. 그러나 우리는 아직 그런 과정이 시작될 수 있는 수준에 이르지 못했다.
Q. 서양장기 chess 를 구현가능한가?
A. 러시아 AI 연구자인 Alexander Kronrod가 말하기를 "chess 는 AI 의 초파리 이다" 라고 하였다. 유전학자가 유전을 연구할 때 가장 많이 연구되는 초파리와의 유사성을 말한 것이다. 체스 (Chess) 프로그램은 현재 chess 상급 선수수준이지만 인간 선수와 비교했을 때는 제한된 지능 메카니즘만을 가진다. 왜냐하면 이해를 해야할 것을 많은양의 계산으로 대신하기 때문이다. 일단 이러한 메카니즘을 더 잘 이해하면 우리는 현재의 프로그램이 하는 것보다 훨씬 더 적은 계산을 하고서도 인간수준의 프로그램을 만들 수 있을것이다.
불행히도 컴퓨터로 chess 를 하려는 경쟁적이고 상업적인 노력이 과학 영역으로서의 chess 를 발전시키는 것을 앞서왔다. 마치 1910년에 초파리 경주시합이 생긴 이래로 유전학자들이 그 경주에서 이기기 위해 초파리를 개량시키는데만 노력했었던 것 처럼 말이다.
Q. 바둑 은 어떠한가?
A. 동양에서 두어지는 바둑 (Baduk) 은 선수가 서로 순서를 바꿔가며 두는 보드게임이다. 바둑은 인간의 게임에서 나타나는 지능적 메카니즘에 대한 이해에서의 약점을 그대로 보여준다. 바둑 프로그램은 상당한 노력에도 불구하고 (chess 만큼은 아니지만) 아직 실력이 매우 낮다. 바둑에서의 하나의 위치 (position)는 수 많은 하부 위치 (subposition) 으로 나눠지는데, 각 하부 위치는 상호 작용의 분석에 의하여 다른 하부 위치에 영향을 미친다. chess프로그램에서는 하나의 위치를 전체적으로 고려한다. chess프로그램에서는 이러한 지능적 메카니즘의 부족을 수천 수백만번의 계산을 수행하여 보상하게 된다. Deep Blue에서 처럼.... 멀지 않아서 AI 연구자들은 이러한 치명적인 약점을 극복할것이다.
Q. 어떤 사람들은 AI 가 좋지 않은 idea 라고 말하지 않는가?
A. 철학자 John Searle 은 생물도 아닌 기계가 지능적이라는 것은 앞뒤가 맞지 않는다고 말한다. 철학자 Hubert Dreyfus 는 AI 는 불가능하다고 말한다. 컴퓨터 과학자 Joseph Weizenbaum 은 idea 자체가 외설적이고 비인간적이고 비도덕적이라고 말한다. 많은 사람들은 AI 가 아직까지도 인간수준에 도달되지 않은걸로 봐서 그것은 틀림없이 불가능하다고 말해왔다. 또 다른 사람들은 그들이 투자한 회사가 파산했다면서 실망했다.
Q. Computability theory 와 computational complexity 는 AI 에서 핵심이 아닌가? (컴퓨터 과학의 비전문가에게 이 질문은 수학적 논리와 컴퓨터 과학의 아주 기술적인 분야이며 질문에 대한 답도 다소 기술적이어서 어려울 수 있다)
A. 아니다. 이러한 이론들은 서로 관련되어 있지만 AI 의 근본적인 문제를 말하는 것은 아니다. 1930년대에 Kurt Gödel 과 Alan Turing과 같은 수학 논리학자들은 어떤 중요한 수학 영역에서 모든 문제들의 해결을 보증하는 알고리즘은 존재하지 않는다고 정리하였다. First order logic의 한 문장이 하나의 정리가 될 수도 있고 아닐 수도 있으며, 여러 변수를 가진 다항 방정식에서 정수해를 가질 수도 있고 아닐 수도 있다는 것이다. 인간들은 이런 영역에서 문제를 해결하면서 보통 몇 개의 장식을 가진 하나의 주장 (컴퓨터는 본래 할 수 없는)으로서 제안되어 왔다. 그러나 사람들이 이러한 영역에서의 임의의 문제들을 항상 해결하는 것은 아니다.
1960년대에 컴퓨터 과학자들 특히 Stephen Cook 과 Richard Karp 는 NP-complete 문제 영역 이론을 개발했다. 이러한 영역에 있는 문제들은 해결가능하긴 하지만, 문제의 크기에서 지수승의 (exponential) 시간을 요한다. 명제 논리의 문장들 (sentences of propositional calculus) 이 만족하다 (satisfiable) 는 것은 비결정적 다항식 완전 (NP-complete) 문제 영역의 기본적인 예이다. 인간은 가끔은 보통의 알고리즘 보다 훨씬 더 짧은 시간내에 NP-complete 영역의 문제들을 해결할 수는 있지만, 일반적으로 그것들을 빠르게 해결할 수는 없다.
AI 에서 중요한 것은 인간이 문제를 해결할 때와 같은 알고리즘을 가지는 것이다. 좋은 알고리즘이 존재하는 하위영역 (subdomains) 을 인식하는 것은 중요하지만, 많은 AI 문제 해결자 (solvers) 들은 쉽게 인식되는 하위영역과는 관련이 없다.
일반적으로 어려운 부류의 문제들에 관한 이론을 계산 복잡도 이론 (Computational Complexity Theory) 라고 부른다. 이 이론은 생각한 것만큼 많이 AI 와 상호 관련된 것은 아니다. 인간과 AI 프로그램에 의한 문제 해결에서의 성공은 문제의 성격과 문제해결 (problem solving) 방법에 의존하지, 복잡성을 연구하는 사람이나 AI 연구단체에 의존하지 않는다.
Algorithmic complexity theory 는 Solomonoff, Kolmogorov and Chaitin 등에 의해 (서로간에 독립적으로) 개발된 것으로 또한 관련이 있다. 그것은 기호로 표현된 객체의 complexity 를, 그것을 생성하는 가장 짧은 프로그램의 길이로서 정의한다. 후보 프로그램이 가장 짧거나 가장 짧은 것에 근접하다는 것을 증명하는 것은 풀 수 없는 문제이지만, 그 프로그램이 가장 짧다는 것을 증명할 수 없을 때조차도, 그들을 생성하는 짧은 프로그램으로 객체를 표현하는 것은 명백히 해야한다.
AI의 세부 분야
Q. AI 의 세부 분야에는 어떤 것이 있는가?
A. 아래에 서술했지만 어떤 분야들은 빠져있다. 아직은 아무도 확증할
수 없기 때문이다. 이들중 어떤 것은 완전한 분야라기보다는 개념 또는 논의 주제로서
간주될 수 있다.
AI의 응용
Q. AI 의 응용에는 어떤 것이 있나?
A. 여기 그중 몇몇이 있다.
Q. AI 연구는 어떻게 이루어지나?
A. AI 연구는 이론적인 측면과 실험적인 측면이 있다. 실험적 측면은 기초학문과 응용학문의 영역을 가진다.
연구의 두 주류가 있다. 하나는 생물학적인 면인데, 인간은 지능적이라는 전제하에 인간을 연구해서 심리학 (Psychology) 과 생리학 (physiology) 을 모방하는 것이다. 다른 하나는 현상 (phenomenal) 을 연구하는 것인데, 즉 세상의 사실과 상식을 연구하고, 목표를 이루는데 있을 수 있는 문제들을 연구하고 공식화 하는 것이다. 두 개의 접근 방식은 어느정도 상호작용하는 것이며 둘다 성공적이어야 한다. 그것은 경주와 같은 것이며 아직은 둘다 걷고 있는 것처럼 보인다.
Q. AI 를 배우기 위해 공부되어야 하는 것은 무엇인가?
A. 수학을 공부해야 하는데 특히 수리논리학을 공부해라. 과학에 대해서 배우면 배울수록 더 좋을 것이다. AI 의 생물학적인 접근을 위해 심리학과 신경 생리학을 공부해라. 프로그램 언어를 배워야 하는데 최소한 C, Lisp,Prolog 를 배워야 한다. 하나의 기본적인 기계어를 배워두면 좋다. 일을 하려면 최근의 유행을 타는 언어를 알아야 할 것이다. 1990년대 말에는 C++ 과 java를 알아두어야 한다.
Q. AI 공부를 위한 좋은 교재는 무었이 있나?
A. Artificial Intelligence by Stuart Russel and Peter Norvig, Prentice Hall 은 가장 흔히 사용되는 교과서이다. 그 책에서 표현된 일반적인 견해가 본 글의 견해랑 정확히 일치하지는 않는다. Artificial Intelligence : A New Synthesis by Nils J.Nilsson, Morgan Kaufman 은 읽기가 쉽게 쓰여져 있다.
Q. AI 와 관련되는 조직과 정기 출판물은 무엇이 있나?
A. The American Association for Artificial Intelligence (AAAI), European Coordinating Committee for Artificial Intelligence (ECCAI) 그리고 Society for Artificial Intelligence and Simulation of Behavior (AISB) 는 AI 연구와 관련있는 과학 단체들이다. Association for Computing Machinery (ACM)은 인공지능 SIGART에 관한 특별히 흥미있는 그룹을 가지고 있다.
The International Joint Conference on AI (IJCAI) 는 주요 국제 conference이다. Electronic Transactions on Artificial Intelligence, Artificial Intelligence, and Journal of Artificial Intelligence Research, and IEEE Transactions on Pattern Analysis and Machine Intelligence 는 AI 연구 논문을 출판하는 4개의 주요 잡지이다. 나는 관련 조직과 정기 출판물 모두를 찾지는 못했다.
Page of Positive Reviews 는 전문가들이 중요하다고 생각하는 논문들을 보여준다.
Funding a Revolution: Government Support for Computing Research 의 Chapter 9 에서는 연방 정부의 지원의 중요성을 강조한다.
|
|
|
|