2022. 4. 15. 16:09ㆍ2022-1/인공지능
1. 전문가 시스템
전문가 시스템이란
특정 도메인에서 인간 전문가처럼 답변을 하거나, 복잡한 문제를 풀거나, 의사 결정을 내릴 수 있는 컴퓨터 시스템
-사용자는 전문가 시스템에 의존하여 특정 분야에서 복잡한 계산을 하거나, 분석, 예측 등을 할 수 있다
인공지능 소프트웨어의 최초의 성공 모델
1965년 스탠포드 대학 연구진
1970년 최초 개발, 80년대에 확산
초기 전문가 시스템
-MYCIN(감염성 질환 진단 및 항생제 처방 전문가 시스템),DENDRAL(화합물의 분자구조 분석 전문가 시스템)
전문가 시스템 개발 배경
인공지능의 초창기에는 이 세상에 존재하는 모든 문제를 "탐색"으로 해결할 수 있는 시스템을 만들고자 노력
=> GPS(General Problem Solver) 시스템
- GPS와 같은 시스템은 매우 제한된 영역에서만 작동 가능
실제적인 문제를 해결하기 위해 인공지능 연구자들은 보다 제한된 문제에 역량을 집중시 하는 것이 필요하다는 것을 깨달았다.
=> 전문가 시스템(expert system)
-전문 지식 + 추론 기법 중요
-지식 기반 시스템(Knowledge-based system)의 예
전문가 시스템 구조
기존의 절차적 코드가 아니라, 규칙으로 표현되는 지식을 통해 추론함으로써 복잡한 문제를 해결하도로 설계
MYCIN (1972-80)
박테리아 감염병 질환을 진단하고 적절한 항생제를 처방하는 대화형 프로그램
-제한된 테스트에서는 그 성능이 전문의 수준과 같았음
-내과의사를 위한 상담용으로 설계되었기 때문에, 추론의 과정과 그 이유를 설명할 수 있는 능력을 가짐
-경험이 없는 신참 의사들을 보조하는데 매우 효과적
전문가 시스템의 역사
가장 활발하게 개발된 시기는 1970년대와 1980년대
전문가 시스템을 위한 언어들이 개발됨: LISH(1958), Prolog(1973)
1990년대 이후 전문가 시스템은 대중의 관심에서 멀어짐 WHY?
-전문가 시스템은 경험으로부터 학습 불가
-새로운 규칙을 스스로 생성할 수 없음
-인간 전문가의 경험을 추출하여 규칙 형태로 만들기가 어려움
-제한된 영역에서만 사용 가능
최근에는 SAP,Oracle 등의 비즈니스 S/W 플랫폼의 하나의 도구 형태로 전문가 시스템 기능을 제공
2. 전문가 시스템의 구성 요소
지식베이스+추론엔진+사용자 인터페이스
지식 베이스(Knowledge Base)
전문가 시스템을 만들기 위해서는 전문가로부터 문제를 풀기 위한 지식을 추출하고, 그 지식을 나중에 쉽게 사용할 수 있도록 체계화된 형태로 재편성해야 함
-이를 연구하는 학문-> 지식공학(Knowledge engineering)
어떤 특정 문제 영역에 관한 사실(fact)과 규칙(rule)으로 구성
-외부로부터 지식 추가 가능, 자동 학습은 안됨
-추론과정에서 기존 규칙으로부터 유도된 사실은 동적으로 추가될 수 있음
추론 엔진(Inference Engine)
추론 담당하는 부분
-문제를 해결하기 위해 지식베이스에 저장된 사실들과 규칙을 언제 어떻게 적용해야 될지를 결정
일반적으로 지식 베이스와는 상관없는 독립적 구조
-추론엔진은 거의 동일한 구조를 가지고 있음
규칙을 알려진 사실에 적용하여 새로운 사실을 추론 가능
설명, 디버깅 기능도 포함 가능
사용자 인터페이스
사용자와 전문가 시스템의 상호 작용을 지원함
-사용자로부터 문제를 입력 받음
-문제 해결 후 사용자의 의사 결정에 도움 되는 출력 제공
가능하면 User-friendly 하게 구현
명령어 방식보다는 그래픽 사용자 인터페이스 (GUI) 선호
3. 지식과 인공지능
지식과 인공지능
인간은 많은 지식을 보유하고 있으며 이러한 지식은 지능적인 행동을 할 때 큰 도움이 된다
-습득한 지식들을 이용하여 새로운 사실을 추론 가능
=> 지식은 인공지능에서 가장 핵심적인 요소 중의 하나로 간주됨
데이터, 정보, 지식
Data: 가공하기 전의 순수 측정치(raw data) ex) 빨간색, 7시 30분, 5명
information: 유의미하게 가공된 2차 데이터(data in context) ex) 사거리의 신호등이 빨간색으로 바뀌었다
Knowledge: 일반화된 정보, 정보 이용에 대한 노하우 제공 ex) 방금 내 차 앞의 신호등이 빨간색으로 바뀌었으므로 멈추어야 한다
지식 표현 방법
지식 표현의 종류
-생성 규칙(production rule)
-술어 논리(Predicate Logic)
-의미망(Semantic Net)
-프레임(Frame)
-개념 그래프(conceptual graph)
문제해결의 효율성을 위해 가장 적절한 지식 표현 방법을 선택
4. 규칙
지식 표현 - 규칙
전문가 시스템에서 가장 널리 사용되는 지식 표현 형태
-다른 지식 표현 방법에 비해 상대적으로 이해하고 작성하기 쉽다
규칙(rules)=생성 규칙(production rule)
-IF와 THEN의 두 부분으로 구성
-IF 부분(전제, antecedent), THEN 부분( 결론, consequent)
규칙에 AND/OR의 사용
규칙에 수학 연산자의 사용
5. 전문가 시스템에서의 추론
전문가 시스템에서의 추론
규칙 기반 전문가 시스템의 구조
추론 엔진은 장기기억장치의 규칙들이 단기저장장치의 사실들과 일치하는지를 비교
-규칙의 IF부분이 사실과 일치할 때: 규칙 점화, THEN 부분 수행
-THEN부분에 사실이 저장된 경우라면, 단기 기억장치에 추가
이 과정이 추론이 완료될때까지 반복
추론의 예
추론 방법의 종류
1. 순방향 추론(Forward chaining): 알려진 사실로부터 출발하여 결론을 이끌어 내는 방법
2. 역방향 추론(Backward chaining): 목표를 설정하고 이를 증명하는 증거를 찾는 방법
전통적인 프로그램과의 차이
-전통적인 프로그램: 알고리즘을 이용하여 순서대로 데이터 처리
-항상 같은 순서로 같은 연산 수행 => 정확한 해 제공
-전문가 시스템 추론: 기술된 순서가 없어, 다양한 추론 허용
-불완전하고 불확실하며 모호한 데이터를 다룰 수 있다
순방향 추론
알려진 사실로부터 추론을 시작하여 순방향으로 추론을 진행하는 방법
-한번에 가장 적절한 규칙이 선택되어 점화됨
-만약 점화할 수 있는 규칙이 여러개가 있으면 맨 첫번째 규칙이 점화됨
-규칙이 점화되면 규칙의 THEN부분에 있는 사실이 새로운 사실로 추가됨
-모든 규칙은 한번만 실행됨
-더 이상 적용할 수 있는 규칙이 없으면 추론 종료
기호 사용
추론 진행 과정
순방향 추론의 단점
사실을 모은 후에 이를 바탕으로 추론하는 것으로 자연스러운 방법
but 목표와 상관없는 규칙들이 점화될 수 있음
-전문가 시스템에 있는 수많은 규칙들이 있을 수 있다. 따라서 목표와 상관없는 사실들이 추가되면 너무 복잡해진다.
역방향 추론
목표에서 시작하여 사실 데이터가 이러한 목표를 지원하는지 확인하는 방법
-먼저 원하는 목표를 가지고 있는 규칙을 찾는다
-즉, 규칙의 THEN 부분에 원하는 목표가 있는 지를 검사한다
-목표를 가지고 있는 규칙이 발견되면,
-규칙의 IF 부분을 조사함
-IF 부분이 만족되지 않으면, 이것을 하위목표로 선정하여 다시 지식베이스를 탐색
-하나의 목표에서 하위 목표들이 많이 생성될 수 있기 때문에 이것들을 모두 스택에 저장함
기호 사용(revisited)
역방향 추론 과정
6. 충돌 해법
충돌 해법(Conflict Solution)
만약 전문가 시스템에 동일한 사실이 입력되어도 서로 상반된 결론을 내리는 규칙이 저장되어 있다면 어떻게 해야 할까?
충동을 해결하는 몇 가지 방법
-각 규칙에 우선 순위를 부여하고 가장 높은 우선순위를 가진 규칙을 점화하는 방법
-가장 특수한 규칙을 먼저 점화하는 방법
-단기 기억 장치에 가장 최근에 입력된 사실을 사용하여 규칙을 점화하는 방법 (가장 최근 사실이 믿을만하다고 가정, 각 사실에 시간 태그를 붙여야 함)
7. 전문가 시스템의 장점과 약점
장점
-IF_THEN을 사용하는 규칙은 인간 전문가의 지식을 표현하는 자연스러운 방법이다. (이해하기 쉽다)
-전문가 시스템에서는 지식베이스와 추론 엔진이 분리된다. 따라서 다른 영역에도 쉽게 적용 가능
단점
-지식을 학습할 수 없다. (규칙 변경 불가능, 규칙을 추가하지 못함)
-지식공학자가 지식베이스를 수정하고 유지해야 함
-탐색이 비효율적
-규칙이 많아지면 실행속도 느려짐. 따라서 일정 크기 이상의 전문가 시스템은 실시간 응용 시스템으로 만들 수 없음
-규칙이 많아지게 되면 규칙 간의 상호관계가 불명확해질 수 있음. 즉 유지보수가 어려움
'2022-1 > 인공지능' 카테고리의 다른 글
[인공지능] 6. 퍼지논리 (1) | 2022.04.15 |
---|---|
[인공지능] 5. 지식 표현 (0) | 2022.04.15 |
[인공지능] 3. 게임트리 (0) | 2022.04.15 |
[인공지능] 2. 탐색 (1) | 2022.04.15 |
[인공지능] 1. 인공지능 소개 (0) | 2022.04.15 |