2. 인공지능이 지식을 받아들이는 방법

논리기반 지식표현, 규칙기반 지식 표현

by 굳세라핌

당신은 다음의 문제를 어떻게 풀어나가는가?

-----------------------------------------------------------------------------------------------------------------

다음 조건(지식)을 이용하여 12가지 동물을 배열하세요.

동물 : 원숭이, 기린, 코알라, 소, 개, 미어캣, 타조, 너구리, 곰, 말, 사자, 고양이

기린은 코알라와 같은 세로줄에 있고, 원숭이보다 오른쪽에 있으며, 원숭이보다 아랫줄에 있다.


원숭이는 소의 왼쪽 윗줄에 있으며, 소는 고양이 바로 위에 있고, 말은 고양이보다 왼쪽에 있으며 고양이와 같은 가로줄에 있다.


3.곰은 사자의 바로 오른쪽에 있고 타조는 소와 같은 가로줄에 있으며, 코알라는 말 바로 옆에 있다.

4, 미어캣은 소의 오른쪽에 있고, 너구리는 고양이와 같은 가로줄에 있으며, 개는 곰 바로 옆에 있다.

-----------------------------------------------------------------------------------------------------------------

우리는 매우 자연스럽게 지식을 받아들이고 추론하여 이 문제를 풀어나간다. 그런데 인공지능은 이런 지식을 어떻게 받아들이고 추론할 수 있는 것일까?

사람들은 컴퓨터가 등장한 시점부터 컴퓨터가 사람의 지식을 활용할 수 있도록 정리하는 방법에 대해 매우 오랫동안 고민해왔다.

위의 문제를 컴퓨터가 풀게 하기위해 사람들은 논리기반 지식 표현을 사용했다. 논리표현은 고대 그리스시대부터 있던 표현이다. 가장 유명한 표현이 소크라테스와 관련된 논리이다.

인간은 모두 죽는다.

소크라테스는 인간이다.

따라서 소크라테스는 죽는다.

이러한 구조의 논리표현을 컴퓨터가 이해할 수 있도록 기호를 사용해서 문장을 표현하고, 이를 통해 문장이 참인지 거짓인지 알아보는 것이 컴퓨터에서의 논리라고 볼 수 있다. 논리는 명제논리와 술어논리로 나누어진다.


명제는 참, 거짓을 분명하게 판정할 수 있는 문장을 말한다. 예를 들어 ‘곰은 사자의 오른쪽에 있다.’라는 문장은 참, 거짓을 분명히 판별할 수 있는 문장이다. 그러나 ‘내일 놀러 가자’ 는 참, 거짓을 분명히 판별할 수 없기 때문에 명제가 아니다. 명제는 기존 지식의 참, 거짓 분별을 통해 새로운 지식을 추론해낼 수 있다. 그러나 명제의 경우 ‘모든 타조는 날지 못한다.’ 와 같은 표현을 할 수 없다.

이러한 명제의 단점을 보완하기 위해 술어논리가 등장하게 된다. 술어논리는 ‘모든’이라는 기호와 ‘어떤’이라는 기호를 사용하여 더 구체적으로 지식을 표현할 수 있다.

예를 들어 앞서 봤던 ‘인간은 모두 죽는다’ 라는 문장은 술어논리에 해당이 된다. 여기에 명제인 ‘소크라테스는 인간이다’ 라는 문장이 더해지며 ‘따라서 소크라테스는 죽는다’라는 새로운 지식을 이끌어낼 수 있게 된다.

술어논리로 지식을 입력해주면 처음에 봤던 동물 배열하기 문제까지도 인공지능이 풀 수 있게 된다.

이러한 논리기반 지식 표현은 문제 해결 방법을 설명하기도 쉽고, 논리적으로 일관성 있는 결론을 내리는 장점이 있다. 그러나 한계점 또한 명확하다.

첫번째, 논리는 모순적인 내용을 처리할 수 없다. 논리는 모순이 없는 지식을 기반으로 하지만, 현실 세계에서는 예외와 모순이 존재한다. 예를 들어 ‘모든 새가 날 수 있다.’라는 지식과 ‘타조는 새이다.’라는 주장이 함께 있을 때 논리는 타조가 날 수 있다는 결론을 내릴 수도 있다.

두번째, 모든 지식을 미리 정의내리고 컴퓨터에 입력하기는 쉽지 않다. 현실세계의 문제는 매우 복잡하고 다양하기 때문에 모든 가능성을 미리 예측하고 논리로 표현하기에는 어렵다. 그래서 모든 상황에서 대응하기란 쉽지 않다.

이 외에도 흔하게 쓰이는 방법은 규칙기반 지식 표현이 있다.

IF 비가 온다면 THEN 우산을 가지고 나간다

‘만약 ~ 이면, ~이다.’ 와 같이 조건을 제시하고 결론을 내려주는 형태의 문장을 ‘규칙’이라고 한다.

예를 들어 ‘만약 비가 온다면, 우산을 가지고 나간다.’라는 문장은 조건과 결론으로 이루어져 있다. 이처럼 조건과 그에 따른 결론으로 이루어진 문장들을 규칙으로 정의한다.

조건은 하나 이상의 기준을 가질 수 있다. 예를 들어 ‘IF 구름이 끼고 AND 바람이 분다면 THEN 우산을 준비해라’ 와 같이 조건을 여러 개 포함할 수 있다. 또한 규칙을 이어서 다양한 규칙이 서로 연결성 있게 표현할 수도 있다.

규칙기반 지식 표현은 쉽게 규칙을 수정하거나 추가할 수 있다는 장점이 있다.

이 외에도 지식을 표현하는 방법으로는 의미망, 프레임, 함수, 스크립트, 온톨로지 등 매우 다양하다.

초기의 인공지능 시스템은 이러한 지식표현을 바탕으로 만들어졌다. 대표적으로 규칙기반 시스템이 있는데 이는 지식을 규칙으로 표현하고, 주어진 문제 상황에서 조건을 확인하고 만족하는 규칙을 찾아 실행하는 지식 기반 시스템이다. 규칙기반 시스템 중 가장 활발하게 응용되고 있는 시스템은 ‘전문가 시스템’이다. 전문가 시스템은 특정 분야의 전문적인 지식을 기반으로 문제를 해결하고 의사결정을 도와주는 시스템이다.

예를 들어 1970년대에 개발된 MYCIN은 감염성 질병을 진단하고, 항생제를 처방하고, 그 추론을 자세히 설명할 수 있는 전문가 시스템이다. 논리적인 규칙과 진단 지식을 활용하여 환자의 증상과 데이터를 분석해 질병을 진단하는데 효과적으로 사용되었다. 현재도 의학분야에서 전문가 시스템 연구는 활발하게 진행되고 있다.

그러나 규칙기반 시스템의 경우 이미 지식이 다 입력되어 있고, 규칙이 어긋나지 않는 특정 상황에서만 활용할 수 있다는 한계가 있다.

keyword
작가의 이전글1. AI 발전에 대한 간단한 개념 정리