머신러닝 프로젝트, 똑똑한 왕자(SmartPrince) 만들기

2018-04-03
글 | 정 재 준 대표, 커널연구회, rgbi3307@nate.com

인공지능(AI)이란 무엇인가?



목차 프로젝트 과정
1. 인공지능(AI)이란 무엇인가?
2. 전원 배터리모듈 개발과정 및 기능
3. 무선통신 모듈 개발과정 및 기능
4. 센서제어 모듈 개발과정 및 기능
5. 모터제어 모듈 개발과정 및 기능
6. 카메라 영상 움직임 추적 모듈 개발과정 및 기능
7. 음성처리 모듈 개발과정 및 기능
8. 머신러닝 기능 개발과정 및 기능


커널연구회에서 지능형로봇 만들기로 진행하는 똑똑한왕자(SmartPrince) 머신러닝 프로젝트는 자체 개발한 임베디드 모듈들에 머신러닝 알고리즘을 탑재하는 오픈플랫폼, 오픈소스 프로젝트이다.

각각의 모듈들은 독립된 형태로 동작할 수도 있고, 라즈베리파이와 아두이노 호환 핀맵에 모듈들을 적층으로 쌓아 한꺼번에 병렬로 동작시킬 수도 있다. 현재 이러한 모듈들을 임베디드 보드로 제작하여 하드웨어는 시제품 형태를 갖추고 있다. 앞으로 머신러닝 기능을 탑재하는 소프트웨어 작업이 남아 있으며, 이러한 작업 과정을 오픈하여 여러 분야에 도움될 수 있도록 공익성을 추구해 나갈 예정이다.

커널연구회의 똑똑한왕자 머신러닝 프로젝트는 다음과 같은 활용 가능성이 있다.

• 개인이 지능형로봇을 실생활 밀착형으로 사용할 수 있도록 저비용, 소형화, 모듈화.
• 외국의 대형서버급 기술들을 고비용으로 차용하지 않고 자체 기술로 내재화.
• 실생활에서 정서적으로 교감할 수 있는 애완동물 형태의 지능을 갖추도록 함.
• 개인 맞춤형 서비스, 정보제공, 스마트홈과 연동하여 가정의 전자기기들 제어.
커널연구회의 똑똑한왕자 머신러닝 프로젝트는 다음과 같은 목표를 달성하고자 한다.
• 전원, 배터리 충전 및 모듈별로 전원을 관리하고 스위칭하는 모듈 개발.
• 지능형으로 주변 데이터를 센싱하는 하드웨어 모듈 개발.
• 센싱한 주변 데이터에 따라서 행동하는 모터 제어 모듈 개발.
• 카메라영상을 시각화하여 사물을 구별하고 사물의 움직임을 추적하는 모듈 개발.
• 사운드 및 음성을 학습하여 사람의 명령에 따라서 반응하는 모듈 개발.
• 무선통신 및 인터넷에 접속하여 생활밀착형 정보들을 제공하는 모듈 개발.
• 위의 모듈들을 통합 운영하는 머신러닝 소프트웨어 개발.
• 개발과정과 결과물들을 github에 공개 및 교육하여 더불어 성장하는 공익성 추구.

1. 인공지능(AI)이란

아래 내용은 스튜어트 J.러셀과 피터 노빅(Stuart J. Russell, Peter Norvig)의 저서 Artificial Intelligence(Third Edition)의 소개 부분을 필자가 의역한 글이다.

우리는 우리들을 호모 사피엔스(현명한 인간)라고 부른다. 왜냐하면 우리의 지능은 우리에게 아주 중요하기 때문이다. 수천 년 동안, 우리는 우리가 생각하는 방식을 이해하기 위해 노력했으나 극히 일부분만 인식, 이해, 예측할 뿐 여전히 복잡한 문제로 남아있다. 이러한 우리의 생각 방식을 인공지능(AI) 분야에 도입해 이해하려고 시도하고 있으나 여전히 멀고도 요원하다.

인공지능(AI)은 과학과 공학에 있어서 새로운 분야라 할 수 있다. AI는 세계 2차대전 이후 1956년에 신조어로 등장한 이래로 분자 생물학 분야와 함께 과학자들이 누구나 연구하고자 하는 분야로 자리 잡아 왔다. 물리학도들은 모든 새로운 아이디어들은 이미 갈릴레오, 뉴튼, 아인슈타인에 의해서 출현 되었다고 말하기도 한다. 반면에, AI는 여전히 새로운 아인슈타인과 에디슨들을 위해 열려 있는 분야이다.

현재 AI는 체스게임이나 수학 이론 증명, 시쓰기, 복잡한 거리에서 자동차 운전, 질병 분석 등과 같은 다양한 분야들로 파생되고 있다. AI는 지능적인 작업이 필요한 분야에 적절하며, 실제로 대부분 분야에 필요한 것이라 할 수 있다.

1.1 AI란 무엇인가?

우리는 AI에 대해서 흥미는 가지고 있지만, 아직 그것이 무엇인지 정확히 말하는 것을 힘들어한다. 우선 AI에 대한 정의를 아래와 같이 분류해 보자.
① 사람처럼 생각하는 것
② 사람처럼 행동하는 것
③ 합리적으로 생각하는 것
④ 합리적으로 행동하는 것
①번과 ②번은 “사람처럼”이라는 핵심어가 들어가 있다.
③번과 ④번은 “합리적으로”라는 핵심어가 들어가 있다.
①번과 ③번은 “생각하는”이라는 핵심어가 들어가 있다.
②번과 ④번은 “행동하는”이라는 핵심어가 들어가 있다.
AI의 정의는 위에 나열한 핵심어를 기준으로 접근해볼 수 있다. AI에 대한 이러한 접근방식은 역사적으로 많은 사람에 의해서 시도됐다. 이것들에 대해서 좀 더 자세히 알아보자.

① 사람처럼 생각하는 것: 인지학적인 접근방식.
사람처럼 생각하는 프로그램을 논하기 전에, 우리는 먼저 사람이 생각하는 방식을 알고 있어야 한다. 즉, 사람의 마음속에서 실제로 일어나는 일들을 이해할 필요가 있는데, 3가지 방식이 있다.

•자기성찰: 지나간 일들을 다시 생각함
•심리학적인 실험: 사람의 행동을 관찰함
•두뇌 영상: 행동할 때 두뇌를 관찰함

이러한 이론들은 컴퓨터 프로그램으로 표현 가능하게 되었다. 만일 컴퓨터 프로그램의 입력과 출력이 사람의 행동과 연관 지어 일치한다면 컴퓨터가 사람처럼 동작한다고 할 수 있다. 예를 들면, 1961년에 GPS(General Problem Solver)를 개발한 앨런 뉴얼(Allen Newell)과 허버트 사이먼(Herbert Simon)는 그들의 프로그램이 문제를 정확하게 풀지는 못했지만, 사람을 주제로 하여 사람의 행동을 이성적인 접근법으로 추적하였다는 것에 의미가 있다. 이처럼 인지과학과 AI는 서로 상호 보완적으로 빠르게 발전하고 있으며 신경생리학적인 접근과 함께 컴퓨팅 분야에서 서로 협동하고 있다.

