KR20230136348A - 다차원 데이터 처리를 위한 장치 및 방법 - Google Patents
다차원 데이터 처리를 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20230136348A KR20230136348A KR1020220033957A KR20220033957A KR20230136348A KR 20230136348 A KR20230136348 A KR 20230136348A KR 1020220033957 A KR1020220033957 A KR 1020220033957A KR 20220033957 A KR20220033957 A KR 20220033957A KR 20230136348 A KR20230136348 A KR 20230136348A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- sparse attention
- weight
- multidimensional data
- values
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims description 22
- 238000004364 calculation method Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 24
- 230000015654 memory Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009534 blood test Methods 0.000 description 3
- 238000002592 echocardiography Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 230000017531 blood circulation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 210000003743 erythrocyte Anatomy 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 210000005240 left ventricle Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000010224 classification analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치는 복수의 차원들을 포함하는 제 1 다차원 데이터 및 제 2 다차원 데이터를 입력 받아 전처리하여 제 1 보간 데이터 및 제 2 보간 데이터를 생성하는 전처리기, 제 1 보간 데이터의 특징 값들 각각에 대응하는 스파스 어텐션(sparse attention) 가중치를 계산하고, 상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성하는 학습기, 및 상기 제 2 보간 데이터를 입력 받아 예측 결과를 생성하는 예측기를 포함할 수 있다.
Description
본 개시는 기계 학습에 관한 것으로, 좀 더 상세하게는 기계 학습에 사용되는 다차원 데이터 처리를 위한 장치 및 방법에 관한 것이다.
최근 의료 분야를 포함한 여러 기술 분야에서 데이터가 디지털화되어 저장됨에 따라, 데이터의 크기뿐만 아니라 데이터의 차원 및 복잡도가 크게 증가하였다. 데이터의 각 차원은 서로 다른 형태와 의미를 갖는 정보를 저장하고 있기 때문에, 기계 학습에서 데이터의 모든 차원을 한 번에 분석하기보다는, 각 차원 별로 데이터의 패턴을 인코딩하여 특징을 추출하고, 추출된 특징들을 종합하여 최종 결과를 출력하는 방법이 널리 사용되고 있다.
이에 따라, 데이터의 여러 차원들 중 먼저 분석되는 차원들이 포함하는 정보가 나중에 영향력을 잃어버리는 현상이 발생한다. 이는 딥러닝에 이용되는 신경망이 많은 수의 레이어를 포함하는 경우, 계산된 손실 값이 말단까지 역전파(back-propagate)되지 않는 기울기 소멸(vanishing gradient) 문제와 유사하다. 또한, 데이터의 복잡도가 증가하면서 계산의 복잡도 역시 증가하고, 너무 많은 특징들이 추출되어 결과의 해석이 어려워지는 문제가 발생한다. 이를 해결하기 위해, 데이터의 희소성(sparsity)이 최근 중요한 연구 주제로 대두되고 있다.
본 개시는 데이터의 스케일을 유지하면서 중요하지 않은 특징들에 대한 가중치를 0으로 만드는 스파스 어텐션(sparse attention) 방법을 제공한다.
본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치는 복수의 차원들을 포함하는 제 1 다차원 데이터 및 제 2 다차원 데이터를 입력 받아 전처리하여 제 1 보간 데이터 및 제 2 보간 데이터를 생성하는 전처리기, 제 1 보간 데이터의 특징 값들 각각에 대응하는 스파스 어텐션(sparse attention) 가중치를 계산하고, 상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성하는 학습기, 및 상기 제 2 보간 데이터를 입력 받아 예측 결과를 생성하는 예측기를 포함할 수 있다.
본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 방법은 복수의 차원들을 포함하는 다차원 데이터를 전처리하여 보간 데이터를 생성하는 단계, 상기 보간 데이터의 특징 값들을 가중치 행렬에 기반하여 인코딩하여 인코딩 데이터를 생성하는 단계, 상기 인코딩 데이터 및 상기 가중치 행렬에 기반하여 스파스 어텐션(sparse attention) 가중치를 계산하는 단계, 상기 보간 데이터의 각 특징 값과, 상기 각 특징 값에 대응하는 스파스 어텐션 가중치를 곱하여 상기 스파스 어텐션 가중치가 반영된 특징 값들을 계산하는 단계, 및 상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성하는 단계를 포함한다.
본 개시의 실시 예에 따른 비일시적 컴퓨터 판독 가능 매체는 프로그램 코드를 포함하고, 프로세서에 의해 상기 프로그램 코드가 실행될 때, 상기 프로세서는 복수의 차원들을 포함하는 다차원 데이터를 전처리하여 보간 데이터를 생성하고, 상기 보간 데이터의 특징 값들을 가중치 행렬에 기반하여 인코딩하여 인코딩 데이터를 생성하고, 상기 인코딩 데이터 및 상기 가중치 행렬에 기반하여 스파스 어텐션(sparse attention) 가중치를 계산하고, 상기 보간 데이터의 각 특징 값과, 상기 각 특징 값에 대응하는 스파스 어텐션 가중치를 곱하여 상기 스파스 어텐션 가중치가 반영된 특징 값들을 계산하고, 그리고 상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성한다.
본 개시의 실시 예에 따르면, 기계 학습에서 중요하지 않은 특징들에 대한 가중치를 0으로 만듦에 따라 계산의 복잡도가 줄어들 수 있고, 중요한 특징 값에 대한 가중치가 상대적으로 증가할 수 있다.
또한 본 개시의 실시 예에 따르면, 기계 학습에서 데이터의 차원이 증가하여도 각 차원이 포함하는 중요한 특징들에 대한 가중치가 최종 결과를 출력할 때까지 영향을 미칠 수 있다.
도 1a는 2차원 데이터의 예를 나타낸다.
도 1b는 3차원 데이터의 예를 나타낸다.
도 2는 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치의 구성의 예를 나타낸다.
도 3은 도 2의 전처리기의 구성의 예를 나타낸다.
도 4는 도 2의 학습기의 구성의 예를 나타낸다.
도 5는 도 4의 스파스 어텐션 모듈들의 동작의 예를 나타낸다.
도 6은 스파스 어텐션 모듈의 동작을 개념적으로 나타낸다.
도 7은 도 2의 예측기의 구성의 예를 나타낸다.
도 8은 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 방법의 예를 나타내는 흐름도이다.
도 9는 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치를 포함하는 전자 장치의 구성의 예를 나타낸다.
도 1b는 3차원 데이터의 예를 나타낸다.
도 2는 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치의 구성의 예를 나타낸다.
도 3은 도 2의 전처리기의 구성의 예를 나타낸다.
도 4는 도 2의 학습기의 구성의 예를 나타낸다.
도 5는 도 4의 스파스 어텐션 모듈들의 동작의 예를 나타낸다.
도 6은 스파스 어텐션 모듈의 동작을 개념적으로 나타낸다.
도 7은 도 2의 예측기의 구성의 예를 나타낸다.
도 8은 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 방법의 예를 나타내는 흐름도이다.
도 9는 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치를 포함하는 전자 장치의 구성의 예를 나타낸다.
아래에서는, 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 쉽게 실시할 수 있을 정도로, 본 개시의 실시 예들이 명확하고 상세하게 기재될 것이다.
상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 블록(block), ~기(~or, ~er) 등의 용어들을 참조하여 설명되는 구성 요소들 및 도면에 도시된 기능 블록들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈 (microelectromechanical system; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
다차원 데이터(multi-dimensional data)는 복수의 차원들로 구성된 데이터를 의미한다. 도 1a는 2차원 데이터의 예를 나타내고, 도 1b는 3차원 데이터의 예를 나타낸다. 예를 들어, 도 1a 및 도 1b에 나타난 데이터는 각각 2차원 및 3차원 전자 의무 기록(Electronic Medical Record; EMR) 데이터인 것으로 가정한다.
예를 들어, 환자가 병원을 방문할 때마다 검사를 받고, 복수의 검사 항목들이 측정된 경우, 환자의 병원 방문에 따른 시간 순서대로 검사 항목들 각각의 측정 결과를 기록함으로써 도 1a의 2차원 EMR 데이터를 생성할 수 있다. 도 1a의 2차원 EMR 데이터에서, D1축은 병원 방문에 따른 시간 순서를 나타내고, D2축은 검사 항목(예를 들어, 심장초음파 검사의 경우 좌심실의 부피, 판막의 혈류 속도 등, 혈액 검사의 경우 혈당, 적혈구 분포 계수 등)을 나타낸다.
예를 들어, x11, x12, x13은 각각 같은 시기에 측정된 검사 항목들을 나타내고, x11, x21, x31은 각각 다른 시기에 측정된 동일한 검사 항목들을 나타낸다. 이 경우, 도 1a의 2차원 EMR 데이터는 시간의 흐름에 따라 기록된, 시간적 순서를 갖는 데이터이므로 시계열 데이터일 수 있다.
또한, 환자가 병원을 방문할 때마다 복수의 검사들을 받고, 각 검사 별로 복수의 검사 항목들이 측정된 경우, 환자의 병원 방문에 따른 시간 순서대로 검사 종류에 따른 검사 항목들 각각의 측정 결과를 기록함으로써 도 1b의 3차원 EMR 데이터를 생성할 수 있다. 도 1b의 3차원 EMR 데이터에서, D1축은 병원 방문에 따른 시간 순서를 나타내고, D2축은 검사의 종류(예를 들어, 심장초음파 검사, 혈액 검사 등)를 나타내며, D3축은 검사 항목(예를 들어, 심장초음파 검사의 경우 좌심실의 부피, 판막의 혈류 속도 등, 혈액 검사의 경우 혈당, 적혈구 분포 계수 등)을 나타낸다.
예를 들어, x111, x112, x113은 각각 같은 시기, 같은 검사에서 측정된 검사 항목들을 나타내고, x111, x121, x131은 각각 같은 시기, 서로 다른 검사에서 측정된 검사 항목들을 나타내고, x111, x211, x311은 각각 다른 시기에 같은 검사에서 측정된 동일한 검사 항목들을 나타낸다. 이 경우, 도 1b의 3차원 데이터는 시간 순서대로 기록된, 시간적 순서를 갖는 데이터이므로 시계열 데이터(time series data)일 수 있다. 즉, 도 1a 및 도 1b에 나타난 데이터는 다차원 시계열 데이터일 수 있다.
도 1a 및 도 1b에 나타난 바와 같이, 다차원 데이터의 각 차원은 서로 다른 유형(예를 들어, 시간, 검사 종류, 검사 항목)의 데이터를 포함할 수 있다. 그러므로, 다차원 데이터의 각 차원 별로 데이터의 변화 패턴은 다르게 나타낼 수 있다. 한편, 특정 차원에 대응하는 특징들의 수(예를 들어, 도 1a 및 도 1b의 EMR 데이터의 경우 전체 검사 항목의 수)가 많을수록, 그 특징들 중에서 다차원 데이터에 기반한 예측 결과 생성에 중요하게 작용하지 않는 특징들의 수 또한 많을 수 있다. 이러한 특징들은 예측의 정확도를 감소시키는 노이즈로서 작용할 수 있다.
따라서, 본 개시의 다차원 데이터 처리를 위한 장치는 차원에 따라 서로 다른 데이터의 변화 패턴을 고려하여 데이터의 각 차원 별로 순차적으로 데이터 분석을 수행하되, 결과 도출에 중요하게 작용하지 않는 특징들의 가중치를 0으로 조절할 수 있고, 중요한 특징들만을 이용하여 데이터 분석을 수행할 수 있다.
도 2는 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치(100)의 구성의 예를 나타낸다. 장치(100)는 다차원 데이터를 전처리하고, 전처리된 다차원 데이터를 분석하여 기계 학습 모델을 생성하고, 학습된 모델에 기반하여 예측 결과를 생성할 수 있다. 특히, 본 개시의 장치(100)는 스파스 어텐션(sparse attention) 방법에 기반하여 기계 학습 모델을 생성할 수 있다. 장치(100)는 전처리기(110), 학습기(120), 및 예측기(130)를 포함할 수 있다.
전처리기(110), 학습기(120), 및 예측기(130)는 하드웨어로 구현되거나, 펌웨어, 소프트웨어, 또는 이의 조합으로 구현될 수 있다. 예를 들어, 소프트웨어 또는 펌웨어는 장치(100)에 포함되는 메모리(도시되지 않음)에 로딩되어, 프로세서(도시되지 않음)에 의하여 실행될 수 있다. 예를 들어, 전처리기(110), 학습기(120), 및 예측기(130)는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 전용 논리 회로 등의 하드웨어로 구현될 수 있다.
다차원 데이터는 각 차원 별로 복수의 특징들을 포함할 수 있다. 예를 들어, 다차원 데이터는 시간의 흐름에 따라 기록된, 시간적 순서를 갖는 다차원 시계열 데이터 일 수 있다. 다차원 시계열 데이터의 경우, 차원들 중 하나는 시간 순서에 대응할 수 있고, 나머지 차원들은 시계열적으로 나열된 복수의 시간들 각각에 대응하는 특징들을 포함할 수 있다.
예를 들어, 다차원 데이터는 도 1a 및 도 1b에 나타난 EMR 데이터와 같이, 의료 기관에서 진단, 치료, 또는 투약 처방 등에 의하여 생성된 사용자의 건강 상태를 나타내는 의료 데이터를 포함할 수 있다. 그러나 본 개시는 이에 한정되지 않으며, 다차원 데이터는 엔터테인먼트, 리테일, 스마트 매니지먼트 등 다양한 분야에서 생성될 수 있다.
전처리기(110)는 다차원 데이터의 특징들 간의 형식(type) 차이, 스케일 차이, 및 결측치 등을 보정하도록, 다차원 데이터를 전처리할 수 있다. 특징들 간의 형식 차이는 특징마다 값을 생성하는 기준이 다름을 의미한다. 스케일 차이는 특징마다 최소값과 최대값의 범위가 다름을 의미한다. 결측치는 복수의 특징들 중 누락되거나 존재하지 않는 특징을 의미한다. 다시 말해, 전처리기(110)는 특징들 간의 형식과 스케일을 일치시키고, 결측치를 보정함으로써 다차원 데이터를 전처리할 수 있다.
학습기(120)는 전처리된 다차원 데이터에 기초하여, 예측 모델을 학습할 수 있다. 예측 모델은 전처리된 다차원 데이터를 분석하여 예측 결과를 계산하기 위한 분석 모델을 포함할 수 있다. 예를 들어, 예측 모델은 인공 신경망(artificial neural network) 또는 딥러닝 기계 학습을 통하여 구축될 수 있다. 이를 위해, 장치(100)는 학습 데이터베이스(101)로부터 학습을 위한 다차원 데이터를 수신할 수 있다. 학습 데이터베이스(101)는 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 구현될 수 있다. 전처리기(110)는 학습 데이터베이스(101)로부터 수신된 다차원 데이터를 전처리하여, 학습기(120)에 제공할 수 있다.
학습기(120)는 전처리된 다차원 데이터를 분석하여, 예측 모델의 가중치 그룹을 생성할 수 있다. 학습기(120)는 다차원 데이터의 분석을 통하여 예측 결과를 생성할 수 있고, 생성된 예측 결과가 기대 값을 갖도록 예측 모델의 가중치 그룹을 조절할 수 있다. 예를 들어, 가중치 그룹은 예측 모델의 신경망 네트워크 구조 또는 신경망 네트워크에 포함된 모든 파라미터들의 집합일 수 있다. 가중치 그룹 및 예측 모델은 가중치 모델 데이터베이스(103)에 저장될 수 있다. 가중치 모델 데이터베이스(103)는 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 구현될 수 있다. 가중치 그룹 및 예측 모델은 가중치 모델 데이터베이스(103)에서 관리 및 저장될 수 있다.
예측기(130)는 전처리된 다차원 데이터를 분석하여 예측 결과를 생성할 수 있다. 예측 결과는 미래의 특정 시점, 즉 예측 시간에 대응되는 결과일 수 있다. 이를 위해, 장치(100)는 타겟 데이터베이스(102)로부터 예측을 위한 다차원 데이터를 수신할 수 있다. 타겟 데이터베이스(102)는 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 구현될 수 있다. 전처리기(110)는 타겟 데이터베이스(102)로부터 수신된 다차원 데이터를 전처리하여, 예측기(130)에 제공할 수 있다.
예측기(130)는 학습기(120)로부터 학습된 예측 모델 및 가중치 그룹에 기초하여, 전처리된 다차원 데이터를 분석할 수 있다. 이를 위하여, 예측기(130)는 가중치 모델 데이터베이스(103)로부터 가중치 그룹 및 예측 모델을 수신할 수 있다. 예측기(130)는 전처리된 다차원 데이터의 각 차원 별로 데이터 변화의 추이를 분석함으로써, 예측 결과를 계산할 수 있다. 예측 결과는 예측 결과 데이터베이스(104)에 저장될 수 있다. 예측 결과 데이터베이스(104)는 장치(100) 외부 또는 내부의 서버 또는 저장 매체에 구현될 수 있다.
한편, 실시 예에 따라 장치(100)는 전처리기(110) 및 학습기(120)만으로 동작할 수 있거나, 전처리기(110) 및 예측기(130)만으로 동작할 수도 있다. 즉, 장치(100)는 전처리기(110)에서 다차원 데이터를 전처리한 후, 학습기(120)에서 전처리된 다차원 데이터에 기반하여 스파스 어텐션 가중치를 계산하고, 예측 모델을 학습하는 동작만을 수행할 수도 있고, 예측기(130)에서 전처리된 다차원 데이터에 기반하여 예측 결과를 생성하는 동작만을 수행할 수도 있다.
도 3은 도 2의 전처리기(110)의 구성의 예를 나타낸다. 전처리기(110)는 다차원 데이터(MD)의 특징들 간의 형식 차이, 스케일 차이, 및 결측치 등을 보정하여 보간 데이터(PD)를 출력할 수 있다. 전처리기(110)는 수치 변환 모듈(111), 정규화 모듈(112), 및 결측치 처리 모듈(113)을 포함할 수 있다. 명확한 설명을 위해, 도 3의 다차원 데이터(MD)는 도 1a를 참조하여 설명한 2차원 EMR 데이터라고 가정한다.
수치 변환 모듈(111)은 특징들 간의 형식 차이를 보정하기 위해 다차원 데이터(MD)에서 수치가 아닌 특징들의 형식을 수치 형식으로 변환할 수 있다. 예를 들어, 수치가 아닌 특징들의 형식은 코드 형식 또는 범주 형식(categorical type; 예를 들어, -, +, ++ 등)을 포함할 수 있다. 예를 들어, EMR 데이터는 특정 질환, 처방, 또는 검사에 따라 약속된 데이터 형식을 가질 수 있으나, 수치 형식과 수치가 아닌 형식이 혼재할 수 있다.
구체적으로, 다차원 데이터(MD)에서 제 1 내지 제 3 시간(T1~T3) 각각의 제 4 특징은 수치가 아닌 범주 형식의 값(+, ++, -)을 갖는다. 수치 변환 모듈(111)은 이와 같은 다차원 데이터(MD)의 제 4 특징들(+, ++, -)을 보간 데이터(PD)의 제 4 특징들(0.2, 0.3, 0.1)과 같은 수치 형식으로 변환할 수 있다. 예를 들어, 수치 변환 모듈(111)은 Word2Vec과 같은 임베딩 방식으로 수치가 아닌 특징들을 수치화할 수 있다.
정규화 모듈(112)은 특징들 간의 스케일 차이를 보정하기 위해 다차원 데이터(MD)의 수치들을 기준 범위의 값으로 변환할 수 있다. 예를 들어, 기준 범위는 0 내지 1, 또는 -1 내지 1 사이의 수치를 포함할 수 있다. 다차원 데이터(MD)는 각 특징 별로 서로 다른 범위의 수치를 가질 수 있다. 예를 들어, 기준 범위가 0 내지 1인 경우, 다차원 데이터(MD)의 제 1 내지 제 3 시간(T1~T3) 각각의 제 3 특징은 기준 범위를 벗어나는 수치 값들(10, 20, 15)을 갖는다. 특징 정규화 모듈(113)은 이와 같이 기준 범위를 벗어나는 다차원 데이터(MD)의 제 3 특징들(10, 20, 15)을 보간 데이터(PD)의 제 3 특징들(0.4, 0.7, 0.5)과 같은 기준 범위로 정규화할 수 있다.
결측치 처리 모듈(113)은 다차원 데이터(MD)의 결측치(NA)에 대응하는 보간 값을 결정할 수 있다. 보간 값은 다차원 데이터(MD)의 다른 값들에 기반하여 결정될 수 있다. 예를 들어, 보간 값은 0, 다른 특징들의 중간 값, 평균 값, 또는 시계열 데이터의 경우 인접한 시간의 특징 값 중 어느 하나로 결정될 수 있다. 예를 들어, 다차원 데이터(MD)의 제 2 시간(T2)의 제 1 특징은 결측치(NA)를 갖는다. 결측치 처리 모듈(113)은 이와 같은 결측치에 대응하는 보간 값을 제 2 시간(T2)에 시간적으로 인접한 제 3 시간(T3)의 제 1 특징 값인 0.4로 정할 수 있다.
상술한 전처리기(110)의 동작을 통해, 다차원 데이터(MD)의 특징들 간의 형식 차이, 스케일 차이, 및 결측치가 보정된 보간 데이터(PD)가 생성될 수 있다. 전처리기(110)는 전처리가 완료된 보간 데이터(PD)를 학습기(120) 또는 예측기(130)로 제공할 수 있다.
도 4는 도 2의 학습기(120)의 구성의 예를 나타낸다. 학습기(120)는 전처리된 다차원 데이터(즉, 보간 데이터(PD))를 분석하고 예측 모델에 입력하여 예측 결과를 생성할 수 있다. 예를 들어, 예측 모델은 단일 레이어 퍼셉트론(single-layer perceptron) 또는 다중 레이어 퍼셉트론(multi-layer perceptron), 시계열 데이터 처리에 특화된 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory), GRU(Gated Recurrent Units), 이미지 데이터 처리에 특화된 CNN(Convolutional Neural Network), 또는 이들의 조합으로 구현될 수 있다.
특히, 본 개시의 학습기(120)는 보간 데이터(PD)의 각 차원 별로 순차적으로 데이터 분석을 수행하되, 예측 결과 생성에 중요하게 작용하지 않는 특징들의 가중치를 0으로 조절할 수 있고, 중요한 특징들만을 이용하여 데이터 분석을 수행하는 스파스 어텐션(sparse attention) 방법을 사용할 수 있다. 학습기(120)는 제 1 내지 제 2 스파스 어텐션 모듈(121_1, 121_2), 출력 계산 모듈(122), 손실 계산 모듈(123), 및 가중치 업데이트 모듈(124)을 포함할 수 있다.
제 1 내지 제 2 스파스 어텐션 모듈(121_1, 121_2)은 보간 데이터(PD)의 각 특징 값에 대응하는 스파스 어텐션 가중치(sparse attention weight)를 계산하여, 보간 데이터(PD)의 각 특징 값에 반영할 수 있다. 예를 들어, 제 1 스파스 어텐션 모듈(121_1)은 제 1 차원의 특징 값들에 대해 스파스 어텐션 가중치를 계산할 수 있고, 제 2 스파스 어텐션 모듈(121_2)은 제 2 차원의 특징 값들에 대해 스파스 어텐션 가중치를 계산할 수 있다.
도 4의 학습기(120)는 2개의 스파스 어텐션 모듈들(121_1, 121_2)을 포함하는 것으로 도시되었으나, 이는 보간 데이터(PD)의 차원에 따라 달라질 수 있다. 예를 들어, 보간 데이터(PD)가 3차원 데이터인 경우 학습기(120)는 3개의 스파스 어텐션 모듈들을 포함할 수 있고, 보간 데이터(PD)가 N차원 데이터인 경우 학습기(120)는 N개의 스파스 어텐션 모듈들을 포함할 수 있다. 이하, 명확한 설명을 위해 제 1 스파스 어텐션 모듈(121_1)을 기준으로 스파스 어텐션 모듈의 구성 및 동작을 설명하기로 하며, 제 2 스파스 어텐션 모듈(121_2)의 구성 및 동작 또한 유사할 것이다.
제 1 스파스 어텐션 모듈(121_1)은 인코딩 모듈(121_1a), 스파스 어텐션 계산 모듈(121_1b), 및 스파스 어텐션 반영 모듈(121_1c)을 포함할 수 있다. 인코딩 모듈(121_1a)은 보간 데이터(PD)의 제 1 차원의 특징들을 예측 모델을 구성하는 신경망에 입력하여 인코딩 데이터를 생성할 수 있다. 예를 들어, 인코딩 데이터는 보간 데이터(PD)에 신경망의 가중치 행렬 및 바이어스를 적용하여 생성될 수 있다.
스파스 어텐션 계산 모듈(121_1b)는 인코딩 데이터에 기반하여 각 특징에 대응하는 스파스 어텐션 가중치를 계산할 수 있다. 마지막으로, 스파스 어텐션 반영 모듈(121_1c)은 보간 데이터(PD)의 각 특징에 대응하는 스파스 어텐션 가중치를 곱하여, 제 1 차원의 특징들에 대해 스파스 어텐션 가중치가 반영된 다차원 데이터를 생성할 수 있다.
제 1 스파스 어텐션 모듈(121_1)에서 출력된 데이터는 제 2 스파스 어텐션 모듈(121_2)로 제공될 수 있고, 제 2 스파스 어텐션 모듈(121_2)은 제 2 차원의 특징들에 대해서도 스파스 어텐션 가중치가 반영된 다차원 데이터를 생성할 수 있다. 스파스 어텐션 가중치를 계산하고 이를 보간 데이터(PD)에 반영하는 상세한 동작은 도 5를 참조하여 설명된다.
출력 계산 모듈(122)은 스파스 어텐션 가중치가 반영된 다차원 데이터를 예측 모델에 입력하여, 최종 출력(즉, 예측 결과)을 생성할 수 있다. 예를 들어, 다차원 데이터가 EMR 데이터인 경우, 예측 결과는 미래 특정 시점의 건강 상태를 나타낼 수 있다. 출력 계산 모듈(122)에서 생성된 예측 결과는 손실 계산 모듈(123) 및 가중치 업데이트 모듈(124)을 통해 예측 모델을 업데이트하는 데 사용될 수 있다.
손실 계산 모듈(123)은 출력 계산 모듈(122)으로부터 생성된 예측 결과와, 실제 예측 타겟 값을 비교하여 손실을 계산할 수 있다. 가중치 업데이트 모듈(124)은 손실 계산 모듈(123)에서 계산된 손실에 기반하여 예측 모델 내의 가중치 그룹을 업데이트할 수 있다. 최종적으로 학습된 예측 모델 및 업데이트된 가중치 그룹은 가중치 모델 데이터베이스(103)에 저장될 수 있다.
도 5는 도 4의 스파스 어텐션 모듈들(121_1, 121_2)의 동작의 예를 나타낸다. 도 5의 인코딩 모듈, 스파스 어텐션 계산 모듈, 및 스파스 어텐션 반영 모듈은 도 4의 인코딩 모듈(121_1a, 121_2a), 스파스 어텐션 계산 모듈(121_1b, 121_2b), 및 스파스 어텐션 반영 모듈(121_1c, 121_2c)와 동일한 동작을 수행할 수 있다.
인코딩 모듈은 전처리된 입력 데이터 x(x=[x1, x2, …xk])를 입력 받을 수 있다. 예를 들어, 전처리된 입력 데이터는 도 3의 전처리기(110)가 출력한 보간 데이터(PD)의 검사 항목들의 값에 대응할 수 있다. 인코딩 모듈은 입력 데이터 x를 활성화 함수 f(예를 들어, 시그모이드 함수)에 입력하여 인코딩된 입력 데이터 h(h=[h1, h2, …hk])를 생성할 수 있다. 예를 들어, 인코딩된 입력 데이터 hk는 아래의 수학식 1과 같이 계산될 수 있다.
여기서 W는 예측 모델의 가중치 행렬을 나타내고, c는 바이어스를 나타낸다. 즉, 인코딩된 입력 데이터 h는 예측 모델의 가중치 행렬 W과 바이어스 c에 기반하여 생성될 수 있다.
스파스 어텐션 계산 모듈은 인코딩된 입력 데이터 h를 입력 받아 각 특징에 대응하는 스파스 어텐션 가중치 α(α=[α1, α2, …αk])를 계산할 수 있다. 먼저, 스파스 어텐션 계산 모듈은 아래의 수학식 2와 같이 가중치 행렬 W와 인코딩된 입력 데이터 h에 대해 도트곱(dot product)을 수행할 수 있다.
즉, e는 인코딩된 입력 데이터에 예측 모델의 가중치 행렬이 반영된 데이터(e1, e2, …ek)일 수 있다. 다음으로, 스파스 어텐션 계산 모듈은 데이터 e1, e2, …ek를 값의 크기가 큰 순서대로 정렬할 수 있다. 그 후, 스파스 어텐션 계산 모듈은 1부터, e의 길이인 k까지의 정수를 갖는 집합 K(K={1, 2, 3, …k})를 생성하고, 아래의 수학식 3과 같이 k(e) 값을 계산할 수 있다.
k(e) 값은 e의 값들 중 0으로 만들지 않고 남겨둘 값들의 개수를 나타낼 수 있다. 예를 들어, 4개의 특징들을 갖는 입력 데이터 x(x[x1, x2, x3, x4])에 대해, e가 [0.1, 1.1, 0.2, 0.3]인 경우, e를 정렬하면 [1.1, 0.3, 0.2, 0.1]와 같이 나타날 수 있고, 집합 K는 {1, 2, 3, 4}와 같이 나타낼 수 있다. 여기서, 수학식 3에 따라 k(e)의 값을 계산하면 2가 되는데, 이는 스파스 어텐션 가중치를 계산하기 위해 스파스 어텐션 계산 모듈이 e의 값들 중 2개의 값들만을 사용한다는 것을 의미한다.
다음으로, 스파스 어텐션 계산 모듈은 스파스 어텐션 가중치를 정규화하기 위해 아래의 수학식 4와 같이 τ(e) 값을 계산할 수 있다.
e가 [0.1, 1.1, 0.2, 0.3]이고 k(e)의 값이 2인 앞의 예에서, τ(e)의 값은 0.2로 계산된다. 그 후, 스파스 어텐션 계산 모듈은 아래의 수학식 5와 같이 e의 각 값에서 τ(e) 값을 뺀 후, 음수 값은 0으로 만듦으로써, 인코딩된 입력 데이터에 가중치 행렬이 반영된 데이터 e에서 중요하지 않은 값들(즉, k(e)에 의해 정해진 개수 외의 다른 값들)이 0으로 변환된 p를 출력할 수 있다.
앞의 예에서, [0.1, 1.1, 0.2, 0.3]에서 τ(e) 값인 0.2를 빼면 [-0.1, 0.9, 0, 0.1]이 되고, -0.1을 0으로 변환하면 p는 [0, 0.9, 0, 0.1]이 된다. 즉, 중요하지 않은 특징들의 가중치는 0이 되고, 나머지 가중치들의 합은 1이 되도록 각 특징 값에 대응하는 가중치들이 계산될 수 있다. 한편, 이렇게 계산된 가중치들을 각각 대응하는 입력 데이터 [x1, x2, x3, x4]에 곱하면, [0, 0.9x2, 0, 0.1x4]가 되어 입력 데이터의 모든 값들이 원래 값들보다 작아지는(즉, 데이터의 스케일이 작아지는) 현상이 발생할 수 있다.
이와 같이 계산된 가중치들을 반영했을 때 데이터의 스케일이 작아지는 현상을 완화하기 위해, 본 개시의 스파스 어텐션 계산 모듈은 마지막 단계로서, 수학식 5를 통해 계산된 가중치들의 집합 p를 근사 계단 함수(approximate step function)에 입력하여 스파스 어텐션 가중치 α를 계산할 수 있다. 예를 들어, 근사 계단 함수는 0보다 큰 값은 1로 변환하고, 0보다 작거나 같은 값은 0으로 변환하는 미분 가능한 함수일 수 있다. 예를 들어, 스파스 어텐션 계산 모듈은 아래의 수학식 6과 같이 tanh 함수를 이용하여 스파스 어텐션 가중치 α를 계산할 수 있다.
여기서 c는 1보다 큰 임의의 상수로, c가 클수록 tanh 함수는 점점 계단 함수에 가깝게 근사될 수 있다. 앞의 예에서 수학식 6을 이용하여 계산된 스파스 어텐션 가중치 α는 [0, 1, 0, 1]이 되어, 중요하지 않은 특징들의 가중치는 0이 되고, 나머지 특징들의 가중치는 1이 된다.
스파스 어텐션 반영 모듈은 최종적으로 계산된 스파스 어텐션 가중치 α와 입력 데이터 x에 대해 아다마르 곱(즉, 행렬 성분 별(element-wise) 곱)을 수행하여, 스파스 어텐션 가중치가 반영된 입력 데이터인 x`을 생성할 수 있다. 앞의 예에서, 계산된 스파스 어텐션 가중치들을 각각 대응하는 입력 데이터 [x1, x2, x3, x4]에 곱하면, x`는 [0, x2, 0, x4]가 되어, 중요하지 않은 특징 값들은 0이 되고, 나머지 특징 값들은 입력 데이터와 동일하게 유지된다. 즉, 데이터의 스케일이 변화하지 않을 수 있다.
스파스 어텐션 가중치가 반영된 입력 데이터인 x`은, 도 5를 참조하여 설명한 바와 같이, 출력 계산 모듈(122), 손실 계산 모듈(123), 및 가중치 업데이트 모듈(124)을 통해 예측 모델의 가중치 그룹을 업데이트하는 데 사용될 수 있다.
지금까지 스파스 어텐션 방법을 이용하여 중요하지 않은 특징 값들을 0으로 만들고, 중요한 특징 값들만 남기는 방법이 설명되었다. 그러나 본 개시는 이에 한정되지 않으며, 스파스 어텐션 방법은 도 4 내지 도 5를 참조하여 설명한 것과 다른 방법들을 통해 구현될 수도 있다.
도 6은 스파스 어텐션 모듈의 동작을 개념적으로 나타낸다. 이하 도 6과 함께, 도 4 내지 도 5를 참조하여 설명하며, 도 6의 입력 데이터는 도 1a의 2차원 EMR 데이터인 것으로 가정한다.
먼저, 인코딩 모듈은 4개의 시간(T1, T2, T3, T4; 병원 방문 시점에 대응)에 대응하는 특징 값들(x1, x2, x3, x4)을 입력 데이터로서 입력 받아 수학식 1을 통해 인코딩된 입력 데이터(h1, h2, h3, h4)를 생성할 수 있다. 예를 들어, 시간 T1에 대응하는 특징 값들 x1은 3개의 값들(x11, x12, x13)을 포함할 수 있고, x2, x3, x4도 마찬가지로 각각 3개의 값들을 포함할 수 있다.
그 후, 스파스 어텐션 계산 모듈은 인코딩된 입력 데이터(h1, h2, h3, h4)에 기반하여 수학식 2 내지 수학식 6을 통해 스파스 어텐션 가중치들(α1, α2, α3, α4)을 계산할 수 있고, 스파스 어텐션 반영 모듈은 계산된 스파스 어텐션 가중치들을 입력 데이터에 반영하여(즉, 스파스 어텐션 가중치들과 입력 데이터에 대해 아다마르 곱을 수행하여) 스파스 어텐션 가중치가 반영된 특징 값들(x`1, x`2, x`3, x`4)을 생성할 수 있다. 나아가, 스파스 어텐션 가중치가 반영된 특징 값들을 모두 합하면 컨텍스트 벡터(context vector)가 생성될 수 있다. 도 6에서 컨텍스트 벡터는 각 시간 별로 검사 항목에 대한 스파스 어텐션 가중치들이 반영된 데이터를 나타낼 수 있다.
도 7은 도 2의 예측기(130)의 구성의 예를 나타낸다. 예측기(130)는 학습기(120)를 통해 학습된 예측 모델에 새로운 데이터를 입력하여 예측 결과를 생성할 수 있다. 예측기(130)는 예측 결과 생성 모듈(131) 및 역정규화 모듈(132)을 포함할 수 있다.
예측 결과 생성 모듈(131)은 가중치 모델 데이터베이스(103)로부터 학습이 완료된 예측 모델 및 가중치 그룹을 입력 받을 수 있고, 전처리기(110)로부터 전처리가 완료된 새로운 보간 데이터(PD)를 입력 받을 수 있다. 그 후, 예측 결과 생성 모듈(131)은 새로운 보간 데이터(PD)를 학습이 완료된 예측 모델에 입력하여 새로운 예측 결과를 생성할 수 있다.
역정규화 모듈(132)은 예측 결과 생성 모듈(131)로부터 생성된 예측 결과를 정규화되기 이전의 스케일로 되돌리기 위해, 도 3의 정규화 모듈(112)에서 특징 값들의 정규화에 사용했던 파라미터들(예를 들어, 특징 값들의 최소값, 최대값, 평균값 등)에 기반하여 역정규화(denormalization)를 수행할 수 있다. 역정규화된 예측 결과는 예측 결과 데이터베이스(104)에 저장될 수 있다.
한편, 경우에 따라 예측 결과에 대한 역정규화가 필요하지 않을 수도 있다. 구체적으로, 예측 모델이 결과 값에 기반하여 수치 값을 도출하는 회귀(regression) 분석 방법을 사용하는 경우 역정규화가 필요하지만, 예측 모델이 결과 값에 기반하여 확률 값을 도출하는 분류(classification) 분석 방법을 사용하는 경우 역정규화가 필요하지 않을 수 있다. 역정규화가 필요하지 않은 실시 예의 경우, 예측기(130)는 역정규화 모듈(132)을 포함하지 않을 수 있고, 예측 결과 생성 모듈(131)에서 생성된 예측 결과가 바로 예측 결과 데이터베이스(104)에 저장될 수 있다.
도 8은 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 방법의 예를 나타내는 흐름도이다. 이하 도 8과 함께, 도 2 내지 도 7을 참조하여 설명한다.
단계 S110에서, 전처리기(110)는 복수의 차원들을 포함하는 다차원 데이터를 전처리하여 보간 데이터를 생성할 수 있다. 단계 S120에서, 학습기(120)의 인코딩 모듈(121_1a, 121_2a)은 보간 데이터의 특징 값들을 가중치 행렬에 기반하여 인코딩하여 인코딩 데이터를 생성할 수 있다. 단계 S130에서, 학습기(120)의 스파스 어텐션 계산 모듈(121_1b, 121_2b)은 인코딩 데이터 및 가중치 행렬에 기반하여 스파스 어텐션 가중치를 계산할 수 있다. 단계 S140에서, 학습기(120)의 스파스 어텐션 반영 모듈(121_1c, 121_2c)은 스파스 어텐션 가중치가 반영된 특징 값들을 계산할 수 있다.
단계 S150에서, 학습기(120)는 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성할 수 있다. 구체적으로, 출력 계산 모듈(122)은 스파스 어텐션 가중치가 반영된 특징 값들을 예측 모델에 입력하여 예측 결과를 생성할 수 있고, 손실 계산 모듈(123)은 예측 결과와 실제 타겟 예측 값을 비교하여 손실 값을 계산할 수 있고, 가중치 업데이트 모듈(124)은 손실 값을 이용하여 예측 모델의 가중치 그룹을 업데이트하고, 가중치 모델 데이터베이스(103)에 저장할 수 있다.
도 9는 본 개시의 실시 예에 따른 다차원 데이터 처리를 위한 장치를 포함하는 전자 장치(200)의 구성의 예를 나타낸다. 전자 장치(200)는 다차원 데이터를 전처리하고, 전처리된 다차원 데이터에 대해 스파스 어텐션 가중치를 계산하고, 스파스 어텐션 가중치를 전처리된 다차원 데이터에 반영함으로써 예측 결과를 생성할 수 있다. 전자 장치(200)는 네트워크 인터페이스(210), 프로세서(220), 메모리(230), 스토리지(240), 및 버스(250)를 포함할 수 있다.
네트워크 인터페이스(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)는 각각 도 2의 전처리기(110), 학습기(120), 및 예측기(130)에 대응할 수 있다. 전처리부(231), 학습부(232), 및 예측부(233)는 메모리(230)의 연산 공간의 일부일 수 있다. 이 경우, 전처리부(231), 학습부(232), 및 예측부(233)는 펌웨어 또는 소프트웨어로 구현될 수 있다.
예를 들어, 펌웨어는 스토리지(240)에 저장되고, 펌웨어를 실행 시에 메모리(230)에 로딩될 수 있다. 프로세서(220)는 메모리(230)에 로딩된 펌웨어를 실행할 수 있다. 전처리부(231)는 프로세서(220)의 제어 하에 다차원 데이터를 전처리할 수 있다. 학습부(232)는 프로세서(220)의 제어 하에 전처리된 다차원 데이터를 분석하여 스파스 어텐션 가중치를 생성하고, 예측 모델의 가중치 그룹을 업데이트할 수 있다. 예측부(233)는 프로세서(220)의 제어 하에 예측 모델에 다차원 데이터를 입력하여 예측 결과를 생성할 수 있다. 실시 예에 따라, 전처리부(231), 학습부(232), 및 예측부(233)를 실행하기 위한 프로그램 코드는 비일시적 컴퓨터 판독 가능 매체 상에 저장될 수도 있다.
스토리지(240)는 운영 체제 또는 애플리케이션들에 의해 장기적인 저장을 목적으로 생성되는 데이터, 운영 체제를 구동하기 위한 파일, 또는 애플리케이션들의 실행 파일 등을 저장할 수 있다. 예를 들어, 스토리지(240)는 전처리부(231), 학습부(232), 및 예측부(233)의 실행을 위한 파일들을 저장할 수 있다. 스토리지(240)는 전자 장치(200)의 보조 기억 장치로 이용될 수 있다. 스토리지(240)는 플래시 메모리, PRAM(Phasechange RAM), MRAM(Magnetic RAM), FeRAM(Ferroelectric RAM), RRAM(Resistive RAM) 등을 포함할 수 있다.
버스(250)는 전자 장치(200)의 구성 요소들 사이에서 통신 경로를 제공할 수 있다. 네트워크 인터페이스(210), 프로세서(220), 메모리(230), 및 스토리지(240)는 버스(250)를 통해 서로 데이터를 교환할 수 있다. 버스(250)는 전자 장치(200)에서 이용되는 다양한 유형의 통신 포맷을 지원하도록 구성될 수 있다.
상술된 내용은 본 개시를 실시하기 위한 구체적인 실시 예들이다. 본 개시는 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 개시는 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 개시의 범위는 상술된 실시 예들에 국한되어 정해져서는 안 되며 후술하는 특허청구범위뿐만 아니라 본 개시의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
110: 전처리기
111: 수치 변환 모듈
112: 정규화 모듈
113: 결측치 처리 모듈
120: 학습기
121_1, 121_2: 스파스 어텐션 모듈
121_1a, 121_2a: 인코딩 모듈
121_1b, 121_2b: 스파스 어텐션 계산 모듈
121_1c, 121_2c: 스파스 어텐션 반영 모듈
122: 출력 계산 모듈
123: 손실 계산 모듈
124: 가중치 업데이트 모듈
130: 예측기
131: 예측 결과 생성 모듈
132: 역정규화 모듈
111: 수치 변환 모듈
112: 정규화 모듈
113: 결측치 처리 모듈
120: 학습기
121_1, 121_2: 스파스 어텐션 모듈
121_1a, 121_2a: 인코딩 모듈
121_1b, 121_2b: 스파스 어텐션 계산 모듈
121_1c, 121_2c: 스파스 어텐션 반영 모듈
122: 출력 계산 모듈
123: 손실 계산 모듈
124: 가중치 업데이트 모듈
130: 예측기
131: 예측 결과 생성 모듈
132: 역정규화 모듈
Claims (12)
- 복수의 차원들을 포함하는 제 1 다차원 데이터 및 제 2 다차원 데이터를 입력 받아 전처리하여 제 1 보간 데이터 및 제 2 보간 데이터를 생성하는 전처리기;
제 1 보간 데이터의 특징 값들 각각에 대응하는 스파스 어텐션(sparse attention) 가중치를 계산하고, 상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성하는 학습기; 및
상기 제 2 보간 데이터를 입력 받아 예측 결과를 생성하는 예측기를 포함하는 다차원 데이터 처리를 위한 장치. - 제 1 항에 있어서,
상기 전처리기는:
상기 제 1 다차원 데이터 및 상기 제 2 다차원 데이터의 특징 값들 중에서 수치가 아닌 값들을 수치로 변환하는 특징 변환 모듈;
상기 제 1 다차원 데이터 및 상기 제 2 다차원 데이터의 특징 값들을 기준 범위에 따라 정규화하는 정규화 모듈; 및
상기 제 1 다차원 데이터 및 상기 제 2 다차원 데이터의 결측치에 대응하는 보간 값을 결정하는 결측치 처리 모듈을 포함하는 다차원 데이터 처리를 위한 장치. - 제 1 항에 있어서,
상기 학습기는:
상기 제 1 보간 데이터의 특징 값들을 가중치 행렬에 기반하여 인코딩하여 인코딩 데이터를 생성하는 인코딩 모듈;
상기 인코딩 데이터 및 상기 가중치 행렬에 기반하여 상기 스파스 어텐션 가중치를 계산하는 스파스 어텐션 계산 모듈; 및
상기 제 1 보간 데이터의 각 특징 값과, 상기 각 특징 값에 대응하는 스파스 어텐션 가중치를 곱하여 상기 스파스 어텐션 가중치가 반영된 특징 값들을 계산하는 스파스 어텐션 반영 모듈을 포함하는 다차원 데이터 처리를 위한 장치. - 제 3 항에 있어서,
상기 제 1 보간 데이터는 수식 1에 따라 인코딩되는 다차원 데이터 처리를 위한 장치.
(수식 1)
hk=f(Wxk+c)
(상기 hk는 인코딩된 데이터이고, 상기 xk는 보간 데이터의 특징 값이고, 상기 f는 상기 예측 모델의 활성화 함수이고, 상기 W는 상기 예측 모델의 가중치 행렬이고, 상기 c는 바이어스) - 제 3 항에 있어서,
상기 스파스 어텐션 계산 모듈은:
상기 특징 값들 중, 상기 예측 결과 생성을 위해 사용할 특징 값들을 결정하고, 상기 예측 결과 생성을 위해 사용할 특징 값들에 대응하는 스파스 어텐션 가중치는 1로 설정하고, 상기 예측 결과 생성을 위해 사용하지 않을 특징 값들에 대응하는 스파스 어텐션 가중치는 0으로 설정하는 다차원 데이터 처리를 위한 장치. - 제 5 항에 있어서,
상기 스파스 어텐션 계산 모듈은 근사 계단 함수를 이용하여 상기 스파스 어텐션 가중치를 0 또는 1로 설정하는 다차원 데이터 처리를 위한 장치. - 제 1 항에 있어서,
상기 예측기는
상기 제 2 보간 데이터에 기반하여 예측 결과를 생성하는 예측 결과 생성 모듈; 및
상기 제 2 보간 데이터의 특징 값들에 대해 역정규화하는 역정규화 모듈을 포함하는 다차원 데이터 처리를 위한 장치. - 복수의 차원들을 포함하는 다차원 데이터를 전처리하여 보간 데이터를 생성하는 단계;
상기 보간 데이터의 특징 값들을 가중치 행렬에 기반하여 인코딩하여 인코딩 데이터를 생성하는 단계;
상기 인코딩 데이터 및 상기 가중치 행렬에 기반하여 스파스 어텐션(sparse attention) 가중치를 계산하는 단계;
상기 보간 데이터의 각 특징 값과, 상기 각 특징 값에 대응하는 스파스 어텐션 가중치를 곱하여 상기 스파스 어텐션 가중치가 반영된 특징 값들을 계산하는 단계; 및
상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성하는 단계를 포함하는 다차원 데이터 처리를 위한 방법. - 제 8 항에 있어서,
상기 보간 데이터를 생성하는 단계는:
상기 다차원 데이터의 특징 값들 중에서 수치가 아닌 값들을 수치로 변환하는 단계;
상기 다차원 데이터의 특징 값들을 기준 범위에 따라 정규화하는 단계; 및
상기 다차원 데이터의 결측치에 대응하는 보간 값을 결정하는 단계를 포함하는 다차원 데이터 처리를 위한 방법. - 제 8 항에 있어서,
상기 보간 데이터는 수식 1에 따라 인코딩되는 다차원 데이터 처리를 위한 방법.
(수식 1)
hk=f(Wxk+c)
(상기 hk는 인코딩된 데이터이고, 상기 xk는 보간 데이터의 특징 값이고, 상기 f는 상기 예측 모델의 활성화 함수이고, 상기 W는 상기 예측 모델의 가중치 행렬이고, 상기 c는 바이어스) - 제 8 항에 있어서,
상기 스파스 어텐션 가중치를 계산하는 단계는:
상기 특징 값들 중, 상기 예측 결과 생성을 위해 사용할 특징 값들을 결정하는 단계;
근사 계단 함수를 이용하여 상기 예측 결과 생성을 위해 사용할 특징 값들에 대응하는 스파스 어텐션 가중치를 1로 설정하고, 상기 예측 결과 생성을 위해 사용하지 않을 특징 값들에 대응하는 스파스 어텐션 가중치를 0으로 설정하는 단계를 포함하는 다차원 데이터 처리를 위한 방법. - 프로그램 코드를 포함하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 프로세서에 의해 상기 프로그램 코드가 실행될 때, 상기 프로세서는:
복수의 차원들을 포함하는 다차원 데이터를 전처리하여 보간 데이터를 생성하고,
상기 보간 데이터의 특징 값들을 가중치 행렬에 기반하여 인코딩하여 인코딩 데이터를 생성하고,
상기 인코딩 데이터 및 상기 가중치 행렬에 기반하여 스파스 어텐션(sparse attention) 가중치를 계산하고,
상기 보간 데이터의 각 특징 값과, 상기 각 특징 값에 대응하는 스파스 어텐션 가중치를 곱하여 상기 스파스 어텐션 가중치가 반영된 특징 값들을 계산하고, 그리고
상기 스파스 어텐션 가중치가 반영된 특징 값들을 이용하여 예측 결과를 생성하기 위한 예측 모델의 가중치 그룹을 생성하는 비일시적 컴퓨터 판독 가능 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220033957A KR20230136348A (ko) | 2022-03-18 | 2022-03-18 | 다차원 데이터 처리를 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220033957A KR20230136348A (ko) | 2022-03-18 | 2022-03-18 | 다차원 데이터 처리를 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230136348A true KR20230136348A (ko) | 2023-09-26 |
Family
ID=88191155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220033957A KR20230136348A (ko) | 2022-03-18 | 2022-03-18 | 다차원 데이터 처리를 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230136348A (ko) |
-
2022
- 2022-03-18 KR KR1020220033957A patent/KR20230136348A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106778014B (zh) | 一种基于循环神经网络的患病风险预测建模方法 | |
Biloš et al. | Neural flows: Efficient alternative to neural ODEs | |
Watrous | Learning algorithms for connectionist networks: Applied gradient methods of nonlinear optimization | |
EP3474195A1 (en) | Method and apparatus with neural network | |
CN112639834A (zh) | 用于数据分析的计算机实现的方法、计算机程序产品以及系统 | |
JP6793774B2 (ja) | パラメータの多次元時系列を分類するためのシステムおよび方法 | |
CN109754066A (zh) | 用于生成定点型神经网络的方法和装置 | |
KR102532909B1 (ko) | 다차원의 시계열 의료 데이터를 처리하는 장치 및 방법 | |
US20210375441A1 (en) | Using clinical notes for icu management | |
CN111368656A (zh) | 一种视频内容描述方法和视频内容描述装置 | |
CN111178986B (zh) | 用户-商品偏好的预测方法及系统 | |
WO2020226751A1 (en) | Interpretable neural network | |
KR102362678B1 (ko) | 생체신호 분석 방법 | |
US20220343160A1 (en) | Time series data processing device configured to process time series data with irregularity | |
CN115862842A (zh) | 慢性病的风险预测方法及相关设备 | |
Agbinya | Applied data analytics-principles and applications | |
KR20200061968A (ko) | 시계열 데이터 처리 장치 및 이의 동작 방법 | |
US20210174229A1 (en) | Device for ensembling data received from prediction devices and operating method thereof | |
Henderson et al. | Analyzing chest X-ray to detect the evidence of lung abnormality due to infectious disease | |
KR20230136348A (ko) | 다차원 데이터 처리를 위한 장치 및 방법 | |
CN116150462A (zh) | 针对目标对象的向量构建方法、装置和计算机设备 | |
Kaushal et al. | Recent trends in survival analysis using deep learning in medical science: current perspective and future direction | |
Titu et al. | Acquiring businesss intelligence through data science: A practical approach | |
CN118378049B (zh) | 缺失表格数据公平预测方法及装置、电子设备 | |
Tucker et al. | Hamiltonian Learning using Machine Learning Models Trained with Continuous Measurements |