KR20210073763A - 시계열 데이터 처리 장치 및 이의 동작 방법 - Google Patents

시계열 데이터 처리 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20210073763A
KR20210073763A KR1020190164359A KR20190164359A KR20210073763A KR 20210073763 A KR20210073763 A KR 20210073763A KR 1020190164359 A KR1020190164359 A KR 1020190164359A KR 20190164359 A KR20190164359 A KR 20190164359A KR 20210073763 A KR20210073763 A KR 20210073763A
Authority
KR
South Korea
Prior art keywords
data
time series
weight
prediction
time
Prior art date
Application number
KR1020190164359A
Other languages
English (en)
Other versions
KR102501525B1 (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 KR1020190164359A priority Critical patent/KR102501525B1/ko
Priority to US17/116,767 priority patent/US20210182708A1/en
Publication of KR20210073763A publication Critical patent/KR20210073763A/ko
Application granted granted Critical
Publication of KR102501525B1 publication Critical patent/KR102501525B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Abstract

본 발명은 시계열 데이터 처리 장치 및 이의 동작 방법에 관한 것이다. 본 발명의 실시예에 따른 시계열 데이터 처리 장치는 전처리기, 학습기, 및 예측기를 포함한다. 전처리기는 전처리 데이터 및 간격 데이터를 생성한다. 학습기는 간격 데이터 및 전처리 데이터에 기초하여, 특징 가중치, 시계열 가중치, 및 예측 분포를 생성하기 위한 특징 분포 모델의 가중치 그룹을 조절할 수 있다. 예측기는 간격 데이터 및 전처리 데이터에 기초하여 특징 가중치를 생성하고, 특징 가중치 및 간격 데이터에 기초하여 시계열 가중치를 생성하고, 시계열 가중치에 기초하여 예측 결과 및 예측 결과의 신뢰도를 계산할 수 있다.

Description

시계열 데이터 처리 장치 및 이의 동작 방법{TIME SERIES DATA PROCESSING DEVICE AND OPERATING METHOD THEREOF}
본 발명은 시계열 데이터의 처리에 관한 것으로, 좀 더 구체적으로 예측 모델을 학습하거나 이용하는 시계열 데이터 처리 장치 및 이의 동작 방법에 관한 것이다.
의료 기술을 비롯한 각종 기술의 발달은 인간의 생활 수준을 향상시키고, 인간의 수명을 늘리고 있다. 다만, 기술 발달에 따른, 생활 양식의 변화와 잘못된 식습관 등은 다양한 질병 등을 유발시키고 있다. 건강한 삶을 영위하기 위하여, 현재의 질병을 치료하는 것에서 나아가 미래의 건강 상태를 예측하기 위한 요구가 제기되고 있다. 이에 따라, 시간의 흐름에 따른 시계열 의료 데이터의 추이를 분석함으로써, 미래 시점의 건강 상태를 예측하는 방안이 제기되고 있다.
산업 기술과 정보 통신 기술의 발달은 상당한 규모의 정보 및 데이터를 생성하게 만들고 있다. 최근에는, 이러한 수많은 정보 및 데이터를 이용하여, 컴퓨터와 같은 전자 장치를 학습시켜, 다양한 서비스를 제공하는 인공 지능과 같은 기술이 대두되고 있다. 특히, 미래의 건강 상태를 예측하기 위하여, 다양한 시계열 의료 데이터를 이용한 예측 모델을 구축하는 방안이 제기되고 있다. 예를 들어, 시계열 의료 데이터는 불규칙한 시간 간격, 및 복합적이고 특정되지 않은 특징을 갖는 점에서, 다른 분야에서 수집되는 데이터와 차이점을 갖는다. 따라서, 미래의 건강 상태를 예측하기 위하여, 시계열 의료 데이터를 효과적으로 처리하고 분석하기 위한 요구가 제기되고 있다.
본 발명은 시계열 데이터의 불규칙한 시간에 따라 감소하는 예측 결과의 정확성을 개선시키는 시계열 데이터 처리 장치 및 이의 동작 방법을 제공할 수 있다.
본 발명은 시계열 데이터의 예측 과정에 대한 근거 및 타당성을 제공하여 설명 가능한 예측 결과를 제공하는 시계열 데이터 처리 장치 및 이의 동작 방법을 제공할 수 있다.
본 발명의 실시예에 따른 시계열 데이터 처리 장치는 전처리기 및 학습기를 포함한다. 전처리기는 시계열 데이터의 최종 시간을 기준으로 복수의 시간들 각각의 차이에 기초하여 간격 데이터를 생성하고, 시계열 데이터의 전처리 데이터를 생성한다. 학습기는 간격 데이터 및 전처리 데이터에 기초하여, 시계열 데이터의 시간 및 특징에 의존하는 특징 가중치, 복수의 시간들과 최종 시간 사이의 상관 관계에 의존하는 시계열 가중치, 및 최종 시간에 대응되는 시계열 데이터의 예측 분포를 생성하기 위한 특징 분포 모델의 가중치 그룹을 조절한다. 가중치 그룹은 특징 가중치를 생성하기 위한 제1 파라미터, 및 시계열 가중치를 생성하기 위한 제2 파라미터, 및 특징 분포 모델을 생성하기 위한 제3 파라미터를 포함한다.
일례로, 전처리기는 시계열 데이터의 결측치에 보간 값을 추가하여 전처리 데이터를 생성하고, 결측치를 구분하는 마스킹 데이터를 더 생성하고, 학습기는 마스킹 데이터에 더 기초하여, 가중치 그룹을 조절할 수 있다.
일례로, 학습기는 간격 데이터, 전처리 데이터, 및 제1 파라미터에 기초하여 특징 가중치를 계산하고, 특징 가중치에 기초하여 제1 학습 결과를 생성하는 특징 학습기, 간격 데이터, 제1 학습 결과, 및 제2 파라미터에 기초하여 시계열 가중치를 계산하고, 시계열 가중치에 기초하여 제2 학습 결과를 생성하는 시계열 학습기, 및 제2 학습 결과 및 제3 파라미터에 기초하여 예측 분포를 생성하는 분포 학습기를 포함하고, 제1 학습 결과, 제2 학습 결과, 및 예측 분포에 기초하여, 가중치 그룹을 조절할 수 있다.
일례로, 특징 학습기는, 전처리 데이터의 결측치를 구분하는 마스킹 데이터에 기초하여, 전처리 데이터의 제1 보정 데이터를 생성하는 결측치 처리기, 간격 데이터에 기초하여, 전처리 데이터의 제2 보정 데이터를 생성하는 시간 처리기, 제1 파라미터, 제1 보정 데이터, 및 제2 보정 데이터에 기초하여, 특징 가중치를 계산하는 특징 가중치 계산기; 및 전처리 데이터에 특징 가중치를 적용하여 제1 학습 결과를 생성하는 특징 가중치 적용기를 포함할 수 있다.
일례로, 시계열 학습기는, 간격 데이터, 제1 학습 결과, 및 제2 파라미터에 기초하여, 시계열 가중치를 계산하는 시계열 가중치 계산기, 및 전처리 데이터에 시계열 가중치를 적용하여 제2 학습 결과를 생성하는 시계열 가중치 적용기를 포함할 수 있다.
일례로, 분포 학습기는, 제2 학습 결과에 기초하여 잠재 변수를 계산하는 잠재 변수 계산기, 및 잠재 변수에 기초하여 예측 분포를 생성하는 다중 분포 생성기를 포함할 수 있다.
일례로, 학습기는 전처리 데이터에 특징 가중치를 적용한 결과를 인코딩하고, 인코딩된 결과와 최종 시간 사이의 상관 관계 및 인코딩된 결과와 최종 시간의 인코딩된 결과 사이의 상관 관계에 기초하여 시계열 가중치를 계산할 수 있다.
일례로, 학습기는 전처리 데이터에 시계열 가중치를 적용한 학습 결과에 기초하여, 예측 분포의 계수, 예측 분포의 평균, 및 예측 분포의 표준 편차를 계산할 수 있다. 일례로, 학습기는 계수, 평균, 및 표준 편차에 기초하여, 예측 분포를 기준으로 전처리 데이터에 대한 예측 결과의 조건부 확률을 계산하고, 조건부 확률에 기초하여 가중치 그룹을 조절할 수 있다.
본 발명의 실시예에 따른 시계열 데이터 처리 장치는 전처리기 및 예측기를 포함한다. 전처리기는 예측 시간을 기준으로 시계열 데이터의 복수의 시간들 각각의 차이에 기초하여 간격 데이터를 생성하고, 시계열 데이터의 전처리 데이터를 생성한다. 예측기는 간격 데이터 및 전처리 데이터에 기초하여 시계열 데이터의 시간 및 특징에 의존하는 특징 가중치를 생성하고, 특징 가중치 및 간격 데이터에 기초하여 복수의 시간들과 최종 시간 사이의 상관 관계에 의존하는 시계열 가중치를 생성하고, 시계열 가중치에 기초하여 예측 시간에 대응되는 예측 결과 및 예측 결과의 신뢰도를 계산한다.
일례로, 전처리기는 전처리기는 시계열 데이터의 결측치에 보간 값을 추가하여 전처리 데이터를 생성하고, 결측치를 구분하는 마스킹 데이터를 더 생성하고, 예측기는 마스킹 데이터에 더 기초하여, 가중치 그룹을 조절할 수 있다.
일례로, 예측기는, 간격 데이터, 전처리 데이터, 및 특징 파라미터에 기초하여 특징 가중치를 계산하고, 특징 가중치에 기초하여 제1 결과를 생성하는 특징 학습기, 간격 데이터, 제1 결과, 및 시계열 파라미터에 기초하여 시계열 가중치를 계산하고, 시계열 가중치에 기초하여 제2 결과를 생성하는 시계열 학습기, 및 제2 학습 결과 및 분포 파라미터에 기초하여 예측 분포들 중 적어도 일부를 선택하고, 선택된 예측 분포들에 기초하여 예측 결과 및 신뢰도를 계산하는 분포 예측기를 포함할 수 있다.
일례로, 특징 예측기는, 전처리 데이터의 결측치를 구분하는 마스킹 데이터에 기초하여, 전처리 데이터의 제1 보정 데이터를 생성하는 결측치 처리기, 간격 데이터에 기초하여, 전처리 데이터의 제2 보정 데이터를 생성하는 시간 처리기, 및 특징 파라미터, 제1 보정 데이터, 및 제2 보정 데이터에 기초하여, 특징 가중치를 계산하는 특징 가중치 계산기, 및 전처리 데이터에 특징 가중치를 적용하여 제1 결과를 생성하는 특징 가중치 적용기를 포함할 수 있다.
일례로, 시계열 예측기는, 간격 데이터, 제1 결과, 및 시계열 파라미터에 기초하여, 시계열 가중치를 계산하는 시계열 가중치 계산기, 및 전처리 데이터에 시계열 가중치를 적용하여 제2 결과를 생성하는 시계열 가중치 적용기를 포함할 수 있다.
일례로, 분포 예측기는, 제2 결과에 기초하여 잠재 변수를 계산하는 잠재 변수 계산기, 잠재 변수에 기초하여 예측 분포들 중 적어도 일부를 선택하고, 선택된 예측 분포들의 평균 및 표준 편차에 기초하여 예측 결과를 계산하는 예측 값 계산기, 및 선택된 예측 분포들의 표준 편차에 기초하여 신뢰도를 계산하는 신뢰도 계산기를 포함할 수 있다.
일례로, 예측기는 전처리 데이터에 특징 가중치를 적용한 결과를 인코딩하고, 인코딩된 결과와 예측 시간 사이의 상관 관계 및 인코딩된 결과와 예측 시간의 인코딩된 결과 사이의 상관 관계에 기초하여 시계열 가중치를 계산할 수 있다.
일례로, 예측기는 전처리 데이터에 시계열 가중치를 적용한 결과에 기초하여, 예측 분포들의 계수들, 평균들, 및 표준 편차들을 계산하고, 계수들을 샘플링하여 예측 분포들 중 적어도 일부를 선택하고, 선택된 예측 분포들의 평균들 및 표준 편차들에 기초하여 예측 결과를 생성할 수 있다.
본 발명의 실시예에 따른 시계열 데이터 처리 장치의 동작 방법은 시계열 데이터를 전처리한 전처리 데이터를 생성하는 단계, 예측 시간을 기준으로, 시계열 데이터의 복수의 시간들 각각의 차이에 기초하여 간격 데이터를 생성하는 단계, 전처리 데이터 및 기 간격 데이터에 기초하여 시계열 데이터의 시간 및 특징에 의존하는 특징 가중치를 생성하는 단계, 특징 가중치의 적용 결과 및 간격 데이터에 기초하여 복수의 시간들과 예측 시간 사이의 상관 관계에 의존하는 시계열 가중치 생성하는 단계, 시계열 가중치의 적용 결과에 기초하여, 예측 분포들의 특성 정보를 생성하는 단계를 포함 포함한다.
일례로, 예측 시간은 시계열 데이터의 최종 시간이고, 상기 방법은, 특성 정보에 기초하여 전처리 데이터에 대한 예측 결과의 조건부 확률을 계산하는 단계, 및 조건부 확률에 기초하여, 예측 분포들을 생성하기 위한 특징 분포 모델의 가중치 그룹을 조절하는 단계를 더 포함할 수 있다.
일례로, 상기 방법은 특성 정보에 기초하여 예측 시간에 대응되는 예측 결과를 계산하는 단계, 및 특성 정보에 기초하여 예측 결과의 신뢰도를 계산하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 시계열 데이터 처리 장치 및 이의 동작 방법은 불규칙한 시간 간격 및 예측 시간의 불명확성을 개선하여, 예측 결과의 정확성 및 신뢰성을 향상시킬 수 있다.
또한, 본 발명의 실시예에 따른 시계열 데이터 처리 장치 및 이의 동작 방법은 특징 분포 모델을 이용하여 시계열 데이터의 예측 과정에 대한 근거 및 타당성을 제공하여 설명 가능한 예측 결과를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 시계열 데이터 처리 장치의 블록도이다.
도 2는 도 1에서 설명된 시계열 데이터의 시계열적 불규칙성을 설명하기 위한 도면이다.
도 3 및 도 4는 도 1의 전처리기의 예시적인 블록도이다.
도 5는 도 3 및 도 4의 간격 데이터를 설명하기 위한 도면이다.
도 6은 도 1의 학습기의 예시적인 블록도이다.
도 7 내지 도 10은 도 6의 특징 학습기를 구체화한 도면이다.
도 11은 도 6의 시계열 학습기를 구체화한 도면이다.
도 12는 도 11의 시계열 가중치를 생성하는 과정에서의 상관 관계를 설명하기 위한 그래프이다.
도 13은 도 6의 분포 학습기를 구체화한 도면이다.
도 14는 도 1의 예측기의 예시적인 블록도이다.
도 15는 도 1의 시계열 데이터 처리 장치의 예시적인 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재된다.
도 1은 본 발명의 실시예에 따른 시계열 데이터 처리 장치의 블록도이다. 도 1의 시계열 데이터 처리 장치(100)는 시계열 데이터를 전처리하고, 전처리된 시계열 데이터를 분석하여 예측 모델을 학습하거나, 예측 결과를 생성하기 위한 예시적인 구성으로 이해될 것이다. 도 1을 참조하면, 시계열 데이터 처리 장치(100)는 전처리기(110), 학습기(130), 및 예측기(150)를 포함한다.
전처리기(110), 학습기(130), 및 예측기(150)는 하드웨어로 구현되거나, 펌웨어, 소프트웨어, 또는 이의 조합으로 구현될 수 있다. 일례로, 소프트웨어 (또는 펌웨어)는 시계열 데이터 처리 장치(100)에 포함되는 메모리(미도시)에 로딩되어, 프로세서(미도시)에 의하여 실행될 수 있다. 일례로, 전처리기(110), 학습기(130), 및 예측기(150)는 FPGA(Field Programmable Gate Aray) 또는 ASIC(Application Specific Integrated Circuit)와 같은 전용 논리 회로 등의 하드웨어로 구현될 수 있다.
전처리기(110)는 시계열 데이터를 전처리할 수 있다. 시계열 데이터는 시간의 흐름에 따라 기록된, 시간적 순서를 갖는 데이터 집합일 수 있다. 시계열 데이터는 시계열적으로 나열된 복수의 시간들 각각에 대응되는 적어도 하나의 특징들을 포함할 수 있다. 일례로, 시계열 데이터는 전자 의무 기록(Electronic Medical Record, EMR)과 같이, 의료 기관에서 진단, 치료, 또는 투약 처방 등에 의하여 생성된 사용자의 건강 상태를 나타내는 시계열 의료 데이터를 포함할 수 있다. 설명의 명확성을 위하여, 시계열 의료 데이터가 예시적으로 설명되었으나, 시계열 데이터의 종류는 이에 제한되지 않고, 시계열 데이터는 엔터테인먼트, 리테일, 스마트 매니지먼트 등 다양한 분야에서 생성될 수 있다.
전처리기(110)는 시계열 데이터의 시계열적 불규칙성, 결측치, 특징들 간의 형식(type) 차이 등을 보정하도록, 시계열 데이터를 전처리할 수 있다. 시계열 불규칙성은 복수의 시간들 사이의 시간 간격이 규칙성을 갖지 않음을 의미한다. 결측치는, 복수의 특징들 중 특정 시간에 누락되거나 존재하지 않는 특징을 의미한다. 특징들 간의 형식 차이는 특징마다 값을 생성하는 기준이 다름을 의미한다. 전처리기(110)는 시계열 불규칙성이 시계열 데이터에 반영되고, 결측치를 보간하고, 특징들 간의 형식을 일치시키도록, 시계열 데이터를 전처리할 수 있다. 구체적인 내용은 후술된다.
학습기(130)는 전처리된 시계열 데이터, 즉 전처리 데이터에 기초하여, 특징 분포 모델(104)을 학습할 수 있다. 특징 분포 모델(104)은 전처리된 시계열 데이터를 분석하여 미래의 예측 결과를 계산하고, 예측 결과의 분포를 통한 예측 근거를 제공하기 위한 시계열 분석 모델을 포함할 수 있다. 일례로, 특징 분포 모델(104)은 인공 신경망(artificial neural network) 또는 딥러닝 기계 학습을 통하여 구축될 수 있다. 이를 위하여, 시계열 데이터 처리 장치(100)는 학습 데이터(101)로부터 학습을 위한 시계열 데이터를 수신할 수 있다. 학습 데이터(101)는 시계열 데이터 처리 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 데이터베이스화될 수 있다. 학습 데이터(101)는 데이터베이스화되어 시계열적으로 관리되고, 그룹핑되어 저장될 수 있다. 전처리기(110)는 학습 데이터(101)로부터 수신된 시계열 데이터를 전처리하여, 학습기(130)에 제공할 수 있다. 전처리기(110)는 학습 데이터(101)의 시계열 불규칙성을 보완하도록, 학습 데이터(101)의 최종 시점을 기준으로 시계열 데이터의 시간들 각각의 차이를 계산하여, 간격 데이터를 생성할 수 있다. 전처리기(110)는 간격 데이터를 학습기(130)에 제공할 수 있다.
학습기(130)는 전처리된 시계열 데이터를 분석하여, 특징 분포 모델(104)의 가중치 그룹을 생성 및 조절할 수 있다. 학습기(130)는 시계열 데이터의 분석을 통하여 예측 결과의 분포를 생성할 수 있고, 생성된 분포가 목표하는 조건부 확률을 갖도록 특징 분포 모델(104)의 가중치 그룹을 조절할 수 있다. 가중치 그룹은 특징 분포 모델의 신경망 네트워크 구조 또는 신경망 네트워크에 포함된 모든 파라미터들의 집합일 수 있다. 특징 분포 모델(104)은 시계열 데이터 처리 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 데이터베이스화될 수 있다. 가중치 그룹 및 특징 분포 모델은 데이터베이스화되어, 관리 및 저장될 수 있다.
예측기(150)는 전처리된 시계열 데이터를 분석하여 예측 결과를 생성할 수 있다. 예측 결과는 미래의 특정 시점과 같은 예측 시간에 대응되는 결과일 수 있다. 이를 위하여, 시계열 데이터 처리 장치(100)는 예측을 위한 시계열 데이터인 타겟 데이터(102) 및 예측 시점 데이터(103)를 수신할 수 있다. 타겟 데이터(102) 및 예측 시점 데이터(103) 각각은 시계열 데이터 처리 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 데이터베이스화될 수 있다. 전처리기(110)는 타겟 데이터(102)를 전처리하여, 예측기(150)에 제공할 수 있다. 전처리기(110)는 타겟 데이터(102)의 시계열 불규칙성을 보완하도록, 예측 시점 데이터(103)에서 정의되는 예측 시점을 기준으로 시계열 데이터의 시간들 각각의 차이를 계산하여, 간격 데이터를 생성할 수 있다. 전처리기(110)는 간격 데이터를 예측기(150)에 제공할 수 있다.
예측기(150)는 학습기(130)로부터 학습된 특징 분포 모델(104)에 기초하여, 전처리된 시계열 데이터를 분석할 수 있다. 예측기(150)는 전처리된 시계열 데이터의 시계열적 추이 및 특징들을 분석하여 예측 분포를 생성하고, 예측 분포를 샘플링하여 예측 결과(105)를 생성할 수 있다. 예측기(150)는 예측 분포에 기초하여 예측 결과(105)의 신뢰도를 계산함으로써, 예측 근거(106)를 생성할 수 있다. 예측 결과(105) 및 예측 근거(106) 각각은 시계열 데이터 처리 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 데이터베이스화될 수 있다.
도 2는 도 1에서 설명된 시계열 데이터의 시계열적 불규칙성을 설명하기 위한 도면이다. 도 2를 참조하면 예시적으로 제1 환자 및 제2 환자의 의료 시계열 데이터가 도시된다. 시계열 데이터는 적혈구수, 칼슘, 요산, 및 박출계수와 같은 특징들을 포함한다.
환자들의 방문은 불규칙적이다. 이에 따라, 시계열 데이터는 서로 다른 방문 시간들에 생성, 측정, 또는 기록될 수 있다. 나아가, 시계열 데이터의 예측 시간이 설정되지 않는다면, 예측 결과가 나타내는 시간이 불명확하다. 일반적인 시계열 분석은 센서를 통하여 일정한 시간에 수집된 데이터와 같이, 시간 간격이 일정한 것을 가정한고, 규칙적인 시간 간격에 맞게 예측 시간이 자동적으로 설정된다. 이러한 분석은 불규칙적인 시간 간격을 고려하지 못할 수 있다. 도 1의 시계열 데이터 처리 장치(100)는 불규칙한 시간 간격을 반영하고, 명확한 예측 시간을 제공하여, 학습 및 예측을 수행할 수 있다. 이러한 구체적인 내용은 후술된다.
도 3 및 도 4는 도 1의 전처리기의 예시적인 블록도이다. 도 3은 도 1의 전처리기(110)의 학습 단계에서의 동작을 설명한다. 도 4는 도 1의 전처리기(110)의 예측 단계에서의 동작을 설명한다.
도 3을 참조하면, 결측치의 존재 및 불규칙한 시간 간격을 고려하여, 시계열 데이터인 학습 데이터(101)를 전처리하는 예시적인 구성으로 이해될 것이다. 전처리기(110)는 특징 전처리기(111) 및 시계열 전처리기(116)를 포함할 수 있다. 도 1에서 설명된 바와 같이, 특징 전처리기(111) 및 시계열 전처리기(116)는 하드웨어로 구현되거나, 펌웨어, 소프트웨어, 또는 이의 조합으로 구현될 수 있다.
특징 전처리기(111) 및 시계열 전처리기(116)는 학습 데이터(101)를 수신한다. 학습 데이터(101)는 특징 분포 모델의 학습을 위한 데이터이거나, 학습된 특징 분포 모델을 통하여 예측 결과 및 예측 근거를 계산하기 위한 데이터일 수 있다. 예시적으로, 학습 데이터(101)는 제1 내지 제3 데이터(D1~D3)를 포함할 수 있다. 제1 내지 제3 데이터(D1~D3) 각각은 제1 내지 제4 특징들을 포함할 수 있다. 여기에서, 제4 특징은 제1 내지 제3 데이터(D1~D3) 각각이 생성된 시간을 나타낼 수 있다.
특징 전처리기(111)는 학습 데이터(101)를 전처리하여, 전처리 데이터(PD1)를 생성할 수 있다. 전처리 데이터(PD1)는 동일한 타입을 갖도록 변환된 학습 데이터(101)의 특징들을 포함할 수 있다. 전처리 데이터(PD1)는 학습 데이터(101)의 제1 내지 제3 특징들에 대응되는 특징들을 가질 수 있다. 전처리 데이터(PD1)는 결측치(NA)를 보간한 시계열 데이터일 수 있다. 학습 데이터(101)의 특징들이 동일한 타입을 갖고 결측치(NA)가 보간된 경우, 도 1의 학습기(120) 또는 예측기(130)에 의한 시계열 분석이 용이할 수 있다. 전처리 데이터(PD1)를 생성하기 위하여, 특징 전처리기(111)에 수치화 모듈(112), 특징 정규화 모듈(113), 및 결측치 생성 모듈(114)이 구현될 수 있다.
특징 전처리기(111)는 학습 데이터(101)를 전처리하여, 마스킹 데이터(MD1)를 생성할 수 있다. 마스킹 데이터(MD1)는 학습 데이터(101)의 결측치(NA)와 실제 값들을 구분하기 위한 데이터일 수 있다. 마스킹 데이터(MD1)는 학습 데이터(101)의 시간들 각각에 대한 제1 내지 제3 특징들에 대응되는 값들을 가질 수 있다. 마스킹 데이터(MD1)는 시계열 분석 시에, 결측치(NA)를 실제 값과 동일한 중요도로 취급하지 않도록 생성될 수 있다. 마스킹 데이터(MD1)를 생성하기 위하여, 특징 전처리기(111)에 마스크 생성 모듈(115)이 구현될 수 있다.
수치화 모듈(112)은 학습 데이터(101)에서 수치가 아닌 특징들의 형식을 수치 형식으로 변환할 수 있다. 수치가 아닌 형식은 코드 형식 또는 범주 형식(Categorical type) (예를 들어, -, +, ++ 등)을 포함할 수 있다. 예를 들어, EMR 데이터는 특정 질환, 처방, 또는 검사에 따라 약속된 데이터 형식을 가질 수 있으나, 수치 형식과 수치가 아닌 형식이 혼재될 수 있다. 수치화 모듈(112)은 학습 데이터(101)의 비수치 형식의 특징들을 수치 형식으로 변환할 수 있다. 일례로, 수치화 모듈(112)은 Word2Vec과 같은 임베딩 방식으로 특징들을 수치화할 수 있다.
특징 정규화 모듈(113)은 학습 데이터(101)의 수치들을 기준 범위의 값으로 변환할 수 있다. 예를 들어, 기준 범위는 0 내지 1, 또는 -1 내지 1 사이의 수치를 포함할 수 있다. 학습 데이터(101)는 특징에 따라, 독립적인 범위의 수치를 가질 수 있다. 예를 들어, 제1 내지 제3 데이터(D1~D3) 각각의 제3 특징은 기준 범위를 벗어나는 수치 값(10, 10, 11)을 갖는다. 특징 정규화 모듈(113)은 학습 데이터(101)의 제3 특징들(10, 10, 11)을 전처리 데이터(PD1)의 제3 특징들(0.3, 0.3, 0.5)과 같은 기준 범위로 정규화할 수 있다.
결측치 생성 모듈(114)은 학습 데이터(101)의 결측치(NA)에 보간 값을 추가할 수 있다. 보간 값은 기설정된 값을 갖거나, 학습 데이터(101)의 다른 값에 기초하여 생성될 수 있다. 예를 들어, 보간 값은 0, 다른 시간의 특징들의 중간 값, 평균 값, 또는 인접한 시간의 특징 값을 가질 수 있다. 예를 들어, 제1 데이터(D1)의 제2 특징은 결측치(NA)를 갖는다. 결측치 생성 모듈(114)은 제1 데이터(D1)에 시간적으로 인접한 제2 데이터(D2)의 제2 특징 값으로 보간 값을 설정할 수 있다.
마스크 생성 모듈(115)은 결측치(NA)에 기초하여, 마스킹 데이터(MD1)를 생성한다. 마스크 생성 모듈(115)은 결측치(NA)에 대응되는 값과 다른 값들(실제 값)에 대응되는 값을 다르게 설정하여, 마스킹 데이터(MD1)를 생성할 수 있다. 예를 들어, 결측치(NA)에 대응되는 값은 0이고, 실제 값에 대응되는 값은 1일 수 있다.
시계열 전처리기(116)는 학습 데이터(101)를 전처리하여, 간격 데이터(ID1)를 생성할 수 있다. 간격 데이터(ID1)는 학습 데이터(101)의 최종 시간과 제1 내지 제3 데이터(D1~D3)에 대응되는 시간들 사이의 시간 간격 정보를 포함할 수 있다. 여기에서, 최종 시간은 학습 데이터(101)에서 나타내는 시간들 중 최종 시간을 의미할 수 있다. 예를 들어, 제3 데이터(D3)에 대응되는 5월이 최종 시간을 나타낼 수 있다. 간격 데이터(ID1)는 시간 차원에서 학습 데이터(101)와 동일한 개수의 값들을 가질 수 있다. 간격 데이터(ID1)는 시계열 분석 시에, 시계열적 불규칙성을 고려할 수 있도록 생성될 수 있다. 간격 데이터(ID1)를 생성하기 위하여, 시계열 전처리기(116)에 불규칙성 계산 모듈(117) 및 시간 정규화 모듈(118)이 구현될 수 있다.
예측 간격 계산 모듈(117)은 학습 데이터(101)의 불규칙성을 계산할 수 있다. 예측 간격 계산 모듈(117)은 최종 시간과 시계열 데이터의 복수의 시간들 각각의 차이에 기초하여, 시간 간격을 계산할 수 있다. 예를 들어, 제3 데이터(D3)가 나타내는 5월을 기준으로, 제1 데이터(D1)는 4개월 차이를 갖고, 제2 데이터(D2)는 2개월 차이를 갖고, 제3 데이터(D3)는 0개월 차이를 갖는다. 예측 간격 계산 모듈(117)은 이러한 시간 차이를 계산할 수 있다.
시간 정규화 모듈(118)은 불규칙성 계산 모듈(117)로부터 계산된 불규칙적인 시간 차이를 정규화할 수 있다. 시간 정규화 모듈(118)은 불규칙성 계산 모듈(117)로부터 계산된 수치를 기준 범위의 값으로 변환할 수 있다. 예를 들어, 기준 범위는 0 내지 1, 또는 -1 내지 1 사이의 수치를 포함할 수 있다. 연, 월, 일 등으로 수치화된 시간은 기준 범위를 벗어날 수 있고, 시간 정규화 모듈은 해당 시간을 기준 범위로 정규화할 수 있다. 정규화 결과, 제1 내지 제3 데이터(D1~D3) 각각에 대응되는 간격 데이터(ID1)의 값들이 생성될 수 있다.
도 4를 참조하면, 결측치의 존재 및 불규칙한 시간 간격을 고려하여, 시계열 데이터인 타겟 데이터(102)를 전처리하는 예시적인 구성으로 이해될 것이다. 전처리기(110)는 특징 전처리기(111) 및 시계열 전처리기(116)를 포함할 수 있다. 도 1에서 설명된 바와 같이, 특징 전처리기(111) 및 시계열 전처리기(116)는 하드웨어로 구현되거나, 펌웨어, 소프트웨어, 또는 이의 조합으로 구현될 수 있다.
전처리 데이터(PD2) 및 마스킹 데이터(MD2)를 생성하기 위하여, 특징 전처리기(111)에 수치화 모듈(112), 특징 정규화 모듈(113), 결측치 생성 모듈(114), 및 마스크 생성 모듈(115)이 구현될 수 있다. 전처리 데이터(PD2) 및 마스킹 데이터(MD2)를 생성하는 과정은 도 3의 특징 전처리기(111)가 전처리 데이터(PD1) 및 마스킹 데이터(MD1)를 생성하는 과정과 실질적으로 동일하다.
시계열 전처리기(116)는 타겟 데이터(102)를 전처리하여, 간격 데이터(ID2)를 생성할 수 있다. 간격 데이터(ID2)는 예측 시간과 제1 및 제2 데이터(D1, D2)에 대응되는 시간들 사이의 시간 간격 정보를 포함할 수 있다. 여기에서, 예측 시간은 예측 시점 데이터(103)에 의하여 정의될 수 있다. 예를 들어, 예측 시점 데이터(103)에 따라 12월이 예측 시간을 나타낼 수 있다. 따라서, 시계열적 불규칙성 하에서, 명확한 예측 시간이 제공될 수 있다. 간격 데이터(ID2)를 생성하기 위하여, 시계열 전처리기(116)에 불규칙성 계산 모듈(117) 및 시간 정규화 모듈(118)이 구현될 수 있다.
예측 간격 계산 모듈(117)은 예측 시간과 시계열 데이터의 복수의 시간들 각각의 차이에 기초하여, 시간 간격을 계산할 수 있다. 예를 들어, 12월을 기준으로, 제1 데이터(D1)는 7개월 차이를 갖고, 제2 데이터(D2)는 6개월 차이를 갖는다. 예측 간격 계산 모듈(117)은 이러한 시간 차이를 계산할 수 있다. 시간 정규화 모듈(118)은 불규칙성 계산 모듈(117)로부터 계산된 불규칙적인 시간 차이를 정규화할 수 있다. 정규화 결과, 제1 및 제2 데이터(D1, D2) 각각에 대응되는 간격 데이터(ID2)의 값들이 생성될 수 있다.
도 5는 도 3 및 도 4의 간격 데이터를 설명하기 위한 도면이다. 도 5를 참조하면, 학습 데이터(101)에서 간격 데이터(ID1)를 생성하기 위한 기준과 타겟 데이터(102)에서 간격 데이터(ID2)를 생성하기 위한 기준은 서로 다르다. 예시적으로, 학습 데이터(101) 및 타겟 데이터(102)는 제1 환자 및 제2 환자의 의료 시계열 데이터로 설명된다. 시계열 데이터는 적혈구수, 칼슘, 요산, 및 박출계수와 같은 특징들을 포함한다.
학습 데이터(101)에서 간격 데이터(ID1)를 생성하기 위한 기준은 시계열 데이터의 최종 시간이다. 즉, 제1 환자의 시계열 데이터를 기준으로, 가장 마지막 데이터(DL)에 대응되는 시간인 2019년 12월이 최종 시간이다. 최종 시간을 기준으로, 특징들이 생성된 시간들의 시간 간격이 계산될 수 있다. 계산 결과, 간격 데이터(ID1)가 생성된다.
타겟 데이터(102)에서 간격 데이터(ID2)를 생성하기 위한 기준은 예측 시간이다. 즉, 예측 시점 데이터(103)에서 설정된 2019년 12월이 예측 시간이다 예측 시간을 기준으로, 특징들이 생성된 시간들의 시간 간격이 계산될 수 있다. 계산 결과, 간격 데이터(ID2)가 생성된다.
도 6은 도 1의 학습기의 예시적인 블록도이다. 도 6의 블록도는 전처리 데이터(PD1)에 기초하여, 특징 분포 모델(104)을 학습하고 가중치 그룹을 결정하는 예시적인 구성으로 이해될 것이다. 도 6을 참조하면, 학습기(130)는 특징 학습기(131), 시계열 학습기(136), 및 분포 학습기(139)를 포함할 수 있다. 도 1에서 설명된 바와 같이, 특징 학습기(131), 시계열 학습기(136), 및 분포 학습기(139)는 하드웨어로 구현되거나, 펌웨어, 소프트웨어, 또는 이의 조합으로 구현될 수 있다.
특징 학습기(131)는 도 3의 전처리기(110)로부터 생성된 전처리 데이터(PD1), 마스킹 데이터(MD), 및 간격 데이터(ID)에 기초하여, 시계열 데이터의 시간 및 특징을 분석한다. 특징 학습기(131)는 특징 분포 모델(104)의 적어도 일부를 학습시켜, 특징 가중치를 생성하기 위한 파라미터들을 생성할 수 있다. 이러한 파라미터들(특징 파라미터)은 가중치 그룹에 포함된다. 특징 가중치는 시계열 데이터의 시간 및 특징에 의존한다.
특징 가중치는 특정 시간에 대응되는 복수의 특징들 각각의 가중치를 포함할 수 있다. 즉, 특징 가중치는 특징 파라미터에 기초하여 계산되는, 시계열 데이터에 포함된 값들의 중요도를 판단하는 지표로 이해될 수 있다. 이를 위하여, 특징 학습기(131)에 결측치 처리기(132), 시간 처리기(133), 특징 가중치 계산기(134), 및 특징 가중치 적용기(135)가 구현될 수 있다.
결측치 처리기(132)는 마스킹 데이터(MD1)에 기초하여, 전처리 데이터(PD1)의 보간 값을 보정하기 위한 제1 보정 데이터를 생성할 수 있다. 또는, 결측치 처리기(132)는 마스킹 데이터(MD1)를 전처리 데이터(PD1)에 반영함으로써, 제1 보정 데이터를 생성할 수 있다. 상술하였듯이, 보간 값은 결측치를 다른 수치로 대체한 값일 수 있다. 학습기(130)는 전처리 데이터(PD1)에 포함된 값들이 임의로 부여된 보간 값인지 실제 값인지 알 수 없다. 따라서, 결측치 처리기(132)는 마스킹 데이터(MD)를 이용하여, 보간 값의 중요도를 조절하기 위한 제1 보정 데이터를 생성할 수 있다.
시간 처리기(133)는 간격 데이터(ID1)에 기초하여, 전처리 데이터(PD1)의 시간 간격의 불규칙성을 보정하기 위한 제2 보정 데이터를 생성할 수 있다. 또는, 시간 처리기(133)는 간격 데이터(ID1)를 전처리 데이터(PD1)에 반영함으로써, 제2 보정 데이터를 생성할 수 있다. 시간 처리기(123)는 간격 데이터(ID1)를 이용하여, 전처리 데이터(PD1)에 대응되는 복수의 시간들 각각의 중요도를 조절하기 위한 제2 보정 데이터를 생성할 수 있다. 즉, 특정 시간에 대응되는 특징들은 제2 보정 데이터에 의하여 동일한 중요도로 보정될 수 있다.
특징 가중치 계산기(134)는 제1 보정 데이터 및 제2 보정 데이터에 기초하여, 전처리 데이터(PD1)의 특징들 및 시간들에 대응되는 특징 가중치를 계산할 수 있다. 특징 가중치 계산기(134)는 보간 값의 중요도 및 시간들 각각의 중요도를 특징 가중치에 반영할 수 있다. 일례로, 특징 가중치 계산기(134)는 어텐션 메커니즘(attention mechanism)을 이용하여, 예측 결과가 특정된 특징에 주목하도록 특징 가중치를 생성할 수 있다.
특징 가중치 적용기(135)는 특징 가중치 계산기(134)로부터 계산된 특징 가중치를 전처리 데이터(PD1)에 적용할 수 있다. 적용 결과, 특징 가중치 적용기(135)는 시간 및 특징의 복합성이 전처리 데이터(PD1)에 반영된 제1 학습 결과를 생성할 수 있다. 예를 들어, 특징 가중치 적용기(135)는 특정 시간 및 특징에 대응되는 특징 가중치를 전처리 데이터(PD1)의 대응되는 특징에 곱할 수 있다. 다만, 이에 제한되지 않고, 특징 가중치는 제1 또는 제2 보정 데이터에 의하여 전처리 데이터(PD1)를 분석한 중간 결과에 적용될 수 있다.
시계열 학습기(136)는 특징 가중치 적용기(135)로부터 생성된 제1 학습 결과에 기초하여, 복수의 시간들과 최종 시간 사이의 상관 관계 및 복수의 시간들과 최종 시간의 제1 학습 결과 사이의 상관 관계를 분석한다. 특징 학습기(131)가 시계열 데이터의 특징 및 시간 (여기에서, 시간은 시간 간격이 반영된 특정 시점을 의미할 수 있다.)에 대응되는 값들을 분석한다면, 시계열 학습기(136)는 시간의 흐름에 따른 데이터의 추이 또는 예측 시점과 특정 시간 사이의 관계 등을 분석할 수 있다. 시계열 학습기(136)는 특징 분포 모델(104)의 적어도 일부를 학습시켜, 시계열 가중치를 생성하기 위한 파라미터들을 생성할 수 있다. 이러한 파라미터들(시계열 파라미터)은 가중치 그룹에 포함된다.
시계열 가중치는 시계열 데이터의 복수의 시간들 각각의 가중치를 포함할 수 있다. 즉, 시계열 가중치는 시계열 파라미터에 기초하여 계산되는, 시계열 데이터의 시간들 각각의 중요도를 판단하는 지표로 이해될 수 있다. 이를 위하여, 시계열 학습기(136)에 시계열 가중치 계산기(137) 및 시계열 가중치 적용기(138)가 구현될 수 있다.
시계열 가중치 계산기(137)는 특징 학습기(131)로부터 생성된 제1 학습 결과의 시간들에 대응되는 시계열 가중치를 계산할 수 있다. 시계열 가중치 계산기(137)는 최종 시간을 기준으로 시간들 각각의 중요도를 시계열 가중치에 반영할 수 있다. 시계열 가중치 계산기(137)는 최종 시간의 학습 결과를 기준으로 시간들 각각의 중요도를 시계열 가중치에 반영할 수 있다. 예시적으로, 시계열 가중치 계산기(137)는 복수의 시간들과 최종 시간 사이의 상관 관계 및 복수의 시간들과 최종 시간의 제1 학습 결과 사이의 상관 관계를 스코어링하여, 시계열 가중치를 생성할 수 있다.
시계열 가중치 적용기(138)는 시계열 가중치 계산기(137)로부터 계산된 시계열 가중치를 전처리 데이터(PD1)에 적용할 수 있다. 적용 결과, 시계열 가중치 적용기(138)는 시간 간격의 불규칙성 및 시계열적 추이가 반영된 제2 학습 결과를 생성할 수 있다. 예를 들어, 시계열 가중치 적용기(138)는 특정 시간에 대응되는 시계열 가중치를 특정 시간에 대응되는 제1 학습 결과의 특징들에 곱할 수 있다. 다만, 이에 제한되지 않고, 시계열 가중치는 제1 학습 결과 또는 제1 학습 결과를 분석한 중간 결과에 적용될 수 있다.
분포 학습기(139)는 시계열 가중치 적용기(138)로부터 생성된 제2 학습 결과에 기초하여, 예측 결과 및 예측 결과의 신뢰도를 계산하기 위한 예측 분포들의 조건부 확률을 분석한다. 분포 학습기(139)는 예측 결과의 예측 근거를 설명할 수 있도록, 다양한 분포들을 생성할 수 있다. 분포 학습기(139)는 예측 분포들을 기준으로, 학습 데이터에 대한 예측 결과의 조건부 확률을 분석할 수 있다. 분포 학습기(139)는 특징 분포 모델(104)의 적어도 일부를 학습시켜, 예측 분포들을 생성하기 위한 파라미터들을 생성할 수 있다 이러한 파라미터들(분포 파라미터)은 가중치 그룹에 포함된다. 이를 위하여, 분포 학습기(139)에 잠재 변수 계산기(140) 및 다중 분포 생성기(141)가 구현될 수 있다.
잠재 변수 계산기(140)는 시계열 학습기(136)로부터 생성된 제2 학습 결과에 대한 잠재 변수(Latent variable)를 생성할 수 있다. 여기에서, 잠재 변수는 다양한 예측 분포들의 용이한 생성을 위하여, 제2 학습 결과를 분석한 중간 결과로 이해될 것이며, 특징 벡터들로 표현될 수 있다.
다중 분포 생성기(141)는 잠재 변수 계산기(140)로부터 계산된 잠재 변수를 이용하여 예측 분포들을 생성할 수 있다. 다중 분포 생성기(141)는 잠재 변수를 이용하여 예측 분포들 각각의 계수, 평균, 및 표준 편차와 같은 특성 정보를 생성할 수 있다. 다중 분포 생성기(141)는 생성된 계수, 평균, 및 표준 편차를 이용하여, 예측 분포들을 기준으로 전처리 데이터(PD1) 또는 학습 데이터에 대한 예측 결과의 조건부 확률을 계산할 수 있다. 계산된 조건부 확률에 기초하여, 가중치 그룹이 조절될 수 있고, 특징 분포 모델(104)이 학습될 수 있다. 특징 분포 모델(104)을 이용하여, 추후 예측 단계에서 타겟 데이터에 대한 예측 결과가 계산되고, 예측 결과의 신뢰도를 포함하는 예측 근거가 제공될 수 있다.
도 7 내지 도 10은 도 6의 특징 학습기를 구체화한 도면이다. 도 7 내지 도 10을 참조하면, 특징 학습기(131_1~131_4)는 결측치 처리기(132_1~132_4), 시간 처리기(133_1~133_4), 특징 가중치 계산기(134_1~134_4), 및 특징 가중치 적용기(135_1~135_4)로 구현될 수 있다.
도 7을 참조하면, 결측치 처리기(132_1)는 마스킹 데이터(MD1) 및 전처리 데이터(PD1)를 병합(merge)하여, 병합 데이터(MG)를 생성할 수 있다. 결측치 처리기(132_1)는 병합 데이터(MG)를 인코딩하여, 인코딩 데이터(ED)를 생성할 수 있다. 인코딩을 위하여, 결측치 처리기(132_1)는 인코더(EC)를 포함할 수 있다. 예를 들어, 인코더(EC)는 1D 컨볼루션 레이어 또는 오토-인코더로 구현될 수 있다. 이러한 인코딩을 위한 가중치 및 바이어스는 상술된 특징 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다. 인코딩 데이터(ED)는 도 6에서 설명된 제1 보정 데이터에 대응된다.
시간 처리기(133_1)는 간격 데이터(ID1)를 모델링할 수 있다. 예를 들어, 시간 처리기(133_1)는 tanh와 같은 비선형 함수를 이용하여, 간격 데이터(ID1)를 모델링할 수 있다. 이 경우, 해당 함수에 가중치 및 바이어스가 적용될 수 있다. 일례로, 시간 처리기(133_1)는 tanh 함수를 통하여, 간격 데이터(ID1)를 모델링할 수 있다. 가중치 및 바이어스는 상술된 특징 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다. 모델링된 간격 데이터(ID1)는 도 6에서 설명된 제2 보정 데이터에 대응된다.
특징 가중치 계산기(134_1)는 어텐션 메커니즘을 이용하여, 예측 결과가 특정된 특징에 주목하도록 특징 가중치(AD)를 생성할 수 있다. 또한, 특징 가중치 계산기(134_1)는 특징 가중치(AD)가 시계열 데이터의 시간 간격을 반영하도록, 모델링된 간격 데이터를 함께 처리할 수 있다. 일례로, 특징 가중치 계산기(134_1)는 순방향 신경망(feed-forward neural network)을 통하여, 인코딩 데이터(ED)의 특징들을 분석할 수 있다. 인코딩 데이터(ED)는 마스킹 데이터(MD1)에 의하여, 결측치의 중요도를 전처리 데이터(PD1)에 반영한 보정 데이터일 수 있다. 순방향 신경망은 가중치 및 바이어스에 기초하여, 인코딩 데이터(ED)를 분석할 수 있다. 이러한 가중치 및 바이어스는 상술된 특징 파라미터에 포함될 수 있고, 학습기(120)에 의하여 생성될 수 있다. 특징 가중치 계산기(134_1)는 인코딩 데이터(ED)를 분석하여, 특징 분석 데이터(XD)를 생성할 수 있다.
특징 가중치 계산기(134_1)는 특징 분석 데이터(XD) 및 모델링된 간격 데이터를 softmax 함수에 적용함으로써, 특징 가중치(AD)를 계산할 수 있다. 이 경우, 해당 함수에 가중치 및 바이어스가 적용될 수 있다. 가중치 및 바이어스는 상술된 특징 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다.
특징 가중치 적용기(135_1)는 특징 가중치(AD)를 특징 분석 데이터(XD)에 적용할 수 있다. 일례로, 특징 가중치 적용기(135_1)는 특징 가중치(AD)와 특징 분석 데이터(XD)를 곱하여, 제1 학습 결과(YD)를 생성할 수 있다. 다만, 이에 제한되지 않고, 특징 가중치(AD)는 특징 분석 데이터(XD) 대신 전처리 데이터(PD1)에 적용될 수도 있다.
도 8을 참조하면, 특징 학습기(131_2)는 결측치 처리기(132_2) 및 특징 가중치 계산기(134_2)를 제외하고, 도 7의 특징 학습기(130_2)와 실질적으로 동일하게 동작할 수 있다. 실질적으로 동일하게 동작하는 구성은 설명이 생략된다.
결측치 처리기(132_2)는 마스킹 데이터(MD1) 및 전처리 데이터(PD1)를 병합(merge)하여, 병합 데이터(MG)를 생성할 수 있다. 도 7과 달리, 결측치 처리기(132_2)는 병합 데이터(MG)를 후처리하지 않을 수 있다. 일례로, 특징 가중치 계산기(134_2)는 순방향 신경망 대신, 순환 신경망을 통하여, 병합 데이터(MG)를 분석할 수 있다. 순환 신경망은 병합 데이터(MG)를 인코딩하는 기능을 추가적으로 수행할 수 있다. 순환 신경망은 가중치 및 바이어스에 기초하여, 병합 데이터(MG)를 분석할 수 있다.
도 9를 참조하면, 특징 학습기(131_3)는 결측치 처리기(132_3) 및 특징 가중치 계산기(134_3)를 제외하고, 도 7의 특징 학습기(131_1)와 실질적으로 동일하게 동작할 수 있다. 실질적으로 동일하게 동작하는 구성은 설명이 생략된다.
결측치 처리기(132_3)는 마스킹 데이터(MD1)를 모델링할 수 있다. 예를 들어, 결측치 처리기(132_3)는 tanh와 같은 비선형 함수를 이용하여, 마스킹 데이터(MD1)를 모델링할 수 있다. 이 경우, 해당 함수에 가중치 및 바이어스가 적용될 수 있다. 가중치 및 바이어스는 상술된 특징 파라미터에 포함될 수 있고, 학습기(120)에 의하여 생성될 수 있다.
특징 가중치 계산기(134_3)는 모델링된 마스킹 데이터를 모델링된 간격 데이터와 마찬가지로, 어텐션 매커니즘을 이용하여 처리할 수 있다. 특징 가중치 계산기(134_3)는 순방향 신경망을 통하여, 전처리 데이터(PD1)의 특징들을 분석하고, 특징 분석 데이터(XD)를 생성할 수 있다. 특징 가중치 계산기(134_3)는 특징 분석 데이터(XD), 모델링된 마스킹 데이터, 및 모델링된 간격 데이터를 softmax 함수에 적용함으로써, 특징 가중치(AD)를 계산할 수 있다.
도 10을 참조하면, 특징 학습기(130_4)는 시간 처리기(133_4) 및 특징 가중치 계산기(134_4)를 제외하고, 도 7의 예측기(130_1)와 실질적으로 동일하게 동작할 수 있다. 실질적으로 동일하게 동작하는 구성은 설명이 생략된다.
시간 처리기(133_4)는 간격 데이터(ID1) 및 전처리 데이터(PD1)를 병합(merge)하여, 병합 데이터(MG)를 생성할 수 있다. 특징 가중치 계산기(134_2)는 순방향 신경망을 통하여, 병합 데이터(MG)를 분석할 수 있다. 순환 신경망은 가중치 및 바이어스에 기초하여, 병합 데이터(MG)를 분석하고, 특징 분석 데이터(XD)를 생성할 수 있다. 특징 가중치 계산기(134_4)는 특징 분석 데이터(XD) 및 모델링된 마스킹 데이터를 softmax 함수에 적용함으로써, 특징 가중치(AD)를 계산할 수 있다.
도 11은 도 6의 시계열 학습기를 구체화한 도면이다. 도 11을 참조하면, 시계열 학습기(136)는 시계열 가중치 계산기(137) 및 시계열 가중치 적용기(138)로 구현될 수 있다.
시계열 가중치 계산기(137)는 도 6 내지 도 10에서 설명된 특징 학습기(131)로부터 생성된 제1 학습 결과(YD)를 인코딩하여 인코딩 데이터(HD)를 생성할 수 있다. 인코딩을 위하여, 시계열 가중치 계산기(137)는 인코더를 포함할 수 있다. 예를 들어, 인코더는 1D 컨볼루션 레이어 또는 오토-인코더로 구현될 수 있다. 이러한 인코딩을 위한 가중치 및 바이어스는 상술된 시계열 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다.
시계열 가중치 계산기(137)는 인코딩 데이터(HD) 및 간격 데이터(ID1)에 기초하여 시계열 가중치(BD)를 생성할 수 있다. 시계열 가중치 계산기(137)는 인코딩 데이터(HD)와 최종 시간에 대응되는 인코딩 데이터(HD)의 값 사이의 상관 관계를 분석하여, 제1 스코어를 계산할 수 있다. 시계열 가중치 계산기(137)는 인코딩 데이터(HD)의 시간들과 최종 시간 사이의 상관 관계를 분석하여, 제2 스코어를 계산할 수 있다. 시계열 가중치 계산기(137)는 제1 및 제2 스코어들을 정규화하고, 가중치를 반영하여 시계열 가중치를 생성할 수 있다. 시계열 가중치 계산기(137)는 신경망 (일례로, 순방향 신경망)을 통하여, 인코딩 데이터(HD)와 최종 시간 또는 최종 시간의 값 사이의 상관 관계를 분석할 수 있다. 이러한 과정은 수학식 1과 같을 수 있다.
Figure pat00001
수학식 1을 참조하면, 인코딩 데이터의 값들(hi)과 최종 시간에 대응되는 인코딩 데이터의 값(hL) 사이의 상관 관계에 기초하여 제1 스코어가 계산될 수 있다. 인코딩 데이터의 값들(hi)과 최종 시간 사이의 상관 관계에 기초하여 제2 스코어가 계산될 수 있다. 제1 스코어는 0과 π/2 사이에서 정규화되고, 높은 스코어 값을 가질수록 높은 가중치를 갖도록 sin 함수를 반영할 수 있다. 반영 결과, 제1 값(a1)이 생성될 수 있다. 제2 스코어는 0과 π/2 사이에서 정규화되고, 높은 스코어 값을 가질수록 낮은 가중치를 갖도록 cos 함수를 반영할 수 있다. 반영 결과, 제2 값(a2)이 생성될 수 있다. 제1 값(a1) 및 제2 값(a2)은 가중합 되고, softmax 함수에 적용될 수 있다. 그 결과, 시계열 가중치(bi)가 생성될 수 있다. 이를 위한 가중치 W는 시계열 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다.
시계열 가중치 적용기(138)는 시계열 가중치(BD)를 전처리 데이터(PD1)에 적용할 수 있다. 일례로, 시계열 가중치 적용기(138)는 시계열 가중치(BD)와 전처리 데이터(PD1)를 곱하여 제2 학습 결과(ZD)를 생성할 수 있다. 다만, 이에 제한되지 않고, 시계열 가중치(BD)는 전처리 데이터(PD1) 대신 인코딩 데이터(HD) 또는 제1 학습 결과(TD)에 적용될 수도 있다.
도 12는 도 11의 시계열 가중치를 생성하는 과정에서의 상관 관계를 설명하기 위한 그래프이다. 도 12를 참조하면, 가로축은 도 11에서 설명된 스코어(제1 스코어, 제2 스코어)로 정의되고, 세로축은 도 11에서 설명된 시계열 가중치(BD)를 생성하기 위한 중간 값(제1 값, 제2 값)으로 정의될 수 있다.
시계열 데이터의 각 특징들에 대응되는 도 11의 인코딩 데이터의 값들과 최종 시간의 인코딩 데이터의 값 사이의 상관 관계는 제1 스코어로 나타날 수 있다. 최종 시간의 값과 상관 관계가 높은 값들의 제1 스코어는 보다 높게 나타날 수 있다. 제1 값(a1)은 정규화된 제1 스코어에 sin 함수를 적용하여 생성될 수 있다. 그 결과, 제1 스코어가 클수록, 제1 값(a1)은 클 수 있다. 이에 따라, 최종 시간의 값과 상관 관계가 높은 값들이 시계열 가중치(BD)를 생성하는데 높은 중요도를 가질 수 있다.
시계열 데이터의 각 특징들에 대응되는 도 11의 인코딩 데이터의 값들과 최종 시간의 사이의 상관 관계는 제2 스코어로 나타날 수 있다. 최종 시간으로부터 멀리 떨어진 시간에 대응되는 값들의 제2 스코어는 보다 높게 나타날 수 있다. 제2 값(a2)은 정규화된 제2 스코어에 cos 함수를 적용하여 생성될 수 있다. 그 결과, 제2 스코어가 클수록, 제2 값(a2)은 작아질 수 있다. 이에 따라, 최종 시간으로부터 오래된 값들이 시계열 가중치(BD)를 생성하는데 낮은 중요도를 가질 수 있다.
시계열 가중치(BD)는 제1 값(a1) 및 제2 값(a2)을 이용하여 생성됨에 따라, 시계열 데이터의 복수의 시간들과 최종 시간(예측 시간) 사이의 상관 관계에 의존하는 값을 갖게 될 수 있다. 즉, 최종 시간을 기준으로 시계열 데이터의 시간적인 거리 및 최종 시간에 대응되는 데이터와의 관련성을 고려하여, 특징들 각각에 대한 시계열 가중치(BD)가 생성될 수 있다.
도 13은 도 6의 분포 학습기를 구체화한 도면이다. 도 13을 참조하면, 분포 학습기(139)는 잠재 변수 계산기(140) 및 다중 분포 생성기(141)로 구현될 수 있다.
잠재 변수 계산기(140)는 시계열 학습기(136)로부터 생성된 제2 학습 결과에 대한 잠재 변수(LV)를 생성할 수 있다. 잠재 변수 계산기(140)는 다양한 예측 분포들의 용이한 생성을 위하여, 신경망을 통하여 제2 학습 결과(ZD)를 분석할 수 있다. 분석 결과 생성된 잠재 변수(LV)는 다중 분포 생성기(141)로 입력될 수 있다. 신경망의 분석을 위한 가중치 및 바이어스는 상술된 분포 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다.
다중 분포 생성기(141)는 잠재 변수(LV)를 3개의 신경망들로 전달할 수 있다. 다중 분포 생성기(141)는 학습 데이터에 대한 예측 결과의 조건부 확률을 계산하기 위한 복수의 (일례로, i개의) 예측 분포들(DD)을 생성할 수 있다. 예측 분포들(DD)을 생성하기 위하여, 잠재 변수(LV)는 예측 분포들(DD)의 계수(bi) (혼합 계수(Mixing coefficient)를 생성하기 위한 신경망에 입력될 수 있다. 해당 신경망은 잠재 변수(LV)를 softmax 함수에 적용함으로써 계수(bi)를 생성할 수 있다. 또한, 잠재 변수(LV)는 예측 분포들(DD)의 평균(μi)을 생성하기 위한 신경망에 입력될 수 있다. 또한, 잠재 변수(LV)는 예측 분포들(DD)의 표준 편차(σi)를 생성하기 위한 신경망에 입력될 수 있다. 표준 편차(σi)의 생성 과정에서 음수가 나오지 않도록, 지수 함수가 사용될 수 있다. 신경망들의 계수(bi), 평균(μi), 및 표준 편차(σi)의 생성을 위한 가중치 및 바이어스는 상술된 분포 파라미터에 포함될 수 있고, 학습기(130)에 의하여 생성될 수 있다.
분포 학습기(139)는 생성된 예측 분포들(DD)의 계수(bi), 평균(μi), 및 표준 편차(σi)에 기초하여, 전처리 데이터(PD1) 또는 학습 데이터(101)에 대한 예측 결과의 조건부 확률을 계산할 수 있다. 이러한 조건부 확률은 수학식 2와 같이 계산될 수 있다.
Figure pat00002
수학식 2를 참조하면, x는 학습 데이터(101) 또는 전처리 데이터(PD1)와 같이, 분석 대상의 조건으로 정의되고, y는 이에 따른 예측 결과로 정의된다. 학습 단계에서, 예측 결과는 최종 시간에 대응되는 학습 데이터(101) 또는 전처리 데이터(PD1)의 값일 수 있다. 예측 단계에서, 설정된 예측 시점 데이터(103)에 의하여 정의되는 예측 시간의 결과일 수 있다. 수학식 2는 예측 분포들(DD)이 가우시안 분포인 것으로 가정하여 전개된 수식이나, 예측 분포들(DD)의 분포는 이러한 정규 분포에 제한되지 않는다. 예측 분포들(DD)의 계수(bi), 평균(μi), 및 표준 편차(σi)가 수학식 2에 적용되어, 조건부 확률(p(y|x))이 계산될 수 있다. 계산된 조건부 확률(p(y|x))에 기초하여, 가중치 그룹이 조절될 수 있고, 특징 분포 모델(104)이 학습될 수 있다.
도 14는 도 1의 예측기의 예시적인 블록도이다. 도 14의 블록도는 학습기(130)에 의하여 학습된 특징 분포 모델(104) 및 가중치 그룹에 기초하여, 전처리 데이터(PD2)를 분석하고, 예측 결과(105) 및 예측 근거(106)를 생성하는 예시적인 구성으로 이해될 것이다. 도 14를 참조하면, 예측기(150)는 특징 예측기(151), 시계열 예측기(156), 및 분포 예측기(159)를 포함할 수 있다. 도 1에서 설명된 바와 같이, 특징 예측기(151), 시계열 예측기(156), 및 분포 예측기(159)는 하드웨어로 구현되거나, 펌웨어, 소프트웨어, 또는 이의 조합으로 구현될 수 있다.
특징 예측기(151)는 도 4의 전처리기(110)로부터 생성된 전처리 데이터(PD2), 마스킹 데이터(MD2), 및 간격 데이터(ID2)에 기초하여, 시계열 데이터의 시간 및 특징을 분석한다. 여기에서, 간격 데이터(ID2)는 예측 시점 데이터(103)를 기준으로 시계열 데이터의 시간들의 차이에 기초하여 생성된다. 특징 예측기(151)에 결측치 처리기(152), 시간 처리기(153), 특징 가중치 계산기(154), 및 특징 가중치 적용기(155)가 구현될 수 있으며, 도 6의 결측치 처리기(132), 시간 처리기(133), 특징 가중치 계산기(134), 및 특징 가중치 적용기(135)와 실질적으로 동일하게 구현될 수 있다. 특징 예측기(151)는 특징 분포 모델(104)의 특징 파라미터에 기초하여, 전처리 데이터(PD1)를 분석하고, 제1 결과를 생성할 수 있다.
시계열 예측기(156)는 특징 예측기(151)로부터 생성된 제1 결과에 기초하여, 복수의 시간들과 최종 시간 사이의 상관 관계 및 복수의 시간들과 최종 시간의 제1 학습 결과 사이의 상관 관계를 분석한다. 시계열 예측기(156)에 시계열 가중치 계산기(157) 및 시계열 가중치 적용기(158)가 구현될 수 있으며, 도 6의 시계열 가중치 계산기(137) 및 시계열 가중치 적용기(138)와 실질적으로 동일하게 구현될 수 있다. 시계열 예측기(156)는 특징 분포 모델(104)로부터 제공된 시계열 파라미터에 기초하여, 제1 결과를 분석하고, 제2 결과를 생성할 수 있다.
분포 예측기(160)는 시계열 예측기(156)로부터 생성된 제2 결과에 기초하여, 예측 시간에 대응되는 예측 결과(105)를 계산하고, 예측 결과의 신뢰도 등과 같은 예측 근거(106)를 더 계산할 수 있다. 분포 예측기(160)에 잠재 변수 계산기(160), 예측 값 계산기(161), 및 신뢰도 계산기(162)가 구현될 수 있다. 잠재 변수 계산기(160)는 도 6의 잠재 변수 계산기(140)와 실질적으로 동일하게 구현될 수 있다.
예측 값 계산기(161)는 잠재 변수에 기초하여, 예측 분포들에 대응되는 계수, 평균, 및 표준 편차와 같은 특성 정보를 계산할 수 있다. 예측 값 계산기(161)는 계수, 평균, 및 표준 편차를 통한 샘플링 방식으로 예측 결과(105)를 생성할 수 있다. 예측 값 계산기(161)는 계수, 평균, 및 표준 편차에 따른 다양한 예측 분포들 중 일부 예측 분포들을 선택하고, 선택된 분포들의 평균 및 표준 편차들의 평균을 계산하여 예측 결과(105)를 계산할 수 있다. 예측 결과(105)는 수학식 3과 같이 계산될 수 있다.
Figure pat00003
수학식 3을 참조하면, 예측 값 계산기(161)는 계수(bi)를 샘플링 (일례로, Gumbel softmax sampling)하여, 인덱스를 생성할 수 있다. 이러한 인덱스에 기초하여, 다양한 예측 분포들 중 일부 분포들이 선택될 수 있다. 그리고, 선택된 예측 분포들에 대응되는 평균(μi), 및 표준 편차(σi)의 평균 (여기에서, n은 샘플링 개수)이 계산됨으로써, 예측 결과(105)가 계산될 수 있다.
신뢰도 계산기(162)는 예측 결과(105)의 계산 시에 선택된 예측 분포들의 표준 편차를 계산할 수 있다. 이러한 표준 편차를 통하여, 예측 결과(105)의 신뢰도에 대응되는 표준 오차가 계산될 수 있다. 신뢰도(표준 오차, SE), 즉 예측 근거(106)는 수학식 4와 같이 계산될 수 있다.
수학식 4를 통하여, 예측 결과(105)의 표준 오차(SE)가 계산되고, 이러한 표준 오차(SE)는 예측 근거(106)에 포함될 수 있다. 나아가, 예측 근거(106)는 특징 가중치 계산기(154)에서 생성된 특징 가중치 및 시계열 가중치 계산기(157)에서 생성된 시계열 가중치를 더 포함할 수 있다. 이는 예측 과정에 대한 근거 및 타당성을 제공하여, 설명 가능한 예측 결과(105)를 사용자 등에 제공하기 위함일 수 있다.
도 15는 도 1의 시계열 데이터 처리 장치의 예시적인 블록도이다. 도 15의 블록도는 시계열 데이터를 전처리하고, 전처리된 시계열 데이터에 기초하여 가중치 그룹을 생성하고, 가중치 그룹에 기초하여 예측 결과를 생성하기 위한 예시적인 구성으로 이해될 것이다. 도 15를 참조하면, 시계열 데이터 처리 장치(200)는 네트워크 인터페이스(210), 프로세서(220), 메모리(230), 스토리지(240), 및 버스(250)를 포함할 수 있다. 예시적으로, 시계열 데이터 처리 장치(200)는 서버로 구현될 수 있으나, 이에 제한되지 않는다.
네트워크 인터페이스(210)는 네트워크를 통하여 외부의 단말기(미도시) 또는 의료 데이터베이스로부터 제공되는 시계열 데이터를 입력 받도록 구성된다. 네트워크 인터페이스(210)는 수신된 시계열 데이터를 버스(250)를 통하여 프로세서(220), 메모리(230) 또는 스토리지(240)에 제공할 수 있다. 또한, 네트워크 인터페이스(210)는 수신된 시계열 데이터에 응답하여 생성된 예측 결과를 외부 단말기(미도시) 등에 제공하도록 구성될 수 있다.
프로세서(220)는 시계열 데이터 처리 장치(200)의 중앙 처리 장치로의 기능을 수행할 수 있다. 프로세서(220)는 시계열 데이터 처리 장치(200)의 전처리 및 데이터 분석 등을 구현하기 위하여 요구되는 제어 동작 및 연산 동작을 수행할 수 있다. 예를 들어, 프로세서(220)의 제어에 따라, 네트워크 인터페이스(210)는 시계열 데이터를 외부로부터 수신할 수 있다. 프로세서(220)의 제어에 따라, 특징 분포 모델의 가중치 그룹을 생성하기 위한 연산 동작이 수행될 수 있고, 특징 분포 모델을 이용하여 예측 결과가 계산될 수 있다. 프로세서(220)는 메모리(230)의 연산 공간을 활용하여 동작할 수 있고, 스토리지(240)로부터 운영체제를 구동하기 위한 파일들 및 어플리케이션의 실행 파일들을 읽을 수 있다. 프로세서(220)는 운영 체제 및 다양한 어플리케이션들을 실행할 수 있다.
메모리(230)는 프로세서(220)에 의하여 처리되거나 처리될 예정인 데이터 및 프로세스 코드들을 저장할 수 있다. 예를 들어, 메모리(230)는 시계열 데이터, 시계열 데이터의 전처리 동작을 수행하기 위한 정보들, 가중치 그룹을 생성하기 위한 정보들, 예측 결과를 계산하기 위한 정보들, 및 특징 분포 모델을 구축하기 위한 정보들을 저장할 수 있다. 메모리(230)는 시계열 데이터 처리 장치(200)의 주기억 장치로 이용될 수 있다. 메모리(230)는 DRAM (Dynamic RAM), SRAM (Static RAM), PRAM (Phase-change RAM), MRAM (Magnetic RAM), FeRAM (Ferroelectric RAM), RRAM (Resistive RAM) 등을 포함할 수 있다.
전처리부(231), 학습부(232), 및 예측부(233)는 메모리(230)에 로딩되어 실행될 수 있다. 전처리부(231), 학습부(232), 및 예측부(233)는 각각 도 1의 전처리기(110), 학습기(130), 및 예측기(150)에 대응된다. 전처리부(231), 학습부(232), 및 예측부(233)는 메모리(230)의 연산 공간의 일부일 수 있다. 이 경우, 전처리부(231), 학습부(232), 및 예측부(233)는 펌웨어 또는 소프트웨어로 구현될 수 있다. 예를 들어, 펌웨어는 스토리지(240)에 저장되고, 펌웨어를 실행 시에 메모리(230)에 로딩될 수 있다. 프로세서(220)는 메모리(230)에 로딩된 펌웨어를 실행할 수 있다. 전처리부(231)는 프로세서(220)의 제어 하에 시계열 데이터를 전처리하도록 동작될 수 있다. 학습부(232)는 프로세서(220)의 제어 하에 전처리된 시계열 데이터를 분석하여 특징 분포 모델을 생성 및 훈련하도록 동작될 수 있다. 예측부(233)는 프로세서(220)의 제어 하에 특징 분포 모델에 기초하여, 예측 결과 및 예측 근거를 생성하도록 동작될 수 있다.
스토리지(240)는 운영 체제 또는 어플리케이션들에 의해 장기적인 저장을 목적으로 생성되는 데이터, 운영 체제를 구동하기 위한 파일, 또는 어플리케이션들의 실행 파일 등을 저장할 수 있다. 예를 들어, 스토리지(240)는 전처리부(231), 학습부(232), 및 예측부(233)의 실행을 위한 파일들을 저장할 수 있다. 스토리지(1240)는 시계열 데이터 처리 장치(200)의 보조 기억 장치로 이용될 수 있다. 스토리지(240)는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), FeRAM (Ferroelectric RAM), RRAM (Resistive RAM) 등을 포함할 수 있다.
버스(250)는 시계열 데이터 처리 장치(200)의 구성 요소들 사이에서 통신 경로를 제공할 수 있다. 네트워크 인터페이스(210), 프로세서(220), 메모리(230), 및 스토리지(240)는 버스(250)를 통해 서로 데이터를 교환할 수 있다. 버스(250)는 시계열 데이터 처리 장치(200)에서 이용되는 다양한 유형의 통신 포맷을 지원하도록 구성될 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100: 시계열 데이터 처리 장치 110: 전처리기
111: 특징 전처리기 116: 시계열 전처리기
130: 학습기 131: 특징 학습기
136: 시계열 학습기 139: 분포 학습기
150: 예측기 151: 특징 예측기
156: 시계열 예측기 159: 분포 예측기

Claims (20)

  1. 시계열 데이터의 최종 시간을 기준으로 복수의 시간들 각각의 차이에 기초하여 간격 데이터를 생성하고, 상기 시계열 데이터의 전처리 데이터를 생성하는 전처리기; 및
    상기 간격 데이터 및 상기 전처리 데이터에 기초하여, 상기 시계열 데이터의 시간 및 특징에 의존하는 특징 가중치, 상기 복수의 시간들과 상기 최종 시간 사이의 상관 관계에 의존하는 시계열 가중치, 및 상기 최종 시간에 대응되는 상기 시계열 데이터의 예측 분포를 생성하기 위한 특징 분포 모델의 가중치 그룹을 조절하는 학습기를 포함하되,
    상기 가중치 그룹은 상기 특징 가중치를 생성하기 위한 제1 파라미터, 및 상기 시계열 가중치를 생성하기 위한 제2 파라미터, 및 상기 특징 분포 모델을 생성하기 위한 제3 파라미터를 포함하는 시계열 데이터 처리 장치.
  2. 제1 항에 있어서,
    상기 전처리기는,
    상기 시계열 데이터의 결측치에 보간 값을 추가하여 상기 전처리 데이터를 생성하고, 상기 결측치를 구분하는 마스킹 데이터를 더 생성하고,
    상기 학습기는 상기 마스킹 데이터에 더 기초하여, 상기 가중치 그룹을 조절하는 시계열 데이터 처리 장치.
  3. 제1 항에 있어서,
    상기 학습기는,
    상기 간격 데이터, 상기 전처리 데이터, 및 상기 제1 파라미터에 기초하여 상기 특징 가중치를 계산하고, 상기 특징 가중치에 기초하여 제1 학습 결과를 생성하는 특징 학습기;
    상기 간격 데이터, 상기 제1 학습 결과, 및 상기 제2 파라미터에 기초하여 상기 시계열 가중치를 계산하고, 상기 시계열 가중치에 기초하여 제2 학습 결과를 생성하는 시계열 학습기; 및
    상기 제2 학습 결과 및 상기 제3 파라미터에 기초하여 상기 예측 분포를 생성하는 분포 학습기를 포함하되,
    상기 제1 학습 결과, 상기 제2 학습 결과, 및 상기 예측 분포에 기초하여, 상기 가중치 그룹을 조절하는 시계열 데이터 처리 장치.
  4. 제3 항에 있어서,
    상기 특징 학습기는,
    상기 전처리 데이터의 결측치를 구분하는 마스킹 데이터에 기초하여, 상기 전처리 데이터의 제1 보정 데이터를 생성하는 결측치 처리기;
    상기 간격 데이터에 기초하여, 상기 전처리 데이터의 제2 보정 데이터를 생성하는 시간 처리기;
    상기 제1 파라미터, 상기 제1 보정 데이터, 및 상기 제2 보정 데이터에 기초하여, 상기 특징 가중치를 계산하는 특징 가중치 계산기; 및
    상기 전처리 데이터에 상기 특징 가중치를 적용하여 상기 제1 학습 결과를 생성하는 특징 가중치 적용기를 포함하는 시계열 데이터 처리 장치.
  5. 제3 항에 있어서,
    상기 시계열 학습기는,
    상기 간격 데이터, 상기 제1 학습 결과, 및 상기 제2 파라미터에 기초하여, 상기 시계열 가중치를 계산하는 시계열 가중치 계산기; 및
    상기 전처리 데이터에 상기 시계열 가중치를 적용하여 상기 제2 학습 결과를 생성하는 시계열 가중치 적용기를 포함하는 시계열 데이터 처리 장치.
  6. 제3 항에 있어서,
    상기 분포 학습기는,
    상기 제2 학습 결과에 기초하여 잠재 변수를 계산하는 잠재 변수 계산기; 및
    상기 잠재 변수에 기초하여 상기 예측 분포를 생성하는 다중 분포 생성기를 포함하는 시계열 데이터 처리 장치.
  7. 제1 항에 있어서,
    상기 학습기는,
    상기 전처리 데이터에 상기 특징 가중치를 적용한 결과를 인코딩하고, 상기 인코딩된 결과와 상기 최종 시간 사이의 상관 관계 및 상기 인코딩된 결과와 상기 최종 시간의 인코딩된 결과 사이의 상관 관계에 기초하여 상기 시계열 가중치를 계산하는 시계열 데이터 처리 장치.
  8. 제1 항에 있어서,
    상기 학습기는,
    상기 전처리 데이터에 상기 시계열 가중치를 적용한 학습 결과에 기초하여, 상기 예측 분포의 계수, 상기 예측 분포의 평균, 및 상기 예측 분포의 표준 편차를 계산하는 시계열 데이터 처리 장치.
  9. 제8 항에 있어서,
    상기 학습기는,
    상기 계수, 상기 평균, 및 상기 표준 편차에 기초하여, 상기 예측 분포를 기준으로 상기 전처리 데이터에 대한 예측 결과의 조건부 확률을 계산하고, 상기 조건부 확률에 기초하여 상기 가중치 그룹을 조절하는 시계열 데이터 처리 장치.
  10. 예측 시간을 기준으로 시계열 데이터의 복수의 시간들 각각의 차이에 기초하여 간격 데이터를 생성하고, 상기 시계열 데이터의 전처리 데이터를 생성하는 전처리기; 및
    상기 간격 데이터 및 상기 전처리 데이터에 기초하여 상기 시계열 데이터의 시간 및 특징에 의존하는 특징 가중치를 생성하고, 상기 특징 가중치 및 상기 간격 데이터에 기초하여 상기 복수의 시간들과 상기 최종 시간 사이의 상관 관계에 의존하는 시계열 가중치를 생성하고, 상기 시계열 가중치에 기초하여 상기 예측 시간에 대응되는 예측 결과 및 상기 예측 결과의 신뢰도를 계산하는 예측기를 포함하는 시계열 데이터 처리 장치.
  11. 제10 항에 있어서,
    상기 전처리기는,
    상기 시계열 데이터의 결측치에 보간 값을 추가하여 상기 전처리 데이터를 생성하고, 상기 결측치를 구분하는 마스킹 데이터를 더 생성하고,
    상기 예측기는 상기 마스킹 데이터에 더 기초하여 상기 특징 가중치를 생성하는 시계열 데이터 처리 장치.
  12. 제10 항에 있어서,
    상기 예측기는,
    상기 간격 데이터, 상기 전처리 데이터, 및 특징 파라미터에 기초하여 상기 특징 가중치를 계산하고, 상기 특징 가중치에 기초하여 제1 결과를 생성하는 특징 학습기;
    상기 간격 데이터, 상기 제1 결과, 및 시계열 파라미터에 기초하여 상기 시계열 가중치를 계산하고, 상기 시계열 가중치에 기초하여 제2 결과를 생성하는 시계열 학습기; 및
    상기 제2 학습 결과 및 분포 파라미터에 기초하여 예측 분포들 중 적어도 일부를 선택하고, 상기 선택된 예측 분포들에 기초하여 상기 예측 결과 및 상기 신뢰도를 계산하는 분포 예측기를 포함하는 시계열 데이터 처리 장치.
  13. 제12 항에 있어서,
    상기 특징 예측기는,
    상기 전처리 데이터의 결측치를 구분하는 마스킹 데이터에 기초하여, 상기 전처리 데이터의 제1 보정 데이터를 생성하는 결측치 처리기;
    상기 간격 데이터에 기초하여, 상기 전처리 데이터의 제2 보정 데이터를 생성하는 시간 처리기; 및
    상기 특징 파라미터, 상기 제1 보정 데이터, 및 상기 제2 보정 데이터에 기초하여, 상기 특징 가중치를 계산하는 특징 가중치 계산기; 및
    상기 전처리 데이터에 상기 특징 가중치를 적용하여 상기 제1 결과를 생성하는 특징 가중치 적용기를 포함하는 시계열 데이터 처리 장치.
  14. 제12 항에 있어서,
    상기 시계열 예측기는,
    상기 간격 데이터, 상기 제1 결과, 및 상기 시계열 파라미터에 기초하여, 상기 시계열 가중치를 계산하는 시계열 가중치 계산기; 및
    상기 전처리 데이터에 상기 시계열 가중치를 적용하여 상기 제2 결과를 생성하는 시계열 가중치 적용기를 포함하는 시계열 데이터 처리 장치.
  15. 제12 항에 있어서,
    상기 분포 예측기는,
    상기 제2 결과에 기초하여 잠재 변수를 계산하는 잠재 변수 계산기;
    상기 잠재 변수에 기초하여 상기 예측 분포들 중 상기 적어도 일부를 선택하고, 상기 선택된 예측 분포들의 평균 및 표준 편차에 기초하여 상기 예측 결과를 계산하는 예측 값 계산기; 및
    상기 선택된 예측 분포들의 표준 편차에 기초하여 상기 신뢰도를 계산하는 신뢰도 계산기를 포함하는 시계열 데이터 처리 장치.
  16. 제10 항에 있어서,
    상기 예측기는,
    상기 전처리 데이터에 상기 특징 가중치를 적용한 결과를 인코딩하고, 상기 인코딩된 결과와 상기 예측 시간 사이의 상관 관계 및 상기 인코딩된 결과와 상기 예측 시간의 인코딩된 결과 사이의 상관 관계에 기초하여 상기 시계열 가중치를 계산하는 시계열 데이터 처리 장치.
  17. 제10 항에 있어서,
    상기 예측기는,
    상기 전처리 데이터에 상기 시계열 가중치를 적용한 결과에 기초하여, 예측 분포들의 계수들, 평균들, 및 표준 편차들을 계산하고, 상기 계수들을 샘플링하여 상기 예측 분포들 중 적어도 일부를 선택하고, 상기 선택된 예측 분포들의 평균들 및 표준 편차들에 기초하여 상기 예측 결과를 생성하는 시계열 데이터 처리 장치.
  18. 시계열 데이터 처리 장치의 동작 방법에 있어서,
    시계열 데이터를 전처리한 전처리 데이터를 생성하는 단계;
    예측 시간을 기준으로, 상기 시계열 데이터의 복수의 시간들 각각의 차이에 기초하여 간격 데이터를 생성하는 단계;
    상기 전처리 데이터 및 상기 간격 데이터에 기초하여 상기 시계열 데이터의 시간 및 특징에 의존하는 특징 가중치를 생성하는 단계;
    상기 특징 가중치의 적용 결과 및 상기 간격 데이터에 기초하여 상기 복수의 시간들과 상기 예측 시간 사이의 상관 관계에 의존하는 시계열 가중치 생성하는 단계;
    상기 시계열 가중치의 적용 결과에 기초하여, 예측 분포들의 특성 정보를 생성하는 단계를 포함하는 방법.
  19. 제18 항에 있어서,
    상기 예측 시간은 상기 시계열 데이터의 최종 시간이고,
    상기 특성 정보에 기초하여 상기 전처리 데이터에 대한 예측 결과의 조건부 확률을 계산하는 단계; 및
    상기 조건부 확률에 기초하여, 상기 예측 분포들을 생성하기 위한 특징 분포 모델의 가중치 그룹을 조절하는 단계를 더 포함하는 방법.
  20. 제18 항에 있어서,
    상기 특성 정보에 기초하여 상기 예측 시간에 대응되는 예측 결과를 계산하는 단계; 및
    상기 특성 정보에 기초하여 상기 예측 결과의 신뢰도를 계산하는 단계를 더 포함하는 방법.

KR1020190164359A 2019-12-11 2019-12-11 시계열 데이터 처리 장치 및 이의 동작 방법 KR102501525B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190164359A KR102501525B1 (ko) 2019-12-11 2019-12-11 시계열 데이터 처리 장치 및 이의 동작 방법
US17/116,767 US20210182708A1 (en) 2019-12-11 2020-12-09 Time series data processing device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190164359A KR102501525B1 (ko) 2019-12-11 2019-12-11 시계열 데이터 처리 장치 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20210073763A true KR20210073763A (ko) 2021-06-21
KR102501525B1 KR102501525B1 (ko) 2023-02-22

Family

ID=76317569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190164359A KR102501525B1 (ko) 2019-12-11 2019-12-11 시계열 데이터 처리 장치 및 이의 동작 방법

Country Status (2)

Country Link
US (1) US20210182708A1 (ko)
KR (1) KR102501525B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230013485A (ko) * 2021-07-19 2023-01-26 고려대학교 산학협력단 불규칙 임상 시계열 데이터 예측 및 분류 방법, 및 장치
KR102652325B1 (ko) * 2023-10-26 2024-03-28 (주)씨어스테크놀로지 가우시안 프로세스 회귀 분석을 이용한 심정지 예측 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451480B2 (en) * 2020-03-31 2022-09-20 Micron Technology, Inc. Lightweight artificial intelligence layer to control the transfer of big data
US20230245777A1 (en) * 2022-02-03 2023-08-03 Evidation Health, Inc. Systems and methods for self-supervised learning based on naturally-occurring patterns of missing data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101182965B1 (ko) * 2004-12-06 2012-09-21 소니 주식회사 데이터 학습용 방법 및 장치, 데이터 인식용 장치, 및 데이터 생성용 장치
KR20170023770A (ko) * 2014-06-25 2017-03-06 삼성전자주식회사 진단모델 생성 시스템 및 방법
KR20190013038A (ko) * 2017-07-31 2019-02-11 주식회사 빅트리 다중 특징 추출기법을 이용한 다중 시계열 데이터 추세 예측 시스템 및 예측 방법
KR20190086345A (ko) * 2018-01-12 2019-07-22 한국전자통신연구원 시계열 데이터 처리 장치, 이를 포함하는 건강 예측 시스템, 및 시계열 데이터 처리 장치의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101182965B1 (ko) * 2004-12-06 2012-09-21 소니 주식회사 데이터 학습용 방법 및 장치, 데이터 인식용 장치, 및 데이터 생성용 장치
KR20170023770A (ko) * 2014-06-25 2017-03-06 삼성전자주식회사 진단모델 생성 시스템 및 방법
KR20190013038A (ko) * 2017-07-31 2019-02-11 주식회사 빅트리 다중 특징 추출기법을 이용한 다중 시계열 데이터 추세 예측 시스템 및 예측 방법
KR20190086345A (ko) * 2018-01-12 2019-07-22 한국전자통신연구원 시계열 데이터 처리 장치, 이를 포함하는 건강 예측 시스템, 및 시계열 데이터 처리 장치의 동작 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230013485A (ko) * 2021-07-19 2023-01-26 고려대학교 산학협력단 불규칙 임상 시계열 데이터 예측 및 분류 방법, 및 장치
KR102652325B1 (ko) * 2023-10-26 2024-03-28 (주)씨어스테크놀로지 가우시안 프로세스 회귀 분석을 이용한 심정지 예측 장치

Also Published As

Publication number Publication date
KR102501525B1 (ko) 2023-02-22
US20210182708A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
KR102501525B1 (ko) 시계열 데이터 처리 장치 및 이의 동작 방법
KR102501530B1 (ko) 시계열 데이터 처리 장치 및 이의 동작 방법
KR20190087898A (ko) 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
KR102460442B1 (ko) 시계열 데이터 처리 장치, 이를 포함하는 건강 예측 시스템, 및 시계열 데이터 처리 장치의 동작 방법
EP3909055A1 (en) Document improvement prioritization using automated generated codes
KR102532909B1 (ko) 다차원의 시계열 의료 데이터를 처리하는 장치 및 방법
KR102415220B1 (ko) 시계열 데이터 처리 장치 및 이의 동작 방법
US20190354815A1 (en) Homeostatic Capacity Evaluation of Artificial Intelligence Systems
KR20210042777A (ko) 화학구조를 생성하는 장치 및 방법
US20190180882A1 (en) Device and method of processing multi-dimensional time series medical data
CA3184500A1 (en) Siamese neural network model
US20210174229A1 (en) Device for ensembling data received from prediction devices and operating method thereof
US20190221294A1 (en) Time series data processing device, health prediction system including the same, and method for operating the time series data processing device
Kamuni et al. Enhancing End-to-End Multi-Task Dialogue Systems: A Study on Intrinsic Motivation Reinforcement Learning Algorithms for Improved Training and Adaptability
US20210319341A1 (en) Device for processing time series data having irregular time interval and operating method thereof
US20220343160A1 (en) Time series data processing device configured to process time series data with irregularity
US20200050892A1 (en) System to identify and explore relevant predictive analytics tasks of clinical value and calibrate predictive model outputs to a prescribed minimum level of predictive accuracy
Irie et al. Bayesian emulation for optimization in multi-step portfolio decisions
US11941513B2 (en) Device for ensembling data received from prediction devices and operating method thereof
WO2022051379A1 (en) System and method for providing wellness recommendation
Kiani et al. Sepsis world model: A mimic-based openai gym" world model" simulator for sepsis treatment
US20230225668A1 (en) Systems, methods, and media for predicting a conversion time of mild cognitive impairment to alzheimer's disease in patients
Wong et al. Combining the performance strengths of the logistic regression and neural network models: a medical outcomes approach
KR102313181B1 (ko) 딥러닝 솔루션 플랫폼을 제공하는 딥러닝 플랫폼 제공장치에 의해서 수행되는 딥러닝 솔루션 제공 방법
Gutowski et al. Machine learning with optimization to create medicine intake schedules for Parkinson’s disease patients

Legal Events

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