KR20220145007A - 텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법 - Google Patents

텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법 Download PDF

Info

Publication number
KR20220145007A
KR20220145007A KR1020210051577A KR20210051577A KR20220145007A KR 20220145007 A KR20220145007 A KR 20220145007A KR 1020210051577 A KR1020210051577 A KR 1020210051577A KR 20210051577 A KR20210051577 A KR 20210051577A KR 20220145007 A KR20220145007 A KR 20220145007A
Authority
KR
South Korea
Prior art keywords
tensor
input
matrix
data
outlier
Prior art date
Application number
KR1020210051577A
Other languages
English (en)
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 KR1020210051577A priority Critical patent/KR20220145007A/ko
Priority to US17/672,060 priority patent/US20220374498A1/en
Publication of KR20220145007A publication Critical patent/KR20220145007A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

텐서 스트림의 텐서 데이터 처리방법이 개시된다. 데이터 처리방법은 이상치 및 손실치 중 적어도 하나를 포함하는 입력 텐서로서, 제1 시점 내지 제2 시점 사이의 시간구간 동안 입력되는 상기 입력 텐서를 수신하는 단계, 상기 입력 텐서를 낮은 랭크 텐서로 분해하여 요소 매트릭스를 추출하는 단계, 상기 추출된 요소 매트릭스 중 시간적 요소 매트릭스에서 경향성 및 주기적 패턴을 산출하는 단계, 상기 산출된 경향성 및 주기적 패턴을 벗어나는 상기 이상치를 검출하는 단계, 상기 검출된 이상치를 제외하고 상기 시간적 요소 매트릭스를 업데이트 하는 단계, 상기 업데이트된 시간적 요소 매트릭스 및 상기 입력 텐서의 비시간적 요소 매트릭스를 조합하여 실질텐서를 산출하는 단계 및 상기 실질텐서의 데이터에서 상기 입력텐서의 상기 이상치의 위치 또는 상기 손실치의 위치에 대응되는 데이터를 추정치로 하여 상기 입력 텐서를 복구하는 단계를 포함한다.

Description

텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법{Data Processing Method of Detecting and Recovering Missing Values, Outliers and Patterns in Tensor Stream Data}
본 발명은 텐서 스트림 데이터의 데이터 처리 방법에 관한 것이다.
텐서(Tensor)는 다방향 데이터(Multi-way Data)를 고차원 어레이(high-dimensional array)로 표현한 것이다. 텐서로 모델링된 데이터들은 머신 러닝, 어반(urban) 컴퓨팅, 화학측정학(Chemometrics), 이미지 처리, 추천 시스템 등 다양한 분야에서 이용된다.
데이터의 차원과 사이즈가 증가함에 따라 텐서를 효율적으로 분석할 수 있는 텐서 분해(Tensor Factorization)에 대한 광범위한 연구가 수행되고 있다.
현실에서의 데이터는 네트워크 끊김, 시스템 에러 등과 같은 원인으로 인하여 이상치가 포함되거나, 일부 손실되기도 한다. 이러한 이상치 또는 손실 데이터에 오염된 텐서를 기초로 하는 텐서 분해는 정확도가 매우 낮고, 텐서 분해 후 이러한 이상치 또는 손실 데이터에 오염된 텐서를 복구하기 쉽지 않다.
본 발명이 해결하고자 하는 기술적 과제는 텐서 스트림 데이터의 특성에 기초하여 이상치를 검출하고 손실치를 복원하는 텐서 데이터 처리 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 미래 텐서 데이터를 예측할 수 있는 텐서 데이터 처리 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 텐서 데이터 처리방법은 이상치 및 손실치 중 적어도 하나를 포함하는 입력 텐서로서, 제1 시점 내지 제2 시점 사이의 시간구간 동안 입력되는 상기 입력 텐서를 수신하는 단계, 상기 입력 텐서를 낮은 랭크 텐서로 분해하여 요소 매트릭스를 추출하는 단계, 상기 추출된 요소 매트릭스 중 시간적 요소 매트릭스에서 경향성 및 주기적 패턴을 산출하는 단계, 상기 산출된 경향성 및 주기적 패턴을 벗어나는 상기 이상치를 검출하는 단계, 상기 검출된 이상치를 제외하고 상기 시간적 요소 매트릭스를 업데이트 하는 단계, 상기 업데이트된 시간적 요소 매트릭스 및 상기 입력 텐서의 비시간적 요소 매트릭스를 조합하여 실질텐서를 산출하는 단계 및 상기 실질텐서의 데이터에서 상기 입력텐서의 상기 이상치의 위치 또는 상기 손실치의 위치에 대응되는 데이터를 추정치로 하여 상기 입력 텐서를 복구하는 단계를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 텐서 데이터 처리방법은 입력 텐서를 수신하는 단계, 상기 입력 텐서에 적용하여 시계열적 특성의 정적 텐서 분해 모델을 초기화 하는 단계, 상기 정적 텐서 분해 모델에 기반하여 상기 입력 텐서를 시간적 요소 매트릭스와 비시간적 요소 매트릭스로 분해하는 단계, 시계열 예측 모델을 기반으로 상기 시간적 요소 매트릭스의 경향성 및 주기적 패턴을 산출하는 단계, 동적 텐서 분해 모델에 따라 상기 시간적 요소 매트릭스 및 상기 비시간적 요소 매트릭스를 업데이트 하는 단계, 상기 업데이트된 시간적 요소 매트릭스 및 상기 비시간적 요소 매트릭스를 조합하여 실질 텐서를 산출하는 단계 및 상기 실질 텐서에 기초하여 상기 입력 텐서의 이상치 및 손실치를 검출하고 복구하는 단계를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 텐서 데이터 처리방법은 이상치 및 손실치 중 적어도 하나를 포함하는 입력 텐서로서, 제1 시점 내지 제2 시점 사이의 시간구간 동안 입력되는 상기 입력 텐서을 수신하는 단계, 상기 입력 텐서를 낮은 랭크 텐서로 분해하여 각각의 요소 매트릭스(factor matrix)를 추출하는 단계, 상기 추출된 제1 요소 매트릭스에서 데이터 패턴을 각각 산출하는 단계, 상기 제1 요소 매트릭스에서 상기 산출된 데이터 패턴을 벗어나는 상기 이상치를 검출하는 단계, 상기 검출된 이상치를 제외하고 상기 산출된 데이터 패턴에 기초하여 상기 제1 요소 매트릭스를 업데이트 하는 단계, 상기 업데이트된 제1 요소 매트릭스 및 상기 입력 텐서의 나머지 제2 요소 매트릭스를 조합하여 실질 텐서를 산출하는 단계 및 상기 실질 텐서의 데이터에서 상기 입력텐서의 상기 이상치의 위치 또는 상기 손실치의 위치에 대응되는 데이터를 추정치로 간주하여 상기 입력 텐서를 복구하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 고차원 텐서를 설명하기 위한 개념도이다.
도 2는 고차원 텐서의 텐서 분해(Factorization)를 설명하기 위한 개념도이다.
도 3은 데이터 패턴 특성을 설명하기 위한 그래프이다.
도 4 내지 10은 본 발명의 텐서 데이터 처리 방법을 설명하기 위한 개념도이다.
도 11 내지 도 13은 본 발명의 텐서 데이터 처리 방법의 시뮬레이션 결과를 나타낸 것이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명의 실시예들의 구체적인 설명에 앞서, 본 명세서에서 언급되는 표기(notation)들에 대해서 설명한다.
본 명세서에서 언급되는 부호들 및 인덱스는 표 1에 기초한다. 예를 들어, u는 스칼라이고, u는 벡터이며, U는 매트릭스(matrix)를 나타내며 x는 텐서를 나타낸 것이다. N차원의 텐서 x는 N개 차원의
Figure pat00001
번째 입력
Figure pat00002
을 나타낸다. 이때 n은 차원(dimension)을 나타내는 것으로 1 내지 N의 자연수이고, i는 n차원의 길이를 의미하는 것으로
Figure pat00003
의 범위를 갖는다. 매트릭스 U 각각은 i번째 로우 벡터
Figure pat00004
및 j번째 컬럼 벡터
Figure pat00005
를 포함하는 엘리먼트
Figure pat00006
를 나타내는 것이다.
<표 1>
Figure pat00007
Figure pat00008
는 동일한 사이즈의 매트릭스 UW의 Hadamard Product를 나타낸다. 매트릭스 U의 Hadamard Product의 시퀀스
Figure pat00009
Figure pat00010
와 같이 나타낼 수 있다. Hadamard Product는 텐서로 확장될 수 있다.
Figure pat00011
는 동일한 사이즈의 매트릭스 UW의 Khatri-Rao Product를 나타낸다. 매트릭스 U와 매트릭스 W의 Khatri-Rao Product는 수식 (1)과 같이 나타낼 수 있다. 매트릭스 U의 Khatri-Rao 의 시퀀스
Figure pat00012
Figure pat00013
와 같이 나타낼 수 있다.
Figure pat00014
.......(1)
이하, 첨부된 도면을 참조하여 본 발명의 기술적 사상에 따른 실시예들에 대해 설명한다.
도 1은 고차원 텐서를 설명하기 위한 개념도이다.
텐서(Tensor)는 데이터를 다차원 어레이로 표현한 것을 말한다. 예를 들면 벡터는 랭크-1(rank-1) 텐서, 매트릭스는 랭크-2(rank-2) 텐서, 3차원 이상의 배열은 랭크-n(rank-n) 텐서라고 한다. 현실의 다양한 데이터들은 텐서 형태로 표현할 수 있다.
도 1을 참고하면, 출발지에서 목적지로 향하는 택시 운행의 수를 시간에 따라 기록할 경우, 각각의 축, 예를 들어 mode 1은 출발지에서의 방향, 거리를 나타내는 벡터로, mode 2는 도착지에서의 방향, 거리를 나타내는 벡터로, mode 3는 경과 시간을 나타낼 수 있다.
한편 많은 응용 어플리케이션에서는 텐서 데이터가 시간이 지남에 따라 계속해서 증가하는 텐서 스트림의 형태로 수집될 수 있다. 다만, 텐서 스트림 형태로 수집되는 실제 데이터에는 네트워크 끊김이나 시스템 에러로 인한 손실값 (missing value, 도 1의 m)및 이상치(Outlier, 도 1의 o)가 포함될 수 있다.
예를 들어, 텐서
Figure pat00015
는 N개 벡터의 외적(Outer product)로 표현가능한 랭크-1(Rank-1) 텐서이다(예를 들어
Figure pat00016
임.) 랭크- 1 텐서는 크기와 방향을 가진 1차원 벡터로 설명될 수 있다. 랭크-1 텐서의 외적은,
Figure pat00017
로 나타낼 수 있고, 이때
Figure pat00018
,
Figure pat00019
이다.
본 발명은 텐서 스트림 데이터에 포함된 손실값과 이상치를 실시간으로 검출하는 텐서 데이터 처리 방법을 제안한다. 또한 본 발명은 이전에 수신된 과거(previous, t-1시점까지) 텐서 스트림에서 검출된 손실값과 이상치를 복구하는 텐서 데이터 처리 방법을 제안한다. 또한 본 발명은 이후에 수신될 미래(future, t+1시점부터) 텐서 스트림을 예측할 수 있는 텐서 데이터 처리 방법을 제안한다.
도 2는 고차원 텐서의 텐서 분해를 설명하기 위한 개념도이다.
텐서 분해(Tensor Factorization)는 텐서를 구성하는 잠재 구조(latent structure)를 계산할 수 있는 텐서 분석 기법의 일종이다. 텐서 분해는 고차원, 대용량의 텐서 데이터를 차원 축소하여 기존 데이터보다 훨씬 적은 수의 파라미터로 표현할 수 있다.
도 1의 택시 운행의 수의 실시예를 도 2로 설명하면, 택시 운행의 수는 3차원 텐서로 나타낼 수 있고, 이를 각각 1차원 텐서로 인수분해하면 U(1)은 출발지에서 방향/거리를 나타내는 요소 매트릭스로, U(2)는 도착지에서 방향/거리를 나타내는 요소 매트릭스로, U(3)는 출발시간부터 경과된 시간을 나타내는 요소 매트릭스로 각각 나타낼 수 있다.
본 명세서에서는 텐서 분해 방법 중 시계열 요소 매트릭스를 포함하는 분해 방법에 기반한다. 예를 들어 시계열 요소 분해 모델 중 CANDECOMP/PARAFAC (CP) 분해 모델을 이용할 수 있다. 이하 CP 분해 방법이라 호칭한다. N차원(Rank N) 텐서
Figure pat00020
는 1차원(rank-1) 텐서 R의 외적으로 나타낼 수 있다. 예를 들면 현실 데이터에 기반한 텐서
Figure pat00021
는 수식(2)와 같이 표현할 수 있다.
Figure pat00022
....(2)
이때
Figure pat00023
는 모드 n의 요소 매트릭스(factor matrix)이고, 로우 벡터(row vector)는
Figure pat00024
와 같이 표현될 수 있다.
그 중 텐서의 한 축이 시간을 의미한다면, 해당하는 요소 매트릭스는 시간적 요소 매트릭스(temporal factor matrix)로 정의할 수 있다. 즉, 택시 운행의 수 중 U(3)를 수식(2)로 설명하면, 택시의 출발 시간부터 경과된 시간적 요소 매트릭스는
Figure pat00025
과 같이 나타낼 수 있다.
도 3은 데이터 패턴 특성을 설명하기 위한 그래프이다.
본발명의 텐서 데이터 처리 방법은 텐서 스트림으로 입력되는 데이터들에서, 관측된 데이터들의 패턴을 파악하고, 파악된 패턴에 기반하여 현재 시점까지 입력된 데이터들에서 이상치를 검출하며, 이상치 및 관측되지 않은 데이터(손실치)에 상응하는 추정치를 추정(estimate)할 수 있다.
이때 데이터들의 패턴은 데이터의 시간적 특성 뿐만 아니라 데이터 자체 특성이 가진 피지컬 모델(Physical model), 데이터와 관련된 룰(Rule)이나 사전지식(Prior Knowledge) 등을 포함할 수 있다. 본 발명의 텐서 데이터 처리 방법은 적어도 둘 이상의 데이터 패턴에 기초하여, 텐서 스트림의 패턴 특징을 파악하고, 파악된 패턴 특징에 기반하여 관측 데이터에서 이상치를 검출하며, 손실치 및 검출된 이상치의 위치에 대응되는 추정치를 추정할 수 있다. 나아가 본 발명의 텐서 처리 방법은 적어도 둘 이상의 데이터 패턴에 기초하여, 현재까지 관측된 데이터의 텐서 스트림 뿐 아니라 이후에 입력되는 미래 데이터에 대한 텐서 스트림도 예측하여, 미리 이상치를 감지하고 손실치를 추정할 수 있다.
일 실시예로, 센서와 관련된 센싱데이터라고 한다면, 센서 자체의 하드웨어적 특성(센싱 마진, 센서 입출력 특성 등)에 기반한 패턴을 시간적 특성과 함께 고려할 수 있다. 다른 실시예로, CPU와 관련된 데이터라고 한다면, CPU의 하드웨어적 특성 및 동작 특성과 관련된 패턴을 시간적 특성과 함께 고려할 수 있다.
이하에서는 텐서 데이터 처리 방법을 시간적 특성 패턴을 위주로 설명하나, 앞서 설명한 다양한 실시예에 따라 다른 데이터 패턴 특징도 조합하여 텐서 데이터를 처리할 수 있다고 할 것이다.
예를 들어, 데이터에 시계열 요소가 포함되면, 텐서 스트림으로 입력되는 데이터들은 시간의 흐름에 따라 시간적 매끄러움(temporl smoothness) 및 계절적 매끄러움(seasonal smoothness)을 보인다.
시간적 매끄러움은 연속되는 시간에서의 텐서 데이터가 비슷한 값을 가지는 것을 의미한다. 예를 들면 오전 9시 10분의 사무실의 내부 온도, 습도, 조도는 오전 9시 20분의 사무실의 내부 온도, 습도, 조도와 비슷하다. 계절적 매끄러움은 연속된 주기의 텐서 데이터가 비슷한 값을 갖는 것을 의미한다. 예를 들면 오늘 오전 9시 10분의 사무실의 내부 온도, 습도, 조도는 내일 오전 9시 10분의 사무실의 내부 온도, 습도, 조도와 비슷할 수 있다.
도 3에 도시된, 호주에서 열리는 국제 방문객의 밤 행사를 예로 들어보면, 국제 방문객의 수는 텐서는 2005년부터 2020년까지 오르락내리락하면서 전체적으로 서서히 증가하는 경향을 보인다. 국제 방문객의 수(입력 데이터)에 대해 시계열상으로 나타나는 패턴을 파악하기 위해 텐서 분해방법은 요소 별로 세분화해서 패턴을 파악할 수 있다. 예를 들면 레벨, 트랜드, 계절성 요소로 각각 나누어 살펴볼 수 있다.
도시된 예를 들면, 좌측 그래프의 레벨(예를 들면 그 해의 평균값)은 3천만명에서 6천만명으로 서서히 증가한는 경향을 보이고, 좌측의 그래프의 트랜드는, 한 해(year) 내에서 요동치는(fluctuate) 그래프의 경사(slope)로 살펴보면 2007년 이전에 비해 2014년 이르기까지 서서히 낮아지는 것으로 보인다. 또한 입력 텐서의, 계절성에 대해서는 소정 간격의 진폭으로 요동치는 것으로 보인다.
이러한 패턴이 파악되면,2005년1월 내지 2013년 1월의 방문객 수는 앞서 살펴본 레벨, 트랜드 및 계절성에 기초해서 2014년 1월의 방문객 수를 예측하는데 이용될 수 있다. 또한 2014년 1월20일의 방문객 수는 2014년 1월 15일의 방문객 수에 기초하여 예측될 수 있다. 만약 2014년 1월 20일의 방문객 수가 예측치를 소정의 범위 밖으로 벗어나는 경우 이상치라고 판단될 수 있고, 이경우 텐서 스트림에서는 제외될 수 있다. 또한, 이상치로 판단된 데이터에 이전의 데이터들로 추정한 예측치를 대입하여 이후의 날짜, 예를 들어 2014년 1월 25일의 국제 방문객 수를 예측하는데 이용할 수도 있다.
도 4 내지 도 10은 본 발명의 텐서 데이터 처리 방법을 설명하기 위한 개념도이다.
입력 텐서 y는 정상 범위 내 데이터를 포함하는 실질(real) 텐서
Figure pat00026
와 이상치(outlier, o init )를 포함한다. 불완전한 N차원 실질 텐서
Figure pat00027
와 랭크 R을 가정하면, 인디케이터 매트릭스
Figure pat00028
Figure pat00029
와 크기가 같은 이진 텐서이며, 매트릭스 내의 각 엘리먼트
Figure pat00030
값은 해당하는 위치의
Figure pat00031
요소의 관측여부를 의미한다. 인디케이터 매트릭스
Figure pat00032
는 수식 (3)과 같이 정의한다.
Figure pat00033
.....(3)
CP 분해는 수식 (4)의 손실함수를 최소화하는 요소 매트릭스를, 수식(3)과 같이 관측된 텐서 만을 이용하여 찾는 것이다. 하기 수식 (4)는 실질 텐서
Figure pat00034
에서 손실 함수를 최소화하는 요소 매트릭스
Figure pat00035
를 차감한 값에 인디케이터 매트릭스
Figure pat00036
의 hadamard product에 대한 Frobenius norm(표1 참고)에 기초한 값을 나타낸다.
Figure pat00037
.....(4)
즉, 실질 데이터에서 손실값 또는 이상치가 거의 없는 CP 인수분해가 되게 하는 요소 매트릭스
Figure pat00038
를 찾는 것이다. 텐서 분해 방법을 이용해서 계산한 요소 매트릭스들을 이용하여 추정 텐서
Figure pat00039
로 복원할 수 있으며, 실질 텐서
Figure pat00040
에서 손실된 값들은 복원 텐서
Figure pat00041
의 값으로 추정할 수 있다.
몇몇 실시예에 따른 텐서 데이터 처리 방법은 정적 텐서 분해 모델 및 동적 텐서 분해 모델을 포함한다. 정적 텐서 분해 모델은 소정의 시간 구간(예를 들면 도 3의 예에서 2014년 1월 15일, 2014년 1월 20일, 2014년 1월 25일)에서 관찰되는 데이터의 패턴 특성을 기초로 할 수 있고, 동적 텐서 분해 모델은 소정의 주기(예를 들면 들면 도 3의 예에서 2013년 1월, 2014년 1월, 2015년 1월)에서 관찰되는 데이터의 패턴 특성을 기초로 할 수 있다.
텐서 스트림에서 이상치/손실값을 검출하기 위해서는 정적 텐서 분해 모델을 이용하여 이전(previous) 텐서 입력들, (예를 들어 0 내지 t-1시점까지)로부터 주기적 패턴과 경향성을 추출하고, 추출된 주기적 패턴과 경향성에 맞지 않는 데이터를 이상치로 판단할 수 있다. 또는 손실값을 발견할 수 있다.
도 4를 참고하면, 소정의 주기, 즉, 부분적으로 관찰되고, 이상치/손실값이 포함된 N차원의 정적 텐서
Figure pat00042
를 수신하였다고 가정한다. 수신되는 입력 텐서
Figure pat00043
는 정상치를 포함하는 실질 텐서
Figure pat00044
와 이상치 텐서
Figure pat00045
의 합으로 표현할 수 있다(
Figure pat00046
. 정적 텐서에 대한 텐서 분해 모델에 대한 비용함수는 수식(5)와 같이 나타낼 수 있다.
Figure pat00047
.....(5)
수식(5)를 참조하면, 정적 텐서 분해 모델은 비용함수 C를 최소화하는 요소 매트릭스
Figure pat00048
과 이상치 텐서
Figure pat00049
를 찾는다. 상기 수식(5)에서
Figure pat00050
Figure pat00051
는 각각 시간적 매끄러움 조정 파라미터와 주기적 매끄러움의 조정 파라미터(smoothness control parameter)이고,
Figure pat00052
은 이상치 텐서
Figure pat00053
의 희소성(sparse)을 조절하는 희소성 조절 파라미터(sparsity control parameter)이다. m은 주기이며, 각 매트릭스
Figure pat00054
은 수식 (6)과 같은 매끄러움 제약 매트릭스(smoothness constraint matrix)이다.
예를 들어
Figure pat00055
을 크게 하면 시간적 매끄러움을 보다 가중(weight)하여 계산하는 것이고,
Figure pat00056
를 크게하면 주기적 매끄러움을 가중하여 계산하는 것이다.
Figure pat00057
를 크게하면, 이상치가 보다 밀도가 작게 분포되도록(sparse) 하는 것이다. 즉,
Figure pat00058
Figure pat00059
가 커질수록 시간적 또는 주기적으로 보다 유사한 값으로 만들어주는 것이다.
Figure pat00060
.....(6)
매끄러움 제약 매트릭스의 값은 모든
Figure pat00061
에 대해
Figure pat00062
이며, 나머지 값들은 0을 가지는 매트릭스다.
수식 (5)의 첫 번째 항
Figure pat00063
Figure pat00064
텐서를 실질 텐서
Figure pat00065
와 이상치 텐서
Figure pat00066
로 분해함에 있어서 발생하는 오차에 대한 손실함수이며, 두 번째 항
Figure pat00067
은 시간적 요소 매트릭스
Figure pat00068
에 대해 시간적 매끄러움을 부과(encourage)하는 항(term)이며, 세 번째 항
Figure pat00069
은 시간적 요소 매트릭스
Figure pat00070
에 대해 주기적 매끄러움을 부과하는 항이며, 네 번째 항
Figure pat00071
은 이상치 텐서
Figure pat00072
희소성을 부과하는 항이다.
도 4에서 정적 텐서 분해 모델을 이용하여 이전(previous) 텐서 입력들, (예를 들어 0 내지 t-1시점까지)로부터 주기적 패턴과 경향성을 추출한 경우, 텐서 분해 모델은 t 시점에 입려딘 데이터에 대해 도 5에 도시된 바와 같이 재조합된 텐서 스트림에 맞지 않는 데이터를 이상치로 판단할 수 있다. 또는 손실값을 발견할 수 있다.
구체적으로 설명하면, 텐서 데이터 처리 방법은 추출된 주기적 패턴과 경향성에 따라 동적 텐서 분해 모델을 적용하여 t시점(현재) 이후의 미래 시계열 요소 매트릭스를 추정하고, 추정된 미래 시계열 요소 매트릭스가 적용된 미래 서브 텐서들을 생성한다. 텐서 데이터 처리 방법은 추정된 t 시점의 미래 서브 텐서와 실제 t점에 수신되는 입력 서브 텐서를 비교하여, 비교결과 기설정된 범위를 벗어나는 값은 이상치로 판단하여 무시하고, 추정된 실질 데이터값으로 매핑하거나, 현재 기록이 없는 값은 손실값으로 판단하여 추정된 실질 데이터값으로 매핑한다.
동적 텐서 분해 모델은 정적 텐서 분해 모델에 시간적 요소가 반영된 것으로, 텐서가 스트림의 형태로 지속적으로 수집되는 동적 텐서 스트림의 경우를 가정한다. 시간
Figure pat00073
에 불완전한 서브텐서(subtensor)
Figure pat00074
가 연속적으로 수신되는 경우이다.
Figure pat00075
...(7)
수식 (7)에서 첫 번째 항은 입력 텐서
Figure pat00076
를 실질 텐서
Figure pat00077
이상치 텐서
Figure pat00078
로 분해함에 있어서 발생하는 오차에 대한 손실함수이며, 두 번째 항은 시간적 요소 매트릭스
Figure pat00079
에 새로 추가된 벡터인
Figure pat00080
에 대해 시간적 매끄러움을 부과하는 항이며, 세 번째 항은 시간적 요소 매트릭스
Figure pat00081
에 새로 추가된 벡터인
Figure pat00082
에 대해 주기적 매끄러움을 부과하는 항이며, 네 번째 항은 이상치 텐서
Figure pat00083
희소성을 부과하는 항이다. 상기 수식 (7)에서
Figure pat00084
Figure pat00085
는 각각 시간적 매끄러운 조정 파라미터와 주기적 매끄러움의 조정 파라미터(smoothness control parameter)이고,
Figure pat00086
은 이상치
Figure pat00087
의 희소성(sparse)을 조절하는 회소성 조절 파라미터(sparsity control parameter)이다.
Figure pat00088
Figure pat00089
는 각각 수식 (8)과 같다.
Figure pat00090
....(8)
수식 (7) 및 수식 (8)에서
Figure pat00091
는 시계열 벡터로, 시간적 요소 매트릭스의
Figure pat00092
번째 로우 벡터이고, 입력 텐서
Figure pat00093
의 시계열 요소(temporal component)를 의미한다.
즉, 수식(7) 및 수식(8)을 참조하면, 동적 텐서 분해 모델 또한 각 시간 t에서 수식 (7)을 최소화하는 요소 매트릭스
Figure pat00094
과 이상치 텐서
Figure pat00095
를 찾는 것이다. 다만 수식 (5)에 시계열적 개념 t가 추가된 것으로, 만약 t=IN인 경우 수식 (5)와 수식 (7)은 동일해진다.
본 발명의 텐서 데이터 처리 방법은 텐서 스트림에 포함된 손실값을 추정하며 이상치를 실시간으로 제거할 수 있다. 이를 위해 i) 텐서 분해 모델 초기화, ii) 시계열 요소 분해 모델에 적용 및 iii) 텐서 스트림에 대한 동적 업데이트를 수행한다.
1. 텐서 분해 모델 초기화
도 4를 참조하면, 텐서 데이터 처리 방법은 먼저 정적 텐서 분해 모델을 초기화한다. 정적 텐서 분해 모델은, 초기화에 필요한 짧은 시간의 텐서 스트림을 기초로 할 수 있다. 예를 들어 정적 텐서 분해 모델의 시간적 요소 매트릭스를 도출하기 위한 텐서 스트림의 길이(
Figure pat00096
)는 최소 주기(m)의 3배(
Figure pat00097
) 이상을 사용할 수 있다. 이때 최소 주기는 주기적 매끄러움을 관찰할 수 있는 최소 주기를 의미한다. 초기화를 위해 수집한 텐서 데이터는 상기 수식 (5)를 이용하여 실질 텐서
Figure pat00098
의 각 요소 매트릭스들 U(1), U(2), U(3)과 이상치 텐서
Figure pat00099
를 초기화 시킨다.
일 실시예에 따라, 텐서 분해 모델의 초기화는 알고리즘 1과 같이 수행될 수 있다. 알고리즘 1은 수식 (5)를 기초로, 비용함수 C를 최소화하는 요소 매트릭스
Figure pat00100
과 이상치 텐서
Figure pat00101
를 찾는 것이다.
<알고리즘 1>
Figure pat00102
먼저 ti에 대한 각각의 서브 텐서
Figure pat00103
를 연결하여 집단 텐서
Figure pat00104
, 실질 텐서
Figure pat00105
와 동일한 사이즈의 매트릭스
Figure pat00106
및 이상치 텐서
Figure pat00107
생성하고, 요소 매트릭스
Figure pat00108
를 초기화 한다. SOFIAALS를 이용하여 시계열 요소 매트릭스를 찾고, line 8과 같이 이상치 텐서를 수식 (9)에 따라 검출한다.
Figure pat00109
....(9)
수식(9)를 설명하면,
Figure pat00110
로 산출된 값이
Figure pat00111
를 초과하는 경우 이상치 텐서
Figure pat00112
로 판단하고, 이상치 데이터 대신 0으로 매핑하는 것이다.
일 실시예에 따라 이상치를 검출하는 속도를 빠르게 하기 위해 알고리즘 line 9내지 line 12와 같이
Figure pat00113
값을 터프하게 하여 검출하고 점차적으로
Figure pat00114
값을 줄여가면서, 이상치를 검출할 수도 있다.
한편 Line 7과 같이, 입력 텐서
Figure pat00115
로부터 요소 매트릭스를 추정하기 위해 텐서 분해시 ALS (Alternating Least Squares) 방식으로 최적화를 수행할 수 있다. ALS 방식은 하나의 매트릭스(예를 들어 제1 요소 매트릭스)를 업데이트 하기 위해서 제1 요소 매트릭스를 제외한 다른 매트릭스(예를 들어 제2 요소 매트릭스)를 고정한뒤, 수식(5)를 최적화하는 방향으로 제1 요소 매트릭스를 업데이트 하는 것이다.. 일 실시예로, 텐서 분해 모델 초기화는 알고리즘 2와 같은 SOFIAALS를 이용하여 이상치 및 시계열 요소 매트릭스를 구할 수 있다.
<알고리즘 2>
Figure pat00116
알고리즘 2를 참조하면, SOFIAALS는 수식 (10)을 이용하여 이상치가 제거된 입력 텐서
Figure pat00117
에서 비시간적 요소 매트릭스 U (n)를 하나씩 행
Figure pat00118
별로 업데이트 한다.
구체적으로, 알고리즘 2의 line 3 내지 line 9를 참고하면, 비시간적 요소 매트릭스에서 수식 (11) 및 수식 (12)를 이용하여 수식(10)의 비용함수
Figure pat00119
를 최소화하는 하나의 비시간적 요소 매트릭스
Figure pat00120
를 찾는 것이다.
Figure pat00121
비용함수
Figure pat00122
를 최소화하는 값을 찾기 위해서, 입력된 텐서 스트림 내에서 수식 (13)에 따라 인덱스 in 별로 미분값을 0으로 하는
Figure pat00123
를 산출할 수 있다. 이때 in 및 j는
Figure pat00124
, 및
Figure pat00125
의 범위를 갖는다.
Figure pat00126
...(13)
수식 (13)은 수식 (14)와 같이 정리될 수 있고,
Figure pat00127
...(14)
비시간적 요소 매트릭스
Figure pat00128
는 수식 (14)에서 수식 (15)와 같이 도출된다.
Figure pat00129
.....(15)
한편, 알고리즘 2의 line 10 내지 line 12를 참고하면, 시계열적 요소 매트릭스 U ( N)의 각 행
Figure pat00130
은 수식 (16)에 따라 비용함수
Figure pat00131
를 최소화하는 값을 찾을 수 있다.
Figure pat00132
...(16)
이때 시계열적 요소 매트릭스의 각 행은 수식 (17)에 기초하고, 수식 (16)의 KiNj 및 HiNj는 수식 (18)에 기초한다.
Figure pat00133
.....(18)
정리하면, 초기화 방법은 최소 주기의 복수 배(예를 들어 3배)로 입력된 텐서 스트림으로부터 수식 (5)의 정적 텐서 분해 모델 및 ALS 방식을 이용하여 시계열 요소 매트릭스
Figure pat00134
을 산출한다.
2. 시계열 요소 분해 모델에 적용
초기화 결과, 각각 길이가
Figure pat00135
이고 주기가
Figure pat00136
인 각각의 열(
Figure pat00137
)을 가진 시계열 요소 매트릭스
Figure pat00138
가 산출된다.
시계열 요소 분해 모델은 시계열 요소 매트릭스에서 소정의 패턴을 추출할 수 있다. 예를 들어 시계열 요소 매트릭스를 시계열 요소 분해 모델에 적용하면, 시계열 요소 매트릭스
Figure pat00139
의 레벨, 트랜드 및 계절성(level, trend, seasonality) 패턴을 추출할 수 있다. 예를 들면, 도 3에서 설명한 것과 같은 호주의 국제 방문자 수는 좌측 그래프로부터 HW 방식으로 추출된 레벨이 2007년 이전부터 2016년 이후까지 꾸준히 증가하는 패턴, 좌측 그래프로부터 추출된 트랜드(즉 증감하는 경사도)가 2007년부터 2015년경까지 서서히 내려가다가 다시 증가하는 패턴, 좌측 그래프로부터 추출된 계절성은 일정한 간격으로 증감하나 증감의 진폭은 점점 커지는 것을 각각 추출할 수 있다.
몇몇 실시예에 따라 시계열 요소 분해 모델로 Halt-Winters 모델(이하 HW 모델)을 이용할 수 있다. HW 모델은 이하 수식 (21) 내지 (23)과 같은 3개의 매끄러움 수식에 기초한, 수식 (24)와 같은 하나의 예측방정식으로 정의될 수 있다.
Figure pat00140
....(21)(22)(23)
수식(21)은 시계열 요소 분해 모델의 시간 t에 대한 레벨 패턴에 대한 것이고, 수식 (22)는 시계열 요소 분해 모델의 시간 t에 대한 트랜드 패턴에 대한 것이고, 수식(23)은 시계열 요소 분해 모델의 시간 t에 대한 계절성 패턴에 대한 방정식을 나타낸 것이다. 이때 계수
Figure pat00141
는 각각 0 내지 1사이의 실수이다.
Figure pat00142
....(24)
수식(24)에서,
Figure pat00143
는 시간 t에서 h 경과 이후의 예측 시계열 요소 매트릭스로서, 상기 m은 계절성 주기를 의미한다.
Figure pat00144
는 예측에 사용될 계절성 성분(seasonal component)의 추정치가 시계열의 마지막 계절에 산출되도록 하는 것이다. HW 모델은 데이터가 생성된 시점이 오래될수록 가중치가 기하급수적으로 줄어들게 하고 생성된 시점이 최근일수록 가중치를 높인다. 이러한 가중 평균 방식으로 접근하기 위해 레벨, 트랜드, 계절성 성분의 매끄러움 변수(smoothing parameter)와 초기값을 추정해야 한다.
수집된 텐서 스트림에서 시간 t가 t=1,?, T일 때 T는 마지막 시점을 의미하고, HW 모델에서 t 시점과 이전 t-1시점 간 차이는
Figure pat00145
와 같이 도출된다. 이때 차이 et 를 찾기 위해 제곱 에러 합(Sum of Squred Errors, SSE)
Figure pat00146
를 이용하여 SSE가 최소화 되도록, 레벨, 트렌드, 계절성 성분의 초기값과 계수
Figure pat00147
를 찾는다.
즉, HW모델의 학습은 계수
Figure pat00148
를 조정하면서, 이전 시점t-1과 현재 시점 t 간의 차이 SSE가 최소화 되는 레벨 패턴 또는 트랜드 패턴, 또는 계절성 패턴을 찾는 것이다.
HW모델에 대한 구체적인 설명은 C. C. Holt, "Forecasting seasonals and trends by exponentially weighted moving averages," International journal of forecasting, vol. 20, no. 1,pp. 5-10, 2004. 및 P. R. Winters, "Forecasting sales by exponentially weighted moving averages," Management science, vol. 6, no. 3, pp. 324-342, 1960.를 참조한다.
본 명세서에서는 일 실시예로써 HW모델을 기반으로 설명하였으나, 다양한 실시예에 따라 시계열 요소 분해 모델로 ARIMA 모델, Seasonal ARIMA 모델을 사용할 수도 있고, 머신 러닝 기반의 시계열 예측 알고리즘을 적용할 수도 있다 할 것이다.
3. 텐서 스트림에 대한 동적 업데이트
도 5를 참고하면, 동적 업데이트는 계속하여 수신되는 서브 텐서들(previous input)
Figure pat00149
에서 이상치
Figure pat00150
를 제거하여, 각 요소 매트릭스, 즉 실질 텐서
Figure pat00151
복원한다. 복원된 요소 매트릭스는 데이터 패턴 특성, 예를 들어 시계열적 특성인 경우 레벨, 트랜드 및 계절성 성분을 포함한다. 구체적으로, 복원된 요소 매트릭스는 이전 단계에서 계산된 레벨 패턴 또는 트렌드 패턴, 또는 계절성 패턴을 활용하여 복원할 수 있다.
복원된 요소 매트릭스는 새로 수신된 서브 텐서(current input)과의 차이에 기반하여 손실값을 추정하는데 이용된다. 알고리즘 3은 텐서 데이터 처리 방법 중 동적 업데이트에 관한 것이다.
<알고리즘 3>
Figure pat00152
1) 시간 t에서의 이상치 서브텐서
Figure pat00153
를 추정
알고리즘 3의 line 3 , 도 5 내지 도 8을 참고하면, 요소 매트릭스
Figure pat00154
의 각 열을 길이가 (t-1) 이고 주기가 m인 시계열로 가정하고, 시계열 예측 알고리즘을 이용해 t 번째 벡터를 예상할 수 있다. 예를 들면, 도 7과 같이 HW 모델에 적용하여 산출된
Figure pat00155
의 레벨(l), 트랜드(t), 계절성(s) 패턴을 이용하여 수식 (25)와 같이 t 번째 벡터를 구할 수 있다.
Figure pat00156
.....(25)
즉, 알고리즘 3의 line 4와 같이 예측 서브 텐서
Figure pat00157
는 시간적 요소 매트릭스에 관한 수식(25)에 기초하여 수식 (26)과 같이 계산될 수 있다.
Figure pat00158
.....(26)
본 발명의 텐서 데이터 처리 방법은 도 8과 같이, 실제 입력된 서브텐서
Figure pat00159
와 수식(26)의 예측 서브 텐서
Figure pat00160
의 차이가 비정상적으로 큰 경우에 이상치로 판단한다. 예를 들면, 이상치 검출은 2-sigma 룰을 사용할 수 있다. 2-sigma 룰은 정규분포에서 데이터 전체 중 약 95%의 값들이 평균에서 양쪽으로 2 표준편차 범위에 존재한다는 것을 말한다. 본 발명의 텐서 데이터 처리 방법은 2-sigma룰에 기초하여, 2표준편차 범위에 속하지 않으면, 이상치로 판단한다. 알고리즘 3의 line 5를 참조하면, 수식 (27)은 이상치 서브텐서
Figure pat00161
를 2-sigma룰을 통해 추정하는 것이다.
Figure pat00162
....(27)
수식 (27)에서
Figure pat00163
는 에러 스케일 텐서(error scale tensor)로서, 각 엔트리에 어느 정도의 에러가 발생하는지를 저장하는 텐서이다. 2-sigma룰은 수식 (28)과 같이 나타난다.
Figure pat00164
..........(28)
상술한 과정에 따라 현재 입력된 서브 텐서(도 5, current input)의 이상치 텐서
Figure pat00165
를 실시간으로 검출할 수 있다.
2) 비시간적 요소 매트릭스 업데이트
실제 입력된 서브텐서
Figure pat00166
에서 수식 (27)에서 검출된 이상치 텐서
Figure pat00167
를 빼면, 시간 t, 즉 현재 입력된 텐서 중 실질 텐서
Figure pat00168
가 산출된다. 이상적으로는 시간 t 이전에 수신한 모든 서브 텐서들
Figure pat00169
에 대해 비용함수인 수식 (7)을 최소화시키도록 비시간적 요소 매트릭스 U(n)을 업데이트 해야 한다. 그러나, 텐서 스트림은 길이가 무한대로 늘어날 가능성이 있기 때문에, 시간 t의 항목만 고려한 새로운 비용 함수
Figure pat00170
를 수식 (29)로 정의한다.
Figure pat00171
.....(29)
즉, 수식 (7)과 수식 (29)를 비교하면, 수식 (7)은 시간
Figure pat00172
에 입력되는 서브텐서(subtensor)
Figure pat00173
를 기초로 비용함수를 계산하나, 수식 (29)는 서브텐서
Figure pat00174
가 시간 t에 관한 경우만 고려하여 계산한다.
비시간적 요소 매트릭스
Figure pat00175
는 수식(29)를 그래디언트 디센트 알고리즘(gradient descent, 또는 경사하강법)에 적용하여 산출할 수 있다.
수식 (29)에서
Figure pat00176
의 잔차 서브텐서를 Rt라 하자. 비시간적 요소 매트릭스는 수식 (30)과 같이 사이즈
Figure pat00177
단위로 수식 (29)를 최소화하는 방향(즉, ft의 미분값을 기초로 최소화)으로 업데이트 되어야 한다.
Figure pat00178
...(30)
이때 R(n)은 서브텐서 Rt의 모드 n의 매트릭스(mode-n matricization of Rt)로 나타낸 것이다.
즉, 수식 (30)에 따라 현재까지의 비시간적 요소 매트릭스
Figure pat00179
에서 다음 시간 t의 비시간적 요소 매트릭스
Figure pat00180
로 업데이트할 수 있다.
3) 시간적 요소 매트릭스 업데이트
시간적 요소 매트릭스
Figure pat00181
또한, 수식 (31)과 같이 사이즈
Figure pat00182
단위로 수식 (29)를 최소화하는 방향(즉, ft의 미분값을 기초로 최소화)으로 업데이트 되어야 한다.
Figure pat00183
....(31)
수식(31)에서 vec()은 벡터화 연산(vectorization operator)이다.
4) 데이터 패턴 특성업데이트
알고리즘 3의 line 7 내지 line 9와 같이 2) 및 3) 단계에서 시간 t관점의 비시간적 요소 매트릭스
Figure pat00184
및 시간적 요소 매트릭스
Figure pat00185
이 산출되면, 이후 시간 t+1에서의 서브 텐서를 예측하는데 사용하기 위해 데이터 패턴 특성, 즉, 레벨 패턴, 트랜드 패턴 및 계절성 패턴을 업데이트 한다. 수식(32)는 새롭게 업데이트 되는 레벨 패턴
Figure pat00186
, 트랜드 패턴
Figure pat00187
및 계절성 패턴
Figure pat00188
를 산출하는 것이다(알고리즘 3의 line 10).
Figure pat00189
...(32)
수식(32)에서 diag()는 주 대각선에 입력벡터의 엘리먼트를 갖는 매트릭스를 만드는 연산자이다. IR은 RxR 매트릭스이다.
5) 실질 텐서
Figure pat00190
복원
앞서 설명한 1) 내지 4) 단계와 같이 업데이트된 각각의 요소 매트릭스, 예를 들어 비시간적 요소 매트릭스
Figure pat00191
및 시간적 요소 매트릭스
Figure pat00192
에 기초하여 시간 t에서의 실질 서브 텐서
Figure pat00193
를 및 수식 (33)과 같이 복원(reconstruct)한다.
Figure pat00194
.....(33)
또한 복원된 서브 텐서
Figure pat00195
의 복원된 값들은 손실값 복원에 사용할 수 있다. 도 9와 같이 입력 텐서
Figure pat00196
에서 손실된 서브 텐서의 위치에 해당되는 복원된 서브 텐서
Figure pat00197
의 값을 추정치로 사용하여, 손실값을 복원할 수도 있다.
4. 미래 서브 텐서를 예측
앞서 설명한 텐서 데이터 처리 방법을 이용하면, 도 10과 같이 이후에 입력될 텐서들, 즉 미래 서브 텐서를 추정/예측할 수 있다. 수신된 입력 텐서 스트림의 마지막 시점을
Figure pat00198
라고 한다면 h 시간 이후,
Figure pat00199
시간에 수신될 텐서를 예측할 수 있다. 시간적 요소 매트릭스를 시계열로 고려하고, 시계열 요소 분해 모델을 이용하여 시간 t의 시간적 요소 매트릭스를 계산할 수 있다.
예를 들면 앞서 설명한 Holt-Winters 방법에 따른 레벨 패턴, 트랜드 패턴 및 계절성 패턴에 기반하여 수식 (24)에 적용하여 시간적 요소 매트릭스
Figure pat00200
를 계산할 수 있다. 그리고 시간 t에서 수신될 미래 서브텐서
Figure pat00201
는 수식 (34)로 예측할 수 있다.
Figure pat00202
......(34)
본 발명의 텐서 데이터 처리 방법은 실시간으로 입력되는 입력텐서에 기초하여 미래 서브텐서
Figure pat00203
를 추정하고, 추정된 미래 서브텐서
Figure pat00204
에 따라 실제 입력된 서브텐서와 비교하여 이상치를 검출하여 제외시키고, 손실치를 복구할 수 있다.
도 11 내지 도 13은 본 발명의 텐서 데이터 처리 방법의 시뮬레이션 결과를 나타낸 것이다.
도 11을 참조하면, 본 발명의 텐서 데이터 처리 방법의 효과를 검증하기 위해 초기화 과정에서 효과적으로 이상치를 제거하고 시간적 패턴과 경향성을 추출할 수 있는지 실험한 것이다. 일반적인 ALS 방법(vanilla ALS)을 이용한 초기화와 시간적, 주기적 매끄러움을 활용한 ALS 방법(SOFIAASL)을 이용한 초기화가 얼마나 기존 주기적 패턴을 잘 복구하는지 실험하였다.
입력으로는 주기가 30인 30×30×90 크기의 합성텐서에 90%의 데이터를 손실시키고, 남은 데이터 중 20%의 데이터에 전체 데이터의 값 중 가장 큰 값의 7배 크기에 해당하는 이상치를 주입하였다.
반복횟수가 늘어날수록 본 발명의 텐서 데이터 처리 방법을 사용한 경우에는 노말라이즈된 에러율(normalized resolution error)이 현저하게 낮아지는데 비해, 일반적인 ALS를 사용한 경우에는 에러율이 떨어지지 않았다.
특히 1000회 반복을 수행한 실험 결과 일반적인 ALS를 사용한 경우에는 주기적 패턴을 찾아내는데 실패하였지만, 본 발명의 텐서 데이터 처리 방법을 사용한 경우에는 90%의 데이터가 손실되고, 심각한 이상치가 포함되어있는 데이터 속에서도 이미 1000번째 반복에 도달하기 전에 시계열적 특성, 즉, 주기적 패턴을 정확하게 찾아낼 수 있음을 검증하였다.
도 12를 참조하면, 각 데이터 세트에 대해 비슷한 문제를 해결할 수 있는 본발명 텐서 복원방법(SOFIAALS) 및 다른 텐서 데이터 처리 방법을 이용한 경우, 동작 속도를 비교해본 것이다. 도 12에서 (X, Y, Z)로 표현된 부분은 데이터 중 X%의 데이터가 손실되었고, Y%의 데이터가 텐서 데이터의 최대값의 Z배의 크기를 가지는 이상치로 오염된 경우를 의미한다. 예를 들어 네트워크 트래픽 데이터에 대한 텐서 스트림인 경우, 다양한 텐서 데이터 처리 방법을 이용하여 손실 값 복원을 할 때, 최대 76% 낮은 에러를 가지며, 도시하지는 않았으나, 처리 속도에 있어서 다른 알고리즘에 비해 최대 935배 빠른 속도를 보여주었다.
도 13을 참고하면, 본 발명의 텐서 데이터 처리 방법은 입력 텐서가 늘어날수록 전체 동작 시간이 선형적으로 증가한다. 즉 입력 텐서 스트림에 대해 이상치 검출 및 손실치 복구를 하는데 있어 실시간 처리에 적합하다고 할 것이다.
본 발명의 텐서 데이터 처리 방법은 빠른 동작 속도를 갖는 연산 회로 및 데이터를 처리하기 위한 메모리를 포함하는 전자 장치에서 수행될 수 있다.
전자 장치는 반도체 시스템에서 다양한 기능을 수행하도록 설계될 수 있으며, 예컨대 전자 장치는 어플리케이션 프로세서(Application Processor)를 포함할 수 있다. 예컨대 전자 장치는 텐서 스트림으로 입력되는 데이터를 상술한 데이터 ㅊ처리방법에 따라 분석하여 유효한 정보를 추출하고, 추출된 정보를 기초로 상황 판단을 하거나 또는 전자 장치가 탑재되는 전자 디바이스의 구성들을 제어할 수 있다. 예시적인 실시예에서, 전자 장치는 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 로봇 장치, 스마트 TV, 스마트폰, 의료 디바이스, 모바일 디바이스, 영상 표시 디바이스, 계측 디바이스, IoT(Internet of Things) 디바이스, 자동치, 서버, 설비 등과 같은 다양한 연산 기능을 수행하는 컴퓨팅 장치들 중 하나에 적용될 수 있으며, 이 외에도 다양한 종류의 전자 디바이스들 중 적어도 하나에 탑재될 수 있다.
연산회로는 예를 들면, NPU(Neural Processing Unit)로서, 입력 텐서 데이터를 기초로 상술한 데이터 처리 방법을 수행하고, 수행 결과를 기초로 정보 신호를 생성하거나 또는 미래 텐서 데이터 예측을 위해 재훈련할 수 있다. 연산 회로는 몇몇 실시예에 따라 프로그래밍 가능한 로직을 포함할 수도 있고 또는 MAC(Multiply Accumulate circuit)을 더 포함할 수도 있다.
또는 연산 회로는 몇몇 실시예에 따라 CPU(Central Processing Unit), GPU(Graphic Processing Unit), MCU(Micro COntroller Unit) 등 다양한 종류의 프로세싱 유닛 중 어느하나일 수도 있다.
메모리는 입력되는 텐서 스트림 및 연산 회로의 동작에 따른 중간 결과를 저장할 수 있다. 메모리는 동작 메모리로서 몇몇 실시예에 따라 캐시(Cache), ROM(Read Only Memory), PROM(Programmable Read Only Memory), EPROM(Erasable PROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PRAM(Phase-change RAM), 플래시(Flash) 메모리, SRAM(Static RAM), 또는 DRAM(Dynamic RAM) 을 포함할 수 있다. 또는 메모리는 비휘발성 메모리 장치로서, 몇몇 실시예에 따라 플래시(Flash) 메모리, 또는 ReRAM(resistive RAM), PRAM(phase change RAM), MRAM(magnetic RAM)과 같은 저항형 메모리를 포함할 수 있다. 또한, 비휘발성 메모리 장치는 프로세서 및 RAM을 포함하는 집적 회로, 예를 들어, 스토리지 장치 또는 PIM(Processing in Memory)를 포함할 수 있다.
한편, 전자 장치는 적어도 하나의 기능회로들을 포함하여, 상기 연산회로의 정보 신호를 수신하여, 상황판단을 하거나 다른 동작들을 수행할 수도 있다.
상술한 본 발명의 텐서 데이터 처리 방법에 따르면, 이상치를 검출하고 손실치를 복구하는데 실시간 처리가 가능하다. 일 실시예에 따라 본 발명의 텐서 데이터 처리 방법은 반도체 설비, 반도체 설계 또는 소자 특성 측정 등에서 나오는 시계열 특성의 데이터에서 정보손실을 최소화하면서 활용하는 전처리 프로세싱에서 활용할 수 있다. 또한 상기 전처리 프로세싱에서 손실된 데이터 또는 노이즈를 처리할 수도 있다. 또한 본 발명의 텐서 데이터 처리 방법에 따르면, 실시간으로 업데이트되는 데이터를 고속으로 처리할 수 있는 온라인 러닝(Online Learning)에 활용할 수도 있다.
또는 상술한 본 발명의 텐서 데이터 처리 방법에 따르면, 반도체 공정 시설 내의 복수의 센서들로부터 수집되는 다양한 센서 데이터의 연관도를 파악하는데 이용될 수 있고, 실시간으로 센서 데이터의 이상치를 검출하거나 손실값을 복원하여 보다 정확하게 향후 데이터를 예측할 수 있다. 또한 예측된 데이터에 기반하여 즉각적으로 이상치를 탐지할 수 있다고 할 것이다.
또는 상술한 본 발명의 텐서 데이터 처리 방법에 따르면, 네트워크 트래픽 관리에 있어서, 서버 포트별로 들어오는 트래픽의 시계열 데이터를 효율적으로 관리할 수 있다. 예를 들어 트래픽 데이터의 경향성 및 주기성을 파악할 수 있고, 미래 트래픽 데이터 예측을 통해 서버의 수용정도를 판단할 수 있다.
또는 상술한 본 발명의 텐서 데이터 처리 방법에 따르면, 교통 데이터 관리에 있어서, 교통 트래픽의 경향성 및 주기성을 파악하고, 특정 시간대 교통 체계 관리에 활용될 수도 있다 할 것이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
Figure pat00205

Claims (20)

  1. 이상치 및 손실치 중 적어도 하나를 포함하는 입력 텐서로서, 제1 시점 내지 제2 시점 사이의 시간 동안 입력되는 상기 입력 텐서를 수신하는 단계;
    상기 입력 텐서를 낮은 랭크 텐서로 분해하여 시간적 요소 매트릭스를 추출하는 단계;
    상기 추출된 시간적 요소 매트릭스에서 경향성 및 주기적 패턴을 산출하는 단계;
    상기 산출된 경향성 및 주기적 패턴을 벗어나는 상기 이상치를 검출하는 단계;
    상기 검출된 이상치를 제외하고 상기 시간적 요소 매트릭스를 업데이트 하는 단계;
    상기 업데이트된 시간적 요소 매트릭스 및 상기 입력 텐서의 비시간적 요소 매트릭스를 조합하여 실질텐서를 산출하는 단계; 및
    상기 실질텐서의 데이터에서 상기 입력텐서의 상기 이상치의 위치 또는 상기 손실치의 위치에 대응되는 데이터를 추정치로 하여 상기 입력텐서를 복구하는 단계를 포함하는, 텐서 데이터 처리 방법.
  2. 제1항에 있어서, 상기 분해하는 단계는
    기설정된 시계열 요소 분해 모델에 기반하여 적어도 하나의 랭크-1 텐서로 분해하는 단계;
    상기 분해된 랭크-1 텐서는 적어도 하나의 상기 비시간적 요소 매트릭스와 상기 시간적 요소 매트릭스를 포함하는, 텐서 데이터 처리 방법.
  3. 제2항에 있어서, 상기 랭크-1 텐서로 분해하는 단계는
    각각의 요소마다 상기 입력 텐서에서 상기 손실치를 제외한 정적 텐서 분해 모델의 비용함수를 최소화하는 요소 매트릭스를 추출하는 것인, 텐서 데이터 처리 방법.
  4. 제3항에 있어서, 상기 정적 텐서 분해 모델의 비용함수는 수식 1인, 텐서 데이터 처리 방법.
    <수식 1>
    Figure pat00206

    (
    Figure pat00207
    은 요소 매트릭스,
    Figure pat00208
    는 이상치 텐서,
    Figure pat00209
    인디케이터 매트릭스, x는 실질 텐서,
    Figure pat00210
    Figure pat00211
    는 각각 시간적 매끄러움 조정 파라미터와 주기적 매끄러움의 조정 파라미터,
    Figure pat00212
    은 희소성 조절 파라미터,
    Figure pat00213
    는 매끄러움 제약 매트릭스,
    Figure pat00214
    은 요소 매트릭스,
    Figure pat00215
    는 시간적 요소 매트릭스임)
  5. 제3항에 있어서, 상기 정적 텐서 분해 모델은
    상기 정적 텐서 분해 모델을 이용하여 상기 제1 시점 내지 상기 제2 시점사이의 상기 입력 텐서로 각각의 요소 매트릭스와 상기 이상치 서브텐서를 초기화 하고,
    상기 초기화된 정적 텐서 분해 모델을 이용하여, 상기 경향성 및 주기적 패턴을 산출하는 것인, 텐서 데이터 처리 방법.
  6. 제5항에 있어서, 상기 요소 매트릭스를 추출하는 단계는
    ALS(Alternating Least Square) 방식으로 상기 이상치가 제거된 입력 텐서로부터 비시간적 요소 매트릭스를 행별로 업데이트하여 추출하는 것인, 텐서 데이터 처리 방법.
  7. 제1항에 있어서, 상기 경향성 및 주기적 패턴을 산출하는 단계는
    시계열 요소 예측 모델에 기반하여 상기 시간적 요소 매트릭스를 레벨 패턴, 트랜드 패턴 및 계절정 패턴으로 추출하는 것인, 텐서 데이터 처리 방법.
  8. 제7항에 있이서, 상기 시계열 요소 예측 모델은 Holt-Winter 모델로서,
    수식 2를 기초로 상기 레벨 패턴, 트랜드 패턴 및 계절성 패턴을 추출하는 것인, 텐서 데이터 처리 방법.
    <수식 2>
    Figure pat00216

    (t는 시간, m은 주기, lt는 레벨 벡터, bt는 트랜드 벡터, st는 계절성 벡터이고, 계수
    Figure pat00217
    는 각각 0 내지 1사이의 실수로서,
    Figure pat00218
    는 레벨 매끄러움 조정 파라미터,
    Figure pat00219
    는 트랜드 매끄러움 조정 파라미터,
    Figure pat00220
    는 계절성 매끄러움 조정 파라미터임.)
  9. 제1항에 있어서, 상기 이상치를 검출하는 단계는
    2 sigma(시그마) 룰에 따라 상기 입력 텐서에서 기설정된 범위를 벗어난 데이터를 상기 이상치 텐서로 검출하여 상기 입력 텐서에서 제외시키는 것인, 텐서 데이터 처리 방법.
  10. 제8항에 있어서, 상기 업데이트 하는 단계는
    상기 이상치가 제외된 상기 입력 텐서 중 관측 데이터를 상기 추출된 레벨 패턴, 트랜드 패턴 및 계절성 패턴에 적용하여 상기 제2 시점의 상기 시간적 요소 매트릭스를 실질 텐서를 산출하는 것인, 텐서 데이터 처리 방법.
  11. 제1항에 있어서,
    상기 복구된 입력 텐서를 상기 추출된 레벨 패턴, 트랜드 패턴 및 계절성 패턴에 적용하여 제3 시점의 미래 입력 텐서를 추측하는 단계를 더 포함하는, 텐서 데이터 처리 방법.
  12. 제11항에 있어서, 상기 추측된 미래 입력 텐서와 상기 제3 시점의 실제 입력 텐서를 비교하여, 다음 이상치를 검출하는 것인, 텐서 데이터 처리 방법.
  13. 입력 텐서를 수신하는 단계;
    상기 입력 텐서에 적용하여 시계열적 특성의 정적 텐서 분해 모델을 초기화 하는 단계;
    상기 정적 텐서 분해 모델에 기반하여 상기 입력 텐서를 시간적 요소 매트릭스와 비시간적 요소 매트릭스로 분해하는 단계;
    시계열 예측 모델을 기반으로 상기 시간적 요소 매트릭스의 경향성 및 주기적 패턴을 산출하는 단계;
    동적 텐서 분해 모델에 따라 상기 시간적 요소 매트릭스 및 상기 비시간적 요소 매트릭스를 업데이트 하는 단계;
    상기 업데이트된 시간적 요소 매트릭스 및 상기 비시간적 요소 매트릭스를 조합하여 실질 텐서를 산출하는 단계; 및
    상기 실질 텐서에 기초하여 상기 입력 텐서의 이상치 텐서 및 손실치를 검출하고 복구하는 단계를 포함하는, 텐서 데이터 처리 방법.
  14. 제13항에 있어서, 상기 입력 텐서는 상기 이상치, 상기 손실치, 및 상기 실질 텐서를 포함하고,
    상기 정적 텐서 분해 모델을 초기화하는 단계는
    상기 주기적 패턴의 최소 주기의 적어도 3배의 시간 동안 입력된 상기 입력 텐서의 각 요소 매트릭스 및 상기 이상치 텐서를 초기화하는 것인. 텐서 데이터 처리 방법.
  15. 제13항에 있어서, 상기 이상치 텐서는
    상기 입력 텐서에서 상기 실질 텐서를 차감한 데이터 중 희소성 조정 파라미터에 기초한 범위를 벗어난 데이터를 상기 이상치 텐서로 검출하는 것인, 텐서 데이터 처리 방법.
  16. 제13항에 있어서, 상기 업데이트하는 단계 이후에
    상기 산출된 시간적 요소 매트릭스 및 상기 비시간적 요소 매트릭스를 기초로 상기 경향성 및 주기적 패턴을 업데이트하는 단계를 더 포함하는, 텐서 데이터 처리 방법.
  17. 이상치 및 손실치 중 적어도 하나를 포함하는 입력 텐서로서, 제1 시점 내지 제2 시점 사이의 시간 동안 입력되는 상기 입력 텐서를 수신하는 단계;
    상기 입력 텐서를 낮은 랭크 텐서로 분해하여 각각의 요소 매트릭스를 추출하는 단계;
    상기 추출된 제1 요소 매트릭스에서 데이터 패턴을 각각 산출하는 단계;
    상기 제1 요소 매트릭스에서 상기 산출된 데이터 패턴을 벗어나는 상기 이상치를 검출하는 단계;
    상기 검출된 이상치를 제외하고 상기 산출된 데이터 패턴에 기초하여 상기 제1 요소 매트릭스를 업데이트 하는 단계;
    상기 업데이트된 제1 요소 매트릭스 및 상기 입력 텐서의 나머지 제2 요소 매트릭스를 조합하여 실질 텐서를 산출하는 단계; 및
    상기 실질 텐서의 데이터에서 상기 입력텐서의 상기 이상치의 위치 또는 상기 손실치의 위치에 대응되는 데이터를 추정치로 간주하여 상기 입력 텐서를 복구하는 단계를 포함하는, 텐서 데이터 처리 방법.
  18. 제17항에 있어서, 상기 요소 매트릭스를 추출하는 단계는
    기설정된 요소 분해 모델에 기반하여, 각각이 적어도 하나의 상기 제1 요소 매트릭스와 상기 제2 요소 매트릭스를 포함하는 적어도 하나의 랭크-1 텐서로 분해하는 것인, 텐서 데이터 처리 방법.
  19. 제18항에 있어서, 상기 데이터 패턴을 각각 산출하는 단계는
    정적 텐서 분해 모델을 이용하여 기설정된 제1 시점 내지 제2 시점사이의 상기 입력 텐서로 각각의 요소 매트릭스와 상기 이상치 서브텐서를 초기화 하고,
    상기 초기화된 정적 텐서 분해 모델을 이용하여, 상기 데이터 패턴을 산출하는 것인, 텐서 데이터 처리 방법.
  20. 제19항에 있어서, 상기 실질 텐서를 산출하는 단계는
    동적 텐서 분해 모델을 이용하여, 상기 제1 요소 매트릭스와 상기 제2 요소 매트릭스를 조합하여 상기 실질 텐서를 산출하는 것이고,
    상기 복구하는 단계 이후에
    상기 동적 텐서 분해 모델을 이용하여, 상기 제2시점 이후의 제3 시점에서의 미래 입력 텐서를 추측하는 단계를 더 포함하는, 텐서 데이터 처리 방법.
KR1020210051577A 2021-04-21 2021-04-21 텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법 KR20220145007A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210051577A KR20220145007A (ko) 2021-04-21 2021-04-21 텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법
US17/672,060 US20220374498A1 (en) 2021-04-21 2022-02-15 Data processing method of detecting and recovering missing values, outliers and patterns in tensor stream data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210051577A KR20220145007A (ko) 2021-04-21 2021-04-21 텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법

Publications (1)

Publication Number Publication Date
KR20220145007A true KR20220145007A (ko) 2022-10-28

Family

ID=83835271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210051577A KR20220145007A (ko) 2021-04-21 2021-04-21 텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법

Country Status (2)

Country Link
US (1) US20220374498A1 (ko)
KR (1) KR20220145007A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116087435A (zh) * 2023-04-04 2023-05-09 石家庄学院 空气质量监测方法、电子设备及存储介质
KR102612543B1 (ko) * 2023-03-17 2023-12-08 동의대학교 산학협력단 딥러닝 기반 시계열 이상치 탐지 방법 및 그 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
- M. Najafi, L. He, and P. S. Yu, "Outlier-robust multi-aspect streaming tensor completion and factorization," in IJCAI, 2019.
- Z. Zhang and C. Hawkins, "Variational bayesian inference for robust streaming tensor factorization and completion," in ICDM, 2018.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102612543B1 (ko) * 2023-03-17 2023-12-08 동의대학교 산학협력단 딥러닝 기반 시계열 이상치 탐지 방법 및 그 시스템
CN116087435A (zh) * 2023-04-04 2023-05-09 石家庄学院 空气质量监测方法、电子设备及存储介质
CN116087435B (zh) * 2023-04-04 2023-06-16 石家庄学院 空气质量监测方法、电子设备及存储介质

Also Published As

Publication number Publication date
US20220374498A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
CN112380098B (zh) 一种时序异常检测方法、装置、计算机设备及存储介质
US12001949B2 (en) Computer-implemented method, computer program product and system for data analysis
EP3620983B1 (en) Computer-implemented method, computer program product and system for data analysis
US11593611B2 (en) Neural network cooperation
US20190034497A1 (en) Data2Data: Deep Learning for Time Series Representation and Retrieval
JP6972389B2 (ja) システム状態を解析及び修正するための時系列の検索
CN111027686B (zh) 一种滑坡位移的预测方法、装置及设备
KR20140041766A (ko) 예측 및 예지를 위한 순차적 커널 회귀 모델링 방법
AU2019371339B2 (en) Finite rank deep kernel learning for robust time series forecasting and regression
KR20220145007A (ko) 텐서 스트림 데이터에서 손실, 이상치, 패턴을 검출 및 복구하는 데이터 처리 방법
CN111177224B (zh) 一种基于条件式规整化流模型的时间序列无监督异常检测方法
Li et al. An adaptive prognostics method based on a new health index via data fusion and diffusion process
JP7440938B2 (ja) イベント予測システム、イベント予測方法およびプログラム
Zhang et al. LIFE: Learning individual features for multivariate time series prediction with missing values
Jiang et al. A timeseries supervised learning framework for fault prediction in chiller systems
Ma et al. Spatio-temporal tensor sketching via adaptive sampling
CN116483624A (zh) 监测数据恢复模型训练方法、恢复方法、设备及存储介质
Tu et al. M-estimation in low-rank matrix factorization: a general framework
Tinawi Machine learning for time series anomaly detection
Alauddin et al. Statistical approaches and artificial neural networks for process monitoring
Xie et al. Online learning based long-term feature existence state prediction for visual topological localization
Entezami et al. Advanced ML Methods: Bridging SAR Images and Structural Health Monitoring
Li et al. When online learning meets ODE: learning without forgetting on variable feature space
US20230244943A1 (en) Systems and methods for online time series forcasting
Zhang et al. Static and incremental robust kernel factorization embedding graph regularization supporting ill-conditioned industrial data recovery