로봇이 인간처럼 여러가지 일을 동시에 생각하고 스스로 학습할 수 있다면 어떨까.인류의 생활 수준을 껑충 뛰어오르게 만들 대사건임에 틀림없다.로봇은 인간의 추론능력을 어디까지 따라왔을까.
어떤 성에 작은 연못이 있었다. 그 연못에는 여러 가지 종류의 물고기들이 살고 있었다.
어느날 성안에 불이 났다. 그 소식이 연못에 전해지자 한 물고기가 빨리 다른 곳으로 피하자고 말했다. 그러나 다른 물고기들은 “성안에 불난 것이 우리들에게 무슨 상관이람?” 이라며 그 말을 비웃었다.
하지만 얼마 되지 않아 문제가 발생했다. 사람들이 성안의 불을 끄기 위해 연못으로 달려와 물을 퍼가기 시작했고, 급기야 연못의 물이 바닥나버렸다. 결국 미처 다른 곳으로 피하지 못한 많은 물고기들이 떼죽음을 당했다.
이 일화는 비단 물고기만의 이야기가 아니라 우리 인간이 환경에 적응하면서 살아가는데 사고와 판단 능력이 얼마나 중요한가를 단적으로 말해주고 있다. 우리들은 거의 매순간 크고 작은 많은 생각과 판단을 한다. 출퇴근길에 자동차를 운전하거나 길을 건널 때 신호등에 따라 행동을 하는 등의 일상적인 사고에서부터, 직장에서 전문적인 업무를 수행하거나 기업 경영에 관한 새로운 전략을 수립하는 것과 같은 수준 높은 사고에까지 그 경우가 매우 다양하다.
일반적으로 새로운 문제나 상황이 주어졌을 때 문제를 풀거나 상황에 적절한 판단을 내리는 지적 행위를 추론(reasoning)이라고 한다. 추론은 기본적으로 지식을 바탕으로 이뤄진다. 우리는 여러 분야에 대한 다양한 지식을 이용해 매일의 생활에서 잠시도 쉬지 않고 판단하고 사고한다. 그리고 사고나 판단이 조금이라도 잘못될 경우 우리는 큰 경제적 손실을 입거나 몸을 다쳐 때로는 생명을 잃기도 한다. 우리의 사회가 복잡할수록 우리의 판단과 사고 능력은 더욱 중요해진다.
기본은 논리적 추론
컴퓨터 기술이 발달하면서 인간의 사고 기능을 컴퓨터에 부여하기 위한 노력이 오래 전부터 진행돼 왔다. 이와 같은 추론기능이 컴퓨터로 구현될 경우 그 용도는 실로 다양할 것은 말할 필요도 없다. 많은 분야에서 인간을 대신해 컴퓨터가 판단하고 사고하는 시스템을 통해 인간이 수행하는 복잡한 작업이나 공정을 자동화할 수 있다. 또 대량의 정보를 분석하고 처리해야 하는 어렵고 복잡한 문제들을 컴퓨터가 효율적으로 분석하고 판단함으로써 인간의 훌륭한 보조자 역할을 수행할 수 있다.
컴퓨터가 사고하고 판단하게 하기 위한 추론기술은 초창기인 1960년대에는 주로 ‘술어논리’를 바탕으로 이뤄졌다. 즉 지식을 논리식으로 표현하고, 여기에 논리적 추론규칙을 적용하는 형태다. 예를 들면 ‘사람은 죽는다’(Men are mortal)와 ‘소크라테스는 사람이다’(Socrates is a man)는 지식을
(1) man(X) → mortal(X) (여기서 X는 변수)
(2) man(socrates)
으로 표현하고 이들로부터 추론규칙 ‘모더스 포넌스’(Modus Ponens: p(X) → q(X)를 바탕으로 p(a)로부터 q(a)를 도출하는 규칙)를 적용해
mortal(socrates)
즉 ‘소크라테스는 죽는다’는 결론을 도출할 수 있다. 다시 말하면 (1)의 좌측 항 man(X)와 (2)의 man(socrates)가 정합될 때 변수 X에 socrates를 대입함으로써 항이 일치하게 되며, 이때의 대입 내용이 (1)의 우측 항에 그대로 적용됨으로써 mortal(socrates)을 얻게 된다. 여기서 도출한 결론을 다른 지식과 결합시켜 새로운 결론을 도출하는 과정을 반복 수행하면 복잡한 추론이 가능해진다.
주가예측·군사분야 전문가시스템 등장
논리적 추론을 기반으로 한 컴퓨터의 추론능력은 1970년대에 들어 전문가시스템 기술에서 진가를 발휘하기 시작했다. 전문가시스템이란 특정 분야의 전문적 지식을 바탕으로 추론을 통해 인간 전문가와 같은 판단이나 결론을 내리는 컴퓨터 프로그램을 말한다. 특히 초창기의 의료진단(MYCIN), 광물탐사를 위한 시추 데이터의 지질학적 분석(PROSPECTOR), 전화선의 고장진단(ACE) 등을 비롯해 현재 수많은 전문가시스템이 의료진단, 공정제어, 기계의 고장진단 및 수리, 주가예측, 군사분야 등 다양한 분야에 활용되고 있다.
보통 전문가시스템에서는 지식을 규칙의 형태로 표현한다. 규칙이란 조건부와 결론부로 나누어지는데, 조건부의 조건이 만족되면 결론부의 결론을 도출하거나 결론부의 내용을 수행한다. 예를 들면 “몸에 열이 나고 기침을 하면 감기이다(또는 감기일 가능성이 크다).”(if high temperature and cough then cold). 이와 같은 규칙을 적용해 실제로 몸에 열이 나고 기침을 한다면 감기라고 판단한다. 이같은 단계를 여러번 거침으로써 복잡한 추론이 가능해진다.
전문가시스템도 추론의 기본 원리는 논리적 추론과 유사하지만 한가지 다른 점이 있다. 논리적 추론과 같이 규칙이 엄격하게 논리적으로 정확할 필요가 없다는 점이다. 예를 들면 “몸에 열이 나고 기침을 하면 감기이다”는 규칙이 꼭 100% 정확히 맞아야 할 필요는 없다.
두뇌를 모방한 컴퓨터, 신경망
인공지능의 초창기에 개발된 논리적 추론이나 전문가시스템의 추론 기법은 주로 기호를 바탕으로 이뤄진다는 특징이 있다. 즉 기호를 사용해 컴퓨터 내부적으로 지식을 표현하고 이를 적절한 규칙에 의해 변형함으로써 새로운 사실이나 판단을 도출하는 것이다.
그러나 이와 같은 기호적 방법은 인간의 지식이나 사고의 방식을 제대로 구현하기에는 많은 문제점이 있었다. 그 문제점의 대표적인 것이 인간이 갖고 있는 대부분의 불확실한 지식을 표현하기 어려울 뿐만 아니라 이들 지식을 사용해 주어진 상황에 적절한 결론을 도출하는 것이 어렵다는 것이다.
예를 들어 사람은 커피를 마시며 신문을 보고 음악을 듣는 일을 자연스럽게 행할 수 있다. 이때 머리 속에서 동시적으로 여러 가지 생각이 맴돌기도 한다. 그날의 주가를 나름대로 예측하기도 하고 회사 일에 대해 계획을 세운다. 기분이 내키지 않으면 다른 음악을 듣기도 하고, 습관적으로 허리를 쭉 펴는 동작을 취하기도 한다.
인간이 이처럼 동시다발적으로 사고할 수 있는 이유는 뇌세포가 ‘병렬적’으로 연관돼 있기 때문이다. 인간의 두뇌에는 약 1백40억개 정도의 뇌세포가 존재한다. 각 뇌세포는 약 1만-10만개의 다른 뇌세포와 연결돼 있다. 즉 뇌세포라는 기본적인 정보처리 단위가 대규모로 상호 연결돼 있어서, 뇌세포 간의 정보처리와 정보전달에 의해 전체적으로 복잡한 기능을 수행하는 것이다.
이에 비해 기존의 컴퓨터가 수행하는 작업의 패턴은 ‘직렬적’이다. 하나의 입력 데이터로부터 하나의 출력 데이터가 도출될 뿐 뇌세포의 경우처럼 정보 간에 상호연관성이 존재하지 않는다. 사실 컴퓨터가 대단해보이는 것은 정보처리의 속도가 빠르다는 점일 뿐이다.
인공두뇌 분야에서 이 문제를 해결하기 위한 방법으로 등장한 것이 신경망(neural network)이다. 신경망이란 한마디로 인간의 두뇌 구조를 모방한 컴퓨터다.
일본은 신경망이 그 계산 원리와 방법 면에서 기존 컴퓨터와 전적으로 다르다는 점을 깨닫고 1992년부터 10년 계획으로 신경망을 바탕으로 한 컴퓨터 개발을 목표로 야심찬 프로젝트를 시작했다. 이 컴퓨터 프로그램은 기본적으로 지금까지 컴퓨터를 사용한 계산이 논리적·분석적·순차적 정보처리인데 비해 직감적·종합적·병렬적 정보처리에 중점을 두고 있다. 이 프로그램의 목적은 인간과 유사하고 실세계의 다양한 정보를 처리할 수 있는 ‘유연한’ 정보처리기술을 개발하는 것이다.
현재 컴퓨터는 잘 정의된 문제, 즉 수학적·논리적으로 명확한 순서도가 있어서 이를 프로그래밍언어로 정확히 기술할 수 있는 문제를 푸는 데는 인간을 훨씬 능가한다. 하지만 문제가 잘 정의돼 있지 않거나 수학적 순서도를 찾기 어려운 문제들이 산재해 있는 실세계의 문제를 해결하는 데는 인간에 훨씬 미치지 못하고 있다.
스스로 공부하는 기계
인공두뇌 분야에서 추론 못지 않게 중요한 연구테마는 학습(learning)이다. 우리가 지능적인 사고나 행동을 할 수 있는 데는 기본적으로 학습능력이 있기 때문이다. 학습능력이야말로 변화하는 환경에 적응하며 복잡한 문제를 효율적으로 풀 수 있는 매우 효율적인 지적 기능이다. 학습 기능이 없는 사람이나 시스템이 얼마나 답답하고 불편한가를 생각해보면 학습이 얼마나 중요한가를 쉽게 짐작할 수 있다.
오래 전부터 컴퓨터에 학습 기능을 부여하기 위한 시도가 있었다. 인공지능 초창기인 1960년대 초 IBM 연구소에 있던 아서 사무엘이 체스보다 단순한 체커(checker) 게임 프로그램을 만들었다. 그런데 그는 이 프로그램에 스스로 학습할 수 있는 기능을 부여했다. 인간과 게임을 펼칠 때 인간이 두는 말의 위치를 기억하고, 어느 상황에서 자신이 유리하고 불리한지를 기억하는 프로그램이다. 게임이 많아질수록 그리고 고수와 만날수록 프로그램의 기량은 향상된다. 그 결과 얼마 되지 않아 주(state) 챔피언 수준까지 도달하게 됐다.
그후 학습에 대한 관심이 고조되면서 주어진 사례들로부터 새로운 개념, 예컨대 물리나 화학적 실험 데이터로부터 법칙을 추출하는 시스템과 같은 새로운 학습 방법이 개발돼 왔다. 최근 많은 관심을 모으고 있는 데이터마이닝(Data Mining)도 학습 기법을 이용한 것이다. 데이터를 분석하고 그 속에 감추어진 패턴이나 규칙을 추출함으로써 이를 고객관리, 판매전략 수립, 의료진단 등에 널리 응용하고 있다.
학습기능을 이용하면 많은 분야를 편리하고 지능적으로 처리할 수 있을 뿐 아니라 복잡한 일을 자동화할 수 있다. 여러분의 사무실에 아주 재치있는(학습능력이 뛰어난) 비서가 있어서 핵심 포인트만 일러주어도 모든 일을 척척 잘 처리해준다고 가정해 보자. 그 비서는 일을 처리할 때 한편으로 업무에 관한 여러 가지 전문지식이나 정보를 이용하기도 하고, 다른 한편으로 당신의 업무처리 스타일, 업무의 목적, 이전 업무의 성격, 당신의 개인적인 취향과 같은 개인적인 정보를 당신의 과거의 행동 패턴으로부터 학습한다. 그리고 그 결과를 적절히 활용함으로써 당신이 만족할 정도로 업무를 능숙하게 잘 처리할 수 있는 것이다.
이처럼 컴퓨터에 학습기능을 부여하는 것은 매우 흥미있을 뿐 아니라 그 용용성이 매우 크다. 현재 전자상거래, 정보검색 등의 분야에서도 보다 지능적인 서비스를 위해 사용자의 특성을 학습하는 연구가 진행되고 있다. 주인이 쉬는 동안 밤새도록 평소 주인이 선호하는 상품이나 정보를 컴퓨터가 분석해 제공해주는 세상이 오고 있는 것이다.
컴퓨터와 결합된 신인류
멀지 않은 미래에 거의 인간과 같은 정도로 높은 수준의 추론시스템이 개발되는 경우를 상상해보자. 또 웬만한 일은 컴퓨터 스스로 판단하고 결정할 뿐 아니라 환경의 변화에 따라 상황에 맞춰 행동하는 컴퓨터가 우리 곁에 있다고 가정해보자. 우리의 생활이 얼마나 편리해지고 또 인간의 능력이 얼마나 크게 확장되겠는가.
앞으로 컴퓨터는 인간 신체의 일부, 그리고 생활의 일부로 자리잡아 인간과 공존하게 될 것이 분명하다. 심지어 컴퓨터와 인간의 결합체인 새로운 종(種)의 출현이 예측될 정도다. 그들은 조상에 비해 월등한 지능과 능력을 소유하고 전적으로 다른 가치관을 가진채 다른 환경에서 생활하게 될 것이다. 우리는 이들을 신인류(neo-human)라고 불러도 좋으리라. 물론 우리는 이렇게 발달된 컴퓨터 기술이 악용되거나 오용되지 않고 우리 인간의 편익과 복리를 증진하는데 사용될 수 있도록 최선의 노력을 다해야 할 것이다.