티스토리 뷰

기계학습

규칙기반 전문가 시스템

path7inder 2014. 10. 27. 02:36

< 아래 글은 '인공지능 개론'을 읽고 쓰는 글입니다. >


지식이란?

어떤 주제나 분야에 대해 이론적 혹은 실제로 이해한 것을 말한다. 지식은 현재 알려진 것의 총집합이다.


 전문가는 특정 분야에 관해 사실과 규칙의 형태로 표현할 수 있는 깊은 지식과 다양한 실제 경험을 갖춘 사람이다. 전문가는 다른 사람이 할 수 없는 일을 할 수 있다.


 전문가는 보통 자신의 지식을 생성 규칙의 형태로 표현한다.


 생성 규칙은 IF(전건) THEN(후건) 문으로 나타낸다. 생성 규칙은 지식을 표현할 때 가장 많이 쓰이는 유형이다. 규칙은 관계, 추천, 지시, 전략, 휴리스틱을 나타낼 수 있다.


관계

IF        '연료 탱크' 가 비었다.
THEN   차가 멈췄다.

추천

IF          가을이다.
AND      하늘이 흐리다.
AND      일기예보는 보슬비다.
THEN    조언은 '우산을 가지고 다니는 것' 이다.

지시

IF        차가 멈췄다.
AND    '연료 탱크' 가 비었다.
THEN  '차에 연료를 공급' 한다.

전략

IF        차가 멈췄다.
THEN  '연료 탱크' 가 비었다.
          1단계를 완료했다.

IF        1단계를 완료했다.
AND     '연료 탱크' 가 가득 찼다.
THEN    '배터리를 확인' 한다.
            2단계를 완료했다.

휴리스틱

IF        시료는 액체이다.
AND    '시료의 pH' < 6
AND    '시료의 냄새' 가 시큼하다.
THEN  '시료의 성분' 은 '아세트산' 이다.
 


 특정 분야의 문제에 관해서 전문가 수준으로 동작할 수 있는 컴퓨터 프로그램을 전문가 시스템이라 한다. 가장 널리 쓴이는 전문가 시스템은 규칙기반 전문가 시스템이다.


 규칙기반 전문가 시스템을 개발하는 데 있어서 틀(shell)을 많이 사용하는 추세다. 전문가 시스템 틀을 지식이 빠진 뼈대만 있는 전문가 시스템이다. 새로운 전문가 시스템을 만들기 위해 사용자가 할 일은 지식을 규칙의 형태로 추가하고, 관련 데이터를 제공하는 것이 전부다. 전문가 시스템 틀은 전문가 시스템을 개발하는 데 드는 시간을 크게 줄일 수 있다.


 전문가 시스템 개발팀에는 주제 전문가, 지식 공학자, 프로그래머, 프로젝트 관리자, 최종 사용자가 있어야 한다. 지식 공학자는 전문가 시스템을 설계하여 만들고 테스트 하며, 주제 전문가에게서 지식을 얻어서 추론 방법을 정하고 개발 소프트웨어를 고른다. 전문가 시스템 틀을 사용한 작은 규모의 전문가 시스템에서는 한 사람이 프로젝트 관리자, 지식 공학자, 프로그래머, 심지어 전문가까지 맡기도 한다.


 규칙기반 전문가 슷템의 기본 구성요소에는 기반 지식, 데이터베이스, 추론 엔진, 해설 설비, 사용자 인터페이스 등 다섯 가지가 있다. 기반 지식은 규칙의 집합으로 표현한 분야 지식을 포함 한다. 데이터 베이스는 사실 집합을 저장하고 있는데, 사실은 기반지식에 저장된 규칙의 IF 부분과 일치하는지 비교할 때 쓰인다. 추론 엔진은 규칙을 사실과 연결하고 전문가 시스템이 해를 구할 때까지 추론을 수행한다. 해설 설비는 사용자에게 전문가 시스템이 어떻게 특정 결론에 이르렀으며, 왜 특정 사실이 필요한지 설명한다. 사용자 인터페이스는 사용자와 전문가 시스템 간의 통신 수단이다.


 전문가 시스템은 기반지식과 추론 엔진을 분리하여 지식과 처리 과정을 분리하였다. 이를 통해 시스템을 쉽게 만들고 효율적으로 유지할 수 있다. 전문가 시스템 틀을 사용하면 지식 공학자나 전문가가 기반 지식에 규칙을 간단한게 입력할 수 있다. 각각의 새로운 규칙은 새로운 지식을 추가하며 전문가 시스템을 훨신 지능적으로 만든다.


 전문가 시스템은 문제 풀이 세션 중에 점화된 규칙을 추적하여 제한적인 해설을 제공한다.


 전통적인 프로그램과 달리 전문가 시스템은 불완전하고 불확실한 데이터를 다룰 수 있고 부정확한 추론을 허용한다. 그러나 사람과 마찬가지로 전문가 시스템도 정보가 불완전하고 불분명할 경우에는 실수할 수 있다.


 직접적인 탐색과 추론 방법에는 순방향 연결과 역방향 연결 추론 기법이 있다. 순방향 연결은 데이터 지향 추론이다. 이는 알려진 데이터부터 시작해 더 이상 점화되는 규칙이 없을 대까지 순방향으로 진행한다. 역방향 연결은 목표 지향 추론으로, 전문가 시스템이 목표(가정해)를 정하고, 그 추론 엔진은 이를 증명하기 위해 증거 찾기를 시도한다.


 주어진 사이클에서 규칙을 하나 이상 점화할 수 있다면 추론 엔진은 어떤 규칙을 점화할 것인지 반드시 결정해야 한다. 어떤 규칙을 선택할지 결정하는 방법을 충돌 해법이라 한다.


 규칙기반 전문가 시스템은 자연스러운 지식 표현, 통일된 구조, 처리 과정과 지식의 분리, 불완전하고 불확실한 지식을 다룬다는 것이 장점이다.


 규칙기반 전문가 시스템의 단점은 규칙들 간의 모호한 관계, 비효율적인 탐색 전략, 학습이 불가능하다는 점이다.


규칙기반 전문가 시스템은

'스무 고개' 를 하면서 정답의 범위를 좁혀가는 형태라는 생각을 했다.

다른 점은 정답이 항상 있다는 보장이 없으며, 모순된 규칙 또한 존재할 수 있다는 점

아직까지는 '인공지능' 이라기 보다는 '전문가 지식 사전' 에 가깝다고 생각한다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함