KR20220135438A - 시간 연속성을 고려한 텐서 분해 방법 및 그 장치 - Google Patents

시간 연속성을 고려한 텐서 분해 방법 및 그 장치 Download PDF

Info

Publication number
KR20220135438A
KR20220135438A KR1020210041106A KR20210041106A KR20220135438A KR 20220135438 A KR20220135438 A KR 20220135438A KR 1020210041106 A KR1020210041106 A KR 1020210041106A KR 20210041106 A KR20210041106 A KR 20210041106A KR 20220135438 A KR20220135438 A KR 20220135438A
Authority
KR
South Korea
Prior art keywords
tensor
temporal
time
input
smoothing
Prior art date
Application number
KR1020210041106A
Other languages
English (en)
Other versions
KR102469374B1 (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 KR1020210041106A priority Critical patent/KR102469374B1/ko
Publication of KR20220135438A publication Critical patent/KR20220135438A/ko
Application granted granted Critical
Publication of KR102469374B1 publication Critical patent/KR102469374B1/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Complex Calculations (AREA)

Abstract

일 실시예에 따른 텐서(tensor)를 분해하는 방법은, 텐서를 입력 받는 단계; 및 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계를 포함한다.

Description

시간 연속성을 고려한 텐서 분해 방법 및 그 장치{METHOD FOR TENSOR DECOMPOSITION WITH TEMPORAL DEPENDENCY AND APPARATUS THEREFOR}
본 명세서에서 개시되는 실시예들은 결측치를 정확하게 예측하기 위해 시간 연속성을 고려한 텐서 분해 방법 및 그 장치에 대한 것이다.
텐서 분해 방법은 텐서 데이터를 분석하는 유용한 기술이다. CP 분해는 대표적인 텐서 분해 방법 중 하나로 Rank-1 텐서들(벡터들의 외적)의 합으로 나타낼 수 있다. 요인 행렬은 CP 분해의 결과물로 각 축에 대한 특성을 담고 있는데, 예를 들어 시간 슬라이스는 텐서를 시간 축을 기준으로 잘라낸 부분 텐서를 의미하며, 시간 요인 행렬의 T번째 행은 T시간대의 시간 조각의 정보를 함축하고 있고, 이런 행들을 요소 벡터라고 한다.
표준적인 CP 분해 방법은 시간 축을 갖는 텐서를 분해할 때 시간의 연속성을 고려하지 않아 시간 텐서의 결측치 예측으로 인한 정확도 저하에 큰 영향을 미칠 수 있다. 더불어, 각 시간 슬라이스마다 시간에 따라 다른 희소성이 있으나, 선행 기술들은 이들을 고려하지 않았다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 결측치를 정확하게 예측하기 위해 시간의 연속성을 고려한 텐서 분해 방법 및 이를 수행하기 위한 컴퓨팅 장치를 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 일 실시예에 따르면, 텐서(tensor)를 분해하는 방법은, 텐서를 입력받는 단계; 및 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 텐서 분해 방법을 수행하기 위한 컴퓨터 프로그램으로서, 텐서(tensor)를 분해하는 방법은, 텐서를 입력받는 단계; 및 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 텐서(tensor) 분해를 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 텐서(tensor)를 분해하는 방법은, 텐서를 입력받는 단계; 및 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 텐서(tensor) 분해를 수행하기 위한 컴퓨팅 장치는, 데이터를 입력 받고, 이를 연산 처리한 결과를 출력하기 위한 입출력부, 텐서 분해 방법을 수행하기 위한 프로그램이 저장되는 저장부 및 적어도 하나의 프로세서를 포함하며, 상기 프로그램을 실행시킴으로써 상기 입출력부를 통해 수신된 입력 텐서를 분해하는 제어부를 포함하며, 상기 제어부는, 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 시간의 양방향성을 고려한 텐서 분해 방법을 제공하여, 시간의 양방향성과 시간희소성을 모두 고려하므로 보다 높은 결측치 예측 성능을 기대할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 결측치를 정확하게 예측하기 위해 시간의 연속성을 고려한 텐서 분해 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 텐서 분해 방법을 수행하기 위한 컴퓨팅 장치의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 텐서 분해 방법을 단계적으로 도시한 도면이다.
도 4는 시간의 양방향성과 시간희소성을 고려한 텐서 분해 방법을 설명하기 위한 예시도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
먼저 본 명세서에서 자주 사용되는 용어들의 의미를 정의한다.
일반적으로 행렬의 원소를 표현할 때에는 가로, 세로 두 개의 인덱스가 필요하며, '텐서(tensor)'란, 원소의 개수를 표현하는데 필요한 인덱스의 개수라는 관점에서 행렬을 일반화한 것이다. 즉 텐서의 원소를 표현하기 위해서는 두개 이상의 인덱스가 필요하게 된다. 예컨대, 3차원 텐서는 3개의 인덱스, 4차원 텐서는 4개의 인덱스가 필요하며, 일반적인 N차원 텐서의 원소는 다음 수학식 1과 같이 표현된다. 수학식 1은 N차원 텐서
Figure pat00001
Figure pat00002
번째 원소를 의미한다.
Figure pat00003
'모드(mode)'란 텐서의 각 차원(dimension)의 축을 의미한다.
'시간 텐서(temporal tensor)'란 시간(time) 인덱스를 나타내는 차원의 축을 포함하는 텐서를 의미한다.
'시간 슬라이스(time slice)'는 각 시간 인덱스에 의해 슬라이스된 서브셋(subset)을 의미한다. 예를 들어, 3차원 시간 텐서에서 시간 슬라이스는 각 시간 인덱스에 의해 분할된 2차원 서브셋을 의미한다.
Figure pat00004
는 시간 모드에서
Figure pat00005
번째 시간 슬라이스로 표현할 수 있다. 본 발명은 3차원 시간 텐서에 제한되지 않고, N차원 시간 텐서에 대해서도 적용 가능하다. N차 시간 텐서의 시간 슬라이스는 각 시간 인덱스로 슬라이스된 텐서의 N-1차원의 서브셋을 의미한다.
'텐서 분해(tensor decomposition)'는 텐서로 표현되는 다차원 데이터를 분석할 때 사용되는 유용한 방법이다. CP 분해(CP decomposition)는 대표적인 텐서 분해 모델 중 하나로, 벡터들의 외적의 합으로 표현하는 것을 의미한다.
각 외적을 개념(concept, rank-1 tensor)이라고 부르는데, 개념은 각 축 (mode)들이 서로 어떻게 연관되어 있는지를 나타낸다. 본 발명에서는 CP 분해에 기반하여 실시예를 설명하며, CP 분해는 잠재 요소 행렬(latent factor matrices)을 찾아 텐서를 분해하는 것이다. 잠재 요소 행렬은 수학식 2 와 같은 손실함수를 최소화하는 과정에서 얻어진다.
Figure pat00006
여기서,
Figure pat00007
는 관측가능한 값들의 인덱스들의 집합을 의미하며,
Figure pat00008
는 잠재 요소 행렬들을 의미하고,
Figure pat00009
는 개별 인덱스를 의미하며,
Figure pat00010
는 텐서 χ의
Figure pat00011
Figure pat00012
번째 엔트리(entry)를 의미하며,
Figure pat00013
는 잠재 요소 행렬
Figure pat00014
Figure pat00015
번째 엔트리를 의미한다.
도 1은 결측치를 정확하게 예측하기 위해 시간의 연속성을 고려한 텐서 분해 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 좌측에 시간 텐서 χ가 주어져있고, 시간 t1과 t2에서의 결측치를 예측하기 위해서 평활 정규화(Smoothing Regulaization)를 이용하는 것을 알 수 있다. 평활 정규화를 이용하는 방법은 다른 도면에서 구체적으로 설명한다.
도 2는 일 실시예에 따른 텐서 분해 방법을 수행하기 위한 컴퓨팅 장치의 구성을 도시한 도면이다.
도 2를 참조하면, 일 실시예에 따른 컴퓨팅 장치(100)는 입출력부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다.
입출력부(110)는 데이터를 입력 받고, 이를 연산 처리한 결과를 출력하기 위한 구성이다. 컴퓨팅 장치(100)는 입출력부(110)를 통해 입력 텐서 및 입력 텐서에 대한 분석 요청 등을 수신할 수 있다.
제어부(120)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 저장부(130)에 저장된 프로그램을 실행함으로써 이하에서 제시되는 알고리즘에 따라 텐서를 분해하기 위한 연산을 수행한다. 제어부(120)가 텐서 분해를 위한 연산을 수행하는 방법에 대해서는 아래에서 자세히 설명한다.
저장부(130)는 파일 및 프로그램이 저장될 수 있는 구성으로서 다양한 종류의 메모리를 통해 구성될 수 있다. 특히, 저장부(130)에는 제어부(120)가 이하에서 제시되는 알고리즘에 따라 텐서 분해를 위한 연산을 수행할 수 있도록 하는 데이터 및 프로그램이 저장될 수 있다.
이하에서는 제어부(120)가 저장부(130)에 저장된 프로그램을 실행시킴으로써 일 실시예에 따른 텐서 분해 방법에 따라 입력 텐서를 분해하는 과정에 대하여 자세히 설명한다.
도 3은 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 텐서 분해 방법을 단계적으로 도시한 도면이다.
도 3을 참조하면, S310단계에서, 텐서를 입력 받고, 그 후 S320단계에서 제어부(120)는 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)를 이용하여 시간 텐서의 요소 행렬들을 반복해서 업데이트한다. 제어부(120)는 입력된 시간 텐서에 대하여 평활 정규화를 수행하여 인접한 시간 슬라이스에 대한 시간 요소 벡터가 유사해지도록 한다. 이때, 시간 연속성이란, 일정 시점에서 측정된 값은, 인접한 시점에서 측정된 값과, 가까운 값을 갖는 것을 의미한다. 즉 제어부(120)는 시간 텐서가 시간 연속성을 가지므로, 인접한 시간 슬라이스끼리는 서로 밀접하게 관련이 있는 것을 이용한다. 예를 들어, 특정 시간 및 위치에서 오염물질의 측정값을 포함하는 대기질 텐서(시간, 위치, 오염물질의 측정값)를 가정해보면, 시간 t에서의 시간 슬라이스
Figure pat00016
는 시간 t-1에서의 시간 슬라이스
Figure pat00017
와 시간 t+1에서의 시간 슬라이스
Figure pat00018
와 밀접한 관계가 있다. 즉, 텐서 인수분해 후 얻어진 인접한 요소 행렬(time factor matrix)에 있어서, 상기 행렬을 이루는 각각의 성분들이 서로 가까운 값을 가진다. 이를 이용하여, 제어부(120)는 수학식 3의 손실함수(Loss function)을 최소화하기 위한 요소 행렬(factor matrix)을 찾는다.
Figure pat00019
여기서, χ는 N차원 시간 텐서이고,
Figure pat00020
는 관측가능한 값들의 인덱스들의 집합을 의미하며, t는 텐서의 시간 모드를 의미하며,
Figure pat00021
은 요소 행렬을 의미하며,
Figure pat00022
Figure pat00023
은 시간 평활화(time smoothing) 및 가중치 감소(weight decay)를 각각 조정하는 정규화 상수이며,
Figure pat00024
는 시간 요소 행렬에서
Figure pat00025
시간의 행에 해당하는 요소 벡터를 의미하며, 요소 벡터
Figure pat00026
는 시간 요소 행렬의 평활화(smoothed)된 행을 의미하며 수학식 4에 의해 정의된다. 두번째 항
Figure pat00027
는 요소 행렬의 인접 행에서 평활화된 벡터에 대한 시간 요소 행렬의
Figure pat00028
번째 행을 정규화하는 것을 의미하며, 가중치
Figure pat00029
는 시간 요소 행렬의
Figure pat00030
번째 행을 평활화하기 위해 시간 요소 행렬의 행에 적용할 가중치를 의미한다.
Figure pat00031
여기서,
Figure pat00032
Figure pat00033
를 중심으로 윈도우 사이즈(window size)
Figure pat00034
를 고려하여 인접한 인덱스인
Figure pat00035
의 전체집합을 의미하며,
Figure pat00036
는 시간 요소 행렬의
Figure pat00037
번째 행을 평활화하기 위한 가중치를 의미하며 수학식 5에 의해 정의된다.
Figure pat00038
여기서,
Figure pat00039
는 가우시안 커널(Gaussian kernel)로 수학식 6에 의해 정의된다.
Figure pat00040
이때,
Figure pat00041
은 평활화의 정도에 영향을 미치며,
Figure pat00042
이 높을수록 평활화가 더 잘 수행된다. 각
Figure pat00043
번째 시간 슬라이스에 대해서, 근처의 시간 요소 벡터
Figure pat00044
와 가중치
Figure pat00045
에 기초하여 시간 요소 벡터
Figure pat00046
를 평활화한다.
한편, 제어부(120)는 가우스 커널(Gaussian kernel)을 이용하여 시간 요소 벡터를 평활화한다. 가우스 커널을 사용하여 추가적으로 학습해야하는 파라미터가 없으므로 시간 요소 벡터들을 학습하는 데 더 집중할 수 있으며, 또한, 가우스 커널을 사용하므로 특정 행에 가까울 행일수록 더 높은 가중치를 사용할 수 있다.
또는 다른 실시예에 따라, 추가적으로 제어부(120)는 입력된 시간 텐서에 대하여 시간 슬라이스의 희소성(the sparsity of time slices)에 기초하여 평활 정규화(Smoothing Regularization)를 수행한다. 이때, 시간 슬라이스의 희소성은 각각의 시간 슬라이스마다 비제로값(nonzero)의 수가 다른 것을 의미하며,
Figure pat00047
번째 시간슬라이스의 시간희소성
Figure pat00048
는 수학식 7에 의해 정의된다.
Figure pat00049
여기서 시간밀도
Figure pat00050
는 수학식 8에 의해 정의된다.
Figure pat00051
여기서,
Figure pat00052
Figure pat00053
번째 시간슬라이스의 비제로값의 수를 의미하며,
Figure pat00054
Figure pat00055
는 각각 시간슬라이스 중에 비제로값의 수의 최대값과 최소값을 의미한다. 즉,
Figure pat00056
는 범위가 [0.001, 0.999]의 범위에서
Figure pat00057
의 최소-최대 정규화된 것으로 볼 수 있다.
최종적으로, 제어부(120)는 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성과 시간 슬라이스의 희소성에 기초한 평활 정규화를 이용하여 시간 텐서의 요소 행렬들을 반복해서 업데이트한다. 즉, 제어부(120)는 수학식 9의 손실함수(Loss function)을 최소화하기 위한 요소 행렬(factor matrix)을 찾는다.
Figure pat00058
이때, 수학식 3과 비교하면, 두번째 항에 시간희소성
Figure pat00059
이 추가된 것을 확인할 수 있다.
이를 통해, 제어부(120)는 시간 슬라이스의 희소성이 높은 경우 평활 정규화를 수행하기 위해 인접한 시간 슬라이스를 적극적으로 활용하지만, 시간 슬라이스의 희소성이 낮은 경우 평활 정규화를 수행하기 위해 인접한 시간 슬라이스를 상대적으로 덜 사용하게 된다.
관련하여, 도 4는 시간의 양방향성과 시간희소성을 고려한 텐서 분해 방법을 설명하기 위한 예시도이다.
도 4를 참조하면, 제어부(140)가 평활 정규화를 통해 t1 및 t2에서 누락된 시간 슬라이스의 엔트리(entry)를 정확하게 예측함을 알 수 있다. 또한, 제어부(140)가 시간 슬라이스의 희소성에 따라 평활 정규화의 정도를 조절함을 알 수 있다. 희소성이 높은 시간 슬라이스인 t1의 경우, 제어부(140)가 정규화의 정도를 높여 주변 시간 슬라이스를 적극적으로 고려하여 결측치를 예측함을 알 수 있다. 반면, 희소성이 낮은, 즉 조밀한(dense) 시간 슬라이스인 t2의 경우, 제어부(140)가 정규화의 정도를 낮추어 주변 슬라이스를 상대적으로 덜 고려하여 결측치를 예측함을 알 수 있다.
한편, 제어부(120)는 손실함수를 최소화하기 위해 교대 최적화 방법(alternating optimization method)을 사용한다. 이때, 교대 최적화 방법은 모든 요소 행렬을 고정(fixing)하면서, 한번에 하나의 요소 행렬을 업데이트하는 방법이다. 제어부(120)는 행별 업데이트 규칙을 사용하여 비시간 요소 행렬을 업데이트하면서 Adam 최적화 도구를 사용하여 시간 요소 행렬을 업데이트 한다. .
비시간 요소 행렬을 업데이트 관련하여, 제어부는 ALS의 행별 업데이트 규칙을 사용할 수 있다. 행별 업데이트 규칙은 최적의 폐쇄형 솔루션을 제공하므로 요소 벡터의 병렬 업데이트를 가능하게 한다.
시간 요소 행렬 업데이트 관련하여, 제어부는 모든 요소 행렬을 고정하면서 시간 행렬을 업데이트 하는데, 이때 그레디언트(gradient) 기반 방법을 사용한다.
제어부(120)가 입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성과 시간 슬라이스의 희소성에 기초하여 평활 정규화를 수행하는 텐서 분해 방법은 다음 표 1의 알고리즘 1과 같이 표현될 수 있다.
Figure pat00060
또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 3내지 4를 통해 설명된 실시예들에 따른 텐서 분해 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 3 내지 도4를 통해 설명된 실시예들에 따른 텐서 분해 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 3 내지 도4를 통해 설명된 실시예들에 따른 텐서 분해 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
100: 컴퓨팅 장치 110: 입출력부
120: 제어부 130: 저장부

