KR102417131B1 - 쿼리기반 딥러닝 기계학습 시스템 - Google Patents

쿼리기반 딥러닝 기계학습 시스템 Download PDF

Info

Publication number
KR102417131B1
KR102417131B1 KR1020200074659A KR20200074659A KR102417131B1 KR 102417131 B1 KR102417131 B1 KR 102417131B1 KR 1020200074659 A KR1020200074659 A KR 1020200074659A KR 20200074659 A KR20200074659 A KR 20200074659A KR 102417131 B1 KR102417131 B1 KR 102417131B1
Authority
KR
South Korea
Prior art keywords
learning
query
data
database
module
Prior art date
Application number
KR1020200074659A
Other languages
English (en)
Other versions
KR20210156964A (ko
Inventor
이준혁
Original Assignee
(주)한국플랫폼서비스기술
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)한국플랫폼서비스기술 filed Critical (주)한국플랫폼서비스기술
Priority to KR1020200074659A priority Critical patent/KR102417131B1/ko
Publication of KR20210156964A publication Critical patent/KR20210156964A/ko
Application granted granted Critical
Publication of KR102417131B1 publication Critical patent/KR102417131B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 퀴리기반의 기계학습 시스템에 대한 것으로 딥러닝 프레임워크가 데이터베이스에 플러그인 형태로 연결되어 사용자의 요청 쿼리에 따라 딥러닝 학습프레임워크와 동일한 데이터베이스에 저장된 데이터를 사용하여 기계학습 및 추론을 수행하고 결과를 저장하는 시스템에 대한 것이다.
이를 위해, 데이터의 관리, 테이블의 생성 및 학습관리와 같은 작업을 수행하는 데이터베이스 모듈(11); 학습에 필요한 정보 및 명령이 입력되고, 학습결과 및 정보가 출력되는 작업을 수행하는 입출력 모듈(12); 학습을 위해 입력되는 데이터에 대한 스키마 구조와 같은 변환작업을 수행하는 컨버터(13); QML플러그인 기능을 구현하며, 데이터베이스로부터 사용자 Query 질의를 통하여 받은 데이터조합을 통하여 학습 및 추론을 수행하는 QML 모듈(14); 쿼리를 통하여 데이터베이스에 학습 또는 추론을 요청할 수 있는 학습 및 추론 모듈(15); 및 학습결과에 따른 정보조회 및 결과물을 제공하는 디스플레이 모듈(16)로 구성되는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템을 제공한다.

Description

