데이터, 정보, 지식, 진리의 차이
- 데이터 : 관측 센서로 취득한 값
- 정보 : 잡음과 불필요한 데이터를 제거한 데이터
- 지식 : 정보의 개념, 체계화
- 진리, 정의 : 지식을 보편/이론화 한 결과물
지식기반 시스템
- 인공지능 시스템의 문제 풀이 : 지식의 표현/활용이 중요
<-> 일반 프로그램 : 데이터와 처리 규칙(프로그램)
- 문제 영역 관련 지식(지식 베이스) + 지식 기반 문제 풀이 기능(추론 기관)으로 구성
지식의 표현
- 문제 해결을 위한 문제 기술
- 컴퓨터에서 실행가능한 형태
인공지능 프로그램
- 일반 프로그램과 달리 상황에 대해 어느 지식을 사용할 지 동적으로 제어
-> 컴퓨터 내부서 지식 저장, 처리 메커니즘이 핵심
- 모든 문제에 통일적으로 표현할 수 있는 방버은 존재 하지 않음.
-> 문제의 논리 구조를 분석하여 표현방법을 고려함
지식 사상
- 인공지능 기법으로 문제 해결 -> 많은 지식 + 해를 얻기위해 지식 처리 메커니즘 필요
- 사람이 사용하는 지식을 컴퓨터에서 처리하기 위해 컴퓨터 내부 표현 형태로 사상
- 추론 결과를 역사상하여 결론을 얻을 수 있음.
=> 지식 표현 시스템이 사상과 역사상을 명확히 하느냐에 따라 표현에서 중요한 요소
지식 사상의 예시
- 논리를 이용한 사실 표현
-> 철수는 사람이다. ( 초기사실)
-> man(철수) (초기 사실 내부 표현)
-> 모든 사람은 생각한다 (추론 매커니즘)
-> think(철수) (추론 사실 내부 표현)
-> 철수는 생각한다. (추론 사실)
지식 분류하기
- 문제에 대한 지식 : 문제 관련 사실로 얻는 지식
- 대상 세계에 성립하는 규칙, 법칙 : 지식 베이스의 지식을 맹목적 사용시 탐색 가지가 크게 증가하게됨
=> 효율적 탐색을 위해 성립 규칙과 법칙 이용
- 메타 지식 : 지식에 관한 지식으로 문제 해결시 지식을 아떻게 활용할 것인가를 말함.
=> 수집 지식으로 추론 방법 제어시 사용
지식 표현 조건
- 특정 분야의 복잡한 정보를 구조화 하여 지식으로 나타내기 위해 다음 조건이 요구됨
- 표현 방법의 적합성 : 모든 지식 정확히 표현
- 추론 정합성 : 표현 구조를 처리하여 새 지식을 유도하기에 용이해야함
- 추론 효율성 : 부가 정보를 지식표현 구조에 적절히 포함시킬 능력 필요
- 지식 획득 능력 : 지식을 쉽게 획득할 수 있는 능력 필요. 지식 베이스에 새 지식 삽입, 프로그램이 스스로 지식 취득
지식 표현 유형
1. 절차적 지식 procedural knowledge 표현방법
- LISP(list processing) 같은 프로그램 언어로 명령어 집합 표현
- 지식 사용 = 프로그램 실행 -> 지식 제어 정보가 지식에 포함 -> 효율적이지 못함
2. 선언적 지식 declarative knowledge 표현방법
- 독립적 지식으로 구성, 지식 운용 목적 프로그램으로 추론에 사용
- 지식은 나열, 사용방법은 제공안됨 -> 지식 이용 방법을 가진 프로그램이 필요
논리를 이용한 지식 표현
1. 명제 논리 proportional logic
- 명제를 기호 형태로 표현.
*명제 proposition : 참, 거짓을 판단할수 있는 문장
- 예시
이것은 유리이다. = GLASS
유리라면 잘 잘린다. = GLASS -> FRAGILE
- 논리 연산자
- 긍정 논법 nodus ponens : X, X -> Y 두 명제로 결론 Y라는 명제를 얻는 과정
2, 술어 논리 predicate logic
- 명제 논리를 확장. 술어 + 객체 = 한 문장
ex. 명제 "강아지는 포유류이다."가 있을떼, "강아지(DOG)"이라는 객체가 "포유류(mammal)" 술어 수식받음.
=> mammal(DOG) 과 같이 표현 가능
- 변수와 함수 사용 -> 문장은 참조하는 변수값에 따라 참/거짓이 됨.
- 한정자 quantifier: 변수 범위 지정
=> 술어, 상수, 변수, 한정자, 논리연산자를 문법에 맞게 만든 문장을 정형식 well-formed formulas:wff
논리 표현 지식 이용
- 지식 베이스에서 단위 지식 검색 : 매칭이나 해식 사용
- 함축된 지식의 경우 : 명확하게 기술되지 않은 정리 증명의 경우 탐색 가지가 크게 증가
- 논리 기반 추론은 명확한 추론 규칙 이용 -> 결과는 항상 참, 저장 지식은 독립, 새 사실이 발견시 지식 양은 증가
규칙을 이용한 지식표현(생략)
시맨틱 넷 기반 지식 표현
1. 시맨틱 넷 semantic net
- 규칙 기반 지식 표현법의 문제점 : 융통성 적고, 구조화 되지 않음 -> 모형화나 특정지식 표현 힘듬
- 시맨틱 넷 : 지식 사이 관계(순서) 표현. 네트워크 기반 지식 표현 법, 노드 집합과 노드를 연결하는 아크 집합으로 구성
- 노드 : 객체 , 개념, 사건
- 아크 : 노드 사이 관계 (isa - is a, ako - a kind of, has-part 등)
* isa는 하나의 인스턴스, ako는 어느 부류의 한 종류, has-part 객체의 구성 일부
2. 속성 상속 property inheritance
- 위 예시에서 "꼬리"는 "개" 객체의 속성인데 하위인 "복슬이"가 받음
- 속성 상속 : 상위 노드의 속성을 하위 노드가 따르는 것
3. 중앙 집중 지식 장점
- 지식 구성이 쉬움
- 표현 지식이 잘못된경우 쉽게 수정
- 시간 흐름에 따라 최신 지식 유지 쉬움
- 지식 분배가 자동적으로 수행
전문가 시스템 시작
- 1960년대 인공지능 학자들이 일반 문제 해결을 위한 일반 문제 풀이기 GPS general problem solver를 만들고자 함.
-> 인간 사고 과정을 시뮬레이션하려 하였으나 일반 해를 구하기가 어려웟음.
- 특정 분야 문제를 해결할수 있는 구체적인 프로그램 만드는 방법 연구
- 1970년대 : 문제 정형화 표현 기술, 기억 용량 사용시간을 줄이며 문제 해결하는 탐색 방법 연구
-> 문제 정형화, 추론과정 보다 응용 분야의 지식 표형 방법이 중요함을 찾음.
- 전문가 시스템 expert system : 전문가의 지식, 전략을 시뮬레이션하여 의사결정 지원하는 시스템
- 지식 공학 : 전문가 시스템을 만드는 분야
- 지식 공학자 : 전문가 시스템을 만드는 사람. 해당 분야의 전문가로 지식, 문제 해결전략을 체계적 표현함.
자료처리 프로그램과 전문가시스템 차이
자료처리 프로그램 | 전문가 시스템 |
자료 표현과 이용 알고르짐 반복 처리 다량 자료를 효율적 처리 |
지식 표현, 이용 경험적 지식 추론적 지식 다량의 지식 베이스를 효율적 처리 |
전문가 시스템 기능
- 해석 : 입력 자료로 상황 추론
- 예측 : 상황으로 발생 가능 결과 예측
- 진단 : 관측 자료로 이상상태진단
- 설계 : 제약조건내 가능한 설계 구상
- 그외 계획, 모니터링, 디버깅, 교육, 제어 등
전문가 시스템 구성
- 지식 베이스와 추론기관 그리고 사용자 인터페이스로 구성
- 지식 베이스 : 문제 영역 관련 지식
- 추론 기관 : 문제 해결 목적 지식, 프로그램 제어 + 규칙 해석기(새로운 지식 추론을 위해 규칙 적용 결정) + 스케줄러
전문가 시스템 개발
1. 문제 정의 : 개발 목적, 문제 특성.
ex. 문제 유형/범위, 참여 인력, 전문가, 소요 시간, 컴퓨터 성능
2. 개념 설정 : 기본 개념 정의, 해법
ex. 세부작업, 전략, 제약조건
3. 정형화 : 지식 수집 및 지식 표현
ex. 지식 표현 방법 설정, 적합한 개발도구 사용
4. 구현 : 프로그래밍
ex. 자료구조, 추론과정, 프로그램 제어, 하부 시스템 통합 고려
5. 검증 ; 요구사항 만족 여부 검증
ex. 개발자에게 개선방향 제시 필요
지식 공학자의 역활
'인공지능' 카테고리의 다른 글
인공지능 - 5. 퍼지이론 (0) | 2020.11.11 |
---|---|
인공지능 - 4. 논리기반 지식표현 (0) | 2020.11.11 |
인공지능 - 1. 개요 ~ 탐색 (0) | 2020.10.15 |
패턴인식 - 9. 선형 판별 분석 (0) | 2020.08.06 |
패턴인식 - 8. 주성분분석 (0) | 2020.08.05 |