Claims (8)

  1. 텐서(tensor)를 분해하는 방법에 있어서,
    텐서를 입력 받는 단계; 및
    입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계는,
    입력된 시간 텐서에 대하여 상기 시간 텐서의 시간 연속성과 시간 슬라이스의 희소성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계인, 방법.
  3. 제2항에 있어서,
    상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는 단계는,
    가우스 커널(Gaussian kernel)을 이용하여 상기 요소 행렬들의 시간 요소 벡터를 평활화하는 단계를 포함하는, 방법.
  4. 텐서(tensor) 분해를 수행하기 위한 컴퓨팅 장치에 있어서,
    데이터를 입력 받고, 이를 연산 처리한 결과를 출력하기 위한 입출력부;
    텐서 분해 방법을 수행하기 위한 프로그램이 저장되는 저장부; 및
    적어도 하나의 프로세서를 포함하며, 상기 프로그램을 실행시킴으로써 상기 입출력부를 통해 수신된 입력 텐서를 분해하는 제어부를 포함하며,
    상기 제어부는,
    입력된 시간 텐서에 대하여 시간 텐서의 시간 연속성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는, 장치.
  5. 제4항에 있어서,
    상기 제어부는,
    입력된 시간 텐서에 대하여 상기 시간 텐서의 시간 연속성과 시간 슬라이스의 희소성에 기초한 평활 정규화(Smoothing Regularization)을 이용하여 상기 시간 텐서의 요소 행렬들을 반복해서 업데이트하는, 장치.
  6. 제5항에 있어서,
    상기 제어부는,
    가우스 커널(Gaussian kernel)을 이용하여 상기 요소 행렬들의 시간 요소 벡터를 평활화하는, 장치.
  7. 컴퓨터에 제1항에 기재된 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  8. 컴퓨팅 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