쿼리기반 딥러닝 기계학습 시스템{A MACHINE LEARNING SYSTEM BASED DEEP-LEARNING USED QUERY}
본 발명은 퀴리기반의 기계학습 시스템에 대한 것으로 딥러닝 프레임워크가 데이터베이스에 플러그인 형태로 연결되어 사용자의 요청 쿼리에 따라 딥러닝 학습프레임워크와 동일한 데이터베이스에 저장된 데이터를 사용하여 기계학습 및 추론을 수행하고 결과를 저장하는 시스템에 대한 것이다.
일반적으로 기계학습의 경우 AI기술이 발전함에 따라 다양한 형태로 제공되고 있으며, 그 중 딥러닝 기법이 대표적인 기계학습의 방법으로 대두되고 있다.
이와 같은 딥러닝 기계학습 방법은 반복적인 학습을 통하여 그 정확도를 높여가는 방법으로, 결과값의 정확도를 높여갈 수록 발생하는 데이터의 양도 방대해져 빅데이터를 처리하는데 다양한 부대시설 등이 발생하게 된다.
이에 따라, 분산처리 및 분산저장과 같은 기술들이 제안되고 있으며, 또한 각각의 운영체계 별로 다양한 형태의 학습프로그램 등을 제공하게 된다.
이와 같은 현상으로 인하여 사용하는 AI학습 프레임워크에 따라 사용자가 호환작업을 해야하거나, 또는 사용하는 학습데이터 도메인/알고리즘에 따른 학습프레임워크를 별도로 구동해야 하는 불편함이 있었다.
또한, 다양한 이종 AI학습프레임워크들은 입력 데이터를 표현하는 데이터셋의 포맷기준이 다르며, 이를 호환하기 위하여 별도의 데이터 컨버트 툴을 사용하거나 NoSQL 같은 대용량 파일관리의 분산 서비스를 활용하기도 한다.
이러한 문제점을 극복하기 위해 다양한 방법들이 시도되고 있으나, 단순히 공통적으로 사용되는 Open Source트랜드를 반영하여 입력 데이터셋의 포멧을 호환하는 방법 등이 대부분이었으며, 사용자의 지식수준에 따라 이와 같은 호환작업에서도 질적인 차이가 발생하여 기계학습의 결과가 달라지는 경우가 빈번하게 발생하고 있다.
대용량 학습데이터(정형 또는 비정형)의 관리와 사용자의 PC 및 서버 장비의 폴더 및 디렉터리 구조로 작업을 진행하고 있으며, 이는 데이터의 무결성과 중복성 그리고 불필요한 하드웨어 저장공간이 늘어나는 상황을 야기시킨다.
단순히 프로그램별 매칭을 통하여 호환하는 방법 등이 대부분이었으며, 사용자의 지식수준에 따라 이와 같은 호환작업에서도 질적인 차이가 발생하여 기계학습의 결과가 달라지는 경우가 빈번하게 발생하고 있다.
이에 따라 대용량의 AI학습프레임워크는 결국 질의응답을 위한 요청사항인 Query를 통하여 학습 입력 데이터를 관리(생성 및 조합)하게 되는 것이고, 이와 같은 쿼리(query)는 DBMS에 데이터(DB)를 학습데이터셋으로 입력하거나 출력할 때 사용하게 된다.
그러나, 앞서 말한 쿼리의 경우 그 사용상 작성이 매우 복잡할 수 있어, 일반적인 사용자가 사용하는데 난해한 문제가 발생할 수 있으며, 또한, 초기 질의응답에 대한 검색어 등을 잘못 입력할 경우 그 결과물의 질적 저하 및 작업시간의 길어져 비 효율적인 문제가 발생할 수 있다.
또한, 다양한 이기종의 학습프레임워크를 사용하는데 그 호환성의 문제 등이 야기되어 그 사용이 매우 복잡한 문제가 있다.
대한민국 등록특허 제10-1706252호(이기종 데이터베이스들 간의 쿼리 결과를 동기화하기 위한 방법, 서버 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램, 2017년 02월 07일 등록) 대한민국 공개특허 제10-2019-0110134호(이벤트의 사용자 경험 중에 정보를 획득하기 위한 검색 쿼리들 결정, 2019년 09월 27일 공개)
본 발명은 상기와 같은 문제점을 극복하기 위해, 사용자가 딥러닝 기계학습을 이용하는데 있어서 보다 편리하고, 반복적인 기계학습시 발생되는 시간을 최소화 하여 신속한 결과를 도출할 수 있는 쿼리기반 딥러닝 기계학습 시스템을 제공하는 것을 목적으로 한다.
본 발명은 상기와 같은 문제점을 극복하기 위한 쿼리기반 딥러닝 기계학습 시스템을 제공함에 있어서,데이터의 관리, 테이블의 생성 및 학습관리와 같은 작업을 수행하는 데이터베이스 모듈(11); 학습에 필요한 정보 및 명령이 입력되고, 학습결과 및 정보가 출력되는 작업을 수행하는 입출력 모듈(12); 학습을 위해 입력되는 데이터에 대한 스키마 구조와 같은 변환작업을 수행하는 컨버터(13); QML플러그인 기능을 구현하며, 데이터베이스로부터 사용자 Query 질의를 통하여 받은 데이터조합을 통하여 학습 및 추론을 수행하는 QML 모듈(14); 쿼리를 통하여 데이터베이스에 학습 또는 추론을 요청할 수 있는 학습 및 추론 모듈(15); 및 학습결과에 따른 정보조회 및 결과물을 제공하는 디스플레이 모듈(16)로 구성되는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템을 제공하게 된다.
또한, 상기 데이터베이스 모듈(11)은 데이터셋을 관리하기 위해 새로운 테이블을 생성하고, 데이터를 조회, 수정 및 업로드하기 위한 기능를 수행하는 데이터셋 관리 영역(111), 네트워크 모델을 관리하기 위한 기능을 수행하는 네트워크 관리 영역(112), 학습을 관리하기 위한 기능을 수행하는 학습결과 관리 영역(113), QML 포멧관리기능을 수행하는 QML포멧 관리 영역(114) 및 데이터를 저장하는 메모리 영역(115)을 포함하고, 상기 데이터셋 관리 영역(111)은 새로운 데이터셋을 생성할 때, 자동으로 새로운 테이블을 생성하고, 데이터를 업로드하고, 데이터베이스의 테이블에 접근하여 데이터를 조회하거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여주며, 사용자에게 부여된 권한에 따라 데이터를 수정할 수 있는 수준을 제한하게 되며, 사용자로부터 수치데이터를 입력받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행하며, 학습 데이터의 레이블을 작성할 수 있는 태깅기능을 제공하게 된다.
또한, 상기 학습결과 관리 영역(113)은 네트워크 모델과 데이터셋, 학습 파라미터를 조절하여 학습을 생성 또는 수정하기도 하며, 학습이 끝난 네트워크 모델을 컨버터 기능을 통해 출력할 수 있도록 하며, 현재 학습을 위해, 사용중인 서버의 자원을 확인하여, 자원의 규모에 맞게 학습을 위한 프레임워크를 적용하거나, 프레임워크 적용시 구성요소의 선택적 적용을 시행할 수 있도록 하는 것이다.
상기 QML 모듈(14)에는 딥러닝을 수행할 수 있는 프레임워크인 QML을 탑재하고 있으며, 데이터베이스와 UDF(User Defined Function)를 통해 연결되며 호출에 의해 실행되며, 상기 UDF는 프레임워크에 정의된 함수들은 각각 UDF를 통해 데이터베이스에 등록되고, 등록된 UDF 호출을 통해서 프레임워크가 실행되는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템을 제공함으로써 본 발명의 목적을 보다 잘 달성할 수 있는 것이다.
본 발명의 쿼리기반 딥러닝 기계학습 시스템을 제공함으로써, 사용자가 딥러닝 기계학습을 이용하는데 있어서 보다 편리하고, 반복적인 기계학습시 발생되는 시간을 최소화 하여 신속한 결과를 도출할 수 있는 효과를 제공한다.
도 1은 본 발명의 일 실시예에 따른 쿼리기반 딥러닝 기계학습 시스템에 대한 개요도이다.
도 2는 본 발명의 쿼리기반 딥러닝 기계학습 시스템에 대한 구성도이다.
도 3은 본 발명의 일 실시예에 따른 뷰테이블의 예시도이다.
도 4와 도 5는 본 발명의 일 실시예에 따른 디스플레이 화면에 대한 예시도이다.
도 1은 본 발명의 일 실시예에 따른 쿼리기반 딥러닝 기계학습 시스템에 대한 개요도이고, 도 2는 본 발명의 쿼리기반 딥러닝 기계학습 시스템에 대한 구성도이다.
또한, 도 3은 본 발명의 일 실시예에 따른 뷰테이블의 예시도이고, 도 4와 도 5는 본 발명의 일 실시예에 따른 디스플레이 화면에 대한 예시도이다.
도 1 내지 도 5를 참조하여 상세하게 설명하면, 도 1에서 도시한 바와 같이 쿼리기반 딥러닝 기계학습 시스템은 데이터베이스 서버(1)와 상기 데이터베이스 서버(1)에 접속하는 유저(2)로 구성된 네트워크를 기반으로 운용된다.
여기서, 상기 유저(2)는 데이터베이스 서버(1)에 접속할 수 있는 다양한 형태의 접속수단 즉, 휴대폰을 포함하는 휴대용 통신장비 또는 PC 등과 같은 전산장치 등이 될 수 있다.
상기 도 2에서 도시한 바와 같이 본 발명의 쿼리기반 딥러닝 기계학습 시스템은 데이터베이스 서버(1)에 구성되는 데이터의 관리, 테이블의 생성 및 학습관리와 같은 작업을 수행하는 데이터베이스 모듈(11), 학습에 필요한 정보 및 명령이 입력되고, 학습결과 및 정보가 출력되는 작업을 수행하는 입출력 모듈(12), 학습을 위해 입력되는 데이터에 대한 스키마 구조와 같은 변환작업을 수행하는 컨버터(13), QML플러그인 기능을 구현하며, 데이터베이스로부터 사용자 Query 질의를 통하여 받은 데이터조합을 통하여 학습 및 추론을 수행하는 QML 모듈(14), 쿼리를 통하여 데이터베이스에 학습 또는 추론을 요청할 수 있는 학습 및 추론 모듈(15), 학습결과에 따른 정보조회 및 결과물을 제공하는 디스플레이 모듈(16)로 이루어진다.
상기 데이터베이스 모듈(11)은 데이터셋을 관리하기 위해 새로운 테이블을 생성하고, 데이터를 조회, 수정 및 업로드하기 위한 기능를 수행하는 데이터셋 관리 영역(111), 네트워크 모델을 관리하기 위한 기능을 수행하는 네트워크 관리 영역(112), 학습을 관리하기 위한 기능을 수행하는 학습결과 관리 영역(113), QML 포멧관리기능을 수행하는 QML포멧 관리 영역(114) 및 데이터를 저장하는 메모리 영역(115)을 포함하여 구성된다.
상기 데이터셋 관리 영역(111)에서 관리되는 데이터셋은 학습 및 추론에 사용될 동일한 형식을 가진 데이터의 집합을 말하는 것으로, 여기서 사용되는 데이터는 숫자, 문자, 이미지, 영상, 음성 등 기계학습에 사용될 수 있는 모든 종류의 데이터가 될 수 있다.
또한, 상기 데이터셋으로 군집시킬 수 있는 데이터의 동일한 형식이라 함은 확장자를 기준으로 정의하게 되며, 예로, 이미지 정보의 경우, 그 확장자가 이미지를 나타내는 확장자일 경우 모두 동일한 카테고리의 데이터셋으로 군집하게 되는 것이다.
여기서, 예를 위해 이미지 정보를 예를 들어 설명하고 있으나, 사용되는 데이터는 이미지 뿐만 아니라 앞서 서술한 숫자, 문자, 이미지, 영상, 음성 등 기계 학습에 사용될 수 있는 모든 종류의 데이터가 될 수 있다.
이와 같은 데이터셋 관리 영역(111)은 새로운 데이터셋을 생성할 때 자동으로 새로운 테이블을 생성하고, 데이터를 조회, 수정 업로드 하는 기능을 지원한다.
여기서 새로운 데이터셋을 생성할 때, 자동으로 새로운 테이블을 생성하고, 데이터를 업로드하게 된다.
또한, 데이터베이스의 테이블에 접근하여 데이터를 조회하거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여주며, 사용자에게 부여된 권한에 따라 데이터를 수정할 수 있는 수준을 제한하게 되며, 사용자로부터 수치데이터를 입력받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행하며, 학습 데이터의 레이블을 작성할 수 있는 태깅기능을 제공하게 된다.
상기 네트워크 관리 영역(112)은 기계학습에 사용되는 네트워크 모델을 관리하는 것으로, 입출력과 모델 내부를 정의하는 파라미터와 기계학습 및 추론에 필요한 파라미터 들로 구성된다.
이때, 상기 네트워크 관리 영역(112)은 지원되는 레이어를 추가하고 레이어 파라미터를 조정하여 새로운 네트워크 모델을 생성하거나, 기존에 작성된 네트워크 모델 리스트를 조회할 수 있으며, 기존에 작성된 네트워크 모델에 새로운 레이어를 추가하여 새로운 네트워크를 생성하게 된다.
이때, 상기 네트워크 관리 영역(112)은 네트워크 모델을 시각화하여 보여주는 기능을 더 제공하기도 한다.
여기서, 상기 네트워크 관리 영역(112)에서 정의되는 모델은 관계형 데이터 형식으로서 데이터베이스에 저장되며, 컨버팅작업을 통하여 다른 딥러닝 프레임워크로 변환할 수 있도록 한다.
여기서, 상기와 같은 관계형 데이터 형식은 테이블 형식을 이용하여 데이터를 정의하고 설명하는 모델을 말하는 것이다.
또한, 상기와 같이 컨버터(13)를 통한 컨버팅작업을 통하여 다른형태의 딥러닝 프레임 워크에 네트워크 모델을 적용할 수 있도록 하는 것으로, 보다 구체적으로 설명하면, 데이터베이스에 저장되어 있는 관계형 데이터 형식의 모델을 호출하여 유사한 형태의 데이터셋에 적용할 수 있도록 하는 것이다.
예를 들어, 관계형 데이터 형식의 모델을 적용할 때, '속성(attribute), 도메인(domain), 차수(degree), 튜플(tuple), 카리널리티(cardinality), 릴레이션(realtion), 키(key), 후보키(candidate key), 기본키(primary)' 등의 테이블의 구성요소의 외형인 차수, 내용인 속성 및 도메인 등의 유사도에 따라 컨버팅하여 적용할 수 있도록 하는 것이다.
이는 최초의 관계형 데이터 형식의 모델이 생성되고 사용된 후 데이터베이스에 저장한 후 유사한 형식의 데이터셋이 입력되고 관계형 데이터 형식의 모델을 생성해야 할 경우, 데이터베이스에 저장되어 있는 기존의 관계형 데이터 형식의 모델 중 유사도가 높은 모델을 검색하여 이를 호출한 후 적용할 수 있도록 하는 것이다.
이와 같은 컨버팅 작업을 통하여 작업에 소요되는 시간을 최소화 할 수 있도록 하는 것이다.
또한, 사용자 또는 관리자가 작업 수행시 누락시킬 수 있는 관계형 데이터 형식 모델의 테이블을 구성하는 구성요소를 누락시키지 않도록 하는 가이드 역할도 할 수 있는 것이다.
이러한 네트워크 관리 영역(112)은 지원되는 레이어를 추가하고 레이어 파라미터를 조정하여 새로운 네트워크 모델을 생성하고, 기존에 작성된 네트워크 모델 리스트를 조회할 수 있다.
또한, 기존에 작성된 네트워크 모델에 새로운 레이어를 추가하여 새로운 네트워크 모델을 생성할 수 있으며, 네트워크 모델을 시각화하여 디스플레이모듈(16)을 통하여 사용자에게 제공할 수 있도록 한다.
상기 학습결과 관리 영역(113)은 기계학습이 진행되는 동안 발생되는 중간 출력값, 모델 파라미터 값, 계산이 진행되는 모델의 평가지표 값 및 기계추론 결과값을 데이터베이스에 저장하거나 호출하여 사용자가 확인할 수 있도록 관리하는 것이다.
이와 같은 학습결과 관리 영역(113)은 네트워크 모델과 데이터셋, 학습 파라미터를 조절하여 학습을 생성 또는 수정하기도 하며, 학습이 끝난 네트워크 모델을 컨버터 기능을 통해 출력할 수 있도록 한다.
이와 함께, 현재 학습을 위해, 사용중인 서버의 자원을 확인하여, 자원의 규모에 맞게 학습을 위한 프레임워크를 적용하거나, 프레임워크 적용시 구성요소의 선택적 적용을 시행할 수 있도록 하는 것이다.
상기 QML포멧 관리 영역(114)는 QML에 따른 다양한 포멧에 대한 정보를 관리하는 것으로, 이종 포멧간의 호환을 위한 정보, 신규 포멧이 인지되었을 때, 유사한 포멧과의 매칭을 통한 정보 획득 등의 역할을 수행하게 된다.
이때, 상기 QML포멧 관리 영역(114)에는 SQL테이블의 형태로 정보를 관리하게 되는데, 각각의 이종 포멧간의 매칭과 같은 작업을 수행할 수 있도록 한다.
상기 메모리 영역(115)은 작업수행 및 기 작업이 수행되었던 내역 및 사용자 등에 대한 정보를 저장하는 것으로 외부에 별도로 구비되는 외장메모리장치 또는 외부 전산망에 구비되는 저장장치 등과의 접속을 통하여 백업할 수 있도록 한다.
이는 빅데이터의 특징을 갖는 딥러닝 결과를 분산저장하거나, 외부에 별도로 저장하여, 요청시 호출하여 적용할 수 있도록 하기 위한 것이다.
입출력 모듈(12)은 사용자의 통신수단인 유저(2)와의 통신을 담당하며, 유저(1)의 다양한 형태의 접속수단인 통신장비 및 전산장비와의 통신프로토콜 및 네트워크 상의 데이터 포멧을 제어하게 된다.
예를 들어, 상기와 같은 데이터 포멧에는 ONNX(Open Neural Network exchange format), NNEF(Neural Network Exchange Format) 또는 CSV(Comma-separated values)와 같은 형태의 포멧 등이 될 수 있다.
여기서, 상기와 같은 다양한 포멧에 대한 정보를 입출력 모듈(12)에서 데이터베이스 모듈(11)로부터 호출하여 유저(2)와의 통신을 수행할 수 있도록 한다.
상기 컨버터(13)는 입출력 모듈(12)을 통하여 유저(1)가 기계학습을 위한 모델을 입력 또는 출력할 때 데이터베이스 스키마 구조에 맞게 변환하는 역할을 하게 된다.
이는 다양한 형태의 기계학습 또는 딥러닝과 관련된 오픈소스가 제공되고 있고 이와 같은 오픈소스별로 요구되는 사항 등이 상이하기 때문에 이와 컨버팅 작업을 통하여 유저(2)의 입출력 작업을 용이하게 할 수 있도록 하는 것이다.
이와 같은 컨버터(13)에 대하여 보다 상세하게 설명하면, 데이터베이스에 저장된 네트워크 모델은 외부 프레임워크(tensorflow, pytorch, caffe 등)와의 호환성을 위해 모델 컨버팅을 수행하는 것이다.
예를들어, 기존 프레임워크의 기학습된 모델을 가져오거나 데이터베이스 외부로 내보낼 때 ONNX(Open Neural Network Exchange) 포멧을 사용하게 된다.
이때, 컨버터는 ONNX 모델 포멧에 정의된 network structure 및 model data(weight, bias)를 데이터베이스의 네트워크 모델 테이블 포멧으로 변환한다.
반대로 데이터베이스의 네트워크 모델을 ONNX 모델로 변환 후 컨버터(Import)기능을 통해서 데이터베이스에 올릴 수 있다.
또한, QML 모듈(14)에서 학습한 모델은 컨버터(Export) 기능을 통해서 데이터베이스에 ONNX 모델 포멧 또는 CVS파일로 저장한다.
상기와 같이 저장된 ONNX 모델은 사용자가 원하는 타겟 프레임워크로 변환하여 사용할 수 있다.
여기서, 상기 타겟프레임워크는 사용자가 사용하고자 하는 프레임워크를 말하는 것이다.
상기 QML 모듈(14)은 QML플러그인 기능을 구현하며, 데이터베이스로부터 받은 정보를 통하여 학습 및 추론을 수행할 수 있도록 한다.
여기서 상기 데이터베이스로부터 받은 정보는 사용자 Query 질의를 통하여 받은 데이터조합을 통하여 획득할 수 있는 것이다.
이는 상기 QML모듈(14)에 탑재되는 프레임워크인 QML을 통하여 적용할 수 있는데, 보다 상세하게 설명하면, QML 모듈(14)에는 딥러닝을 수행할 수 있는 프레임워크인 QML을 탑재하고 있으며, 데이터베이스와 UDF(User Defined Function)를 통해 연결되며 호출에 의해 실행된다.
이와 같은 UDF는 프레임워크에 정의된 함수들은 각각 UDF를 통해 데이터베이스에 등록되고, 등록된 UDF 호출을 통해서 프레임워크가 실행되는 것이다.
상기와 같은 UDF에서 사용할 수 있는 인자 변수의 타입은 integer, real number, string 으로 정해져 있고 QML에서 각각 사용한다.
상기 integer는 네트워크 모델을 구성하는 필수 파라미터 중 정수값을 말하고, QML 내부에 정의된 구조체 메모리의 주소값을 의미한다.
상기 raal number은 네트워크 모델을 구성하는 필수 파라미터 중 실수값을 말하며, string은 개수가 가변적인 파라미터들과 binary데이터인 blob 데이터를 의미한다.
또한, 상기 QML 프레임워크에서는 채널 우선 데이터 포멧인 NCHW(N:batch, C:channel, H:height, W:width) 포멧을 따른다. 레이어 종류는 ONNX에서 사용되는 레이어를 지원하며, 각 레이어에 정의된 파라미터들도 ONNX 포맷을 따른다.
이와 같은 QML 프레임워크는 네트워크 모델을 학습가능하도록 백프로퍼케이션(Back-Propagation)알고리즘을 탑재하고 있으며, 그라디언트 계산 알고리즘과 모델파라미터(weight, bias)를 업데이트 시키기 위한 옵티마제이션 알고리즘을 더 탑재하고 있다.
이는 네트워크 모델을 학습하는 방식중 네트워크 모델를 처음부터 학습시킨 후 각 레이어의 가중치에 따라 초기화 알고리즘을 통하여 결정하는 Train from scratch 기법과 기 학습된 모델의 가중치(import 기능을 통해 데이터베이스에 저장되거나, 이전 학습시도를 통해서 구한 가중치)를 읽어와서 레이어의 초기 가중치를 설정하고 학습을 진행하는 Fine tuning 기법을 지원할 수 있도록 한다.
또한, 상기 QML 모듈(14)은 유저(2)로부터 입력되는 QML의 유형을 분석하고, 이에 따른 결과를 QML 포멧 관리영역(114)에 전송하게 된다.
보다 상세하게 설명하면, 유저(2)로부터 입력된 쿼리의 언어 종류를 분석하고, 호환여부 또는 유사한 작업내역이 있는지 메모리 영역(115)에 전송하여 파악하는 등의 작업을 수행할 수 있다.
상기 학습 및 추론 모듈(15)은 쿼리를 통하여 DB에게 학습 또는 추론을 요청할 수 있도록 하는 것이다.
이때, 상기 학습 및 추론 모듈(15)은 각각의 운영체제 또는 기계학습 S/W 별로 최적의 성능을 구현할 수 있는 프로그램을 선별하고, 학습 및 추론을 요청할 수도 있다.
예를 들어, 학습이 요구되는 데이터셋이 이미지일 경우 이미지 학습에 최적의 성능을 발휘할 수 있는 기계학습 S/W를 선별하고, 선별된 S/W에 학습을 요청하게 되는 것이다.
상기 디스플레이 모듈(16)은 사용자인 유저(1)가 데이터베이스의 테이블을 조회하여 학습 관련 정보를 조회할 수 있도록 하는 것이다.
여기서, 상기 디스플레이 모듈(16)은 뷰테이블(View-Table)의 형태를 유지하여 사용자에게 학습관련 정보를 조회할 수 있도록 한다.(도 3 참조)
1 : 데이터베이스 서버 2 : 유저
11 : 데이터베이스 모듈 12 : 입출력 모듈
13 : 컨버터 14 : QML 모듈
15 : 학습 및 추론 모듈 16 : 디스플레이 모듈
111 : 데이터 셋 관리영역 112 : 네트워크모델 관리영역
113 : 학습결과 관리영역 114 : QML 포멧 관리영역
115 : 메모리 영역

