Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Douglas' Space

Knowledge Modeling 본문

Development Diary/Data Model

Knowledge Modeling

똘키아빠 2023. 5. 29. 12:32

1. 들어가면서

 

컴퓨터를 개발하면서 인간의 지능을 닮은 기계를 만들려고 하였습니다. 따라서 인공지능은 컴퓨팅기술의 계속적인 연구과제였습니다. 인공지능의 연구는 크게 2가지의 분야로 나누어져 개발되었습니다. 한 분야는 지식을 표현하고 이 지식으로 부터 새로운 사실을 추론하는 기호주의 (Symbolism)이고, 다른 하나는 인간의 뇌를 모방한 인공신경망을 구성하여 학습하고 추론하고자 하는 연결주의(Connectionism)였습니다.

https://web.media.mit.edu/~minsky/papers/SymbolicVs.Connectionist.html

1956년 다트머스대학에서 인지과학자, 수학자, 컴퓨터과학자들이 모여 인공지능이라는 용어를 처음 사용하면서 초창기에는 기호주의 인공지능이 전문가시스템(Expert System)으로 큰 성과를 거두었습니다. 그러나 인공지능이 곧 인간을 대체할 것이라고 많은 기대를 걸었지만 크게 발전이 되지 않았습니다. 2000년대에 들어서면서 컴퓨팅 기술의 엄청난 발전으로 대규모의 데이터를 처리하고 연산속도가 기하급수적으로 가속화되면서 딥뉴럴넷이라는 대규모의 인공신경망을 구성하게 되면서 획기적인 발전을 거두게 되었습니다. 

 

그러나 아직 신뢰하고 책임이 있는 인공지능의 개발을 위해서는 블랙박스의 딥뉴럴넷 만으로는 제어 가능한 인공지능을 개발하는 것은 어렵기 때문에, 기존의 기호주의와 연결주의 결합한 제3의 인공지능인 Neuro-Symbolic Ai라는 두 인공지능을 결합한 형태의 하이브리드 인공지능을 개발하려고 하고 있습니다.

 

2. Knowledge Model

 

DARPA는 이러한 새로운 형태의 Neuro-Symbolic Ai를 지원하는 모델을 Contextual Knowledge Model이라고 합니다. 이 모델은 다양한 형태로 존재할 것으로 예상이 되나, 공통적인 특징은 단순한 데이터를 가지고 학습하는 딥러닝 모델을 넘어서 도메인의 배경 지식을 학습하거나 이  지식을 딥러닝모델과 통합하여 사용하는 형태로 구성될 것입니다.

 

DARPA 3세대 AI를 결정짓는 Contextual Model의 개념도

어떠한 형태이던 이 Knowledge Model은 기존의 Data Model을 확장하여 지식과 신경망을 모두 모델링할 수 있습니다. Ai기반 시스템의 Data modeling을 한다는 것은 결국 Knowledge modeling을 한다는 것으로 이해 할 수 있습니다. 예를 들어 Data Model을 확장하여 Ontology와 같은 지식을 의미적 규칙을 포함하는 Data Model로 구성하고, 의사결정 또는 추론 등을 위해 use-case scenario를 구현하는 function들을 개발합니다. 또한 use-case를 딥러닝 모델로 구현하고자 하는 경우 해당 딥러닝 모델을 위한 학습 및 모델 자체를 Data Model에 정의합니다. 

 

3. UML의 Class Diagram과 OCL을 기반으로 Ontology Modeling

 

Data Model은 특정 응용분야에 한정된 지식의 개념을 표현하지만 이를 해당 도메인에 해당하는 Data model로 확장하고 다양한 의미적 규칙(Semantic Rule)을 UML의 OCL(Object Constraint Language)로 기술하므로써 해당 분야의 지식을 모델링을 할 수 있습니다. 아래 그림은 항공관리시스템의 일부를 예로 표현한 모델입니다.

 

UML Class diagram과 OCL로 Ontology를 논리적 표현한 예

 

Data modeling에서 설명한 것처럼 ObjectType을 통해 실세계에 존재하는 사물, 개념 등을 표현하고 이들의 관계를 링크타입으로 정의합니다. 그리고 해당 관계의 각 ObjecType과의 카디날러티로 무결성 규칙등을 정의하며, 각 ObjectType과 Link에 존재하는 Semantic Rule을 OCL로 정의합니다. 

 

4. 학습을 위한 데이터 및 딥러닝 모델을 Modeling

 

학습을 위한 입출력 데이터들과 딥러닝모델 자체를 Data model의 구성요소를 구분하여 정의할 수 있습니다. 아래는 SAR 영상으로 부터 객체를 인식하는 딥러닝모델의 입출력 및 훈련을 위한 data model을 표현한 예입니다.

 

SAR 영상 객체인식을 위한 딥러닝모델 및 관련 입출력 데이터의 모델 예

딥러닝모델은 <<DnnModelType>>으로 정의하여 SARObjectClsModel이라는 딥러닝모델 파일에 대한 메타데이터를 포함하고 있으며, <<DnnINputDT>>은 실제 딥러닝모델의 입력데이터로서 영상파일의 메타데이터를 정의하고 있으며, 모델의 최종 결과는 표적유형을 나타내는 ennumeratin type으로 정의된 것을 보여주고 있습니다. 학습을 위한 데이터는 <<DnnLearningDT>>로 학습을 위한 데이터 파일에 대한 메타데이터를 모델링된 것을 나타내고 있습니다. 

'Development Diary > Data Model' 카테고리의 다른 글

Data Modeling  (0) 2022.10.01
Comments