KR102567024B1 - 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법 - Google Patents

임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법 Download PDF

Info

Publication number
KR102567024B1
KR102567024B1 KR1020220184786A KR20220184786A KR102567024B1 KR 102567024 B1 KR102567024 B1 KR 102567024B1 KR 1020220184786 A KR1020220184786 A KR 1020220184786A KR 20220184786 A KR20220184786 A KR 20220184786A KR 102567024 B1 KR102567024 B1 KR 102567024B1
Authority
KR
South Korea
Prior art keywords
neural network
conv1d
model
search
learning
Prior art date
Application number
KR1020220184786A
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 KR1020220184786A priority Critical patent/KR102567024B1/ko
Application granted granted Critical
Publication of KR102567024B1 publication Critical patent/KR102567024B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 임베디드 기기의 메모리에서 온-디바이스(On-Device) 학습이 가능한 신경망 구조 탐색방법을 제공한다. 본 발명에 따른 신경망 구조 탐색방법은, 신경망 구조를 위한 임시 모델을 정의하고 상기 임시 모델의 채널 개수와 레이어 개수를 설정하는 단계와, 상기 임시 모델의 커널 크기, 출력 채널 개수, SE 블록 사용 유무에 대한 탐색공간을 설정하는 단계와, 상기 탐색공간 내에서 커널 크기, 출력 채널 개수, SE 블록 사용 여부의 탐색하는 단계와, 상기 임시 모델의 가중치 파라미터를 학습하는 단계와, 상기 임시 모델의 구조 파라미터를 학습하는 단계와, 상기 임시 모델에서의 메모리 사용량을 계산하는 단계와, 상기 학습된 가중치 파라미터, 구조 파라미터 및 메모리 사용량을 이용하여 상기 메모리에서 온-디바이스 학습이 가능한 최종 신경망 모델을 탐색하는 단계를 포함한다.

Description