② 사람처럼 행동하는 것: Turing Test 접근방식.
1950년에 앨런 튜링(Alan Turing)에 의해서 제안된 튜링 테스트(Turing Test)는 “적절히 동작하는가”에 대한 관점으로 지능을 정의하고자 했다. 즉, 사람이 컴퓨터에 질문을 하면 컴퓨터가 대답을 적절히 하는가에 대한 테스트였다. 지능을 갖추기 위해 현대의 컴퓨터에는 다음과 같은 능력이 요구된다.

•자연어로 소통 가능한 자연어 처리 능력
•듣고 이해한 지식을 저장하는 능력
• 저장된 정보를 사용하고 질문에 대답하고 새로운 결론을 추론하는 능력
• 패턴들을 검출하여 새로운 환경을 이해하고 학습하는 능력

위의 능력들은 AI에 필요한 원론적인 내용이며 이러한 능력들은 Turing Test 관점에 잘 동작할 수 있도록 설계해야 한다.



③ 합리적으로 생각하는 것: 생각의 법칙에 대한 접근.
그리스의 철학자 아리스토텔레스는 “올바른 생각”에 대한 개념을 정리하기 위해서 최초로 시도한 사람이었다. 그의 삼단 논법은 올바른 결론을 끌어내는 구조로 되어 있었다. 예를 들면, “소크라테스는 사람이다; 모든 사람은 죽는다; 따라서 소크라테스도 죽는다.” 이러한 생각에 대한 법칙은 마음을 조절하게 되었고, 이렇게 개척된 분야를 논리(logic)라 한다.

19세기 논리학자들은 세상의 모든 물체(객체)들과 그들의 연관성을 표현하기 위한 정확한 표기법을 개발했다. 1965년경에는 논리적인 표기법으로 기술한 문제들을 풀어낼 수 있는 프로그램이 나타났다. 비록, 해결책이 존재하지 않는다면 프로그램이 무한루프에 빠지더라도 말이다.

인공지능에서는 논리적인 기법을 통하여 지능적인 시스템을 프로그래밍하고자 한다. 이러한 접근방식에는 두 가지 장애물이 있다. 첫째는, 비정형적인 지식을 표현하기가 쉽지 않고, 논리적인 표기법으로 요구된 사항들을 정형적으로 표현하기가 어렵다는 것이다. 특히 지식이 100% 명확하지 않다면 더더욱 어렵다. 둘째는, 원론적으로 문제를 해결하는 것과 실제로 해결하는 것 사이에는 많은 차이가 있다는 것이다.

④ 합리적으로 행동하는 것: 합리적인 에이전트 접근.
에이전트는 행동하는 것(to do)을 의미한다. 모든 컴퓨터 프로그램들은 무언가를 하지만, 컴퓨터 에이전트들은 더 많은 것을 기대한다. 예를 들면, 자동으로 동작, 주변 환경 감지, 장기적으로 안정적인 동작, 변화에 대한 적응력 등을 요구한다. 합리적인 에이전트는 최적의 결과를 달성하고자 하며, 이것이 확실하지 않다면 최적의 기대물을 요구한다.

튜링 테스트(Turing Test)가 요구되는 모든 기술들은 에이전트가 합리적으로 행동하도록 유도해야 하고, 이성적인 지식 표현은 에이전트가 좋은 결론에 도달할 수 있도록 해야 한다. 우리는 복잡한 사회생활 속에서 사용하는 자연어들을 이해하기 쉬운 문장들로 표현할 수 있어야 한다. 우리는 교육을 통해서 좀 더 효율적으로 행동하는 능력을 배울 필요가 있다.

합리적인 에이전트 접근은 다른 방식과 비교해 두 가지 장점이 있다. 첫째는, 생각의 법칙으로 접근하는 것보다 더 일반적이라는 것이다. 왜냐하면 올바른 추론은 여러 가지 가능성 있는 것들에서 합리적인 것을 하나 선택하는 것이기 때문이다. 둘째는, 사람의 행동 혹은 사람의 생각을 기반으로 접근하는 것에 비교해서 좀 더 과학적 개발을 할 수 있다는 것이다. 합리적인 것은 수학적으로 잘 정의하여 일반적인 완성도를 높여 나가는 방향으로 표준화할 수 있다. 반면에, 사람의 행동은 특정한 환경에 맞도록 적용할 수 있는데, 이것은 사람의 행동들을 모두 합하여 정의한다.

우리는 앞으로 합리적인 에이전트의 원리를 일반화 시키고 설계해 가는 요소들에 집중할 것이다. 많은 노력을 통해서 우리의 문제들을 해결하는 동안 다양한 논점들을 만나게 될 것이다. 앞으로 이러한 논점들을 좀 더 자세히 알아보도록 하자.

마음속에 새겨야할 중요한 핵심은, 합리성은 훌륭한 분석적 관점의 시작 지점이라는 것이다. 합리성은 문제를 단순화시킬 뿐만 아니라 현장의 문제들을 적절히 해결하기 위한 기본적인 재료를 제공해 준다. 자, 앞으로 “합리성”을 기반으로 하여 다양한 문제들을 해결해 보도록 하자.

1.2 AI의 기본

AI로 본격적인 여행을 떠나기 전에, AI의 지난 역사를 통하여 AI의 관점들 및 기술들의 원리에 대해서 알아보도록 하자. 모든 역사가 그러하
듯이, 대부분의 사람들이 중요하게 생각하지 않던 것들을 소수의 사람의 생각이나 사건에 의해서 새롭게 조명되어 창조적인 결과물이 나타난다. AI에 대한 기본지식을 철학(Philosophy), 수학(Mathematics), 경제학(Economics), 신경과학(Neuroscience), 심리학(Psychology), 컴퓨터공학(Computer engineering), 제어이론과 인공두뇌학(Control theory and cybernetics), 언어학(Linguistics)적으로 요약한다.

1.3 철학(Philosophy)

• 정형적인 규칙들로 타당한 결론들을 이끌어낼 수 있는가?
• 마음(생각)은 우리의 두뇌에서 어떻게 형성되는가?
• 지식은 어디에서 오는가?
• 지식은 어떻게 행동을 유발시키는가?

아리스토텔레스(384-322 B.C.)는 마음을 제어하는 이성적인 부분의 법칙들을 정확한 집합으로 표현한 최초의 사람이었다. 그는 삼단논법을 개발하여 이성에 적절하게 접근하고자 했으며, 이것은 기계적으로도 결론을 유추해 낼 수 있는 원리가 되었다. 이후, 라몬 유이(Ramon Lull, d. 1315)는 기계적인 장치를 통하여 이성에 접근 가능할 수도 있다는 생각을 한 사람이었다.

토머스 홉스(Thomas Hobbes, 1588-1679)는 이성은 수치적인 계산으로 표현(생각을 더하고 빼는 것)하는 것과 유사하다라고 했다. 1500년경, 레오나르도 다빈치(1452-1519)는 기계적인 계산기를 설계는 했지만 제작하지는 못했다. 최근에 이것을 재구축하여 기능적으로 가능한 설계였다는 것을 보여주었다.

최초의 계산 기계는 1623년 독일의 과학자인 빌헬름 쉭카드(Wilhelm Schickard, 1592-1635)에 의해서 만들어졌다. 이후 1642년에 블레즈 파스칼(Blaise Pascal, 1623-1662)이 만든 기계식 계산기가 더 유명하다. 파스칼은 “나의 산술 기계는 동물들의 행동보다 생각에 더 근접한 효과를 낸다”라고 언급했다. 고트프리트 빌헬름 라이프니츠(Gottfried Wilhelm Lcibniz, 1646-1716)는 숫자보다는 개념을 동작시키는 기계적인 장치를 만들었으나, 이것의 능력에는 한계가 있었다.

