1 인공지능 강의 노트 (2017/4/3) 서울대학교 컴퓨터공학부 장병탁 (Version 0.9 수강생용. 외부에는 아직 공개하지 말아 주세요. Thanks.) 제 4 장 . 지식표현과 추론 4.1 논리기반 시스템 4.2 네트워크기반 시스템 4.3 프레임기반 시스템 4.4 규칙기반 시스템 4.5 사례기반 시스템 인간의 지능을 컴퓨터에 구현하기 위해서는 문제 해결에 사용하는 인간의 지식을 컴퓨터에 표현할 수 있어야한다. 여기서는 기호를 사용하여 인간의 지식을 명시적으로 표현하는 방법을 살펴본다. 지금까지 연구된 방법들을 논리기반 시스템, 네트워크기반 시스템, 프레임기반 시스템, 규칙기반 시스템, 사례기반 시스템의 다섯 가지로 분류하였다. 후에 연결주의와 머신러닝의 시대가 되면서 이들 기호기반의 명시적 지식 표현 방법들은 딥러닝을 통해서 데이터로부터 자동으로 학습되는 방법으로 전환되고 있다. 이번 장에서는 기본적인 기호적 지식표현 방법을 살펴보고, 머신러닝 기반의 자동 지식습득 방법들은 5-7 장에서 기술한다. 4.1 논리기반 시스템 기호 논리는 애매모호한 언어적인 지식을 형식화하여 명시적으로 기술하기 위한 좋은 도구이다. 인공지능은 연구 초기부터 명제 논리와 술어 논리 등 기호 논리에 기반하여 인간의 지식을 표현하고 추론하는 방법을 연구하였다. 구체적인 설명을 위해서 집안 일을 도와주는 홈로봇을 생각해 보자(그림 4.1). 로봇이 가정 환경에서 자연스럽게 사람을 도와주기 위해서는 상대하는 사람, 다루어야 할 물건, 집의 구조 등과 같은 환경에 대한 지식을 가질 필요가 있다. 이 지식을 술어논리(predicate logic)로 표현해 보기로 하자. 먼저, 개체들을 나타내기 위해서 다음과 같은 변수 기호들을 사용하자. o p: 사람(person) o o: 물체(object) o r: 방(room) o d: 장치(device) 로봇의 임무를 세가지로 나누어 청소(cleaning), 심부름(delivery), 엔터테인먼트 (entertainment)라고 하자. 로봇의 지식을 표현하는 술어문 P(x)는 모든 개체 x 에
16
Embed
제 4장 지식표현과 추론 - bi.snu.ac.kr · 제4장. 지식표현과 추론 ... 4.3 프레임기반 시스템 4.4 규칙기반 시스템 4.5 사례기반 시스템 인간의
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
인공지능 강의 노트 (2017/4/3) 서울대학교 컴퓨터공학부 장병탁 (Version 0.9 수강생용. 외부에는 아직 공개하지 말아 주세요. Thanks.) 제 4장 . 지식표현과 추론 4.1 논리기반 시스템 4.2 네트워크기반 시스템 4.3 프레임기반 시스템 4.4 규칙기반 시스템 4.5 사례기반 시스템 인간의 지능을 컴퓨터에 구현하기 위해서는 문제 해결에 사용하는 인간의 지식을
컴퓨터에 표현할 수 있어야한다. 여기서는 기호를 사용하여 인간의 지식을
명시적으로 표현하는 방법을 살펴본다. 지금까지 연구된 방법들을 논리기반
시스템, 네트워크기반 시스템, 프레임기반 시스템, 규칙기반 시스템, 사례기반
시스템의 다섯 가지로 분류하였다. 후에 연결주의와 머신러닝의 시대가 되면서 이들 기호기반의 명시적 지식 표현 방법들은 딥러닝을 통해서 데이터로부터
자동으로 학습되는 방법으로 전환되고 있다. 이번 장에서는 기본적인 기호적
지식표현 방법을 살펴보고, 머신러닝 기반의 자동 지식습득 방법들은 5-7 장에서
기술한다. 4.1 논리기반 시스템 기호 논리는 애매모호한 언어적인 지식을 형식화하여 명시적으로 기술하기 위한
좋은 도구이다. 인공지능은 연구 초기부터 명제 논리와 술어 논리 등 기호 논리에
기반하여 인간의 지식을 표현하고 추론하는 방법을 연구하였다. 구체적인 설명을
위해서 집안 일을 도와주는 홈로봇을 생각해 보자(그림 4.1). 로봇이 가정 환경에서 자연스럽게 사람을 도와주기 위해서는 상대하는 사람, 다루어야 할 물건,
집의 구조 등과 같은 환경에 대한 지식을 가질 필요가 있다. 이 지식을
술어논리(predicate logic)로 표현해 보기로 하자. 먼저, 개체들을 나타내기 위해서
다음과 같은 변수 기호들을 사용하자.
o p: 사람(person)
o o: 물체(object)
o r: 방(room)
o d: 장치(device)
로봇의 임무를 세가지로 나누어 청소(cleaning), 심부름(delivery), 엔터테인먼트
(entertainment)라고 하자. 로봇의 지식을 표현하는 술어문 P(x)는 모든 개체 x 에
2
대해서 “x 가 P 의 특성을 가진다”는 것이 참이다라는 명제를 표현하며,
술어식에서는 다음과 같은 문법을 사용하자.
P(x, y) :- Q(x), R(x), S(x, y) ó For all the entities x and y,
P(x, y) is true if (Q(x) and R(x) and S(x, y)) is true
그림 4.1 가사 도우미 인공지능 홈로봇
이제 홈로봇의 임무를 수행하기 위한 지식은 다음과 같이 술어 논리식들로 표현될
수 있다. 첫번째 술어식에서 오른쪽의 | 의 표시는 OR 를 의미한다.
// Home Robot Tasks
Robot_task(r, p, o, d) :- Cleaning(r) | Delivery(p, o) |
4.5 사례기반 시스템 사례기반 시스템은 과거의 경험 사례(case)를 그대로 기억함으로써 지식을
표현하는 방법이다. 과거의 문제를 해결하는데 사용했던 해를 변형하여 새로운 문제를 해결하는 것이 규칙을 정의하는 것 보다 사람에게는 쉽다는 사실에
기반한다. 과거의 사례를 저장하고 비슷한 케이스를 회상하여 변경하여 문제를
해결하기 때문에 사례기반 추론(case-based reasoning, CBR)이라고도 한다. 또한
사례를 계속 축적함으로써 경험에 의한 학습 효과가 있어서, 사례기반 학습의
변형으로도 볼 수 있다. 학습 관점에서는 머신러닝 알고리듬 중 k 최근법 분류기(k-nearest neighbor classifier)과 유사하다. 그러나 kNN 이 주로 수치화된
변수벡터로 사례를 기술하는데 반해서 CBR 은 상당히 표현력이 뛰어난 기호
기반의 사례 표현 방식을 취한다.
다음 그림은 프레임 구조로 기술된 사례의 예시이다. 자동차 고장 진단
문제(정면등이 켜지지 않는 문제)에 대해서 차종, 년식, 배터리, 등의 상태, 스위치
14
상태 등을 기술한 후, 그 해로서 진단할 것(퓨즈 고장), 수리할 것(퓨즈 교체)를
제시한다.
그림 4.15 사례기반 지식 표현 구조
CBR 은 다음의 4R 과정을 통해서 문제를 해결하고 학습한다.
o 검색(retrieve): 유사한 사례(case)를 찾는다. 과거 사례와 현재 사례의
기술에 대한 유사도(similarity) 측정을 사용한다. o 재사용(reuse): 현재 사례를 해결에 과거 사례를 사용한다. 과거의
지식을 현재의 문제에 적응시킨다(adaptation).
o 수정(revise): 해를 생성한다. 그리고 새로운 실제 상황에서 해를
평가한다(evaluation).
o 유지(retain): 올바른 해를 저장한다. 미래의 재사용을 위해서 사례를 학습한다(learning).
15
그림 4.16 사례기반 시스템의 문제해결 사이클. 추론과 학습.
사례를 표현하기 위해서는 어떤 측면을 문제와 해로 기술할 지를 결정하여야
한다. 보통은 다음의 방법들이 사용된다.
o 특징-값의 리스트 (특징벡터기반 시스템)
o 객체지향 표현 (프레임기반 시스템)
o 그래프 표현 (네트워크기반 시스템)
즉 CBR 은 다루는 도메인과 과제의 특성에 따라서 표현방법을 유연하게
선택한다. 앞에서 다룬 다른 지식표현 방법론들이 개발해 온 다양한 방식을
수용한다. CBR 은 과거의 사례를 재사용하기 위해서 새로 작성, 기존것 변형,
해의 유도의 방식을 사용한다.
o 작성(composition): 여러 해를 결합하여 최상의 해를 만든다.
o 변환(transformation): 과거 사례의 해를 변형하여 사용한다.
o 유도(derivation): 해를 도출하는 과정을 적용한다.
CBR 의 장점은 유지가 쉽고 사용함에 따라서 향상되고(학습), 일반 지식과 학습된 지식을 결합이 용이하며, 사용된 지식이 이해가 쉽다는 점이다. 지식 표현
관점에서 고려할 사항들은 i) 무엇을 저장할지를 결정해야 하고, ii) 구조를
선택하고, iii) 기억을 조직화하는 방법, iv) 일반적인 지식 등이다.
사례기반 추론 방법은 안내 데스크나 진단 문제와 과거의 유사한 상황을
고려하는 의사 결정 문제 등에 잘 활용될 수 있다.
참고 문헌.
16
Quillian, M. R., Semantic Memories, In M. M. Minsky, editor, Semantic Information Processing, pages 216-270. Cambridge, MA: MIT Press, 1968 Minsky, M., A Framework for Representing Knowledge, In: The Psychology of Computer Vision, P. Winston (Ed.), McGraw-Hill, 1975