임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법{Neural architecture search method for On-Device learning of sensor data in embeded device}
본 발명은 임베디드 기기의 작은 메모리 내에서 여러 가지 크기 및 유형의 센서데이터의 온-디바이스 학습이 가능한 신경망 구조 탐색방법에 관한 것이다.
센서 기반의 임베디드 인공지능(AI) 시스템은 의료, 전기, 로봇 등 다양한 분야에서 사용되며 사용자에게 최첨단 서비스를 제공하고 있다.
이러한 임베디드 AI 시스템은 센서를 통해 새로운 센서데이터를 지속적으로 수집하며 사용자에게 특화될 수 있도록 향상된다.
하지만, AI 시스템에서 수집한 새로운 센서데이터들을 활용하기 위해서는 신경망 모델(Neural Network Model)의 추가적인 학습이 요구된다.
기존에는 수집한 센서데이터들을 클라우드 서버로 전송하여 신경망 모델을 학습한 후 임베디드 기기에 업데이트하는 과정으로 진행된다.
하지만, 새로운 센서데이터를 클라우드 서버에서 학습하면 데이터가 유출되고 추가적인 네트워크 대역폭이 필요하다는 점에서 효율적이지 않다.
이에, 최근 임베디드 기기 내에서 데이터 수집과 학습을 한번에 수행하는 온-디바이스(On-Device) 학습을 실행하는 AI 시스템이 개시되고 있다.
하지만, 임베디드 기기를 제어하는데 사용되는 MCU(Micro Controller Unit)는 메모리의 크기가 1MB 이하로 매우 작기 때문에 온-디바이스(On-Device) 학습에 많은 제약이 따른다.
이는 모델 파라미터와 레이어들의 일시적인 연산결과의 크기만큼만 메모리를 할당해주면 되는 추론단계와는 달리 학습단계에서 모델 파라미터뿐만 아니라 모델 파라미터 업데이트를 위한 모든 레이어의 연산결과(이하, '활성화 벡터'라 한다)를 저장하고 있어야 하기 때문이다.
모델 파라미터의 크기는 모델 내 각 레이어들의 설정값(예: 커널 크기, 출력 채널 크기)에 따라 사전에 결정되지만, 활성화 벡터의 크기들은 레이어뿐만 아니라 데이터의 크기에 따라 달라진다.
특히, 센서데이터의 경우 시퀀스 길이, 센서 개수에 따라 센서데이터마다 다양한 크기를 가지기 때문에 이를 만족하는 On-Device 학습을 위한 AI 시스템을 갖추기 어렵다.
이러한 문제들을 해결하기 위해 신경망 구조 탐색(NAS: Neural Architecture Search) 알고리즘으로 모델을 학습시킴과 동시에 리소스 제한을 만족하는 모델 구조를 탐색하는 프레임 워크들이 발전하였다.
하지만, 종래의 NAS 알고리즘에서 리소스에 제한을 두는 것은 대부분 지연 시간(latency)이나 모델 파라미터의 크기이기 때문에 On-Device 학습에 맞는 모델을 생성하기 어렵다는 문제점이 있다.
공개특허공보 제10-2022-0055378호 공개특허공보 제10-2022-0078834호 공개특허공보 제10-2022-0084895호
본 발명은 임베디드 기기에서 여러 가지 크기 및 유형의 센서데이터에 대해온-디바이스(On-Device) 학습이 가능하도록 하는 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법을 제공하는데 목적이 있다.
본 발명은 센서데이터에 대해 최고 성능을 유지하면서 On-Device 학습이 가능한 신경망 모델 구조를 자동으로 최적화할 수 있도록 하는 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법을 제공하는데 목적이 있다.
본 발명은 신경망의 모델 파라미터와 활성화 벡터의 크기를 동시에 제한하여 임베디드 기기의 작은 MCU 메모리 내에서도 On-Device 학습이 가능하도록 하는 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법을 제공한다.
본 발명의 실시예에 따른 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법은, 임베디드 기기의 메모리에서 온-디바이스(On-Device) 학습을 위한 신경망 구조 탐색방법에 있어서, 상기 신경망 구조를 위한 임시 모델을 정의하고 상기 임시 모델의 채널 개수와 레이어 개수를 설정하는 단계와, 상기 임시 모델의 커널 크기, 출력 채널 개수, SE(Squeeze-Excitation) 블록 사용 유무에 대한 탐색공간을 설정하는 단계와, 상기 탐색공간 내에서 커널 크기, 출력 채널 개수, SE 블록 사용 여부의 탐색하는 단계와, 상기 임시 모델의 가중치 파라미터(weight parameter)를 학습하는 단계와, 상기 임시 모델의 구조 파라미터(architecture parameter)를 학습하는 단계와, 상기 임시 모델에서의 메모리 사용량을 계산하는 단계와, 상기 학습된 가중치 파라미터, 구조 파라미터 및 메모리 사용량을 이용하여 상기 메모리에서 온-디바이스 학습이 가능한 최종 신경망 모델을 탐색하는 단계를 포함한다.
본 발명에서, 상기 커널 크기 탐색은, 복수개의 커널 크기를 갖는 N개의 Conv1d 레이어를 정의하는 단계와, 입력값이 들어오면 상기 Conv1d 레이어에 대한 연산을 수행하는 단계와, 상기 커널 크기에 대한 구조 파라미터 Ak={a1,a2,...,ak}를 정의하는 단계와, 상기 Conv1d 레이어의 출력값과 상기 구조 파라미터의 가중치 합으로 하기 식으로 상기 커널 크기를 탐색하는 단계를 포함한다.
본 발명에서, 상기 출력 채널 탐색은, 상기 Conv1d 레이어의 최대 출력 채널 개수(Cmax)와 마스킹(masking) 비율에 대한 값의 집합 R={r1,r2,...,rm}(r≤1)을 정의하는 단계와, 상기 출력 채널의 마스크 벡터와 출력 채널에 대한 구조 파라미터 ACH={αr1r2, ..., αrM}를 취합하여 상기 Conv1d 레이어의 출력값에 대해 출력 채널 개수를 탐색하는 단계와, 채널 마스킹(channel masking) 결과에 배치 정규화(Batch Normalization)와 렐루/ 활성화(ReLU activation)를 적용하는 단계와, 상기 Conv1d 레이어의 깊이에 대한 구조 파라미터 B={βN-j,... βN}을 정의하고 j번째 이후의 Conv1d의 출력값들에 대해 가중치 합으로 Conv1d의 최종 출력값을 생성하는 단계를 포함한다.
본 발명에서, 상기 SE 블록 사용여부 탐색은, 상기 SE 블록의 구조 파라미터 ASE={αOFFON}을 정의하는 단계와, 상기 입력값과 SE 블록의 처리결과에 대하여 가중치 합을 처리하는 단계를 포함한다.
본 발명에서, 상기 최종 신경망 모델을 탐색하는 단계는, 상기 가중치 파라미터의 집합과 상기 구조 파라미터로 이루어진 최종 신경망 모델의 파라미터를 구하는 단계와, 상기 가중치 파라미터의 집합에 대하여 학습한 후 상기 구조 파라미터에 대해 구조 탐색을 수행하는 단계를 포함한다.
본 발명에서, 상기 구조 탐색의 수행이 완료되면 상기 Conv1d 레이어의 탐색공간에서 상기 구조 파라미터가 최대가 되는 후보들 중에서 상기 임베디드 기기의 메모리에서 온-디바이스(On-Device) 학습이 가능한 신경망 모델을 생성한다.
본 발명의 의하면 임베디드 기기에서 여러 가지 크기 및 유형의 센서데이터에 대해 On-Device 학습이 가능하다.
본 발명에 의하면 임베디드 기기에서 신경망 모델 파라미터와 활성화 벡터의 크기를 동시에 제한하여 작은 MCU 메모리 내에서도 On-Device 학습이 가능하도록 한다.
도 1은 본 발명의 실시예에 따른 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법을 보인 흐름도.
도 2는 본 발명의 실시예에 따른 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 모델의 구조도.
도 3은 도 2의 신경망 모델 구조에서 NAS-Conv1d 레이어의 구조도.
이하, 본 발명의 일부 실시례들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시례를 설명함에 있어, 관련된 공지구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시례에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명은 센서 기반의 효율적인 AI 시스템을 위해 임베디드 기기에서 센서를 통한 센서데이터의 수집과 수집된 센서데이터의 학습을 한번에 수행하는 온-디바이스(On-Device) 학습을 위한 신경망 구조 탐색방법을 제공한다. 본 발명은 다양한 유형과 크기의 센서데이터에 대해 최고 성능을 유지하면서 온-디바이스 학습이 가능하도록 하는 신경망 구조의 탐색방법을 제공하는 것이다.
이하에서는 첨부된 도면을 참조하여 본 발명에 따른 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법을 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법을 보인 흐름도이다.
도 1을 참조하면, 본 발명에서는 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조를 탐색하기에 앞서 기본 모델(base model)을 먼저 정의한다(S101). 즉, 기본 모델의 기본적인 채널 개수, 레이어 개수 등을 정의한다. 이러한 기본 모델은 최종 모델을 결정하기 전에 임시로 사용하는 임시 모델이다.
그리고, 탐색공간(search space)을 정의한다(S103). NAS는 정해진 탐색공간에서 네트워크 구조를 직접 찾는 방법이다. 따라서, 본 발명에서는 커널 크기, 채널 개수, SE(Squeeze-Excitation) 블록(22)의 사용 유무 등에 대한 탐색공간을 정의한다.
그리고, 임시 모델의 가중치 파라미터(weight parameter)를 학습한다(S105). 가중치 파라미터는 모델의 성능과 관련된 직접적인 연산을 수행한다.
가중치 파라미터 학습 단계에서는 아직 모델의 구조가 결정되지 않았기 때문에 랜덤 경로(random path) 및 최대값 경로(maximum path) 두 가지 경로를 이용하여 각각의 출력값을 구하고 손실값을 계산하여 파라미터를 업데이트한다.
이후, 구조 파라미터(architecture parameter)를 학습한다(S107). 구조 파라미터는 본 발명의 신경망 모델의 구조를 결정하는 파라미터이다. 레이어의 출력값은 각 후보 레이어의 출력값과 구조 파라미터의 가중치 합(weighted sum)으로 계산된다.
이때, 잠재적인 메모리 사용량을 구해서 손실(loss)값을 계산하기 때문에 구조 파라미터가 학습되면서 전체 모델의 크기가 임베디드 기기의 제한된 메모리에 적합하도록 학습된다.
마지막으로, 최종 신경망 모델을 생성한다(S109). 이는 상기와 같이 학습이 완료되면 각 레이어의 탐색공간에서 구조 파라미터가 최대가 되는 후보군들을 선택해서 임베디드 기기 내 제한된 메모리에서 온-디바이스(On-Device) 학습을 할 수 있는 최종 신경망 모델을 생성하는 것이다.
도 2는 본 발명의 실시예에 따른 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망의 구조도이며, 도 3은 도 2의 신경망 모델 구조에서 NAS-Conv1d 레이어의 구조도이다.
도 2 및 도 3을 참조하면, 본 발명에 따른 신경망(Neural Network)은 시계열분류(TSC:Time Series Classification) 문제를 처리하는데 양호한 성능을 낼 수 있는 MLSTM-FCN(Multivariate LSTM-FCN)을 임시 모델로 사용한다.
본 발명의 신경망 구조 탐색방법은 TSC 기반의 신경망 구조 탐색(NAS) 알고리즘을 통해 온-디바이스 학습을 위한 신경망 구조를 탐색한다는 점에서 TAC-NAS 방법으로도 칭할 수 있다.
MLSTM-FCN은 입력값에 대해 복수의 1D-Convolution(이하 Conv1d라 한다) 레이어와 순환 신경망(RNN:Recurrent Neural Network)의 한 종류인 LSTM 레이어 연산을 병렬적으로 수행한 결과를 결합(concatenate)한 후 최종적으로 선형(Linear) 레이어 연산으로 출력값을 얻는다.
본 발명에서는 데이터와 메모리 크기 제한에 적합한 MLSTM-FCN 신경망 모델을 얻기 위해 Conv1d와 LSTM에 대하여 각각 신경망 구조 탐색을 수행한다.
먼저, 본 발명에 따른 신경망 구조 탐색방법에서는 Conv1d 구조를 탐색하기 위해 NAS-Conv1d 레이어를 정의하여 Conv1d 레이어(11)의 성능과 파라미터 크기를 좌우하는 설정값, 예컨대 커널 크기, 출력 채널 개수, SE(Squeeze-Excitation) 블록 사용 여부를 탐색한다. 이러한 요소들은 모두 탐색공간(search space) 범위 내의 값을 구조 파라미터(A)에 따라 결정한다.
먼저, 커널(kernel) 크기를 탐색하기 위해 NAS-Conv1d 내에는 여러 개의 커널 크기를 가지는 N개의 Conv1d 레이어(11)가 정의되고 어떤 커널 크기가 현재 레이어에 가장 적합한지 탐색한다.
입력값(10)이 들어오면 서로 다른 커널을 가지는 복수의 Conv1d 레이어(11)에 대해 연산을 수행한다. 그리고, 연산의 결과들을 커널 크기에 대한 구조 파라미터 Ak={a1,a2,...,ak}를 정의하여 해당 값에 대한 기준으로 샘플링(sampling)하여 한 개의 결과만 사용하거나 또는 수학식 1과 같이 가중치 합(weighted sum)으로 연산하여 사용한다(도면부호 21).
Figure 112022140008135-pat00001
N∋k, h는 입력값, N(≥1,자연수)는 Conv1d 레이어의 개수, Conv1d_k는 k번째 Conv1d 레이어, ak는 Conv1d_k에 대한 구조 파라미터 값(0~1 사이 가중치), h_in은 입력되는 데이터의 채널 수(길이), h는 출력되는 데이터 채널 수 (길이)이다.
커널 크기가 다른 Conv1d 레이어 출력값들의 길이가 달라지면 가중치 합을 적용할 수 없기 때문에 Conv1d 레이어(11)들에 패딩(padding)을 적용하여 항상 입력값과 같은 길이의 출력값을 가지도록 한다.
그리고, 출력 채널 개수를 탐색한다. Conv1d 레이어(11)의 출력값의 출력 채널 개수를 결정하기 위해서는 채널 마스킹(Channel Masking)(12)을 사용한다.
이를 위해, 본 발명에서는 NAS-Conv1d의 최대 출력 채널 개수(Cmax)와 마스킹(masking) 비율에 대한 값의 집합 R={r1,r2,...,rm}(r≤1)을 정의한다.
채널 마스크 벡터 1i∈RC는 앞 i개 값이 1이고, 뒤 Cmax-i개의 값은 0인 벡터이다. 이들 마스크 벡터들과 출력 채널에 대한 구조 파라미터 ACH={αr1r2, ..., αrM}를 수학식 2와 같이 취합하여 Conv1d 출력값에 대해 적절한 출력 채널 개수를 탐색할 수 있다.
Figure 112022140008135-pat00002
여기서, h',h"는 해당 연산에 대해 각각 입력 및 출력되는 데이터 채널 개수, M은 탐색할 채널 마스킹 비율 개수, li은 [1,1,1,…,1,0,0,…,0] 형태의 벡터이다. 이러한 벡터에서는 마스킹 비율에 따라 1의 개수가 조정된다. 예컨대, 전체 채널 수가 256이고 i번째 마스킹 비율이 50%라면 1i는 앞 128개가 1값이고 뒤 128개가 0값으로 이루어진 벡터이다.
NAS-Conv1d의 최종 출력을 위한 채널 마스킹(channel masking) 결과에 배치 정규화(BN: Batch Normalization)와 렐루 활성화(ReLU activation)를 수학식 3과 같이 적용한다(도면부호 24).
Figure 112022140008135-pat00003
BN은 Batch Normalization 레이어이고, h", h_out은 각각 해당 연산에 입력되는 데이터 채널 수와 출력(연산) 후의 데이터 채널 개수이다.
또한, 임시 모델에서 복수의 NAS-Conv1d 레이어(11)의 연산을 통해 컨볼루션 피처(Convolution feature)를 생성한다. 이때 사용하는 레이어의 개수도 성능과 파라미터 크기에 영향을 미치기 때문에 깊이(Depth) 탐색을 수행해야 한다.
깊이에 대한 구조 파라미터 B={βN-j,... βN}을 정의하여 j번째 이후의 NAS-Conv1d의 출력값들에 대해 수학식 4와 같이 가중치 합으로 Conv1d의 최종 출력값을 생성한다.
Figure 112022140008135-pat00004
B는 깊이에 대한 구조 파라미터이고, NAS-Conv1d를 사용개수를 결정한다. 그리고, hl out은 l번째 NAS-Conv1d의 출력값이다.
또한, 본 발명에서는 SE(Squeeze-Excitation) 블록(22)의 사용 여부를 탐색한다. SE 블록은 Conv1d 출력값에 대해 전체 정보를 요약하는 Squeeze와 각 출력값의 피처맵(feature map)의 중요도를 스케일링(scaling)하는 Excitation으로 이루어져 있다.
Conv1d에 대해 SE 블록(22)의 사용 여부를 탐색하기 위해 SE 구조 블록의 구조 파라미터 ASE={αOFFON}을 정의하고, 입력 h와 SE의 결과 SE(h)에 대해 수학식 5와 같이 가중치 합으로 처리한다(도면부호 23).
Figure 112022140008135-pat00005
h는 수학식 1에서 weighted sum/sampling 방식으로 연산된 출력값, SE(h)는 h를 입력받아 SE 블록을 수행한 연산값, a_off, a_on은 SE 블록을 사용할것인지 결정해주는 구조 파라미터이다.
또한, 본 발명에서는 데이터와 메모리 크기 제한에 적합한 MLSTM-FCN 신경망 모델을 얻기 위해 LSTM 구조에 대한 신경망 구조 탐색을 수행한다.
LSTM 레이어는 복수개의 선형(Linear) 레이어가 서로 상호작용하며 정보를 주고받는 형태로 이루어진다. 예컨대, LSTM 레이어는 4개의 선형 레이어로 구성될 수 있다.
선형 레이어는 Conv1d 레이어와는 달리 오직 입출력 채널 개수에 따라 모델 파라미터, 활성화 벡터 크기가 결정된다. 따라서, TSC-NAS에서 사용하는 LSTM은 채널 마스킹(14)를 적용하여 출력 채널 개수만 탐색하도록 할 수 있다.
LSTM의 채널 마스킹은 수학식 5과 같다.
Figure 112022140008135-pat00006
Figure 112022140008135-pat00007
여기서, X_t, h_t-1은 LSTM의 t번째 단계에서 입력되는 입력(input)값과 은둔 벡터(hidden vector) 값, W_i, W_h는 LSTM의 입력(input)값과 은둔 벡터(hidden vector)값을 입력 받아 연산하는 가중치 파라미터, Chunk는 하나의 텐서를 동일한 크기로 나누어 I,f,g,o값에 할당한다. CM은 채널 마스킹(channel masking)을 수행하는 벡터이다.
이때, i,f,g,o는 각각 LSTM의 input/forget/cell/output gate에 해당하고, chunk는 입력 텐서를 동일한 크기의 텐서들로 분할하는 함수이다. CM은 NAS-Conv1d와 동일한 방법으로 연산한 마스크 벡터와 LSTM의 출력 채널 구조 파라미터로 연산한 채널 마스크이다.
또한, 본 발명에서는 모델의 구조 파라미터를 학습하기 위해 메모리 사용량을 계산한다.
일반적인 모델은 파라미터가 존재하는 Conv1d, Linear, Batch Normalization 레이어의 파라미터 크기가 입출력 채널과 커널 크기에 비례한다.
하지만, 본 발명의 TSC-NAS의 레이어들은 각 요소에 대하 구조 탐색을 수행하기 때문에 모델 파라미터의 메모리 할당량에 있어서 잠재적인 값을 계산하여 사용한다.
각 레이어에 대해 이전 레이어의 출력 채널 파라미터 ACH l-1에 따라 잠재적인 입력 채널 크기를 구하고, 현재 레이어의 커널, 출력 채널 파라미터 AK l, ACH l로 잠재적인 커널 크기와 출력 채널 크기를 구해서 레이어 파라미터 크기를 구한다.
수학식 7을 통해 모델 내 모든 레이어에 대한 잠재적인 파라미터 크기를 구한 후 총합을 탐색한 이후에, 최종 모델의 파라미터 크기 Pmodel로 간주한다.
Figure 112022140008135-pat00008
Figure 112022140008135-pat00009
Figure 112022140008135-pat00010
Figure 112022140008135-pat00011
Figure 112022140008135-pat00012
Pl은 l번째 레이어에서 각 layer의 모델 파라미터 크기, Cl은 l번째 레이어에서 발생하는 피처 채널 크기(길이), Kl은 NAS-Conv1d에서 결정되는 커널 크기, R은 마스킹 비율(0~1 사이)이며, 최대 채널 크기 Cmax, 아키텍처 파라미터 ACH들과 가중치 합의 형태로 수행되어 잠재적인 채널 크기 Cl이 결정된다.
모델의 활성화 벡터 크기 Actmodel은 모델 학습단계에서 업데이트를 위해서 손실 함수에 대한 각 레이어 파라미터들의 기울기(gradient)를 계산하기 위해 저장하고 있어야 하는 각 레이어 출력값 크기들의 총합이다.
Conv1d, Linear, BatchNorm1d 및 활성화 함수 연산이 발생할 때마다 출력값의 크기를 계산하여 활성화 벡터 크기에 누적한다. 출력값 크기는 배치 크기(batch size)와 데이터 길이, 출력 채널의 개수에 비례한다.
온-디바이스(On-Device) 학습의 메모리 제한 때문에 배치 크기는 1로 설정하고, 출력 채널 개수는 상기 수학식 7의 잠재적 출력 채널값을 사용한다.
모델의 전체적인 학습 메모리 사용량은 모델의 파라미터 크기와 활성화 벡터 크기의 합으로서 수학식 8로 계산될 수 있다.
Figure 112022140008135-pat00013
MEM(α,β)은 모델 학습 시 발생하는 메모리 사용량. Pmodel(α,β)은 모델의 크기(모델 내부의가중치 파라미터들의 합), Actmodel(α,β)은 학습 시 발생하는 활성화 벡터들의 크기이다. 이때, α,β는 모델에 존재하는 구조 파라미터이다.
이와 같이, 본 발명에 따른 TSC-NAS의 NAS-Conv1d 단의 결과에 대해 글로벌 풀링(Global Pooling)(13)을 수행하고, LSTM 채널 마스킹의 결과와 연결(15)하여 최종 선형 레이어(16)에 통과시켜 전체 클래스에 대한 확률분포를 구해 손실(loss)값을 계산한다.
TSC-NAS의 파라미터는 모델의 가중치 파라미터 집합 ω와 레이어 구조를 결정하는 구조 파라미터 α,β로 이루어져 있다.
미니 배치 데이터로 학습을 할 때마다 ω에 대해 학습을 수행한 α,β에 대한 구조 탐색을 수학식 9와 같이 수행한다.
Figure 112022140008135-pat00014
Figure 112022140008135-pat00015
Figure 112022140008135-pat00016
W는 모델 내부의 가중치 파라미터들, W*는 학습을 통해 최적화된 파라미터, MEM(a,B)은 모델의 메모리 사용량, L_g는 NAS-Conv1d의 커널을 gumbel softmax 방식으로 구조 파라미터를 샘플링해 모델구조를 생성했을 때의 손실(Loss) 값, L_r은 NAS-Conv1d의 커널을 random 방식으로 구조 파라미터를 샘플링해 모델구조를 생성했을 때의 손실(Loss) 값, Target_mem은 타겟 메모리 사용량이며, 모델의 메모리 사용량을 여기에 맞춰야 한다.
실험예
임베디드 기기 내의 제한된 메모리에서 온-디바이스(On-Device) 학습이 가능한 신경망 모델 구조를 탐색하기 위한 실험예를 기재한다.
(1) 데이터 셋
실험에 사용한 데이터 셋은 UCR 2018 Time Series Classification dataset에서 가져온 Wafer, ECG5000, LSST, RacketSports, NATOPS 데이터를 활용하였다. 이들 각 데이터들은 길이와 사용한 센서 개수, 타입이 다양하다.
(2) 실험환경
NAS-Conv1d의 커널 크기 후보는 {3,5,7}, Cmax=128, masking 비율 R={0.25, 0.5, 0.75, 1.0}으로 설정하였고, 총 5개의 NAS-Conv1d 레이어 중 3~5번째 레이어에 대해 depth masking을 적용하였다. LSTM은 Cmax=128, masking 비율 R={0.2, 0.4, 0.6, 0.8, 1.0}로 TSC-NAS의 탐색 공간을 정의하였다. 메모리 제한은 NATOPS의 경우 2MB로 설정하였고, 나머지 데이터들에 대해서는 1MB로 설정하였다.
(3)실험결과
하기 표 1은 상술한 5가지 데이터에 대해 TSC-NAS로 제한된 학습 메모리를 만족할 수 있는 모델 탐색을 수행한 결과이다.
데이터셋 Wafer ECG5000 LSST RacketSports NATOPS
센서개수 1 1 6 6 24
데이터길이 152 140 36 30 51
클래스 개수 2 5 14 4 6
원본 메모리(MB) 2.451 3.186 2.07 2.998 8.586
탐색후 메모리(MB) 0.9265 0.9579 0.9883 0.9896 1.9855
Archive Best top1(%) 99.98 94.61 63.62 92.79 97.11
TSC-NAS top1(%) 96.58(-3.4) 98.67(+4.06) 63.70(+0.08) 94.27(+1.52) 98.95(+1.84)
Conv1d 출력채널 {62,62,65} {7,5,7} {78,64,73,74,80} {89,88,91} {35,38,40}
Conv1d 커널 크기 {7,3,7} {7,5,7} {5,3,5,5,7} {3,3,3} {3,7,5}
LSTM 출력 채널 66 90 69 80 31
표 1에서 확인되듯이, 제한된 메모리를 만족하기 위하여 Conv1d와 LSTM의 채널 크기 및 커널, 레이어 개수가 자동적으로 최적화되는 것을 확인할 수 있다.
또한, Wafer 데이터 셋을 제외한 나머지 데이터 셋의 경우 기존 archive에 기록된 최고 성능을 상회하는 성능을 보이며, 이를 통해 TSC-NAS가 제한된 메모리에 대한 구조 탐색 뿐만 아니라 성능도 함께 향상시키는 방향으로 잘 학습함을 확인할 수 있다
이상에서 설명한 바와 같이, 본 발명에서는 TSC-NAS를 통해 On-Device 학습을 위한 제한된 메모리를 만족하는 모델 구조를 잘 탐색함을 확인할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시례들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시례에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (6)

  1. 임베디드 기기의 메모리에서 온-디바이스(On-Device) 학습을 위한 신경망 구조 탐색방법에 있어서,
    상기 신경망 구조를 위한 임시 모델을 정의하고 상기 임시 모델의 채널 개수와 레이어 개수를 설정하는 단계;
    상기 임시 모델의 커널 크기, 출력 채널 개수, SE(Squeeze-Excitation) 블록 사용 유무에 대한 탐색공간을 설정하는 단계;
    상기 탐색공간 내에서 커널 크기, 출력 채널 개수, SE 블록 사용 여부를 탐색하는 단계;
    상기 임시 모델의 가중치 파라미터(weight parameter)를 학습하는 단계;
    상기 임시 모델의 구조 파라미터(architecture parameter)를 학습하는 단계;
    상기 임시 모델에서의 메모리 사용량을 계산하는 단계;
    상기 학습된 가중치 파라미터, 구조 파라미터 및 메모리 사용량을 이용하여 상기 메모리에서 온-디바이스 학습이 가능한 최종 신경망 모델을 탐색하는 단계를 포함하는 신경망 구조 탐색방법.
  2. 청구항 1에 있어서, 상기 커널 크기 탐색은,
    복수개의 커널 크기를 갖는 N개의 Conv1d 레이어를 정의하는 단계;
    입력값이 들어오면 상기 Conv1d 레이어에 대한 연산을 수행하는 단계;
    상기 커널 크기에 대한 구조 파라미터 Ak={a1,a2,...,ak}를 정의하는 단계;
    상기 Conv1d 레이어의 출력값과 상기 구조 파라미터의 가중치 합으로 하기 식으로 상기 커널 크기를 탐색하는 단계를 포함하는 신경망 구조 탐색방법.
  3. 청구항 2에 있어서, 상기 출력 채널 탐색은,
    상기 Conv1d 레이어의 최대 출력 채널 개수(Cmax)와 마스킹(masking) 비율에 대한 값의 집합 R={r1,r2,...,rm}(r≤1)을 정의하는 단계;
    상기 출력 채널의 마스크 벡터와 출력 채널에 대한 구조 파라미터 ACH={αr1r2, ..., αrM}를 취합하여 상기 Conv1d 레이어의 출력값에 대해 출력 채널 개수를 탐색하는 단계;
    채널 마스킹(channel masking) 결과에 배치 정규화(Batch Normalization)와 렐루 활성화(ReLU activation)를 적용하는 단계;
    상기 Conv1d 레이어의 깊이에 대한 구조 파라미터 B={βN-j,... βN}을 정의하고 j번째 이후의 Conv1d의 출력값들에 대해 가중치 합으로 Conv1d의 최종 출력값을 생성하는 단계를 포함하는 신경망 구조 탐색방법.
  4. 청구항 2에 있어서, 상기 SE 블록 사용여부 탐색은,
    상기 SE 블록의 구조 파라미터 ASE={αOFFON}을 정의하는 단계;
    상기 입력값과 SE 블록의 처리결과에 대하여 가중치 합을 처리하는 단계를 포함하는 신경망 구조 탐색방법.
  5. 청구항 2에 있어서, 상기 최종 신경망 모델을 탐색하는 단계는,
    상기 가중치 파라미터의 집합과 상기 구조 파라미터로 이루어진 최종 신경망 모델의 파라미터를 구하는 단계; 및
    상기 가중치 파라미터의 집합에 대하여 학습한 후 상기 구조 파라미터에 대해 구조 탐색을 수행하는 단계를 포함하는 신경망 구조 탐색방법.
  6. 청구항 5에 있어서, 상기 구조 탐색의 수행이 완료되면 상기 Conv1d 레이어의 탐색공간에서 상기 구조 파라미터가 최대가 되는 후보들 중에서 상기 임베디드 기기의 메모리에서 온-디바이스(On-Device) 학습이 가능한 신경망 모델을 생성하는 신경망 구조 탐색방법.