라이프니츠는 덧셈, 뺄셈, 곱셈 및 근을 구할 수 있는 계산기를 만들어서 덧셈과 뺄셈만 할 수 있었던 파스칼 계산기의 기능을 능가하게 되었다. 또한, 어떤 사람들은 다음과 같이 추측하기도 했다. “기계는 계산만 하는 것이 아니라 그들만의 생각으로 행동하는 것도 가능할거야.” 1651년에 토머스 홉스는 그의 책 레비아탄(Leviathan)에서 아래와 같은 내용을 제안했다. “인공적인 동물”에 대한 생각으로, “심장은 스프링이고; 신경은 더많은 스프링이고; 관절은 많은 바퀴들...”이라고 언급했다.

이것은 비록 제한적인 내용이지만 마음의 동작에 대해서 언급한 것이고, 논리적인 규칙들로 물리적인 시스템을 만들기 위해서 모방해 보는 정도였다. 또 어떤 사람들은 “마음은 그 자체가 어떤 물리적인 시스템이다.”라고 말하기도 했다. 르네 데카르트(Rene Descartes, 1596-1650)는 마음과 문제를 명확하게 구분하는 논평을 최초로 낸 사람이었다.

마음을 순전히 물리적인 개념으로 접근하는 것은 문제가 있다. 즉, 마음에는 수많은 자유가 있다. 데카르트는 세상을 이성의 힘으로 이해하고자 했다. 철학은 이제 이성주의(합리)로 불리게 된다. 그러나 데카르트도 이원론을 지지한 사람이었다. 데카르트는 인간의 마음(영혼, 정신)은 물리적인 법칙들에 지배되는 자연현상과는 다른 부분이라 생각했다.

반면에, 동물들은 이러한 양면성을 소유하고 있지 않아서 기계적으로 다룰 수 있다. 이원론은 유물론(물질주의)으로 대체되는데, 이것은 마음을 물리적인 법칙으로 동작하는 두뇌라고 봤다. 그리고 자유의지는 무엇인가를 선택하고자 할때 나타나는 자각력이라고 단순히 생각했다. 지식을 다루는 물리적 마음이 주어 졌을때, 그 다음의 문제는 지식의 원천을 확립하는 것이다.

경험론(실증주의) 운동이 프랜시스 베이커(Francis Bacon, 1561-1626)에 의해서 시작되어 존 로크(John Locke, 1632-1704)의 아래와 같은 격언으로 확립된다. “모든 것은 이해로 통하는 것이 아니라, 오감으로 느끼는 것이다.” 데이비드 흄(David Hume, 1711-1776)의 인간의 본질에 대한 논문은 유도의 원리(귀납법)로 알려진 것이다. 이것은 각각의 요소들을 반복적으로 연관 지어 일반적인 규칙을 얻어내는 것이다.

루트비히 비트겐슈타인(Ludwig Wittgenstein, 1889-1951)과 버트런드 러셀(Bertrand Russell, 1872-1970)의 작업이 전개되면서, 루돌프 카르나프(Rudolf Carnap, 1891-1970)에 의해서 유도된 유명한 빈학파(Vienna Circle)는 논리적인 실증주의 철학을 개발해낸 것이다. 이 논리적인 실증주의 철학은 모든 지식을 논리적인 이론들이 연결되어 특성화된 것으로 표현하면서 이성론(합리성)과 경험론(실증)을 결합한다.

캣냅(Catnap)과 칼 구스타프 헴펠(Carl Hempel, 1905-1997)의 확립 이론은 경험에 의한 지식 습득을 분석하려고 시도한 것이다. Camap의 책 논리적인 구조체 세상(원제:The Logical Structure of the World, 1928)은 경험적인 요소들에서 지식을 발췌해 내기 위한 명시적인 계산 절차를 정의한 것이다. 이것은 아마도 계산적인 처리로 마음을 표현한 최초의 이론이었다.

마음에 대한 철학적 그림의 마지막 요소는 지식과 행동 간의 연결이다. 이것은 인공지능(AI)에 필수적이다. 왜냐하면, 지능은 행동과 이성을 요구하기 때문이다. 더 나아가, 행동에 대한 이해는 합리적인 에이전트를 만들어 내는 방법이 될 수 있다. 아리스토텔레스는 다음과 같이 논평했다. “행동(action)은 목표(goal)와 지식(knowledge) 간의 논리적 연결을 통해서 정당화된다.”

그러나, 생각이 행동으로 동반되기도 하고 그렇지 않은 경우도 있을 때는 어떻게 할 것인가? 이 경우는 결국 추론적 접근을 해보자. “나는 덮을 것이 필요하다. 망토는 덮는 것이다. 나는 망토가 필요하다. 내게 필요한 것은 내가 만들어야 한다.” “나는 망토가 필요하다. 나는 망토를 만들어야 한다.” 결론은 “나는 망토를 만들어야 한다.”가 행동(action)이다.

아리스토텔레스의 알고리즘은 2300년 후에 뉴웰(Newell)과 사이먼(Simon)의 GPS 프로그램에 의해서 구현되었다. 우리는 이제 이것을 회귀 계획 시스템(regression planning system)으로 부를 것이다.

목표(goal) 기반 분석은 유용하다. 그러나 여러 가지 행동들이 목표에 접근하려 할때나, 행동들을 완료할 수 없을 때 무엇을 해야 하는가? 앙투안 아르노(Antoine Arnauld, 1612-1694)는 위와 같은 경우에 어떤 행동을 취해야 하는지 정량적인 공식을 정확하게 기술했다. 존 스튜어드 밀(John Stuart Mill, 1806-1873)은 그의 책 공리주의(Utilitarianism, 1863)에서 모든 인간의 행동은 합리적인 판단 기준으로 접근해야 한다고 제안했다.

1.4 수학(Mathematics)

• 타당한 결론을 끌어내기 위한 정형화된 규칙은 무엇인가? (논리)
• 무엇이 계산될 수 있는가? (계산)
• 불확실한 정보에 어떻게 의미를 부여하는가? (확률)

철학자들이 AI에 대해서 몇 가지 근본적인 생각들을 도출해 냈으나, 이것에 정형화된 수학 공식들을 도입하여 좀 더 과학적으로 접근해 보자. AI에 근본적으로 적용되는 수학 영역은 논리, 계산, 확률이다.

논리에 대한 기본 원리는 고대 그리스 철학자들로부터 시작되었으나, 이것을 수학적으로 발전시킨 사람은 조지 불(George Boole, 1815-1864) 이었다. 그는 1847년에 명제, Boolean, 논리 등에 대해서 자세한 연구결과를 발표했다.

1879년에 고트롭 프리크(Gottlob Frcgc, 1848-1925)는 불의 논리를 좀 더 확장해 객체와 관계들을 처음으로 포함했다. 이것은 오늘날의 수학적 논리에 사용된다. 알프레트 타르스키(Alfred Tarski, 1902-1983)는 참조 이론을 소개했는데, 이것은 실제 생활 속의 객체들에 논리를 연관시키는 방법에 관한 것이었다.