KR1020210041106A 2021-03-30 2021-03-30 시간 연속성을 고려한 텐서 분해 방법 및 그 장치 KR102469374B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210041106A KR102469374B1 (ko) 2021-03-30 2021-03-30 시간 연속성을 고려한 텐서 분해 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210041106A KR102469374B1 (ko) 2021-03-30 2021-03-30 시간 연속성을 고려한 텐서 분해 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20220135438A true KR20220135438A (ko) 2022-10-07
KR102469374B1 KR102469374B1 (ko) 2022-11-21

Family

ID=83595803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210041106A KR102469374B1 (ko) 2021-03-30 2021-03-30 시간 연속성을 고려한 텐서 분해 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102469374B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534287A (ja) * 2000-09-27 2004-11-11 デビッド エヌ レヴィン 感知状態の組織的変化時における不変の刺激表現創出のための自己指示の方法及び装置
JP2013037471A (ja) * 2011-08-05 2013-02-21 Nec Corp 確率モデル更新システム、確率モデル更新装置、確率モデル更新方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534287A (ja) * 2000-09-27 2004-11-11 デビッド エヌ レヴィン 感知状態の組織的変化時における不変の刺激表現創出のための自己指示の方法及び装置
JP2013037471A (ja) * 2011-08-05 2013-02-21 Nec Corp 確率モデル更新システム、確率モデル更新装置、確率モデル更新方法およびプログラム