Claims (6)

  1. 쿼리기반 딥러닝 기계학습 시스템에 있어서,
    데이터의 관리, 테이블의 생성 및 학습관리와 같은 작업을 수행하는 데이터베이스 모듈(11);
    학습에 필요한 정보 및 명령이 입력되고, 학습결과 및 정보가 출력되는 작업을 수행하는 입출력 모듈(12);
    학습을 위해 입력되는 데이터에 대한 스키마 구조와 같은 변환작업을 수행하는 컨버터(13);
    QML플러그인 기능을 구현하며, 데이터베이스로부터 사용자 Query 질의를 통하여 받은 데이터조합을 통하여 학습 및 추론을 수행하는 QML 모듈(14);
    쿼리를 통하여 데이터베이스에 학습 또는 추론을 요청할 수 있는 학습 및 추론 모듈(15); 및 학습결과에 따른 정보조회 및 결과물을 제공하는 디스플레이 모듈(16)로 구성되는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템.
  2. 제 1항에 있어서,
    상기 데이터베이스 모듈(11)은 데이터셋을 관리하기 위해 새로운 테이블을 생성하고, 데이터를 조회, 수정 및 업로드하기 위한 기능를 수행하는 데이터셋 관리 영역(111), 네트워크 모델을 관리하기 위한 기능을 수행하는 네트워크 관리 영역(112), 학습을 관리하기 위한 기능을 수행하는 학습결과 관리 영역(113), QML 포멧관리기능을 수행하는 QML포멧 관리 영역(114) 및 데이터를 저장하는 메모리 영역(115)을 포함하는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템.
  3. 제 2항에 있어서,
    상기 데이터셋 관리 영역(111)은 새로운 데이터셋을 생성할 때, 자동으로 새로운 테이블을 생성하고, 데이터를 업로드하고, 데이터베이스의 테이블에 접근하여 데이터를 조회하거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여주며, 사용자에게 부여된 권한에 따라 데이터를 수정할 수 있는 수준을 제한하게 되며, 사용자로부터 수치데이터를 입력받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행하며, 학습 데이터의 레이블을 작성할 수 있는 태깅기능을 제공하는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템.
  4. 제 2항에 있어서,
    상기 학습결과 관리 영역(113)은 네트워크 모델과 데이터셋, 학습 파라미터를 조절하여 학습을 생성 또는 수정하기도 하며, 학습이 끝난 네트워크 모델을 컨버터 기능을 통해 출력할 수 있도록 하며, 현재 학습을 위해, 사용중인 서버의 자원을 확인하여, 자원의 규모에 맞게 학습을 위한 프레임워크를 적용하거나, 프레임워크 적용시 구성요소의 선택적 적용을 시행할 수 있도록 하는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템.
  5. 제 1항에 있어서,
    상기 QML 모듈(14)에는 딥러닝을 수행할 수 있는 프레임워크인 QML을 탑재하고 있으며, 데이터베이스와 UDF(User Defined Function)를 통해 연결되며 호출에 의해 실행되는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템.
  6. 제 5항에 있어서,
    상기 UDF는 프레임워크에 정의된 함수들은 각각 UDF를 통해 데이터베이스에 등록되고, 등록된 UDF 호출을 통해서 프레임워크가 실행되는 것을 특징으로 하는 쿼리기반 딥러닝 기계학습 시스템.