KR1020220184786A 2022-12-26 2022-12-26 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법 KR102567024B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220184786A KR102567024B1 (ko) 2022-12-26 2022-12-26 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220184786A KR102567024B1 (ko) 2022-12-26 2022-12-26 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법

Publications (1)

Publication Number Publication Date
KR102567024B1 true KR102567024B1 (ko) 2023-08-16

Family

ID=87848137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220184786A KR102567024B1 (ko) 2022-12-26 2022-12-26 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법

Country Status (1)

Country Link
KR (1) KR102567024B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3944154A1 (en) * 2020-05-13 2022-01-26 Stradvision, Inc. Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same
KR20220055378A (ko) 2020-10-26 2022-05-03 주식회사 인피닉스 딥러닝 기반으로 이상 행동을 자동으로 감지하는 온디바이스 ai 장치 및 이의 동작 방법
KR20220078834A (ko) 2020-12-04 2022-06-13 한국전자기술연구원 온디바이스 ai 수행을 위한 대용량 스트림 데이터 처리 방법
KR20220084895A (ko) 2020-12-14 2022-06-21 한국전자기술연구원 온디바이스 기반 데이터 분석 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3944154A1 (en) * 2020-05-13 2022-01-26 Stradvision, Inc. Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same
KR20220055378A (ko) 2020-10-26 2022-05-03 주식회사 인피닉스 딥러닝 기반으로 이상 행동을 자동으로 감지하는 온디바이스 ai 장치 및 이의 동작 방법
KR20220078834A (ko) 2020-12-04 2022-06-13 한국전자기술연구원 온디바이스 ai 수행을 위한 대용량 스트림 데이터 처리 방법
KR20220084895A (ko) 2020-12-14 2022-06-21 한국전자기술연구원 온디바이스 기반 데이터 분석 시스템 및 방법