이러한 논리를 계산적으로 적용하는 데에는 몇 가지 제한 사항들이 있는데, 이것을 알아보자. 첫째로 중요한 알고리즘이라 할 수 있는 것으로 에우클레이데스(Euclid)의 최대공약수(Greatest Common Divisor) 알고리즘이 있다. 다음으로 워드(word) 알고리즘이 있는데, 이것은 9세기 페르시아의 수학자 알-콰리즈미(al-Khowarazmi)가 발표한 것이다. 그는 또한 아라비아 숫자와 대수(algebra)를 유럽에 소개했다.

알고리즘은 대부분 논리적인 추론으로 표현되었고, 19세기 후반에는 이러한 노력으로 인해 논리적 추론이 수학적으로 공식화되게 된다.

1930년에 쿠르트 괴델(Kurt Godel, 1906-1978)은 프레게(Frege)와 러셀(Russell)의 1차 논리(first-order logic)의 참을 증명하기 위한 효과적인 절차가 존재한다고 했다. 그러나, 1차 논리는 자연수를 특성화시키는데 필요한 수학적 유도의 원리를 제대로 잡아내지 못했다. 1931년에, 괴델은 추론에는 제약사항들이 존재한다고 했다. 그의 완성되지 못한 이론은 다음과 같은 사항을 보여준다. 페아노(Peano) 산술(자연수 원리론) 만큼이나 강력한 정형화된 이론에서는 증명할 것이 없다는 관점으로 증명 불능을 논하는 것이 옳은 방법이다.

이러한 근본적인 결과는 정수를 다루는 몇몇 함수들은 알고리즘으로 표현할 수 있다는 것을 보여준다. 앨런 튜링(Alan Turing, 1912-1954)은 이것에서 영감을 얻어, 이러한 함수들이 계산 가능 하다는 것을 보여주기 위한 시도를 했다.




이 개념에는 몇 가지 문제점들이 있었다. 왜냐하면, 효과적인 절차 혹은 계산의 개념에 형식 잡힌 정의가 주어지지 않았기 때문이다. 그러나, 튜링(Turing) 논문에서 튜링 머신은 어떠한 계산적인 함수라도 계산해낼 능력이 있고, 충분한 정의가 제공된 것을 일반적으로 적용한다고 했다. 또한, 튜링은 튜링 머신이 계산해낼 수 없는 함수들이 몇 가지 있다고 했다. 예를 들면, 주어진 프로그램이 제시된 입력에 대해서 해답을 출력할지 아니면 영원히 수행하고 있을지는 ‘머신이 알 수가 없다’라고 했다. 결정능력과 계산능력이 계산을 이해하는 데 중요하지만, 이해하기 쉬운 개념이 더 강력한 영향력을 가진다.

아주 다루기 힘든 문제를 어떻게 인식할 수 있을까? NP-완전성(NP-completeness) 이론을 개척한 스티븐 쿡(Steven Cook, 1971)과 리처드 카프(Richard Karp, 1972)가 그 방법을 제공했다. 쿡과 카프는 표준적으로 조합하는 검색의 사례들이 많이 존재함을 밝히고 NP-complete 문제들의 사유를 보여주었다. NP-complete 문제들로 줄일 수 있는 문제는 다루기 힘들 것이다.

컴퓨터의 속도가 빨라지고 있지만, 주어진 자원들을 주의깊게 활용해야 지능적인 시스템의 모습을 갖출 수 있다. 세상은 아주 큰 문제로 이루어져 있다. AI 분야에서 일하다 보면 NP-complete 문제들이 왜 어려운지 알게 될 것이다.

지금까지 논리와 계산에 대해서 언급했는데, 세 번째로, AI에 대해서 수학적으로 접근하는 것으로 확률이론이 있다. 이탈리아의 지롤라모 카르다노(Gerolamo Cardano, 1501-1576)는 확률에 대해서 최초로 형틀을 만든(규격화한) 사람이었다. 그는 확률을 도박적인 결과로 나타나는 것으로 기술했다. 1654년에 블레즈 파스칼(Blaise Pascal, 1623-1662)는 피에르 페르마(Pierre Fermat, 1601-1665)에게 보낸 편지에서 완료되지 않은 도박 게임의 미래를 어떻게 예측하는지 보여 주었고, 도박꾼들에게 평균적인 보상을 제공했다.

확률은 정량적인 것을 다루는 과학에서 점점 가치 없는 것으로 되었지만, 불확실한 측정이나 완료되지 않은 이론을 다루는 데는 도움을 주
고 있다. 제임스 베르누이(James Bernoulli, 1654-1705), 피에르 라플라스(Pierre Laplace, 1749-1827) 등은 확률이론을 좀 더 개선하여 새로운 통계적인 방법들을 소개했다. 토머스 베이즈(Thomas Bayes, 1702-1761)는 확률에 대해서 새로운 믿음을 가질만한 규칙을 제안했다. 베이즈의 규칙은 현대의 AI 시스템에서 불확정적인 사유를 다룰 때 배경지식으로 사용된다.

1.5 경제학(Economics)

• 급여(보상)를 최대화 하기 위해서 우리는 어떻게 결정해야 하는가?
• 다른 사람들이 계속하지 않는다면 우리는 어떻게 해야 하는가?
• 급여가 앞으로 점점 불확실해진다면 우리는 어떻게 해야 하는가?

과학적인 경제학은 1776년에 스코틀랜드의 철학자 아담 스미스(Adam Smith, 1723-1790)가 다음과 같은 책을 출간하면서 시작되었다. “자연에 대한 탐구와 국가적 부의 원인들(원제: An Inquiry into the Nature and Causes of the Wealth of Nations).” 고대 그리스인들과 같은 사람들은 경제적인 생각만을 했으나, 스미스는 경제를 과학적으로 다룬 최초의 사람이었다. 그는 경제를 다음과 같은 관점으로 생각했다. 경제는 각각의 에이전트들이 경제적으로 잘사는 것(well-being)을 극대화하기 위한 것으로 생각해야 한다.

대부분의 사람은 경제학을 돈의 관점으로 생각하지만, 경제학자들은 사람들이 좀더 좋은 보상을 받기위해 어떤 선택을 하는지를 연구하고 있다. 이러한 경제적 관점(“좀 더 좋은 보상”)은 레옹 발라스(Leon Walras, 1834-1910)에 의해서 처음으로 형성되었고 프랭크 램지(Frank Ramsey, 1931)에 의해서 좀 더 개선되었다. 그이후로는 존 폰 노이만(John von Neumann)과 오스카 모겐스턴(Oskar Morgenstern)이 그들의 책인 “게임 이론과 경제적 행동(원제:The Theory of Games and Economic Behavior, 1944)”에서 개념을 계속 개선했다.

도구 이론과 확률적 이론을 결합한 결정 이론은 어떤 것을 결정할 때 형식이 잡힌 완전한 형틀을 제공한다. 결정 이론은 확률적인 기법으로 결정자의 환경을 적절하게 잡아준다. 이것은 각각의 에이전트가 다른 에이전트들의 행동에 관여하지 않아도 되는 거시(large) 경제에 적절하다. 소규모(small) 경제에서는, 그 상황이 마치 게임과 비슷한데, 게임에 참여한 사람의 행동은 다른 사람의 도구에 긍정적이든 부정적이든 확실하게 영향을 준다.

폰 노이만과 모겐스턴이 개발한 게임 이론은 다음과 같은 놀라운 결과를 포함하고 있다. 어떤 게임에서 합리적인 에이전트는 정책들을 무작위로 적용한다는 것이다. 결정 이론과는 다르게, 게임 이론은 행동을 선택하기 위해서 이미 처방된 것을 사용하지 않는 다는 것이다.