KR1020200074659A 2020-06-19 2020-06-19 쿼리기반 딥러닝 기계학습 시스템 KR102417131B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200074659A KR102417131B1 (ko) 2020-06-19 2020-06-19 쿼리기반 딥러닝 기계학습 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200074659A KR102417131B1 (ko) 2020-06-19 2020-06-19 쿼리기반 딥러닝 기계학습 시스템

Publications (2)

Publication Number Publication Date
KR20210156964A KR20210156964A (ko) 2021-12-28
KR102417131B1 true KR102417131B1 (ko) 2022-07-05

Family

ID=79178023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200074659A KR102417131B1 (ko) 2020-06-19 2020-06-19 쿼리기반 딥러닝 기계학습 시스템

Country Status (1)

Country Link
KR (1) KR102417131B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230102382A (ko) * 2021-12-30 2023-07-07 포항공과대학교 산학협력단 자연어 처리 시스템의 학습 데이터셋 증강 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963885B1 (ko) 2010-03-30 2010-06-17 한국과학기술정보연구원 Rdf 네트워크 기반 연관검색 서비스 시스템 및 방법
KR100978740B1 (ko) 2010-04-16 2010-08-30 한국과학기술정보연구원 Rdf 탐색기반 질의응답 서비스 시스템 및 방법
US20170243132A1 (en) 2016-02-23 2017-08-24 Splunk Inc. Machine-Learning Data Analysis Tool
US20200012892A1 (en) 2018-07-06 2020-01-09 Capital One Services, LLC. Systems and methods for synthetic database query generation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101706252B1 (ko) 2016-02-29 2017-02-13 주식회사 티맥스데이터 이기종 데이터베이스들 간의 쿼리 결과를 동기화하기 위한 방법, 서버 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램
US10545954B2 (en) 2017-03-15 2020-01-28 Google Llc Determining search queries for obtaining information during a user experience of an event

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963885B1 (ko) 2010-03-30 2010-06-17 한국과학기술정보연구원 Rdf 네트워크 기반 연관검색 서비스 시스템 및 방법
KR100978740B1 (ko) 2010-04-16 2010-08-30 한국과학기술정보연구원 Rdf 탐색기반 질의응답 서비스 시스템 및 방법
US20170243132A1 (en) 2016-02-23 2017-08-24 Splunk Inc. Machine-Learning Data Analysis Tool
US20200012892A1 (en) 2018-07-06 2020-01-09 Capital One Services, LLC. Systems and methods for synthetic database query generation