Similar Documents

Publication Publication Date Title
CN107247989B (zh) 一种实时的计算机视觉处理方法及装置
Shin et al. Fully scalable methods for distributed tensor factorization
US20180046914A1 (en) Compression method for deep neural networks with load balance
Markham et al. The effect of sample size and variability of data on the comparative performance of artificial neural networks and regression
CN111598213B (zh) 网络训练方法、数据识别方法、装置、设备和介质
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
Flamant et al. Solving differential equations using neural network solution bundles
JP2018185771A (ja) 文ペア分類装置、文ペア分類学習装置、方法、及びプログラム
CN109101717A (zh) 基于现实与模糊数据深度融合学习的固体火箭发动机可靠性预测方法
CN110796233A (zh) 基于迁移学习的深度残差卷积神经网络的自适应压缩方法
Kaveh Ordering for bandwidth and profile minimization problems via charged system search algorithm
Mesquita et al. Embarrassingly parallel MCMC using deep invertible transformations
Bansal et al. Fitness varying gravitational constant in GSA
Abualigah et al. Augmented arithmetic optimization algorithm using opposite-based learning and lévy flight distribution for global optimization and data clustering
CN115496144A (zh) 配电网运行场景确定方法、装置、计算机设备和存储介质
Karlsson et al. Modelling dynamical systems using neural ordinary differential equations
US11687730B1 (en) Automated conversation goal discovery using neural networks and deep multi-view clustering
KR102567024B1 (ko) 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법
CN112529057A (zh) 一种基于图卷积网络的图相似性计算方法及装置
CN110009091B (zh) 学习网络在等价类空间中的优化
US20240079098A1 (en) Device for predicting drug-target interaction by using self-attention-based deep neural network model, and method therefor
CN112927810A (zh) 基于大数据的智慧医疗响应方法及智慧医疗云计算系统
CN114341891A (zh) 神经网络剪枝
Vincent et al. Sparse group lasso and high dimensional multinomial classification
Sanz et al. Time scales in a non-autonomous linear discrete model

Legal Events

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