대부분의 경제학자들은 서두에서 언급한 세 번째 질문, 즉, “급여가 앞으로 점점 불확실해진다면 우리는 어떻게 해야 하는가?”를 지목하지 않는다. 행동들에 대한 급여(보상)가 즉각적이지 않고, 순차적으로 발생하는 여러 행동에 따라서 달라진다면 어떤 합리적인 결정을 내려야 할까? 이 주제는 행동 연구 분야에서 다루어졌고, 세계2차대전 때 영국에서 레이더 설치를 최적화하기 위해서 출현한 것이다. 이후에는 민간적으로 복잡한 관리문제를 결정하기 위해서 응용되었다. 1957년에 리차드 겔맨(Richard Gellman)이 순차적 결정 문제의 등급을 규격화하는 작업을 했는데, 이것을 마르코 결정 처리(Marko decision processes)라 하고 앞으로 자세히 기술한다.

경제적인 행동 연구는 우리의 합리적 에이전트 개념에 많은 공헌을 했다. 수년 동안 AI 연구를 통해서 여러 가지 방법들을 개발했다. 한 가지 분명한 것은 합리적인 결정을 할때는 여러 가지 복잡한 것들이 나타난다는 것이다. 1978년에 노벨 경제학상을 받은 허버트 사이먼(Herbert Simon, 1916-2001)은 AI 연구를 개척하면서 다음과 같은 언급을 했다.

만족에 기반을 둔 모델 - 연구실에서 최적의 결정을 계산한 것보다도 더 좋은 결정은 실제의 인간 행동을 더 훌륭히 기술한다.(사이먼, 1947). 1990년대 이후로 에이전트 시스템을 위한 결정 이론 기법들이 흥미롭게 되살아나고 있다.(웰맨, 1995)

1.6 신경과학(Neuroscience)

•두뇌는 어떻게 정보를 처리하는가?
신경과학은 신경 시스템, 특히 두뇌에 대해서 연구하는 학문이다. 두뇌가 생각하는 방식은 과학적으로 접근하기 힘든 아주 신비한 것이다. 머리가 정신적인 것들에 깊숙이 관여한다는 확신 때문에, 두뇌가 생각하는 방식을 이해하기 위해서 수천 년 동안 노력해 왔지만, 인간의 두뇌는 뭔가 다르다는 정도로 인식하고 있을 뿐이다. 아리스토텔레스는 다음과 같이 언급했다. “모든 동물 중에서, 인간은 육체에 비해서 더 큰 두뇌를 가지고 있다.” 18세기 중엽 이전까지는 두뇌가 자각적으로 폭넓게 인식한다는 것에 관심이 있지 않았다. 그 전에는 단지 심장과 비장(지라)을 포함 시키는 정도였다.

1861년에 폴 브로카(Paul Broca, 1824-1880)는 뇌 손상을 입은 환자의 실어증에 관한 연구에서 뇌에는 특정적인 것의 인식을 담당하는 부분이 존재한다는 것을 보여주었다. 특히, 그는 언어는 뇌의 좌측(좌뇌반구)에서 발생한다고 했으며, 이것을 브로카의 영역이라 한다. 당시, 뇌는 신경세포 혹은 뉴런으로 구성되어 있다는 것을 알았는데, 이것은 1873년에 카밀로 골지(Camillo Golgi, 1843-1926)가 뇌에서 각각의 뉴런들을 관찰하기 위해서 염색(잉크자국을 내는)하는 기법이 개발되면서 알려지게 되었다.

이 기술은 산티아고 라몬 이 카할 (Santiago Ramon Y Cajal, 1852-1934)이 뇌의 뉴런적 구조에 대한 연구를 개척하는 데 사용했다. 니콜라스 라세프스키(Nicolas Rashevsky, 1936, 1938)는 신경 시스템 연구에 수학적 모델을 최초로 적용한 사람이었다.

현재 우리는 뇌의 특정 부분과 신체 일부분을 서로 연결하는 몇 가지 데이터를 가지게 되었다. 그러나 우리는 뇌 일부분이 손상되었을 때 다른 부분이 그 기능을 어떻게 대신 하는지는 완전하게 이해하지 못하고 있다. 각각의 기억이 어떻게 저장되는지에 대한 이론도 아직 없다.

1929년에 한스 버거(Hans Berger)가 뇌파전위기록장치(EEG)를 발명하면서부터 온전한 뇌의 활동을 측정하기 시작했다. 최근에는 자기공명영상 기록장치가 개발되어 신경과학자들이 뇌의 활동을 자세한 이미지로 관찰할 수 있게 되었고, 뇌의 인지 처리 과정이 어떻게 진행되는지 흥미롭게 측정하는 것이 가능해졌다. 이러한 것들은 뉴런 활동의 단일 세포 기록 쪽에서 진행되어 발표되고 있다.

2007년에 한(Han)과 보이든(Boyden)은 각각의 뉴런들은 전기적, 화학적 혹은 광학적으로 자극된다고 하면서, 뉴런적인 입력과 출력 관계를 그리는 것을 가능하게 했다. 이러한 연구의 진척에도 불구하고, 우리가 뇌의 인지 능력이 실제로 어떻게 처리되는지 이해하기에는 여전히 어렵고 요원하다.

1992년에 존 서얼(John Searle)는 다음과 같은 간결한 표현으로 뇌가 마음을 형성한다고 했다. “간단한 세포들의 집합으로 생각과 행동, 자각을 끌어낸다는 것은 실로 놀라운 결론이다.” 또 다른 이론으로 신비주의가 있는데, 이것은 인간의 뇌(마음)는 물리적인 과학 이상의 신비한 무언가에 의해서 동작한다는 것이다.

사람의 뇌와 디지털 컴퓨터는 서로 다른 특성이 있다. 컴퓨터는 사람의 뇌보다 백만 번이나 빠른 사이클 타임을 가지고 있다. 비록 거대한 슈퍼컴퓨터들이 인간의 뇌와 비슷한 용량을 가지고 있더라도, 사람의 뇌는 개인용 컴퓨터보다 더 많은 저장소를 빠르게 상호 연결하는 능력을 가졌다(그러나 뇌는 모든 뉴런들을 동시에 사용하지 않는 것 같다).

예언자들은 컴퓨터가 슈퍼맨의 수준과 같은 능력까지 도달할 수 있을 것이라며 이러한 수치들을 만들고 주목하고 있다.(Vinge, 1993; Kurzweil, 2005). 그러나 단순히 이러한 방식으로 비교하는 것에 효과적인 의미를 부여할 수 없다. 컴퓨터가 무제한적인 용량을 가졌다 하더라도, 우리는 인간의 뇌가 가지고 있는 지적 수준에 어떻게 접근할 수 있을지 여전히 모르고 있다.



1.7 심리학(Psychology)


• 사람과 동물은 어떻게 생각하고 행동하는가?
과학적인 심리학은 독일의 물리학자인 헤르만 폰 헬름홀츠(Hermann Von Helmholtz, 1821-1894)와 그의 제자 빌헬름 분트(Wilhelm Wundt, 1832-1920)의 연구에서 시작되었다. 헬름홀츠가 사람을 바라보는 관점에 대한 연구를 과학적인 방법으로 하면서 기록한 그의 수첩은 현재 다음과 같이 얘기되고 있다.