Also Published As

Publication number Publication date
KR20210156964A (ko) 2021-12-28

Similar Documents

Publication Publication Date Title
US20240012810A1 (en) Clause-wise text-to-sql generation
US20160328443A1 (en) Knowledge Graph Based Query Generation
US6466931B1 (en) Method and system for transparently caching and reusing query execution plans efficiently
JP7100422B2 (ja) データプロパティ認識のための装置、プログラム、及び方法
Vajk et al. Denormalizing data into schema-free databases
US11941034B2 (en) Conversational database analysis
CN112749143A (zh) 查询系统、由查询系统执行的方法及计算机可读介质
US8930303B2 (en) Discovering pivot type relationships between database objects
CN112364223B (zh) 一种数字档案馆系统
US11216474B2 (en) Statistical processing of natural language queries of data sets
CN109885665A (zh) 一种数据查询方法、装置及系统
CN107491476B (zh) 一种适用于多种大数据管理系统的数据模型转换及查询分析方法
CN113515564B (zh) 基于j2ee的数据访问方法、装置、设备及存储介质
CN113407514A (zh) 一种数据库迁移的方法、装置、设备及可读介质
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN114253995B (zh) 数据溯源方法、装置、设备及计算机可读存储介质
KR102417131B1 (ko) 쿼리기반 딥러닝 기계학습 시스템
US11567957B2 (en) Incremental addition of data to partitions in database tables
CN118093632A (zh) 基于大语言模型和图结构的图数据库查询方法和装置
CN116737909B (zh) 基于自然语言对话的表数据处理方法
CN117931852A (zh) 一种基于自然语言处理的智能查询和可视化方法
CN115952203B (zh) 数据查询方法、设备、系统及存储介质
KR101897760B1 (ko) 링크드 오픈 데이터 클라우드 정보 서비스를 위한 트리플 변환 및 저장 시스템 및 그 방법
CN113672626B (zh) 一种数据结构变更方法、装置及电子设备
JP2017010376A (ja) マートレス検証支援システムおよびマートレス検証支援方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant