1. 지식표현과 추론 (Knowledge Representation & Reasoning)
일반적으로 인공지능 시스템을 구성하기 위해서는 인공지능 프로그램이 다룰 수 있는 형식으로 지식을 표현해야 합니다. 이러한 표현을 지식표현(Knowledge Representation)이라고 하며, 인공지능(AI) 연구에 있어 매우 중요합니다. 사실과 관계성 등을 부호화하고 지식 베이스에 저장하는 방법이 사용되며, 논리, 의미망, 프레임, 규칙 등이 모두 지식을 표현하는 방법입니다.
지식표현은 문제해결을 위한 지식을 컴퓨터에서 실행 가능한 형태로 나타내는 것이므로, 정확한 표현이 필요하며, 효율적인 추론이 가능하도록 표현해야 합니다. 지식베이스에 저장된 사실로부터 새로운 사실을 유도하는 것을 추론이라 하며, 이때 추론이 정확하게 될 수 있도록 지식을 표현해야 합니다. 또한 새로운 지식의 획득 및 효율적인 수정 및 삭제가 가능하도록 표현해야 하며, 일반성을 가질 수 있도록 표현해야 합니다. 그리고 사람이 이해하기 쉽도록 표현해야 하는 조건이 있습니다.
지식표현의 방법(기법)에는 명제 논리 및 술어 논리와 같은 논리를 이용한 지식 표현, 규칙을 이용한 지식 표현, 의미망을 이용한 지식표현, 구조적인 지식 표현이 있습니다. 대표적인 지식표현의 방법은 아래 도표와 같습니다.
지식표현의 방법 (도표)
명칭 | 개념 설명 |
의미 네트워크 | 개념의 레이블(Label)을 노드로 하고, 노드(node) 사이를 링크로 연결하여 작성한 네트워크를 이용하여 의미를 표현 |
프레임 | 슬롯(slot)이라고 부르는 내부 구조가 있는 데이터 구조인 프레임을 이용하여 프레임 네트워크로 의미를 표현 |
명제논리, 술어논리 | 논리학의 논리식을 이용해 의미를 표현 |
생성 시스템 | 조건부와 결론부로 이루어진 If-then형식의 표현 집합을 이용해 의미 표현 |
1.1 의미 네트워크 (semantic network)
의미 네트워크(semantic network)는 개념이나 아이디어, 사물, 사건 등의 의미들 간의 관계를 표현하는 그래프 구조입니다. 이는 컴퓨터 과학, 인지 과학, 인공 지능, 자연어 처리 등의 분야에서 많이 사용됩니다.
일반적으로 의미 네트워크는 노드(node)와 링크(link)로 구성됩니다. 노드는 개념이나 사물 등을 나타내고, 링크는 이러한 노드들 사이의 관계를 나타냅니다. 예를 들어, "개"라는 개념을 나타내는 노드와 "동물"이라는 개념을 나타내는 노드 사이에 "개는 동물이다"라는 링크가 존재할 수 있습니다.
의미 네트워크는 일반적으로 계층 구조로 구성됩니다. 높은 수준의 추상적인 개념이 맨 위에 있고, 이에 따라 점점 더 구체적이고 세부적인 개념들이 아래에 위치하게 됩니다. 이러한 구조는 계층적이고 구조화된 의미를 제공하여, 의미를 이해하고 관리하기 쉽도록 합니다.
또한 의미 네트워크는 다양한 형태로 구성될 수 있습니다. 예를 들어, 트리 구조를 사용하여 계층적으로 구성되거나, 그래프 구조를 사용하여 비선형적으로 구성될 수도 있습니다. 또한, 노드와 링크의 유형과 수는 구현 목적에 따라 다르게 조절될 수 있습니다.
동물에 대한 의미 네트워크를 예를 들면, 노드(node)는 동물의 종류를 나타내며, 링크(ling)는 이러한 동물들 간의 관계를 나타냅니다. 예를 들어, "포유류"라는 노드(node)와 "개"라는 노드(node) 사이에는 "개는 포유류이다"라는 링크(is-a 링크)가 존재합니다. 링크에는 is-a 링크 외에도 has 링크(속성), do 링크(기능) 등이 있으며, 링크(ling)를 통하여 상호 연결됩니다.
동물에 대한 의미 네트워크를 예
- 동물
- 포유류
- 개
- 고양이
- 조류
- 참새
- 비둘기
- 어류
- 참치
- 광어
- 포유류
의미 네트워크는 유연해서 다양한 지식을 표현할 수 있습니다. 반면에 기술 방법이 지나치게 유연하고 다양해서 일반적인 지식처리의 틀을 만들어 내기는 어렵습니다. 그래서 의미 네트워크를 이용한 인공지능 시스템은 대상이 되는 문제마다 처리 시스템을 하나씩 구축해야 하는 단점이 있습니다.
1.2 프레임(frame)
지식표현 방법의 두 번째 형식인 프레임(frame)은 의미 네트워크의 노드(node)에 구조를 도입한 형식의 지식표현입니다. 프레임(frame)은 개념을 표현하는 노드(node) 내부에 슬롯(slot)이라는 구조가 있습니다.
(아래 그림 참조: 프레임의 표현의 예)
*프레임의 표현 예 (스마트폰)
스마트폰 (====> 프레임의 명칭) | |
슬롯 1 | is-a 휴대단말기 (====> 링크 정보) |
슬롯 2 | has 터치패널 (====> 성질 등의 정보) |
슬롯 3 | has 전원 스위치 (====> " ) |
슬롯 4 | has GPS (====> " ) |
위 그림은 '스마트폰'이라는 명칭의 프레임을 예를 들었습니다. 스마트폰 프레임에는 네 개의 슬롯이 있고, 각 슬롯은 각각의 값이 주어집니다. 이들 슬롯 중 슬롯 1에는 프레임과의 관계(링크 정보)를 기술한 값이 주어집니다. 그림과 같이 슬롯 1에 'is-a 휴대단말기'라는 값을 주면 스마트폰 프레임이 휴대단말기 프레임의 하위 개념이라는 것이 표시됩니다. 이와 같이 슬롯에 적절한 값을 주는 것으로 의미 네트워크의 경우와 마찬가지로 프레임 네트워크를 작성할 수 있습니다. 슬롯 2에서 슬롯 4까지는 스마트폰 프레임이 가지는 성질이 기재됩니다. 즉, 스마트폰의 구성 요소인 터치패널, 전원 스위치 및 GPS 등이 있다는 내용이 기술되어 있습니다.
슬롯 값으로 절차를 부여하기도 합니다. 예를 들면 스마트폰 프레임이 새롭게 생성될 때 각 슬롯에 디폴트 값을 기입하는 식으로 슬롯에 조작 절차를 부여할 수도 있습니다.
프레임에는 의미 네트워크와 마찬가지로 상당히 유연한 표현 능력이 있습니다. 게다가 조작 절차를 계속 부여하면 동적인 지식의 기술도 가능합니다.
이러한 특징들은 장점이면서 동시에 의미 네트워크와 마찬가지로 일반적인 틀을 만들기 어렵다는 단점이기도 합니다. 또한 동적인 기술을 부여할 경우 기술 결과의 검증이 매우 어려워지는 측면도 있습니다.
(다음 편에서 '1.3 생성 규칙과 생성 시스템'으로 계속 이어집니다.)
2023.05.14 - [인공지능(AI; Artificial Intelligence)] - 머신러닝 학습 방법과 몇 가지 개념 (2)
'인공지능(AI)이란? - 기초 개념 및 이론' 카테고리의 다른 글
인공지능(AI) 시스템의 지식 표현과 추론 (3) (1) | 2023.05.17 |
---|---|
인공지능(AI) 시스템의 지식 표현과 추론 (2) (0) | 2023.05.16 |
머신러닝 학습 방법과 몇 가지 개념 (2) (0) | 2023.05.14 |
머신러닝 학습 방법과 몇 가지 개념 (1) (0) | 2023.05.13 |
머신러닝 (Machine Learning) (0) | 2023.05.11 |
댓글