“사람을 물리적 및 생리학적인 시각으로 바라보는 한 가지 매우 중요한 논문”. 1879년에 분트는 라이프치히(Leipzig) 대학교에서 최초로 실험적인 심리학의 장을 열었다. 분트는 주의깊게 제어 관찰하는 실험들을 추구했으며, 그의 실험에 참가한 사람들은 자아 성찰을 통하여 그들의 생각을 처리하면서 자각적인 행동을 하거나 연합적인 임무를 수행했다.

이처럼 주의 깊은 제어 관찰을 통해서 과학적인 심리학을 형성하는 긴 여정을 거쳐 왔으나, 본성에 존재하는 주관적인 데이터로는 실험자들이 그들만의 이론을 확신하기 힘들다는 결과가 형성되었다.

반면에, 동물의 행동을 연구하는 생물학자들은 자기성찰적인 데이터보다는 대상을 관찰하는 방법을 개발했다. 이 방법은 H. S. 제닝스(Jennings, 1906)가 고안한 것으로 저급 생물의 행동을 관찰하는 것이었다. 존 왓슨(John Watson, 1878-1958)이 이러한 방법을 사람에게 적용해 봤으나 사람의 자기성찰이 신뢰할 만한 확신을 제공하지 않는다는 속성으로 인해서 이러한 연구는 받아들여 지지 않았다.

실험심리학의 행동주의자들은 단지 동물에게 주어지는 자극적인 지각력에 대해서 관찰 및 측정하는 연구를 추구한다. 쥐나 펭귄과 같은 동물들에는 객관적인 행동에 관한 연구 성과가 많이 이루어졌으나 사람의 행동을 이해하고자 하는 성과물은 아주 미흡하다.

인지 심리학은 사람의 두뇌가 정보를 처리하는 관점에 관한 것으로서 윌리엄 제임스(William James, 1842-1910)의 연구로 거슬러 올라갈 수 있다. 헬름홀츠 또한 자각은 무의식적으로 논리적인 추론을 하는 형태라고 언급했다. 인지의 관점은 미국의 행동주의에 의해서 많이 가려졌으나, 캠브리지 대학교의 심리학자 프레드릭 바틀렛(Frederic Bartlett, 1886-1969)에 의해서 연구된 인지 모델링은 좋은 성과물로 널리 알려질 수 있었다.

바틀렛의 제자와 후임자인 커네스 크레이크(Kenneth Craik, 1943)는 본성에 대해서 믿음과 목표 지향적인 “정신”이라는 관점으로 재정립했다. 이것에 대해서 과학적인 예제로 논평하면, 기체들이 분자 결합으로 이루어져 있음에도 불구하고 압력과 온도의 관점에서 토론하는 것과 같다고 할 수 있다.

크레이크는 지식기반 에이전트를 세 가지 핵심적인 단계로 정리했다.
① 자극은 내부적인 표현으로 변환되어야 한다.
② 표현은 새로운 내부 표현들을 끌어내기 위해서 인지적인 방식으로 처리된다.
③ 이러한 것들은 행동으로 다시 변환된다.

그는 에이전트를 잘 설계해야 하는 이유를 이것으로 명확히 설명했다.

1945년에 크레이크가 자전거 사고로 사망한 이후, 그의 업적은 도날드 브로드벤트(Donald Broadbent)에 의해 계속되었다. 브로드벤트의 책인 인식과 소통(Perception and Communication, 1958)은 정보처리를 최초로 심리학적인 현상으로 모델링한 것이었다. 그 당시 미국에서는 컴퓨터 모델링 개발을 통하여 인지 과학분야를 이끌었다.

1956년 9월 MIT 대학교의 워크삽에서 미국의 인지 과학분야가 시작되었다고 할 수 있다. 이 워크샵에서 조지 밀러(George Miller)는 신비한 숫자 7(The Magic Number Seven)을 발표했고, 노암 촘스키(Noam Chomsky)는 언어의 세 가지 모델, 앨럼 뉴웰(Allen Newell)과 허버트 사이먼(Herbert Simon)은 논리 이론 기계(The Logic Theory Machine)를 발표했다.

위의 영향력 있는 3개의 논문은 컴퓨터 모델이 기억, 언어, 논리적인 생각에 각각 어떻게 심리적으로 접근할 수 있는지에 대해서 설명하는 것이었다. 이것은 심리학자들 사이에서 “인지 이론은 컴퓨터 프로그램과 같을 수 있다(Anderson,1980)”라는 관점으로 받아들여지게 됐다. 여기에 몇 가지 인지적인 함수가 구현되어 정보처리 메커니즘을 상세히 기술하여야 한다.

1.8 컴퓨터 공학(Computer engineering)

• 우리는 어떻게 효율적인 컴퓨터를 만들 수 있을까?
인공지능이 성공의 길로 가기 위해서는 2가지가 필요한데, 지능과 인공물이다. 컴퓨터는 인공물로 선택됐다. 현대의 디지털 전자기기인 컴퓨터는 세계2차대전 때 과학자들에 의해서 발명되었다. 1940년 앨런 튜링(Alan Turing) 팀에 의해서 만들어진 컴퓨터는 전자기계적으로 너무 복잡했으며 단지 독일군의 암호문을 해독하고자 하는 한 가지 목적을 위한 것이었다. 이들은 1943년에 진공관을 사용하여 일반 목적의 거대한 머신을 개발했다. 세계2차대전 이후, Turing은 이러한 컴퓨터들을 AI 연구에 사용하고자 했다. 튜링(Turing)은 1953년에 최초의 체스 게임 프로그램을 개발했다.

동작을 프로그램할 수 있는 최초의 컴퓨터는 1941년 독일의 콘라트 추제(Konrad Zuse)가 발명한 Z-3 이었다. 추제는 또한 실수와 최초의 고급 프로그래밍 언어인 플란칼퀼(Plankalkiil)을 개발했다. 최초의 전자적 컴퓨터인 ABC는 1940년과 1942년 사이에 아이오와 주립대학교에서 존 아타나소프(John Atanasoff)와 그의 제자 클리포드 베리(Clifford Berry)에 의해서 조립되었다. 아타나소프의 연구는 몇 가지 지원과 인정을 받았는데 이것이 에니악(ENIAC)이었다.

에니악은 펜실베니아 대학교에서 존 모클리(John Mauchly)와 존 에커트(John Eckert)가 포함된 팀에 의해서 비밀 군사 프로젝트로 진행된 것이었으며, 이것은 현대 컴퓨터들에 막대한 영향을 준 선구자적인 프로젝트였다.

이후 컴퓨터 하드웨어의 각 세대는 속도와 용량은 증가하고 가격은 감소하는 방향으로 발전했다. 컴퓨터의 수행능력은 2005년까지 18개월마다 두 배로 증가했다. 전력 소비 문제를 해결하기 위해서 제조사들은 CPU의 클럭 속도보다는 코어의 수를 늘리기 시작했다. 현재는 사람의 두뇌 능력에 접근하기 위해서 CPU를 병렬화시키는 문제로 인해서 전력 소모가 증가할 것이라고 예상하고 있다.

물론, 전자적인 컴퓨터 이전에 연산용 기계장치가 있었다. 최초로 프로그램 가능한 기계는 1805년에 조셉 마리 자카드(Joseph Marie Jacquard, 1752-1834)가 만든 직조기(loom) 이었는데, 이것은 짜여진 패턴형태의 명령들을 저장하기 위해서 구멍이 뚫린 카드를 사용했다. 19세기 중엽에 찰스 배비지(Charles Babbage, 1792-1871)가 두 가지 기계를 설계했지만 모두 완성하지는 못했다.

배비지의 분석적 엔진은 아주 야심 찬 것이었다. 이것은 주소가 있는 메모리, 저장된 프로그램과 조건적인 분기 등을 포함하고 있어서 종합적인 계산 수행능력이 있는 최초의 인공물이었다. 배비지의 동료인 에이다 러브레이스(Ada Lovelace)는 시인 바이든(Byron)의 딸이었으며, 그녀는 아마도 세계 최초의 프로그래머였다. (프로그래밍 언어인 Ada는 그녀의 이름에서 유래된 것이다) 그녀는 완료되지 않은 분석적 엔진을 위한 프로그램을 작성하여 기계가 체스 게임을 하고 음악을 작곡할 수 있도록 했을 것이다.

AI는 컴퓨터 과학의 소프트웨어적인 측면으로도 접근한다. 운영체제, 프로그래밍 언어, 현대적인 프로그램들을 작성하는데 필요한 도구들이 여기에 해당한다. 이것들은 AI 분야를 개척하는데 필요한 일부분이 될 것이다. AI는 컴퓨터 과학에 많은 아이디어를 제공하여 큰흐름을 개척했다. 예를 들면, 시분할처리, 대화형 번역기, 마우스와 윈도우즈가 장착된 개인용 컴퓨터, 빠른 개발환경, 링크드 리스트 데이터형, 자동 저장 관리기, 기호화를 위한 핵심적인 개념, 함수, 선언, 객체지향 프로그래밍 등이 여기에 해당한다.

1.9 제어이론과 인공두뇌학(Control theory and cybernetics)

•인공물이 어떻게 스스로 동작할 수 있을까?
알렉산드리아의 크테시비오스(Ktesibios, 250 B.C.)는 최초로 스스로 제어하는 기계를 만들었다. 물시계 조절장치를 통하여 흐름 속도를 지속해서 유지하도록 한 기계였다. 이 발명은 인공물이 하는 역할에 대한 정의를 재설정하는 계기가 되었다. 그 이전에는 오직 살아 있는 것만이 환경 변화에 대응하여 행동을 변경할 수 있다고 생각했다. 스스로 조절하는 능력이 있는 제어 시스템의 또 다른 예로 증기기관 엔진이 있는데, 이것은 제임스 와트(James Watt, 1736-1819)에 의해서 발명되었고, 온도조절 장치는 코르넬리스 드레벨(Cornelis Drebbel, 1572-1633)이 발명했다. 그는 잠수함도 발명했다.

안정적인 피드백 시스템의 수학적 이론은 19세기에 개발되었다. 발명에 밑거름이 된 핵심적인 이론을 제공한 사람은 노버트 위너(Norbert Wiener, 1894-1964)였는데, 현재는 이것을 ‘제어이론’이라고 한다. 위너는 생물학에도 관심이 있었던 뛰어난 수학자였으며, 버트런드 러셀(Bertrand Russell)과 함께 일하며 수학적 제어 시스템간의 인지적인 연결을 연구했다. 심리적 모델로 제어 시스템을 연구한 크레이크(Craik)처럼, 위너와 그의 동료인 아르투로 로젠블루스(Arturo Rosenblueth), 줄리언 비글로(Julian Bigelow)는 현재 상태와 목표 사이에서 발생하는 오류를 최소화 하기위한 조절 메커니즘의 동작을 확실히 보여 주었다.

1940년대 후반에 위너는 워렌 스터지스 맥컬로치(Warren McCulloch), 월터 피츠(Walter Pitts), 존 폰 노이만(John von Neumann)과 함께 영향력 있는 컨퍼런스를 조직해 새로운 수학적 및 인지를 위한 계산적인 모델을 탐구했다. 위너의 책인 사이버네틱스(Cybernetics, 1948)는 베스트셀러가 되었으며, 대중들에게 인공적인 지능 기계에 대한 가능성을 불러일으켰다.

당시 영국의 W. 로스 애쉬비(Ross Ashby, 1940)도 유사한 아이디어를 개척했다. 애쉬비, 앨런 튜링, 그레이 월터 등은 “위너의 책이 출간되기 전에 위너적인 생각을 한 사람들”이라는 목적의 라티오 클럽(Ratio Club)을 결성했다. 두뇌에 대한 애쉬비의 설계(1948, 1952)는 생체적인 장치들의 사용에 의해서 창작될 수 있는 지능적인 생각에 심혈을 쏟은 것이었다. 생체적인 장치들은 안정적으로 행동을 적용하도록 적절한 피드백을 반복하는 것이었다.

현대의 제어 이론은 확률적(추정적)으로 최적화하여 제어하는 요소를 가지고 있으며, 목적 함수를 최대화하는 시스템을 설계하려는 목표를 가지고 있다. AI와 제어 이론은 서로 밀접하게 연관되어 있음에도 불구하고 서로 다른 분야이다. AI와 제어 이론은 수학적인 기법과 세상의 모든 관점을 아우르는 문제 사이에 연관되어 있다.

미적분학, 행렬 대수, 제어이론 도구들은 지속적인 변수들의 고정된 집합으로 기술되는 시스템에 적용된다. 반면에, AI는 이러한 한계(제한)를 극복하는 길을 모색하고 있다. 논리적인 추론과 계산적인 도구들은 AI 연구자들이 언어적인 관점과 같은 문제들을 고려하도록 해주고 제어 이론가들의 관점의 범위를 완전히 벗어나도록 해준다.

1.10 언어학(Linguistics)

•언어는 어떻게 생각과 연관되어 있는가?
1957년에 B. F. 스키너(Skinner)는 언어 행동(Verbal Behavior)을 출간했다. 이것은 이 분야의 전문가가 언어 학습에 접근하는 행동을 상세하고도 포괄적으로 기술한 것이었다. 그러나 신기하게도 이 책을 논평한 노암 촘스키(Noam Chomsky)도 이 책만큼이나 잘 알려져 있다. 노암 촘스키는 구문론적인 구조라는 그만의 이론으로 이 책을 출간했다.

촘스키는 행동가들의 이론은 언어의 창조적인 부분에 주목하지 않는다고 지적했다. 어린이들이 전에 들어보지도 못한 문장들을 어떻게 이해하고 만들어 내는지 설명하지 못하고 있다. 구문론적인 모델을 기반으로 하는 촘스키의 이론은 인디언 언어학자인 파니니(Panini, 350 B.C.) 시절로 거슬러 올라가서 이것을 설명할 수 있게 했다. 그 이전의 이론과는 다르게, 이것은 그가 프로그램한 원리에 대해서 충분히 형식을 잡은 것이었다.

현대 언어학과 AI는 거의 동시대에 탄생했고 같이 성장하면서 계산적인 언어학 혹은 자연어 처리라는 유합된 분야에서 서로 교차하고 있다. 언어를 이해하는 문제는 1957년에 출현한 것보다도 더 복잡해 졌다. 언어 이해는 주제와 문맥 이해를 해야 하지, 문장 구조를 이해하는 것이 아니다. 그러나 이러한 관점이 1960년대까지는 폭넓게 받아들여지지 않았다. 지식을 표현하고자 하는 최근의 작업은 언어와 언어학적인 연구로 형성되고 있다. 이것은 언어를 철학적으로 분석하는 작업과 연관되어 있다.