Also Published As

Publication number Publication date
KR102469374B1 (ko) 2022-11-21

Similar Documents

Publication Publication Date Title
US11836610B2 (en) Concurrent training of functional subnetworks of a neural network
US9418048B2 (en) Apparatus and method for allocating shared storage areas to parallel processors for multiplication of sparse matrix and vector
US8554771B2 (en) Technique for fast and efficient hierarchical clustering
US20170344881A1 (en) Information processing apparatus using multi-layer neural network and method therefor
WO2017190004A1 (en) Differentially private iteratively reweighted least squares
US10394850B2 (en) Indexing of large scale patient set
EP3451190B1 (en) Model-based analysis in a relational database
BR112021009042A2 (pt) geração automatizada de modelos de aprendizagem por máquina
WO2020101948A1 (en) Dynamic precision scaling at epoch granularity in neural networks
US20180357540A1 (en) Electronic apparatus and method for optimizing trained model
JP5976115B2 (ja) 画像検索方法
US11775610B2 (en) Flexible imputation of missing data
KR102199285B1 (ko) 딥러닝 신경망의 압축 방법 및 이를 수행하기 위한 장치
US9846753B2 (en) Monte Carlo simulation for analyzing yield of an electric circuit
Horn et al. A comparative study on large scale kernelized support vector machines
US11410065B2 (en) Storage medium, model output method, and model output device
Langone et al. Fast kernel spectral clustering
US11295229B1 (en) Scalable generation of multidimensional features for machine learning
Li et al. scHiCTools: A computational toolbox for analyzing single-cell Hi-C data
KR102469374B1 (ko) 시간 연속성을 고려한 텐서 분해 방법 및 그 장치
KR102447870B1 (ko) 텐서 분해 방법 및 이를 수행하기 위한 장치
KR102086043B1 (ko) 희박 데이터를 위한 데이터 분석 방법 및 이를 수행하기 위한 장치
KR20220101504A (ko) 그래프 컨볼루션 네트워크 학습 방법 및 장치
KR102595098B1 (ko) 텐서 분석 장치 및 방법
KR20240109538A (ko) 텐서 분해방법 및 텐서 분해장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant