KR102582728B1 - 시계열 분류 모델의 경량화 방법, 및 경량화 장치 - Google Patents

시계열 분류 모델의 경량화 방법, 및 경량화 장치 Download PDF

Info

Publication number
KR102582728B1
KR102582728B1 KR1020220074587A KR20220074587A KR102582728B1 KR 102582728 B1 KR102582728 B1 KR 102582728B1 KR 1020220074587 A KR1020220074587 A KR 1020220074587A KR 20220074587 A KR20220074587 A KR 20220074587A KR 102582728 B1 KR102582728 B1 KR 102582728B1
Authority
KR
South Korea
Prior art keywords
model
time series
series classification
generation
classification model
Prior art date
Application number
KR1020220074587A
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 KR1020220074587A priority Critical patent/KR102582728B1/ko
Application granted granted Critical
Publication of KR102582728B1 publication Critical patent/KR102582728B1/ko

Links

Classifications

    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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/08Learning methods

Abstract

본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법은, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계; 상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계; 및 상기 시계열 분류 모델의 크기를 경량화하는 단계;를 포함한다.

Description

시계열 분류 모델의 경량화 방법, 및 경량화 장치{A METHOD FOR WEIGHT LIGHTENING OF A TIME SERIES CLASSIFICATION MODEL, AND A DEVICE FOR WEIGHT LIGHTENING OF A TIME SERIES CLASSIFICATION MODEL}
본 출원은 시계열 분류 모델의 경량화 방법, 및 경량화 장치에 관한 것이다. 구체적으로 본 출원은, 메모리 공간이 상대적으로 작은 컴퓨팅 환경, 예컨대 MCU(Microcontroller Unit) 환경에서 작동할 수 있는 소형화된 시계열 분류 모델을 획득하기 위한 시계열 분류 모델의 경량화 방법, 및 경량화 장치에 관한 것이다.
인공지능 기술이 발전하면서 다양한 산업 분야에서 인공지능 기술들이 활용되고 있다. 특히 최근에는 시계열 분류(Time Series Classification)를 위한 다양한 딥러닝 모델들이 활발하게 개발되고 있으며, 딥러닝 계열의 시계열 분류 모델들은 딥러닝을 사용하지 않은 시계열 분류 모델들보다 높은 성능을 내고 있다.
종래의 딥러닝 계열의 시계열 분류 모델은 컨볼루션 신경망 (Convolutional Neural Networks, 이하 CNN) 기반의 모델이거나 순환 신경망(Recurrent Neural Network, 이하 RNN) 기반의 모델이었다. CNN 기반 시계열 분류 모델들은 시계열 데이터 전체를 입력으로 받는다는 점에 연산량이 많아져 메모리 공간에 제약이 존재하는 MCU 환경에서는 정상적으로 구동되기 어렵다는 문제가 존재하였다. 반면, RNN 기반 모델은 시간 별로 시계열 데이터를 입력 받는 특성을 가지기에 CNN 기반 모델보다는 연산량이 상대적으로 적으나 CNN 기반 모델보다는 상대적으로 성능이 떨어지는 문제가 존재하였다.
또한 딥러닝 모델들은 높은 성능을 위하여, 딥러닝 모델에 포함된 초 매개변수의 조정을 필요로 한다. 초 매개변수의 조정은 딥러닝 모델을 생성하는 오퍼레이터가 시행착오를 거치면서 수작업으로 조정하기에, 딥러닝 모델 생성의 진입장벽을 높이며 범용적인 모델의 생성을 어렵게 한다는 제약이 존재하였다.
이에 MCU 환경에서도 정상적으로 작동하면서 상대적으로 높은 성능을 나타내는 시계열 분류 모델을 획득하기 위한 시계열 분류 모델의 경량화 방법, 장치에 대한 새로운 연구가 요구되는 실정이다.
본 발명이 해결하고자 하는 일 과제는, MCU 환경에서도 동작하는 소형화된 시계열 분류 모델을 획득하기 위한 시계열 분류 모델의 경량화 방법 및, 경량화 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 일 과제는, 시계열 분류 모델의 하이퍼 파라미터를 자동적으로 생성하는 시계열 분류 모델의 경량화 방법 및, 경량화 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법은, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계; 상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터(hyperparameter) 세트를 결정하는 단계-상기 대상 하이퍼 파라미터는 변형할 데이터의 개수, 시계열 분류 모델의 레이어의 커널 크기 및 커널 개수와 관련된 변수, 및 시계열 분류 모델의 크기와 관련된 변수 중 적어도 하나와 관련됨-; 및 상기 시계열 분류 모델의 크기를 경량화하는 단계;를 포함하되, 상기 대상 하이퍼 파라미터 세트를 결정하는 단계는, 제1 하이퍼 파라미터 세트를 생성하고, 상기 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하는 단계; 상기 학습 데이터 셋을 이용하여 상기 제1 세대 모델을 훈련시키고, 상기 제1 세대 모델의 적합도를 판단하는 단계; 적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 상기 제2 하이터 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하는 단계; 상기 학습 데이터 셋을 이용하여 상기 제2 세대 모델을 훈련시키고, 상기 제2 세대 모델의 적합도를 연산하는 단계; 및 상기 제2 세대 모델의 적합도에 기초하여 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 장치는, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 송수신부; 및 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하고 상기 시계열 분류 모델의 크기를 경량화도록 구성된 프로세서;를 포함하되, 상기 프로세서는, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하고, 상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트-상기 대상 하이퍼 파라미터 세트는 변형할 데이터의 개수, 시계열 분류 모델의 레이어의 커널 크기 및 커널 개수와 관련된 변수, 및 시계열 분류 모델의 크기와 관련된 변수 중 적어도 하나와 관련됨-를 결정하고, 상기 시계열 분류 모델의 크기를 경량화하도록 구성되되, 상기 프로세서는, 제1 하이퍼 파라미터 세트를 생성하고, 상기 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하고, 상기 학습 데이터 셋을 이용하여 상기 제1 세대 모델을 훈련시키고, 상기 제1 세대 모델의 적합도를 판단하고, 적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 상기 제2 하이터 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하고, 상기 학습 데이터 셋을 이용하여 상기 제2 세대 모델을 훈련시키고, 상기 제2 세대 모델의 적합도를 연산하고, 및 상기 제2 세대 모델의 적합도에 기초하여 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하도록 구성될 수 있다.
본 발명의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 실시예에 따른 시계열 분류 모델의 경량화 방법, 및 시계열 분류 모델의 경량화 장치에 의하면, 시계열 분류 모델의 연산 데이터와 변수 데이터의 데이터 변위를 변환함으로써, MCU 환경에서도 작동될 수 있도록 시계열 분류 모델을 경량화할 수 있다.
본 출원의 실시예에 따른 시계열 분류 모델의 경량화 방법, 및 시계열 분류 모델의 경량화 장치에 의하면, 유전 알고리즘 기법을 활용하여 복수의 하이퍼 파라미터 세트를 자동적으로 생성하고, 정확도에 기반하여 시계열 분류 모델의 적합도를 연산하여 최적의 대상 하이퍼 파라미터 세트를 결정함으로써, 가벼우면서도 정확도가 높은 시계열 분류 모델을 획득할 수 있다.
본 출원의 실시예에 따른 시계열 분류 모델의 경량화 방법, 및 시계열 분류 모델의 경량화 장치에 의하면, 시계열 분류 모델의 학습을 위하여 오퍼레이터의 지식 수준에 의존하여 수동으로 입력해야 했던 대상 하이퍼 파라미터들을 유전 알고리즘 기법을 활용하여 자동으로 생성함으로써, 시계열 분류 모델의 학습에 대한 지식 장벽을 낮출 수 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 장치의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 장치의 동작들을 도시한 도면이다.'
도 3은 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법을 나타낸 순서도이다.
도 4는 본 출원의 일 실시예에 따른 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000)를 구체화한 순서도이다.
도 5는 본 출원의 일 실시예에 따른 시계열 분류 모델의 학습 방법의 일 양상을 나타낸 도면이다.
도 6은 본 출원의 일 실시예에 따른 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 일 양상을 나타낸 도면이다.
도 7은 본 출원의 일 실시예에 따른 시계열 분류 모델의 크기를 경량화하는 단계(S3000)를 구체화한 순서도이다.
본 출원의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 출원은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명하며, 이에 대한 중복되는 설명은 생략하기로 한다.
본 출원과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 출원의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 이하의 실시예에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타낸 것으로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 프로세스의 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 프로세스가 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
이하의 실시예에서, 구성 요소 등이 연결되었다고 할 때, 구성 요소들이 직접적으로 연결된 경우뿐만 아니라 구성요소들 중간에 구성 요소들이 개재되어 간접적으로 연결된 경우도 포함한다.
예컨대, 본 명세서에서 구성 요소 등이 전기적으로 연결되었다고 할 때, 구성 요소 등이 직접 전기적으로 연결된 경우뿐만 아니라, 그 중간에 구성 요소 등이 개재되어 간접적으로 전기적 연결된 경우도 포함한다.
본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법은, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계; 상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터(hyperparameter) 세트를 결정하는 단계-상기 대상 하이퍼 파라미터는 변형할 데이터의 개수, 시계열 분류 모델의 레이어의 커널 크기 및 커널 개수와 관련된 변수, 및 시계열 분류 모델의 크기와 관련된 변수 중 적어도 하나와 관련됨-; 및 상기 시계열 분류 모델의 크기를 경량화하는 단계;를 포함하되, 상기 대상 하이퍼 파라미터 세트를 결정하는 단계는, 제1 하이퍼 파라미터 세트를 생성하고, 상기 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하는 단계; 상기 학습 데이터 셋을 이용하여 상기 제1 세대 모델을 훈련시키고, 상기 제1 세대 모델의 적합도를 판단하는 단계; 적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 상기 제2 하이터 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하는 단계; 상기 학습 데이터 셋을 이용하여 상기 제2 세대 모델을 훈련시키고, 상기 제2 세대 모델의 적합도를 연산하는 단계; 및 상기 제2 세대 모델의 적합도에 기초하여 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 제2 세대 모델 집단을 획득하는 단계는, 적합하다고 판단된 상기 제1 세대 모델 집단에 포함된 제1 모델의 제1 후보 파라미터 세트 및 적합하다고 판단된 상기 제1 세대 모델 집단에 포함된 제2 모델의 제2 후보 파라미터 세트를 획득하는 단계; 상기 제1 후보 파라미터 세트 및 상기 제2 후보 파라미터 세트를 교차하거나, 상기 제1 후보 파라미터 세트 및 상기 제2 후보 파라미터 세트 중 적어도 하나를 변이시켜 상기 제2 하이퍼 파라미터 세트를 생성하는 단계; 및 상기 생성된 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 생성하는 단계;를 더 포함하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계는, 상기 제2 세대 모델이 미리 결정된 적합도 조건을 만족하는 경우, 상기 제2 세대 모델의 제2 하이퍼 파라미터 세트를 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 결정하는 단계; 및 상기 제2 세대 모델이 미리 결정된 적합도 조건을 만족하지 않는 경우, 상기 제1 세대 모델 집단에 포함된 상기 제1 모델의 제1 후보 파라미터 세트, 상기 제1 세대 모델 집단에 포함된 상기 제2 모델의 제2 후보 파라미터 세트, 및 상기 제2 세대 모델 집단 중에서 적합도가 미리 정해진 순위 이내인 상기 제2 세대 모델과 관련된 상기 제2 하이퍼 파라미터 세트 중 적어도 하나에 기초하여 제3 하이퍼 파라미터 세트를 생성하고, 상기 제3 하이퍼 파라미터 세트에 기초하여 상기 대상 하이퍼 파라미터 세트를 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 제3 하이퍼 파라미터 세트에 기초하여 상기 대상 하이퍼 파라미터 세트를 결정하는 단계는, 상기 제3 하이퍼 파라미터 세트를 가지는 복수의 제3 세대 모델을 포함하는 제3 세대 모델 집단을 획득하는 단계; 상기 학습 데이터 셋을 이용하여 상기 제3 세대 모델을 훈련시키고, 상기 제3 세대 모델의 적합도를 판단하는 단계; 및 상기 적합도 판단 결과에 기초하여 미리 결정된 적합도 이상인 제3 세대 모델과 관련된 제3 하이퍼 파라미터 세트를 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 획득하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 제1 세대 모델 또는 상기 제2 세대 모델은, 상기 학습 데이터 셋에 포함된 시계열 데이터 및 상기 시계열 데이터에 할당된 레이블 정보에 기초하여 학습되되, 상기 시계열 데이터로부터 연산된 예측 값과 상기 레이블 정보를 비교하여 상기 예측 값과 상기 레이블 정보의 차이가 최소화되도록 상기 제1 세대 모델 또는 상기 제2 세대 모델의 파라미터를 갱신함으로써 학습되도록 구성될 수 있다.
본 출원의 일 실시예에 따르면, 상기 제1 세대 모델의 적합도는, 상기 제1 세대 모델의 정확도 및 상기 제1 세대 모델의 크기에 기초하여 연산되며, 상기 제2 세대 모델의 적합도는, 상기 제2 세대 모델의 정확도 및 상기 제2 세대 모델의 크기에 기초하여 연산되도록 구성될 수 있다.
본 출원의 일 실시예에 따르면, 상기 시계열 분류 모델의 크기를 경량화하는 단계는, 상기 시계열 분류 모델의 실행 데이터에 기초하여 상기 시계열 분류 모델을 구성하는 연산 데이터 및 변수 데이터 중 적어도 하나를 획득하는 단계; 및 상기 연산 데이터 및 변수 데이터 중 적어도 하나의 제1 데이터 단위를 제2 데이터 단위로 변경하는 단계-상기 제2 데이터 단위는 상기 제1 데이터 단위보다 작은 값을 포함함-;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 시계열 분류 모델의 크기를 경량화하는 단계는, 상기 시계열 분류 모델의 실행 데이터에 기초하여 상기 시계열 분류 모델의 시계열 데이터로부터 피처를 추출하는 제1 레이어의 가중치 정보를 획득하는 단계; 및 상기 제1 레이어의 일부를 구성하는 가중치 정보를 1 비트의 데이터 단위로 변환하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 시계열 분류 모델의 경량화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.
본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 장치는, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 송수신부; 및 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하고 상기 시계열 분류 모델의 크기를 경량화도록 구성된 프로세서;를 포함하되, 상기 프로세서는, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하고, 상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트-상기 대상 하이퍼 파라미터 세트는 변형할 데이터의 개수, 시계열 분류 모델의 레이어의 커널 크기 및 커널 개수와 관련된 변수, 및 시계열 분류 모델의 크기와 관련된 변수 중 적어도 하나와 관련됨-를 결정하고, 상기 시계열 분류 모델의 크기를 경량화하도록 구성되되, 상기 프로세서는, 제1 하이퍼 파라미터 세트를 생성하고, 상기 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하고, 상기 학습 데이터 셋을 이용하여 상기 제1 세대 모델을 훈련시키고, 상기 제1 세대 모델의 적합도를 판단하고, 적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 상기 제2 하이터 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하고, 상기 학습 데이터 셋을 이용하여 상기 제2 세대 모델을 훈련시키고, 상기 제2 세대 모델의 적합도를 연산하고, 및 상기 제2 세대 모델의 적합도에 기초하여 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하도록 구성될 수 있다.
이하에서는 도 1 내지 도 7을 참고하여 본 출원의 시계열 분류 모델의 경량화 방법, 및 경량화 장치에 관하여 설명한다.
도 1은 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 장치의 개략도이다.
본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 장치(1000, 이하 모델 경량화 장치(1000)로 지칭)는 시계열 분류 모델의 하이퍼 파라미터를 자동적으로 생성할 수 있다. 이때, 모델 경량화 장치(1000)는 시계열 분류 모델의 정확도와 시계열 분류 모델의 크기를 고려하여, 시계열 분류 모델의 하이퍼 파라미터를 자동적으로 생성함으로써, 시계열 분류 모델의 크기를 소형화시키면서도 시계열 분류 모델의 성능을 최대화할 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 송수신부(1100), 메모리(1200), 및 프로세서(1300)를 포함할 수 있다.
모델 경량화 장치(1000)의 송수신부(1100)는 임의의 외부 기기와 통신을 수행할 수 있다. 예컨대, 모델 경량화 장치(1000)는, 송수신부(1100)를 통해, 외부 기기(혹은 외부 서버)로부터 사전 학습된 시계열 분류 모델을 실행시키기 위한 실행 데이터를 획득할 수 있다. 또한, 모델 경량화 장치(1000)는, 송수신부(1100)를 통해, 시계열 데이터를 포함한 학습 데이터 셋을 획득할 수 있다. 또한 모델 경량화 장치(1000)는, 송수신부(1100)를 통해, 경량화된 시계열 분류 모델 및/또는 경량화된 시계열 분류 모델을 실행시키기 위한 대상 하이퍼 파라미터 세트를 포함한 실행 데이터를 임의의 외부 장치(혹은 외부 서버)로 송신할 수 있다.
모델 경량화 장치(1000)는, 송수신부(1100)를 통해, 네트워크에 접속하여 각종 데이터를 송수신할 수 있다. 송수신부는 크게 유선 타입과 무선 타입을 포함할 수 있다. 유선 타입과 무선 타입은 각각의 장단점을 가지므로, 경우에 따라서 모델 경량화 장치(1000)에는 유선 타입과 무선 타입이 동시에 마련될 수도 있다. 여기서, 무선 타입의 경우에는 주로 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식을 이용할 수 있다. 또는, 무선 타입의 경우에는 셀룰러 통신, 예컨대, LTE, 5G 계열의 통신 방식을 이용할 수 있다. 다만, 무선 통신 프로토콜이 상술한 예시에 제한되는 것은 아니며, 임의의 적절한 무선 타입의 통신 방식을 이용하는 것도 가능하다. 유선 타입의 경우에는 LAN(Local Area Network)이나 USB(Universal Serial Bus) 통신이 대표적인 예이며 그 외의 다른 방식도 가능하다.
모델 경량화 장치(1000)의 메모리(1200)는 각종 정보를 저장할 수 있다. 메모리(1200)에는 각종 데이터가 임시적으로 또는 반영구적으로 저장될 수 있다. 메모리(1200)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 메모리(1200)는 모델 경량화 장치(1000)에 내장되는 형태나 탈부착 가능한 형태로 제공될 수 있다. 메모리(1200)에는 모델 경량화 장치(1000)를 구동하기 위한 운용 프로그램(OS: Operating System)이나 모델 경량화 장치(1000)의 각 구성을 동작시키기 위한 프로그램을 비롯해 모델 경량화 장치(1000)의 동작에 필요한 각종 데이터가 저장될 수 있다.
프로세서(1300)는 모델 경량화 장치(1000)의 전반적인 동작을 제어할 수 있다. 예컨대, 프로세서(1300)는 후술할 학습이 완료된 시계열 분류 모델 및 학습 데이터 셋을 획득하는 동작, 시계열 분류 모델의 하이퍼 파라미터 세트를 결정하는 동작, 및/또는 시계열 분류 모델의 크기를 경량화하는 동작 등 모델 경량화 장치(1000)의 전반적인 동작을 제어할 수 있다. 구체적으로 프로세서(1300)는 메모리(1200)로부터 모델 경량화 장치(1000)의 전반적인 동작을 위한 프로그램을 로딩하여 실행할 수 있다. 프로세서(1300)는 하드웨어나 소프트웨어 또는 이들의 조합에 따라 AP(Application Processor), CPU(Central Processing Unit), MCU(Microcontroller Unit)나 이와 유사한 장치로 구현될 수 있다. 이때, 하드웨어적으로는 전기적 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적 회로를 구동시키는 프로그램이나 코드 형태로 제공될 수 있다.
이하에서는 도 2를 참고하여, 본 출원의 일 실시예에 따른 모델 경량화 장치(1000)의 동작들을 구체적으로 서술한다. 도 2는 본 출원의 일 실시예에 따른 시계열 분류 모델 경량화 장치(1000)의 동작들을 도시한 도면이다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 사전 학습이 완료된 시계열 분류 모델을 경량화하는 동작을 수행할 수 있다. 또한, 본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 모델의 정확도와 모델의 크기를 고려하여 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하거나 생성하는 동작을 수행할 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 학습이 완료된 시계열 분류 모델 및/또는 시계열 분류 모델을 실행시키기 위한 실행 데이터를 획득할 수 있다. 예컨대, 시계열 분류 모델은 미니로켓(MiniRocket) 모델, Multivariate LSTM-FCN(MLSTM-FCN), 및/또는 XCM을 포함하여 시계열 데이터를 미리 정해진 카테고리로 분류하기 위한 딥 러닝 계열의 임의의 모델을 포괄하는 의미일 수 있다. 또한, 시계열 분류 모델의 실행 데이터는 시계열 분류 모델의 계층 데이터, 연산 데이터, 시계열 분류 모델의 레이어에 포함된 가중치(weight), 및/또는 시계열 분류 모델과 관련된 임의의 파라미터를 포함하여, 시계열 분류 모델을 적절하게 실행시키기 위한 임의의 데이터를 포괄하는 의미일 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 시계열 데이터를 포함하는 학습 데이터 셋(data set)을 획득할 수 있다. 구체적으로 학습 데이터 셋은 복수의 프레임을 포함하는 시계열 데이터 및/또는 시계열 데이터에 대하여 할당된 레이블 정보로 구성된 학습 데이터 셋을 획득할 수 있다. 일 예로, 레이블 정보는 시계열 데이터가 미리 정해진 카테고리에 해당함을 나타내는 레이블을 포함할 수 있다. 예컨대, 레이블 정보는 시계열 데이터가 제1 카테고리에 해당함을 나타내는 제1 레이블, 및/또는 시계열 데이터가 제1 카테고리와 상이한 제2 카테고리에 해당함을 나타내는 제2 레이블을 포함할 수 있다.
본 출원의 일 실시예에 따르면, 모델 경량화 장치(1000)는 학습 데이터 셋을 이용하여 후술할 각 세대별 모델 집단에 포함된 모델을 훈련시킬 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 학습 데이터 셋에 포함된 시계열 데이터에 대한 전처리(pre-processing)를 수행하도록 구현될 수 있다. 예컨대, 모델 경량화 장치(1000)는 시계열 데이터를 분할하여 복수의 윈도우를 획득하도록 구현될 수 있다. 구체적으로 모델 경량화 장치(1000)는 미리 결정된 사이즈에 기초하여 시계열 데이터를 나누어 복수의 윈도우를 획득할 수 있다. 이때, 모델 경량화 장치(1000)는 나누어진 복수의 윈도우 형태로 각 모델에 입력하여 훈련시킴으로써, 훈련에 필요한 메모리 공간을 줄일 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 시계열 분류 모델의 크기와 정확도를 고려하여, 하이퍼 파라미터를 결정하는 동작을 수행할 수 있다. 일 예로, 모델 경량화 장치(1000)는 유전 알고리즘 기법을 활용하여, 시계열 분류 모델의 크기를 감소시키면서도, 시계열 분류 모델의 정확도를 최대화할 수 있는 하이퍼 파라미터를 생성하거나 결정하는 동작을 수행할 수 있다.
일 실시예에 따르면, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트를 생성하고, 제1 하이퍼 파라미터 세트를 가지는 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득할 수 있다. 일 예로, 모델 경량화 장치(1000)는 복수의 제1 하이퍼 파라미터 세트들을 생성하고, 제1 하이퍼 파라미터 세트들에 포함된 제1 후보 파라미터 세트를 가지는 제1 모델, 및 제1 하이퍼 파라미터 세트들에 포함된 제2 후보 파라미터 세트를 가지는 제2 모델을 포함하는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득할 수 있다.
또한, 모델 경량화 장치(1000)는 학습 데이터 셋을 이용하여 제1 세대 모델 집단에 포함된 모델을 훈련시키고, 훈련이 완료된 제1 세대 집단에 포함된 모델의 적합도를 평가할 수 있다. 일 예로, 모델 경량화 장치(1000)는 학습 데이터 셋을 이용하여 제1 세대 모델 집단에 포함된 제1 후보 파라미터 세트를 가지는 제1 모델을 훈련시키고, 훈련이 완료된 제1 모델의 적합도를 연산할 수 있다. 또한 모델 경량화 장치(1000)는 학습 데이터 셋을 이용하여 제1 세대 모델 집단에 포함된 제2 후보 파라미터 세트를 가지는 제2 모델을 훈련시키고, 훈련이 완료된 제2 모델의 적합도를 연산할 수 있다. 이때, 모델 경량화 장치(1000)는 각 모델의 시계열 데이터의 분류에 대한 정확도 및 각 모델의 크기에 기초하여 각 모델의 적합도를 연산할 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 연산된 모델의 적합도에 기초하여 대상 하이퍼 파라미터 세트를 결정하는 동작을 수행할 수 있다.
일 예로, 모델 경량화 장치(1000)는 유전 알고리즘 기법을 활용하여 대상 하이퍼 파라미터 세트를 결정하도록 구현될 수 있다. 예컨대, 모델 경량화 장치(1000)는 전술한 모델의 적합도에 기초하여 다음 세대 모델 집단을 생성하도록 구현될 수 있다. 구체적으로 모델 경량화 장치(1000)는 모델의 적합도에 기초하여 적합도가 뛰어난 모델(예컨대, 적합도가 미리 정해진 적합도 이상이거나, 적합도가 이전 세대 모델 집단에서 미리 정해진 순위 이내인 모델 등)에 대응되는 제1 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성할 수 있다. 예컨대, 모델 경량화 장치(1000)는 적합도가 뛰어난 모델과 관련된 후보 파라미터 세트를 획득하고, 후보 파라미터 세트들을 변이하거나 교차시켜 제2 하이퍼 파라미터 세트를 생성할 수 있다. 또한, 모델 경량화 장치(1000)는 제2 하이퍼 파라미터 세트를 가지는 제2 세대 모델들을 포함하는 제2 세대 모델 집단을 획득할 수 있다.
나아가, 모델 경량화 장치(1000)는 학습 데이터 셋을 이용하여 제2 세대 모델 집단에 포함된 제2 세대 모델을 훈련시키고, 훈련이 완료된 제2 세대 모델의 적합도를 판단하여, 제1 세대 모델 집단 및/또는 제2 세대 모델 집단에 포함된 적합도가 뛰어난 모델(예컨대, 적합도가 미리 정해진 적합도 이상이거나, 적합도가 이전 세대 모델 집단에서 미리 정해진 순위 이내인 모델 등)의 하이퍼 파라미터 세트에 기초하여 다음 세대의 모델의 하이퍼 파라미터 세트를 생성할 수 있다.
또한, 모델 경량화 장치(1000)는 학습 동작, 적합도 연산 동작 및/또는 다음 세대의 하이퍼 파라미터 세트를 생성하는 동작들을 수차례 반복적으로 수행하여, 목표하는 적합도보다 크거나 같은 적합도를 나타내는 대상 하이퍼 파라미터 세트를 획득할 수 있다. 대상 하이퍼 파라미터 세트를 획득하는 내용에 대하여는, 도 3 내지 도 6과 관련하여 보다 구체적으로 서술하기로 한다.
한편, 하이퍼 파라미터 세트와 관련된 초 매개변수는 시계열 분류 모델의 전처리 변수 및/또는 학습 속도 변수에 관한 것일 수 있다. 예컨대, 시계열 분류 모델의 전처리 변수는 변형할 데이터의 개수(예컨대, 커널(kernels)의 최대 개수), 레이어의 커널 크기 및 커널 개수와 관련된 변수(예컨대, 커널 크기(kernel size), 커널 당 최대 다일레이션(max dilations per kernels)), 및 시계열 분류 모델의 크기와 관련된 변수(예컨대, 피처의 개수) 중 적어도 하나와 관련될 수 있다.
본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 시계열 분류 모델의 크기를 경량화할 수 있다. 구체적으로, 모델 경량화 장치(1000)는 시계열 분류 모델을 구성하는 연산 데이터 및/또는 변수 데이터의 데이터 단위를 감소시키도록 구성될 수 있다.
일 예로, 모델 경량화 장치(1000)는 시계열 분류 모델의 연산 데이터 및/또는 변수 데이터를 획득하고, 연산 데이터 및/또는 변수 데이터의 데이터 단위를 제1 데이터 단위에서 제2 데이터 단위로 변환하는 동작을 수행할 수 있다. 이때, 제2 데이터 단위는 제1 데이터 단위보다 작은 값을 포함할 수 있다. 예컨대, 모델 경량화 장치(1000)는 양자화 기법(예컨대, Quantization Aware Training(QAT))을 활용하여 연산 데이터 및/또는 변수 데이터의 데이터 단위를 제1 데이터 단위(예컨대, 32비트)에서 제2 데이터 단위(예컨대, 8비트)로 변환할 수 있다. 구체적으로 모델 경량화 장치(1000)는 실수 범위의 시계열 분류 모델의 파라미터를 정수 범위의 파라미터로 변환할 수 있다. 예컨대, 모델 경량화 장치(1000)는 실수 범위의 파라미터(p)를 정수 범위의 파라미터(p')로 변환할 수 있으며, 구체적으로는 아래의 수학식을 통하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다.
p' = round(p*s + b) (p: 변환 전 파라미터, p': 변환 후 파라미터, s: 제1 파라미터, b: 제2 파라미터)
일 예로, 모델 경량화 장치(1000)는 Min-Max QAT 기법을 통하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다. 구체적으로 모델 경량화 장치(1000)는 변환 전 파라미터(p)가 가질 수 있는 최솟값과 최대값을 획득하고, 변환 후 파라미터(p')가 목표하는 정수 범위에 포함되도록 제1 파라미터와 제2 파라미터를 결정할 수 있다. 예컨대, 변환 전 파라미터(p)가 0 이상 1 이하의 실수 범위의 값을 가지는 경우에는, 모델 경량화 장치(1000)는 255 값인 제1 파라미터(s)와 0 값인 제2 파라미터(0)를 획득하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다.
일 예로, 모델 경량화 장치(1000)는 LSQ QAT(Learned Step-Size Quantization) 기법을 통하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다. 구체적으로 모델 경량화 장치(1000)는 학습을 통하여 제1 파라미터와 제2 파라미터를 결정할 수 있다. 예컨대, 모델 경량화 장치(1000)는 변환 전 파라미터(p)의 범위와 변환 후 파라미터(p')의 범위에 기반하여 제1 파라미터와 제2 파라미터를 결정하고, 결정된 제1 파라미터와 제2 파라미터에 기반하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다.
양자화를 통하여 모델 경량화 장치(1000)는 시계열 분류 모델의 크기를 줄이면서도 모델의 성능 감소를 최소화할 수 있다.
일 예로, 모델 경량화 장치(1000)는 시계열 분류 모델의 특정 레이어에 포함된 연산 데이터를 변환하는 동작을 수행할 수 있다. 예컨대, 시계열 분류 모델인 미니로켓(MiniRocket) 모델은 시계열 데이터로부터 피처를 추출하는 제1 레이어와 추출된 피처에 기초하여 시계열 데이터를 분류하는 제2 레이어로 구성될 수 있다. 이때, 시계열 데이터로부터 피처를 추출하는 제1 레이어의 일부에 대응되는 가중치(weight)는 두 가지의 숫자의 조합으로 구성될 수 있다. 이때, 모델 경량화 장치(1000)는 제1 레이어의 일부에 대응되는 가중치 정보를 1bit의 데이터 단위로 변환할 수 있다. 예컨대, 모델 경량화 장치(1000)는 제1 레이어의 일부에 대응되는 가중치 정보 중 제1 숫자는 1bit의 제1 정보(예컨대, Ture)로 변환하고, 가중치 정보 중 제2 숫자는 1bit의 제2 정보(예컨대, False)로 변환하도록 구현될 수 있다. 본 출원의 일 실시예에 따르면, 특정 레이어에 포함된 연산 데이터를 1bit의 데이터 단위로 변환함으로써, 메모리 사용량을 감소시키고 연산 속도를 증대시키는 효과를 제공할 수 있다. 시계열 분류 모델 크기의 경량화에 대하여는 도 3 및 도 7에서 보다 구체적으로 서술하기로 한다.
이하에서는 도 3 내지 도 7을 참고하여, 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법을 구체적으로 서술한다. 시계열 분류 모델의 경량화 방법을 설명함에 있어서, 앞서 도 2와 관련하여 설명한 내용과 중복되는 일부 실시예는 생략될 수 있다. 다만, 이는 설명의 편의를 위한 것일 뿐이며, 이에 제한적으로 해석되어서는 아니된다.
도 3은 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법을 나타낸 순서도이다.
본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법은, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계(S1000), 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000), 및 시계열 분류 모델의 크기를 경량화하는 단계(S3000)를 포함할 수 있다.
학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계(S1000)에서는, 모델 경량화 장치(1000)는, 송수신부(1100)를 통하여, 사전 학습된 시계열 분류 모델(예컨대, 미니로켓(MiniRocket) 모델)을 실행시키기 위한 실행 데이터를 획득할 수 있다. 여기서 실행 데이터는 시계열 분류 모델의 계층 데이터, 연산 데이터, 시계열 분류 모델의 레이어에 포함된 가중치(weight), 및/또는 시계열 분류 모델과 관련된 임의의 파라미터를 포함하여, 시계열 분류 모델을 적절하게 실행시키기 위한 임의의 데이터를 포괄하는 의미일 수 있다.
또한, 학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계(S1000)에서는, 모델 경량화 장치(1000)는, 송수신부(1100)를 통하여, 복수의 프레임을 포함하는 시계열 데이터 및/또는 시계열 데이터에 대하여 할당된 레이블 정보로 구성된 학습 데이터 셋을 획득할 수 있다. 구체적으로, 레이블 정보는 시계열 데이터가 미리 정해진 카테고리에 해당함을 나타내는 레이블을 포함할 수 있다. 예컨대, 레이블 정보는 시계열 데이터가 제1 카테고리에 해당함을 나타내는 제1 레이블, 및/또는 시계열 데이터가 제1 카테고리와 상이한 제2 카테고리에 해당함을 나타내는 제2 레이블을 포함할 수 있다. 모델 경량화 장치(1000)는 학습 데이터 셋을 이용하여 후술할 각 세대별 모델 집단에 포함된 모델을 훈련시킬 수 있다.
시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000)에서는, 모델 경량화 장치(1000)는 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정할 수 있다. 일 예로, 모델 경량화 장치(1000)는 유전 알고리즘 기법을 활용하여 초기 세대의 하이퍼 파라미터 세트 군으로부터 다음 세대의 하이퍼 파라미터 세트를 생성하고, 시계열 분류 모델의 정확도 혹은 모델의 크기에 기초하여 하이퍼 파라미터 세트들(혹은 하이퍼 파라이터 세트를 가지는 모델)의 적합도를 연산하고, 연산된 적합도에 기초하여 대상 하이퍼 파라미터 세트를 결정할 수 있다.
한편, 하이퍼 파라미터 세트와 관련된 초매개변수는 시계열 분류 모델의 전처리 변수 및/또는 학습 속도 변수에 관한 것일 수 있다. 예컨대, 시계열 분류 모델의 전처리 변수는 변형할 데이터의 개수(예컨대, 커널(kernels)의 최대 개수), 레이어의 커널 크기 및 커널 개수와 관련된 변수(예컨대, 커널 크기(kernel size), 커널 당 최대 다일레이션(max dilations per kernels)), 및 시계열 분류 모델의 크기와 관련된 변수(예컨대, 피처의 개수) 중 적어도 하나와 관련될 수 있다.
이하에서는 도 4 내지 도 6을 참고하여, 본 출원의 일 실시예에 따른 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 양상들에 대하여 보다 구체적으로 설명하기로 한다.
도 4는 본 출원의 일 실시예에 따른 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000)를 구체화한 순서도이다.
시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000)는, 제1 하이퍼 파라미터 세트를 생성하고, 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하는 단계(S2100), 학습 데이터 셋을 이용하여 제1 세대 모델을 훈련시키고, 제1 세대 모델의 적합도를 판단하는 단계(S2200), 적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하는 단계(S2300), 학습 데이터 셋을 이용하여 제2 세대 모델 집단에 포함된 제2 세대 모델을 훈련시키고 제2 세대 모델의 적합도를 연산하는 단계(S2400), 제2 세대 모델이 미리 결정된 적합도 조건을 만족하는 지 여부를 판단하는 단계(S2500), 및 제2 세대 모델의 제2 하이퍼 파라미터 세트에 기초하여 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2600)를 포함할 수 있다.
제1 하이퍼 파라미터 세트를 생성하고, 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하는 단계(S2100)에서는, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트를 생성할 수 있다. 일 예로, 모델 경량화 장치(1000)는 특정 조건(예컨대, 파라미터 값의 범위) 중에서 랜덤하게 파라미터 값을 선택하여 제1 하이퍼 파라미터 세트를 생성할 수 있다. 또한 모델 경량화 장치(1000)는 복수의 제1 하이퍼 파라미터 세트들(예컨대, 제1 후보 파라미터 세트, 및 제2 후보 파라미터 세트 등)을 생성하고, 복수의 제1 하이퍼 파라미터 세트들을 포함하는 제1 하이퍼 파라미터 세트 집합을 획득할 수 있다.
제1 하이퍼 파라미터 세트를 생성하고, 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하는 단계(S2100)에서는, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트를 가지는 제1 세대 모델들을 포함하는 제1 세대 모델 집단을 획득할 수 있다. 예컨대, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트)를 가지는 제1 모델, 및 제1 하이퍼 파라미터 세트(예컨대, 제2 후보 파라미터 세트)를 가지는 제2 모델을 포함하는 제1 세대 모델 집단을 획득할 수 있다.
학습 데이터 셋을 이용하여 제1 세대 모델을 훈련시키고, 제1 세대 모델의 적합도를 판단하는 단계(S2200)에서는, 모델 경량화 장치(1000)는 시계열 데이터 및 시계열 데이터에 대하여 할당된 레이블 정보로 구성된 학습 데이터 셋을 이용하여, 제1 세대 모델 집단에 포함된 제1 세대 모델들을 훈련시킬 수 있다. 일 예로, 모델 경량화 장치(1000)는 시계열 데이터를 제1 하이퍼 파라미터 세트를 가지는 시계열 분류 모델에 입력하고, 시계열 분류 모델의 예측 값과 학습 데이터 셋의 레이블 정보에 기초하여 시계열 분류 모델을 훈련시킬 수 있다.
이하에서는 도 5를 참고하여 본 출원의 일 실시예에 따른 세대별 모델의 학습 방법에 대하여 보다 구체적으로 서술하기로 한다. 도 5는 본 출원의 일 실시예에 따른 시계열 분류 모델의 학습 방법의 일 양상을 나타낸 도면이다.
학습 데이터 셋을 이용하여 제1 세대 모델을 훈련시키고, 제1 세대 모델의 적합도를 판단하는 단계(S2200)에서는, 모델 경량화 장치(1000)는 학습 데이터 셋에 포함된 시계열 데이터를 제1 세대 모델에 입력하고, 제1 세대 모델을 통하여 출력되는 예측 값을 획득할 수 있다.
일 예로, 모델 경량화 장치(1000)는 제1 세대 모델을 통하여 학습 데이터 셋에 포함된 제1 시계열 데이터로부터 출력된 제1 예측 값을 획득할 수 있다. 이때, 모델 경량화 장치(1000)는 제1 예측 값과 제1 시계열 데이터에 대하여 할당된 제1 레이블을 비교하여, 제1 예측 값과 제1 레이블의 차이가 최소화되도록, 즉 제1 시계열 데이터를 제1 레이블에 대응되는 제1 카테고리로 분류하도록 제1 세대 모델의 파라미터(혹은 가중치)를 갱신시킬 수 있다.
다른 예로, 모델 경량화 장치(1000)는 제1 세대 모델을 통하여 학습 데이터 셋에 포함된 제2 시계열 데이터로부터 출력된 제2 예측 값을 획득할 수 있다. 이때, 모델 경량화 장치(1000)는 제2 예측 값과 제2 시계열 데이터에 대하여 할당된 제2 레이블을 비교하여, 제2 예측 값과 제2 레이블의 차이가 최소화되도록, 제2 시계열 데이터를 제2 레이블에 대응되는 제2 카테고리로 분류하도록 제1 세대 모델의 파라미터(혹은 가중치)를 갱신시킬 수 있다.
또한 학습 데이터 셋을 이용하여 제1 세대 모델을 훈련시키고, 제1 세대 모델의 적합도를 판단하는 단계(S2200)에서는, 모델 경량화 장치(1000)는 제1 세대 모델 집단에 포함된 복수의 제1 세대 모델들(예컨대, 제1 모델 내지 제N 모델) 각각을 훈련시킬 수 있다. 예를 들면, 모델 경량화 장치(1000)는 제1 세대 모델 집단에 포함된 제1 모델을 도 5와 관련하여 전술한 바에 따라 훈련시키고, 제1 모델 혹은 제1 모델이 가지는 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS11))의 적합도를 연산할 수 있다. 다른 예를 들면, 모델 경량화 장치(1000)는 제1 세대 모델 집단에 포함된 제2 모델을 도 5와 관련하여 전술한 바에 따라 훈련시키고, 제2 모델 혹은 제2 모델이 가지는 제1 하이퍼 파라미터 세트(예컨대, 제2 후보 파라미터 세트(PS12))의 적합도를 연산할 수 있다. 또 다른 예를 들면, 모델 경량화 장치(1000)는 제1 세대 모델 집단에 포함된 제N 모델을 도 5와 관련하여 전술한 바에 따라 훈련시키고, 제N 모델 혹은 제N 모델이 가지는 제1 하이퍼 파라미터 세트(예컨대, 제N 후보 파라미터 세트(PS1N))의 적합도를 연산할 수 있다.
이하에서는 도 6를 참고하여 본 출원의 일 실시예에 따른 세대별 모델의 적합도를 연산하는 양상에 대하여 보다 구체적으로 서술하기로 한다. 도 6은 본 출원의 일 실시예에 따른 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 일 양상을 나타낸 도면이다.
학습 데이터 셋을 이용하여 제1 세대 모델을 훈련시키고, 제1 세대 모델의 적합도를 판단하는 단계(S2200)에서는, 모델 경량화 장치(1000)는 훈련이 완료된 제1 세대 모델들(예컨대, 제1 모델 내지 제N 모델) 각각의 적합도를 판단할 수 있다. 구체적으로 모델 경량화 장치(1000)는 훈련이 완료된 제1 세대 모델의 정확도와 제1 세대 모델의 크기에 기초하여 제1 세대 모델의 적합도를 연산할 수 있다. 일 예로, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS11))를 가지는 제1 세대 모델 집단의 제1 모델의 정확도와 크기에 기초하여 제1 모델의 적합도를 연산할 수 있다. 다른 예로, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트(예컨대, 제2 후보 파라미터 세트(PS12))를 가지는 제1 세대 모델 집단의 제2 모델의 정확도와 크기에 기초하여 제2 모델의 적합도를 연산할 수 있다. 또 다른 예로, 모델 경량화 장치(1000)는 제1 하이퍼 파라미터 세트(예컨대, 제N 후보 파라미터 세트(PS1N))를 가지는 제1 세대 모델 집단의 제N 모델의 정확도와 크기에 기초하여 제N 모델의 적합도를 연산할 수 있다.
적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하는 단계(S2300)에서는, 모델 경량화 장치(1000)는 적합하다고 판단된 제1 세대 모델들의 제1 하이퍼 파라미터 세트를 획득할 수 있다. 구체적으로, 모델 경량화 장치(1000)는 연산된 적합도가 미리 결정된 적합도 이상이거나 미리 결정된 순위 이내인 제1 세대 모델들의 제1 하이퍼 파라미터 세트를 획득할 수 있다. 예컨대, 모델 경량화 장치(1000)는 적합하다고 판단된 제1 세대 모델 집단에 포함된 제1 모델의 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS11)) 및/또는 적합하다고 판단된 제1 세대 모델 집단에 포함된 제2 모델의 제1 하이퍼 파라미터 세트(예컨대, 제2 후보 파라미터 세트(PS12))를 획득할 수 있다.
또한, S2300 단계에서는, 모델 경량화 장치(1000)는 유전 알고리즘 기법을 활용하여 적합하다고 판단된 제1 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터를 생성할 수 있다.
일 예로, 모델 경량화 장치(1000)는 제1 모델의 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS11))와 제2 모델의 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS12))를 교차하여, 제2 하이퍼 파라미터 세트를 생성할 수 있다.
다른 예로, 모델 경량화 장치(1000)는 제1 모델의 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS11)) 및/또는 제2 모델의 제1 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS12))를 변이시켜 제2 하이퍼 파라미터 세트를 생성할 수 있다.
또한, S2300 단계에서는, 모델 경량화 장치(1000)는 생성된 제2 하이퍼 파라미터 세트를 가지는 제2 세대 모델을 획득할 수 있다.
한편, S2300 단계에서는, 모델 경량화 장치(1000)는 복수의 제2 하이퍼 파라미터 세트를 생성할 수 있다. 예컨대, 모델 경량화 장치(1000)는 적합하다고 판단된 제1 세대 모델 집단의 제1 하이퍼 파라미터 세트들을 임의의 조합으로 교차하거나, 제1 하이퍼 파라미터 세트들 각각을 변이시켜 복수의 제2 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS21) 내지 제M 후보 파라미터 세트(PS2M))들을 생성할 수 있다. 따라서 S2300 단계에서는 모델 경량화 장치(1000)는 각각의 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델들을 포함하는 제2 세대 모델 집단을 획득할 수 있다.
학습 데이터 셋을 이용하여 제2 세대 모델 집단에 포함된 제2 세대 모델을 훈련시키고 제2 세대 모델의 적합도를 연산하는 단계(S2400)에서는, 모델 경량화 장치(1000)는 S2300 단계에서 획득된 제2 세대 모델 집단에 포함된 제2 세대 모델을 훈련시킬 수 있다. 구체적으로 모델 경량화 장치(1000)는 시계열 데이터 및 시계열 데이터가 속하는 카테고리가 정의된 레이블을 포함하는 레이블 정보로 구성된 학습 데이터 셋을 이용하여, 제2 세대 모델을 훈련시킬 수 있다. 일 예로, 모델 경량화 장치(1000)는 시계열 데이터를 제2 하이퍼 파라미터 세트를 가지는 시계열 분류 모델에 입력하고, 시계열 분류 모델의 예측 값과 시계열 데이터에 대하여 할당된 레이블 정보에 기초하여 시계열 분류 모델을 훈련시킬 수 있다. 제2 세대 모델을 훈련시키는 세부적인 실시예들은 도 5에서 설명한 내용이 유추적용될 수 있으며 관련된 내용에 대한 설명은 생략하기로 한다. 다만 이는 설명의 편의를 위한 것일 뿐, 이에 제한적으로 해석되어서는 아니된다.
학습 데이터 셋을 이용하여 제2 세대 모델 집단에 포함된 제2 세대 모델을 훈련시키고 제2 세대 모델의 적합도를 연산하는 단계(S2400)에서는, 모델 경량화 장치(1000)는 훈련이 완료된 제2 세대 모델들(예컨대, 도 6의 제1 모델 내지 제M 모델) 각각의 적합도를 판단할 수 있다. 구체적으로 모델 경량화 장치(1000)는 훈련이 완료된 제2 세대 모델의 정확도와 제2 세대 모델의 크기에 기초하여 제2 세대 모델의 적합도를 연산할 수 있다. 일 예로, 모델 경량화 장치(1000)는 제2 하이퍼 파라미터 세트(예컨대, 제1 후보 파라미터 세트(PS21))를 가지는 제2 세대 모델 집단의 제1 모델의 정확도와 크기에 기초하여 제1 모델의 적합도를 연산할 수 있다. 다른 예로, 모델 경량화 장치(1000)는 제2 하이퍼 파라미터 세트(예컨대, 제2 후보 파라미터 세트(PS22))를 가지는 제2 세대 모델 집단의 제2 모델의 정확도와 크기에 기초하여 제2 모델의 적합도를 연산할 수 있다. 또 다른 예로, 모델 경량화 장치(1000)는 제2 하이퍼 파라미터 세트(예컨대, 제M 후보 파라미터 세트(PS2M))를 가지는 제2 세대 모델 집단의 제M 모델의 정확도와 크기에 기초하여 제M 모델의 적합도를 연산할 수 있다.
제2 세대 모델이 미리 결정된 적합도 조건을 만족하는 지 여부를 판단하는 단계(S2500)에서는, 모델 경량화 장치(1000)는 S2400 단계에서 연산된 제2 세대 모델의 적합도에 기초하여 제2 세대 모델이 미리 결정된 적합도 조건을 만족하는 지 여부를 판단할 수 있다. 일 예로, 모델 경량화 장치(1000)는 제2 세대 모델의 적합도가 제2 세대 모델 집단에서 미리 결정된 순위 이내에 해당하는 지와 관련된 적합도 조건을 만족하는 지 여부를 판단하거나 결정할 수 있다. 다른 예로, 모델 경량화 장치(1000)는 제2 세대 모델의 적합도가 미리 결정된 적합도 이상인지와 관련된 적합도 조건을 만족하는 지 여부를 판단하거나 결정할 수 있다. 다만 이는 예시에 불과하며, 임의의 적절한 적합도 조건이 미리 설정될 수 있을 것이다.
제2 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하는 경우에는, 모델 경량화 장치(1000)는 제2 세대 모델의 제2 하이퍼 파라미터 세트에 기초하여 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정할 수 있다. (S2600) 구체적으로 모델 경량화 장치(1000)는, 제2 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하는 경우에는, 제2 세대 모델의 제2 하이퍼 파라미터 세트를 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 결정하도록 구현될 수 있다.
반면, 제2 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하지 않는 경우에는, 모델 경량화 장치(1000)는 모델의 적합도가 미리 결정된 적합도 조건을 만족할 때까지, 전술한 S2300 단계, S2400, 및 S2500 단계를 수차례 반복하도록 구현될 수 있다.
구체적으로 제2 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하지 않는 경우에는, 모델 경량화 장치(1000)는, 이전 세대 모델 집단(예컨대, 제1 세대 모델 집단 및/또는 제2 세대 모델 집단)에 포함된 모델들 중에서 적합도가 상대적으로 뛰어난 모델들의 하이퍼 파라미터 세트에 기초하여 제3 하이퍼 파라미터 세트를 생성할 수 있다. 예컨대, 모델 경량화 장치(1000)는 제1 세대 모델 집단에 포함된 제1 세대 모델들 중에서 적합도가 상대적으로 뛰어나다고 판단된 제1 세대 모델의 제1 하이퍼 파라미터 세트(예컨대, 제1 모델의 제1 후보 파라미터 세트 및/또는 제2 모델의 제2 후보 파라미터 세트), 및/또는 제2 세대 모델들 중에서 적합도가 상대적으로 뛰어나다고 판단된 제2 세대 모델의 제2 하이퍼 파라미터 세트를 교차하거나 변이시켜 제3 하이퍼 파라미터 세트를 생성할 수 있다. 또한 모델 경량화 장치(1000)는 제3 하이퍼 파라미터 세트를 가지는 제3 세대 모델을 포함하는 제3 세대 모델 집단을 획득할 수 있다.
나아가, 모델 경량화 장치(1000)는, S2400 단계(S2200 단계)에서 설명한 것과 유사하게, 학습 데이터 셋을 이용하여 제3 세대 모델 집단에 포함된 제3 세대 모델을 훈련시키고, 제3 세대 모델의 정확도와 크기를 고려하여 제3 세대 모델의 적합도를 연산할 수 있다.
나아가, 모델 경량화 장치(1000)는, S2500 단계에서 설명한 것과 유사하게, 제3 세대 모델이 미리 결정된 적합도 조건을 만족하는 지 여부를 판단하고, 제3 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하는 경우에는 제3 세대 모델의 제3 하이퍼 파라미터 세트를 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 결정할 수 있다.
다시 도 3을 참고하면, 본 출원의 일 실시예에 따른 시계열 분류 모델의 경량화 방법은 시계열 분류 모델의 크기를 경량화하는 단계(S3000)를 포함할 수 있다.
시계열 분류 모델의 크기를 경량화하는 단계(S3000)에서는, 모델 경량화 장치(1000)는, 시계열 분류 모델을 구성하는 연산 데이터 및/또는 변수 데이터의 데이터 단위를 감소시키도록 구성될 수 있다. 한편 도 3에서는 시계열 분류 모델의 크기를 경량화하는 단계(S3000)가 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000) 이후에 진행되는 것으로 도시하였다. 다만 이는 설명의 편의를 위한 예시에 불과하며, 시계열 분류 모델의 크기를 경량화하는 단계(S3000)는, 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000)보다 이전에 수행되거나, 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계(S2000)와 동시에 수행되도록 구현될 수 있다.
도 7은 본 출원의 일 실시예예 따른 시계열 분류 모델의 크기를 경량화하는 단계(S3000)를 구체화한 순서도이다. 본 출원의 일 실시예에 따른 시계열 분류 모델의 크기를 경량화하는 단계(S3000)는, 시계열 분류 모델의 실행 데이터에 기초하여 시계열 분류 모델을 구성하는 연산 데이터 및 변수 데이터 중 적어도 하나를 획득하는 단계(S3100), 및 연산 데이터 및 변수 데이터 중 적어도 하나의 제1 데이터 단위를 제2 데이터 단위로 변경하는 단계(S3200)를 더 포함할 수 있다.
시계열 분류 모델의 실행 데이터에 기초하여 시계열 분류 모델을 구성하는 연산 데이터 및 변수 데이터 중 적어도 하나를 획득하는 단계(S3100)에서는, 모델 경량화 장치(1000)는, 시계열 분류 모델의 실행 데이터로부터 시계열 분류 모델을 구성하는 연산 데이터 및/또는 변수 데이터를 획득할 수 있다.
연산 데이터 및 변수 데이터 중 적어도 하나의 제1 데이터 단위를 제2 데이터 단위로 변경하는 단계(S3200)에서는, 모델 경량화 장치(1000)는, 시계열 분류 모델의 데이터 단위를 제1 데이터 단위에서 제2 데이터 단위로 변환할 수 있다. 예컨대, 모델 경량화 장치(1000)는 양자화 기법(예컨대, Quantization Aware Training(QAT))을 활용하여 연산 데이터 및/또는 변수 데이터의 데이터 단위를 제1 데이터 단위(예컨대, 32비트)에서 제2 데이터 단위(예컨대, 8비트)로 변환할 수 있다. 구체적으로 모델 경량화 장치(1000)는 실수 범위의 시계열 분류 모델의 파라미터를 정수 범위의 파라미터로 변환할 수 있다. 예컨대, 모델 경량화 장치(1000)는 실수 범위의 파라미터(p)를 정수 범위의 파라미터(p')로 변환할 수 있으며, 구체적으로는 아래의 수학식을 통하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다.
p' = round(p*s + b) (p: 변환 전 파라미터, p': 변환 후 파라미터, s: 제1 파라미터, b: 제2 파라미터)
일 예로, 모델 경량화 장치(1000)는 Min-Max QAT 기법을 통하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다. 구체적으로 모델 경량화 장치(1000)는 변환 전 파라미터(p)가 가질 수 있는 최솟값과 최대값을 획득하고, 변환 후 파라미터(p')가 목표하는 정수 범위에 포함되도록 제1 파라미터와 제2 파라미터를 결정할 수 있다. 예컨대, 변환 전 파라미터(p)가 0 이상 1 이하의 실수 범위의 값을 가지는 경우에는, 모델 경량화 장치(1000)는 255 값인 제1 파라미터(s)와 0 값인 제2 파라미터(0)를 획득하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다.
일 예로, 모델 경량화 장치(1000)는 LSQ QAT(Learned Step-Size Quantization) 기법을 통하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다. 구체적으로 모델 경량화 장치(1000)는 학습을 통하여 제1 파라미터와 제2 파라미터를 결정할 수 있다. 예컨대, 모델 경량화 장치(1000)는 변환 전 파라미터(p)의 범위와 변환 후 파라미터(p')의 범위에 기반하여 제1 파라미터와 제2 파라미터를 결정하고, 결정된 제1 파라미터와 제2 파라미터에 기반하여 시계열 분류 모델의 데이터 단위를 변환할 수 있다. 양자화를 통하여 모델 경량화 장치(1000)는 시계열 분류 모델의 성능 감소를 최소화하면서도 시계열 분류 모델의 크기를 줄일 수 있다.
나아가 연산 데이터 및 변수 데이터 중 적어도 하나의 제1 데이터 단위를 제2 데이터 단위로 변경하는 단계(S3200)에서는, 모델 경량화 장치(1000)는 시계열 분류 모델의 특정 레이어에 포함된 연산 데이터를 변환하는 동작을 수행할 수 있다. 예컨대, 시계열 분류 모델인 미니로켓(MiniRocket) 모델은 시계열 데이터로부터 피처를 추출하는 제1 레이어와 추출된 피처에 기초하여 시계열 데이터를 분류하는 제2 레이어로 구성될 수 있다. 이때, 시계열 데이터로부터 피처를 추출하는 제1 레이어의 일부에 대응되는 가중치(weight)는 두 가지의 숫자의 조합으로 구성될 수 있다. 이때, 모델 경량화 장치(1000)는 실행 데이터에 기초하여 제1 레이어의 가중치 정보를 획득하고, 제1 레이어의 일부를 구성하는 가중치 정보를 1 비트(1 bit)의 데이터 단위로 변환할 수 있다. 예컨대, 모델 경량화 장치(1000)는 제1 레이어의 일부에 대응되는 가중치 정보 중 제1 숫자는 1bit의 제1 정보(예컨대, Ture)로 변환하고, 가중치 정보 중 제2 숫자는 1bit의 제2 정보(예컨대, False)로 변환하도록 구현될 수 있다.
한편, 상술한 도면에서는 도시하지는 않았지만, 본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 시계열 분류 모델을 구성하는 일부의 연산 구조를 바꾸는 동작을 수행할 수 있다. 예컨대, 사전 학습된 시계열 분류 모델을 구성하는 랜덤 커널에 대응되는 연산들은 병렬 구조로 구성될 수 있다. 이때, 모델 경량화 장치(1000)는 해당 연산 구조(즉, 병렬 구조)를 직렬 구조로 바꾸도록 구현될 수 있다. 연산 구조가 변경된 시계열 분류 모델은 데이터양이 감소되어 연산 속도가 증대되며, 해당 연산 구조를 통하여 출력되는 값만 메모리에 저장하면 되기 때문에 메모리 사용량을 감소시킬 수 있는 효과를 제공할 수 있다.
또한, 본 출원의 일 실시예에 따른 모델 경량화 장치(1000)는 메모리를 정리하는 동작을 수행할 수 있다. 일 예로, 모델 경량화 장치(1000)는 특정 연산이 반복되는 영역(예컨대, For 문이 반복되는 구간)에서의 메모리를 정리하도록 구현될 수 있다. 예컨대, 모델 경량화 장치(1000)는 For 문의 안쪽 코드에 대응되는 영역에 할당된 메모리를 정리하도록 구현될 수 있다. 이를 통하여 시계열 분류 모델의 학습에 소모되는 메모리 사용량을 감소시킬 수 있는 효과를 제공할 수 있다.
본 출원의 실시예에 따른 시계열 분류 모델의 경량화 방법, 및 시계열 분류 모델의 경량화 장치에 의하면, 시계열 분류 모델의 연산 데이터와 변수 데이터의 데이터 변위를 변환함으로써, MCU 환경에서도 작동될 수 있도록 시계열 분류 모델을 경량화할 수 있다는 유리한 효과가 제공될 수 있다.
본 출원의 실시예에 따른 시계열 분류 모델의 경량화 방법, 및 시계열 분류 모델의 경량화 장치에 의하면, 유전 알고리즘 기법을 활용하여 복수의 하이퍼 파라미터 세트를 자동적으로 생성하고, 정확도에 기반하여 시계열 분류 모델의 적합도를 연산하여 최적의 대상 하이퍼 파라미터 세트를 결정함으로써, 가벼우면서도 정확도가 높은 시계열 분류 모델을 획득할 수 있다는 유리한 효과가 제공될 수 있다.
또한, 본 출원의 실시예에 따른 시계열 분류 모델의 경량화 방법, 및 시계열 분류 모델의 경량화 장치에 의하면, 시계열 분류 모델의 학습을 위하여 오퍼레이터의 지식 수준에 의존하여 수동으로 입력해야 했던 대상 하이퍼 파라미터들을 유전 알고리즘 기법을 활용하여 자동으로 생성함으로써, 시계열 분류 모델의 학습에 대한 지식 장벽을 낮출 수 있다는 유리한 효과를 제공할 수 있다.
상술한 시계열 분류 모델 경량화 장치(1000)의 다양한 동작들은 시계열 분류 모델 경량화 장치(1000)의 메모리(1200)에 저장될 수 있으며, 시계열 분류 모델 경량화 장치(1000)의 프로세서(1300)는 메모리(1200)에 저장된 동작들을 수행하도록 제공될 수 있다.
이상에서 실시 형태들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시 형태에 포함되며, 반드시 하나의 실시 형태에만 한정되는 것은 아니다. 나아가, 각 실시 형태에서 예시된 특징, 구조, 효과 등은 실시 형태들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시 형태들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시 형태를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 형태의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 즉, 실시 형태에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
1000: 시계열 분류 모델 경량화 장치

Claims (10)

  1. 학습이 완료된 시계열 분류 모델을 경량화하는 장치가, 상기 시계열 분류 모델을 경량화하는 방법에 있어서,
    학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 단계;
    상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터(hyperparameter) 세트를 결정하는 단계-상기 대상 하이퍼 파라미터는 시계열 분류 모델의 레이어의 커널의 최대 개수와 관련된 변수, 시계열 분류 모델의 레이어의 커널 크기와 관련된 변수, 및 시계열 분류 모델의 크기와 관련된 변수 중 적어도 하나와 관련됨-; 및
    상기 결정된 대상 하이퍼 파라미터를 가지는 상기 시계열 분류 모델의 크기를 경량화하는 단계;를 포함하되,
    상기 대상 하이퍼 파라미터 세트를 결정하는 단계는,
    미리 정해진 범위에서 상기 대상 하이퍼 파라미터 세트에 대한 랜덤한 값을 선택하여 제1 하이퍼 파라미터 세트를 생성하고, 상기 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하는 단계;
    상기 학습 데이터 셋을 이용하여 상기 제1 세대 모델을 훈련시키고, 상기 제1 세대 모델의 적합도를 판단하는 단계;
    적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 상기 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하는 단계;
    상기 학습 데이터 셋을 이용하여 상기 제2 세대 모델을 훈련시키고, 상기 제2 세대 모델의 적합도를 연산하는 단계; 및
    상기 제2 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하는 경우, 상기 제2 세대 모델의 제2 하이퍼 파라미터 세트를 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 결정하는 단계를 더 포함하되,
    상기 시계열 분류 모델의 크기를 경량화하는 단계는,
    상기 시계열 분류 모델의 실행 데이터에 기초하여 상기 시계열 분류 모델의 시계열 데이터로부터 피처를 추출하는 제1 레이어의 가중치 정보를 획득하는 단계; 및
    상기 제1 레이어의 일부를 구성하는 가중치 정보를 1 비트의 데이터 단위로 변환하는 단계;를 더 포함하되,
    상기 제1 세대 모델의 적합도는,
    상기 제1 세대 모델의 정확도 및 상기 제1 세대 모델의 크기에 기초하여 연산되며,
    상기 제2 세대 모델의 적합도는,
    상기 제2 세대 모델의 정확도 및 상기 제2 세대 모델의 크기에 기초하여 연산되도록 구성되는,
    시계열 분류 모델의 경량화 방법.
  2. 제1 항에 있어서,
    상기 제2 세대 모델 집단을 획득하는 단계는,
    적합하다고 판단된 상기 제1 세대 모델 집단에 포함된 제1 모델의 제1 후보 파라미터 세트 및 적합하다고 판단된 상기 제1 세대 모델 집단에 포함된 제2 모델의 제2 후보 파라미터 세트를 획득하는 단계;
    상기 제1 후보 파라미터 세트 및 상기 제2 후보 파라미터 세트를 교차하거나, 상기 제1 후보 파라미터 세트 및 상기 제2 후보 파라미터 세트 중 적어도 하나를 변이시켜 상기 제2 하이퍼 파라미터 세트를 생성하는 단계; 및
    상기 생성된 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 생성하는 단계;를 더 포함하는 단계;를 더 포함하는,
    시계열 분류 모델의 경량화 방법.
  3. 제2 항에 있어서,
    상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하는 단계는,
    상기 제2 세대 모델이 미리 결정된 적합도 조건을 만족하지 않는 경우, 상기 제1 세대 모델 집단에 포함된 상기 제1 모델의 제1 후보 파라미터 세트, 상기 제1 세대 모델 집단에 포함된 상기 제2 모델의 제2 후보 파라미터 세트, 및 상기 제2 세대 모델 집단 중에서 적합도가 미리 정해진 순위 이내인 상기 제2 세대 모델과 관련된 상기 제2 하이퍼 파라미터 세트 중 적어도 하나에 기초하여 제3 하이퍼 파라미터 세트를 생성하고, 상기 제3 하이퍼 파라미터 세트에 기초하여 상기 대상 하이퍼 파라미터 세트를 결정하는 단계;를 더 포함하는,
    시계열 분류 모델의 경량화 방법.
  4. 제3 항에 있어서,
    상기 제3 하이퍼 파라미터 세트에 기초하여 상기 대상 하이퍼 파라미터 세트를 결정하는 단계는,
    상기 제3 하이퍼 파라미터 세트를 가지는 복수의 제3 세대 모델을 포함하는 제3 세대 모델 집단을 획득하는 단계;
    상기 학습 데이터 셋을 이용하여 상기 제3 세대 모델을 훈련시키고, 상기 제3 세대 모델의 적합도를 판단하는 단계; 및
    상기 적합도 판단 결과에 기초하여 미리 결정된 적합도 이상인 제3 세대 모델과 관련된 제3 하이퍼 파라미터 세트를 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 획득하는 단계;를 더 포함하는,
    시계열 분류 모델의 경량화 방법.
  5. 제1 항에 있어서,
    상기 제1 세대 모델 또는 상기 제2 세대 모델은,
    상기 학습 데이터 셋에 포함된 시계열 데이터 및 상기 시계열 데이터에 할당된 레이블 정보에 기초하여 학습되되,
    상기 시계열 데이터로부터 연산된 예측 값과 상기 레이블 정보를 비교하여 상기 예측 값과 상기 레이블 정보의 차이가 최소화되도록 상기 제1 세대 모델 또는 상기 제2 세대 모델의 파라미터를 갱신함으로써 학습되도록 구성되는,
    시계열 분류 모델의 경량화 방법.
  6. 삭제
  7. 제1 항에 있어서,
    상기 시계열 분류 모델의 크기를 경량화하는 단계는,
    상기 시계열 분류 모델의 실행 데이터에 기초하여 상기 시계열 분류 모델을 구성하는 연산 데이터 및 변수 데이터 중 적어도 하나를 획득하는 단계; 및
    상기 연산 데이터 및 변수 데이터 중 적어도 하나의 제1 데이터 단위를 제2 데이터 단위로 변경하는 단계-상기 제2 데이터 단위는 상기 제1 데이터 단위보다 작은 값을 포함함-;를 더 포함하는,
    시계열 분류 모델의 경량화 방법.
  8. 삭제
  9. 컴퓨터에 제1 항 내지 제5 항, 및 제7 항 중 어느 하나의 항에 따른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  10. 학습이 완료된 시계열 분류 모델을 경량화하는 장치에 있어서,
    학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하는 송수신부; 및
    상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트를 결정하고 상기 시계열 분류 모델의 크기를 경량화도록 구성된 프로세서;를 포함하되,
    상기 프로세서는,
    학습이 완료된 시계열 분류 모델의 실행 데이터 및 시계열 데이터를 포함하는 학습 데이터 셋을 획득하고, 상기 시계열 분류 모델의 정확도와 상기 시계열 분류 모델의 크기를 고려하여, 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트-상기 대상 하이퍼 파라미터 세트는 시계열 분류 모델의 레이어의 커널의 최대 개수와 관련된 변수, 시계열 분류 모델의 레이어의 커널 크기와 관련된 변수, 및 시계열 분류 모델의 크기와 관련된 변수 중 적어도 하나와 관련됨-를 결정하고, 상기 결정된 대상 하이퍼 파라미터 세트를 가지는 상기 시계열 분류 모델의 크기를 경량화하도록 구성되되,
    상기 프로세서는,
    미리 정해진 범위에서 상기 대상 하이퍼 파라미터 세트에 대한 랜덤한 값을 선택하여 제1 하이퍼 파라미터 세트를 생성하고, 상기 제1 하이퍼 파라미터 세트를 가지는 복수의 제1 세대 모델을 포함하는 제1 세대 모델 집단을 획득하고, 상기 학습 데이터 셋을 이용하여 상기 제1 세대 모델을 훈련시키고, 상기 제1 세대 모델의 적합도를 판단하고, 적합하다고 판단된 제1 세대 모델들 각각의 하이퍼 파라미터 세트에 기초하여 제2 하이퍼 파라미터 세트를 생성하고, 상기 제2 하이퍼 파라미터 세트를 가지는 복수의 제2 세대 모델을 포함하는 제2 세대 모델 집단을 획득하고, 상기 학습 데이터 셋을 이용하여 상기 제2 세대 모델을 훈련시키고, 상기 제2 세대 모델의 적합도를 연산하고, 상기 제2 세대 모델의 적합도가 미리 결정된 적합도 조건을 만족하는 경우, 상기 제2 세대 모델의 제2 하이퍼 파라미터 세트를 상기 시계열 분류 모델의 대상 하이퍼 파라미터 세트로 결정하도록 구성되고,
    상기 프로세서는,
    상기 시계열 분류 모델의 실행 데이터에 기초하여 상기 시계열 분류 모델의 시계열 데이터로부터 피처를 추출하는 제1 레이어의 가중치 정보를 획득하고, 상기 제1 레이어의 일부를 구성하는 가중치 정보를 1 비트의 데이터 단위로 변환하도록 구성되고,
    상기 제1 세대 모델의 적합도는,
    상기 제1 세대 모델의 정확도 및 상기 제1 세대 모델의 크기에 기초하여 연산되며,
    상기 제2 세대 모델의 적합도는,
    상기 제2 세대 모델의 정확도 및 상기 제2 세대 모델의 크기에 기초하여 연산되도록 구성되는,
    시계열 분류 모델의 경량화 장치.
KR1020220074587A 2022-06-20 2022-06-20 시계열 분류 모델의 경량화 방법, 및 경량화 장치 KR102582728B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220074587A KR102582728B1 (ko) 2022-06-20 2022-06-20 시계열 분류 모델의 경량화 방법, 및 경량화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220074587A KR102582728B1 (ko) 2022-06-20 2022-06-20 시계열 분류 모델의 경량화 방법, 및 경량화 장치

Publications (1)

Publication Number Publication Date
KR102582728B1 true KR102582728B1 (ko) 2023-09-25

Family

ID=88190474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220074587A KR102582728B1 (ko) 2022-06-20 2022-06-20 시계열 분류 모델의 경량화 방법, 및 경량화 장치

Country Status (1)

Country Link
KR (1) KR102582728B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190096311A (ko) * 2019-06-04 2019-08-19 엘지전자 주식회사 온도 예측 모델의 생성 장치 및 시뮬레이션 환경의 제공 방법
US20200134461A1 (en) * 2018-03-20 2020-04-30 Sri International Dynamic adaptation of deep neural networks
WO2021021546A1 (en) * 2019-07-30 2021-02-04 SparkCognition, Inc. Automated neural network generation using fitness estimation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200134461A1 (en) * 2018-03-20 2020-04-30 Sri International Dynamic adaptation of deep neural networks
KR20190096311A (ko) * 2019-06-04 2019-08-19 엘지전자 주식회사 온도 예측 모델의 생성 장치 및 시뮬레이션 환경의 제공 방법
WO2021021546A1 (en) * 2019-07-30 2021-02-04 SparkCognition, Inc. Automated neural network generation using fitness estimation

Similar Documents

Publication Publication Date Title
Chen et al. Machine learning for wireless networks with artificial intelligence: A tutorial on neural networks
US11436537B2 (en) Machine learning technique selection and improvement
EP3729338A1 (en) Neural entropy enhanced machine learning
Supraja et al. Optimized neural network for spectrum prediction using genetic algorithm in cognitive radio networks
Du et al. Time series prediction using evolving radial basis function networks with new encoding scheme
WO2020246918A1 (en) Neural network circuit remote electrical tilt antenna infrastructure management based on probability of actions
US11225231B2 (en) Brake control system used in a vehicle and control method thereof
US20210365781A1 (en) Classification model calibration
WO2022217853A1 (en) Methods, devices and media for improving knowledge distillation using intermediate representations
Das et al. FERNN: A fast and evolving recurrent neural network model for streaming data classification
Lu et al. Radial basis function neural network based on an improved exponential decreasing inertia weight-particle swarm optimization algorithm for AQI prediction
KR102582728B1 (ko) 시계열 분류 모델의 경량화 방법, 및 경량화 장치
Loni et al. Learning activation functions for sparse neural networks
Zarzoor et al. Traffic Classification of IoT Devices by Utilizing Spike Neural Network Learning Approach.
He et al. Particle swarm optimization RBF neural network model for internet traffic prediction
Acevedo-Valle et al. Multivariate Regression with Incremental Learning of Gaussian Mixture Models.
Zhao et al. Gradient-based adaptive particle swarm optimizer with improved extremal optimization
Ateya et al. Lightweight deep learning-based model for traffic prediction in fog-enabled dense deployed iot networks
US20220101063A1 (en) Method and apparatus for analyzing neural network performance
KR102582737B1 (ko) 시계열 이상 감지 모델의 경량화 방법, 및 경량화 장치
US20220121927A1 (en) Providing neural networks
US20240104365A1 (en) Node, and method performed thereby, for predicting a behavior of users of a communications network
Kamel et al. Optimal Feature Subset Selection Using Cuckoo Search On IoT Network
Spyrou et al. Hidden Markov Model Traffic Characterisation in Wireless Networks
US20230130188A1 (en) Model estimation for signal transmission quality determination

Legal Events

Date Code Title Description
GRNT Written decision to grant