1.11 지능적인 에이전트(Agent)

에이전트는 센서를 통하여 환경을 감지하고 구동기를 사용하여 행동한다. 에이전트를 사람에 비유하면, 센서는 눈, 귀, 코 등이고, 구동기는 손, 다리, 성대 등이 될 수 있다. 에이전트를 로봇에 비유하면, 센서는 카메라, 적외선 거리 측정기 등이고, 구동기는 각종 모터가 될 수 있다. 에이전트를 소프트웨어에 비유하면, 센서는 키보드, 파일, 네트워크 등에서 발생하는 입력 데이터이고, 구동기는 출력장치들을 통한 출력 데이터가 될 수 있다. 에이전트의 동작을 정리하면 다음과 같다.

환경 → 센서 → 인지 → 행동 →구동기 → 환경

좋은 에이전트는 합리적인 인지와 행동을 한다.

에이전트의 여러 가지 형태

(1) 택시 기사
• 수행능력: 안전, 신속, 준법, 편안, 최대이익
• 환경: 도로, 교통흐름, 보행자, 손님
• 센서: 속도계, GPS, 카메라, 엔진 상태표시
• 구동기: 핸들, 가속페달, 브레이크, 경적

(2) 의료진단 장비
• 수행능력: 환자의 건강 점검, 비용 절감
• 환경: 병원, 환자, 의료진
• 센서: 판독, 환자의 응답, 발견
• 구동기: 검사, 진단, 질문, 정보표시

(3) 인공위성 이미지 분석
• 수행능력: 정확한 이미지 선별, 분석
• 환경: 인공위성으로부터 이미지 다운로드
• 센서: 화소, 색상 배열
• 구동기: 이미지 표시 장치

(4) 로봇 선별기
• 수행능력: 선별의 정확성
• 환경: 바구니가 달린 컨베이어 벨트
• 센서: 카메라, 조립된 각도 센서
• 구동기: 조립된 팔과 손


(5) 정유 제어장치
• 수행능력: 순수성, 순도, 선별성, 안전성
• 환경: 정유 작동기
• 센서: 온도, 압력, 화학적 센서
• 구동기: 밸브, 펌프, 표시장치

(6) 대화형 영어 교사
• 수행능력: 학생의 시험점수
• 환경: 학생들, 시험기관
• 센서: 키보드 입력, 발음
• 구동기: 연습문제, 제안, 교정

환경의 여러가지 형태
① 전체관찰(Fully observable) / 부분관찰(Partially observable)
② 단일 에이전트(Single agent) / 다중 에이전트(Multi agent)
③ 결정적(Deterministic) / 추론적(Stochastic)
④ 가끔발생(Episodic) / 연속발생(Sequential)
⑤ 부분적(Discrete) / 연속적(Continuous)
⑥ 알려짐(Known) / 모름(Unknown)

환경의 여러 가지 종류
① 퍼즐 게임: 전체관찰, 단일 에이전트, 결정적, 연속 발생, 부분적
② 체스 게임: 전체관찰, 다중 에이전트, 결정적, 연속 발생, 부분적
③ 포커 게임: 부분관찰, 다중 에이전트, 추론적, 연속 발생, 부분적
④ 주사위 게임: 전체관찰, 다중 에이전트, 추론적, 연속 발생, 부분적
⑤ 택시 운전: 부분관찰, 다중 에이전트, 추론적, 연속 발생, 연속적
⑥ 의료 진단: 부분관찰, 단일 에이전트, 추론적, 연속 발생, 연속적
⑦ 이미지 분석: 전체관찰, 단일 에이전트, 결정적, 가끔 발생, 연속적
⑧ 로봇 선별기: 부분관찰, 단일 에이전트, 추론적, 가끔 발생, 연속적
⑨ 정유 장치: 부분관찰, 단일 에이전트, 추론적, 연속 발생, 연속적
⑩ 영어 교사: 부분관찰, 다중 에이전트, 추론적, 연속 발생, 부분적

에이전트 구조
에이전트 = 아키텍처 + 프로그램.

에이전트 종류
(1) 단순 반응 에이전트
(2) 모델 기반 반응 에이전트
(3) 목표 기반 에이전트
(4) 도구 기반 에이전트
(5) 학습 에이전트

1.12 맺음말

지금까지 인공지능(AI)에 대한 소개와 함께 AI의 지난 역사를 통하여 AI의 관점들 및 기술들의 원리에 대해서 알아봤다. AI에 대한 기본지식을 철학(Philosophy), 수학(Mathematics), 경제학(Economics), 신경과학(Neuroscience), 심리학(Psychology), 컴퓨터공학(Computer engineering), 제어이론과 인공 두뇌학(Control theory and cybernetics), 언어학(Linguistics)적으로 요약했으며, 인공지능(AI)의 기본 모델인 지능적인 에이전트(Agent)에 관해서 기술했다.

필자는 몇 년 전만 하더라도 인공지능(AI: Artificial Intelligence)에 대해서 너무 막연한 실현 불가능한 주제로 어렵게만 생각하고 있었다. 그런데, 요즘 필자는 AI라는 주제를 다시 바라보고 있다. 수년 전 스티븐 스필버그 감독의 AI라는 영화가 있었다. 주인공으로 등장하는 소년은 지능형 로봇이었지만 자신이 로봇임을 부정하며 피노키오가 세상 여행을 하듯이 여러 가지 AI 세상을 경험하면서 결국에는 바닷속으로 침몰해 버린 맨허튼에서 그를 제작한 아버지를 만난다.

아버지는 맨허튼까지 찾아온 그의 AI를 경이로운 눈으로 바라본다. 필자는 이 장면을 아직도 생생하게 기억하고 있다. 물론 영화는 픽션이므로 현실과는 거리가 먼 상상의 세계이지만, 그 속에 담겨있는 이야기들을 통해서 배울 것이 많은듯하다.

인공지능(AI)은 모든 학문 분야와 연관되어 있다. 특히 철학, 수학, 심리학, 컴퓨터공학, 언어학 등과 많은 연관성을 가지고 있으며 공부해야 하는 주제들도 많다. 앞으로 필자는 인공지능(AI)에 대해서 컴퓨터 알고리즘으로 구현할 방법들을 찾아 지속해서 연구할 생각이다.

최근에 필자가 집필한 “직접 코딩하면서 배우는 머신러닝/딥러닝” 책을 참고해도 좋을 듯하다. 책은 아래 커널연구회나 시중 온라인서점에서 “커널연구회”로 검색하여 구매할 수 있다.

아울러, 필자는 인공지능/머신러닝 기능을 실제로 구현하는 과정을 많은 사람과 공유해볼 생각이다. 필자가 앞으로 연재할 “똑똑한왕자 머신러닝 프로젝트”는 작은 시작에 불과하지만, 계속 여러 사람과 공유하고 협업하여 더불어 성장할 수 있는 초석이 되었으면 한다. 또한, 필자가 운영하는 커널연구회(www.kernel.bz) 웹사이트에도 지속해서 관련 내용을 올릴 예정이니 많은 관심과 격려 바란다.

<저작권자©스마트앤컴퍼니. 무단전재-재배포금지>


100자평 쓰기