KR20210039921A - 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법 - Google Patents

신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법 Download PDF

Info

Publication number
KR20210039921A
KR20210039921A KR1020200043231A KR20200043231A KR20210039921A KR 20210039921 A KR20210039921 A KR 20210039921A KR 1020200043231 A KR1020200043231 A KR 1020200043231A KR 20200043231 A KR20200043231 A KR 20200043231A KR 20210039921 A KR20210039921 A KR 20210039921A
Authority
KR
South Korea
Prior art keywords
denotes
equation
neural network
parameters
importance
Prior art date
Application number
KR1020200043231A
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 PCT/KR2020/013304 priority Critical patent/WO2021066504A1/ko
Priority to US17/760,650 priority patent/US20220343162A1/en
Priority to CN202080069687.8A priority patent/CN114503122A/zh
Priority to EP20871182.0A priority patent/EP4040342A4/en
Publication of KR20210039921A publication Critical patent/KR20210039921A/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/08Learning methods
    • 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

Landscapes

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

Abstract

본 발명의 실시 예에 따른 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법은 모델 파라미터들을 포함하는 신경망 모델에 대한 중요도 파라미터들을 생성하는 단계, 생성된 중요도 파라미터들을 기반으로 신경망 모델에 대응하는 목적 함수를 생성하는 단계, 학습 데이터를 수신하는 단계, 학습 데이터 및 목적 함수를 기반으로, 확률적 경사도 강하(SGD; stochastic gradient descent)를 이용하여 중요도 파라미터들 및 모델 파라미터들에 대한 트레이닝을 동시에 수행하는 단계, 및 트레이닝의 결과를 기반으로 경량화 모델을 생성하고 저장하는 단계를 포함하고, 트레이닝을 통해 중요도 파라미터들 중 적어도 하나는 0(zero)으로 수렴된다.

Description

신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법{OPERATION METHOD OF DEEP NEURAL NETWORK SYSTEM CONFIGURED TO OPTIMIZE NEURAL NETWORK MODEL}
본 발명은 심층 신경망에 관한 것으로, 좀 더 상세하게는 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법에 관한 것이다.
심층 신경망(DNN; deep neural network)은 컴퓨터 처리, 음성 인식, 이미지 인식 등과 같은 다양한 응용 분야에서 널리 사용된다. 심층 신경망과 관련된 기술 분야가 발전함에 따라, 심층 신경망에서 요구되는 연산량 및 메모리량이 급증하고 있다. 이러한 연산 량 및 메모리 량의 증가는 하드웨어 리소스를 증가시키는 문제점을 유발시킨다. 즉, 심층 신경망은 인간 전문가에 의한 피쳐 엔지니어링(feature engineering)의 부담을 경감시키나, 심층 신경망의 연산량 및 하드웨어를 최적화하기 위한 추가적인 부담이 증가하고 있다.
본 발명의 목적은 향상된 성능 및 감소된 비용을 갖는 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법은: 모델 파라미터들을 포함하는 신경망 모델에 대한 중요도 파라미터들을 생성하는 단계; 상기 생성된 중요도 파라미터들을 기반으로 상기 신경망 모델에 대응하는 목적 함수를 생성하는 단계; 학습 데이터를 수신하는 단계; 상기 학습 데이터 및 상기 목적 함수를 기반으로, 확률적 경사도 강하(SGD; stochastic gradient descent)를 이용하여 상기 중요도 파라미터들 및 상기 모델 파라미터들에 대한 트레이닝을 동시에 수행하는 단계; 및 상기 트레이닝의 결과를 기반으로 경량화 모델을 생성하고 저장하는 단계를 포함하고, 상기 트레이닝을 통해 상기 중요도 파라미터들 중 적어도 하나는 0(zero)으로 수렴된다.
예시적인 실시 예에서, 상기 신경망 모델은 복수의 스테이지들을 포함하고, 상기 복수의 스테이지들 각각은 복수의 컴포넌트들을 포함하고, 상기 복수의 컴포넌트들은 복수의 모듈들로 그룹화된다.
예시적인 실시 예에서, 상기 중요도 파라미터들은 상기 복수의 컴포넌트들 각각에 대한 중요도를 가리키고, 수학식 1을 기반으로 설정되고,
[수학식 1]
Figure pat00001
상기 수학식 1의 상기 i는 상기 복수의 컴포넌트들 중 대응하는 컴포넌트를 가리키는 인덱스이고, 상기 ai는 상기 대응하는 컴포넌트에 대한 중요도 파라미터를 가리키고, 상기 α 및 상기 β는 각각 자유 파라미터들이고, 상기 σ는 시그모이드 함수이고, 이고, 상기 (·)+은 수정된 선형 유닛(ReLU; rectified linear unit) 함수를 가리킨다.
예시적인 실시 예에서, 상기 수학식 1의
Figure pat00002
는 상기
Figure pat00003
에 기반된 임계 동작에 의해 0(zero)이 된다.
예시적인 실시 예에서, 상기 수학식 1의 상기
Figure pat00004
에 대응하는 임계치는 상기 β에 의해 결정되고, 상기 β는 하이퍼-파라미터(hyper-parameter)가 아니다.
예시적인 실시 예에서, 상기 목적 함수는 수학식 2를 기반으로 설정되고,
[수학식 2]
Figure pat00005
상기 수학식 3의 상기
Figure pat00006
은 예측 손실을 가리키고, 상기
Figure pat00007
은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 a는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λ는 상기 예측 손실 및 상기 신경망 모델의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리킨다.
예시적인 실시 예에서, 상기 정규화 항은 p-놈(p-norm)을 기반으로 설정된다.
예시적인 실시 예에서, 상기 학습 데이터 및 상기 목적 함수를 기반으로, 확률적 경사도 강하(SGD; stochastic gradient descent)를 이용하여 상기 중요도 파라미터들 및 상기 모델 파라미터들에 대한 트레이닝을 동시에 수행하는 단계는: 상기 중요도 파라미터들에 대한 경사도를 연산하는 단계; 및 상기 연산의 결과를 기반으로 상기 중요도 파라미터들 및 상기 모델 파라미터들을 갱신하는 단계를 포함한다.
예시적인 실시 예에서, 상기 경사도를 연산하는 단계는: 상기 경사도에 대한 정방향 연산을 수행하는 단계; 및 상기 경사도에 대한 역방향 연산을 수행하는 단계를 포함하고, 상기 정방향 연산은 상기 수학식 2를 기반으로 수행되고, 상기 역방향 연산은 상기 수학식 2의
Figure pat00008
을 수학식 3으로 대체하여 수행되고,
[수학식 3]
Figure pat00009
상기 수학식 4의 상기 elu()는 지수 선형 유닛(ELU; Exponential linear unit) 함수를 가리킨다.
예시적인 실시 예에서, 상기 신경망 모델은 ResNet에 대응되고, 상기 목적 함수는 수학식 4를 기반으로 설정되고,
[수학식 4]
Figure pat00010
상기 수학식 4의 상기
Figure pat00011
은 예측 손실을 가리키고, 상기
Figure pat00012
은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λ는 상기 예측 손실 및 상기 신경망 모델의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 S는 상기 신경망 모델에 포함된 복수의 스테이지들의 개수를 가리키고, 상기 as는 상기 복수의 스테이지들 중 제s 스테이지에 대응하는 중요도 파라미터들의 벡터를 가리킨다.
예시적인 실시 예에서, 상기 신경망 모델은 ResNeXt에 대응되고, 상기 목적 함수는 수학식 5을 기반으로 설정되고,
[수학식 5]
Figure pat00013
상기 수학식 5의 상기
Figure pat00014
은 예측 손실을 가리키고, 상기
Figure pat00015
은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λs는 상기 예측 손실 및 상기 신경망 모델에 포함된 복수의 스테이지들 중 제s 스테이지의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 S는 상기 복수의 스테이지들의 개수를 가리키고, 상기 Bs는 상기 제s 스테이지에 포함된 블록들의 개수를 가리키고, 상기 as,b는 상기 제s 스테이지의 상기 블록들 중 제b 블록에 대응하는 중요도 파라미터들의 벡터를 가리킨다.
예시적인 실시 예에서, 상기 신경망 모델은 DenseNet에 대응되고, 상기 목적 함수는 수학식 6을 기반으로 설정되고,
[수학식 6]
Figure pat00016
상기 수학식 6의 상기
Figure pat00017
은 예측 손실을 가리키고, 상기
Figure pat00018
은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λs는 상기 예측 손실 및 상기 신경망 모델의 복수의 스테이지들 중 제s 스테이지의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 S는 상기 신경망 모델에 포함된 복수의 스테이지들의 개수를 가리키고, 상기 Ls는 상기 제s 스테이지에 포함된 레이어들의 개수를 가리키고, 상기 as,l은 상기 제s 스테이지에 포함된 상기 레이어들 중 제l 레이어에 대응하는 중요도 파라미터들의 벡터를 가리킨다.
예시적인 실시 예에서, 상기 신경망 모델은 GCN(Graph Convolution Network)에 대응되고, 상기 목적 함수는 수학식 7을 기반으로 설정되고,
[수학식 7]
Figure pat00019
상기 수학식 7의 상기
Figure pat00020
은 예측 손실을 가리키고, 상기
Figure pat00021
은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λ는 상기 예측 손실 및 상기 신경망 모델의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 N은 상기 A의 크기이고, 상기 Ai ,:은 상기 A의 제i 행에 대한 행 벡터이고, 상기 A:,j는 상기 A의 제j 열에 대한 열 벡터이다.
본 발명의 실시 예에 따르면, 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용한 트레이닝을 통해 신경망의 모델 파라미터(또는 가중치) 및 중요도 파라미터(또는 아키텍쳐 파라미터)가 동시에 학습될 수 있다. 즉, 심층 신경망 모델을 이용하여 추론에 소요되는 비용이 감소되며, 심층 신경망 시스템의 성능이 향상될 수 있다. 따라서, 향상된 성능 및 감소된 비용을 갖는 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 심층 신경망 시스템을 예시적으로 보여주는 블록도이다.
도 2는 도 1의 심층 신경망 시스템의 동작을 예시적으로 보여주는 순서도이다.
도 3은 도 2의 S100 단계를 좀 더 상세하게 보여주는 순서도이다.
도 4는 도 2의 S200 단계의 동작을 예시적으로 보여주는 순서도이다.
도 5는 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다.
도 6은 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다.
도 7은 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다.
도 8 및 도 9는 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
본 발명에 따르면, 신경망의 목적 함수(objective function)을 최적화시킴으로써, 신경망의 희소화된 구조(sparsified structure) 및 가중치들을 동시에 학습할 수 있는 전 미분 가능한 희소화 방법(full differentiable sparsification method)이 제공된다. 즉, 본 발명에 따르면, 확률적 경사도 강하(SGD; stochastic Gradient Descent)를 사용하여 트레이닝하는 동안, 파라미터들의 크기 또는 연결들의 강도가 0(zero)으로 수렴하도록 하는 전 미분 가능한 방법이 제공된다. 이에 따라, 전 모델을 희소화(sparify)하거나 또는 구조를 구분하기 위한 인접 연산자(proximal operator) 및 구조 선택 스테이지가 요구되지 않는다. 즉, 본 발명에 따르면, 신경망의 목적 함수(objective function)을 최적화시킴으로써, 신경망의 희소화된 구조(sparsified structure) 및 가중치들이 동시에 학습될 수 있다.
예시적인 실시 예에서, 본 발명에 따른 방법은 파라미터들의 그룹 또는 빌딩 블록(building block)에 용이하게 적용될 수 있다. 이는 GPU와 같은 병렬 하드웨어 연산의 이점을 극대화할 수 있으며, 심층 신경망 학습에서 모듈화된 설계의 최신 트렌드에 적합할 수 있다.
도 1은 본 발명의 실시 예에 따른 심층 신경망 시스템을 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 심층 신경망 시스템(100)은 제어기(110), 신경망 가속기(120), 메모리(130), 및 경량화 모델(140)을 포함할 수 있다. 예시적인 실시 예에서, 심층 신경망 시스템(100)은 ResNet, ResNeXt, DenseNet, GCN(Graph Convolutional Network) 등과 같은 다양한 심층 신경망(DNN; Deep Neural Network)을 구동하도록 구성될 수 있다. 예시적인 실시 예에서, 심층 신경 시스템(100)은 개인용 컴퓨터, 노트북, 태블릿, 스마트폰, 서버, 워크스테이션, 블랙박스, 자동차 전장 시스템 등과 같은 다양한 컴퓨팅 시스템 또는 정보 처리 시스템을 포함할 수 있다.
제어기(110)는 심층 신경망 시스템(100)에서 수행되는 다양한 제반 동작을 제어할 수 있다. 예를 들어, 제어기(110)는 신경망 가속기(120)에서 사용될 신경망 모델을 결정하고, 결정된 신경망 모델에 대한 다양한 파라미터들 및 목적 함수(또는 손실 함수 또는 비용 함수)를 설정하도록 구성될 수 있다. 예시적인 실시 예에서, 제어기(110)에 의해 설정되는 파라미터는 신경망 모델에 포함된 구성들에 대한 중요도를 가리키는 중요도 파라미터(importance parameter) 또는 구조 파라미터(architecture parameter)일 수 있다. 예시적인 실시 예에서, 중요도 파라미터들의 적어도 일부는 신경망 가속기(120)에서의 트레이닝 과정 동안, 0(zero)으로 수렴될 수 있다. 제어기(110)의 동작 및 제어기(110)에 의해 생성 또는 설정되는 다양한 지표들은 이하의 도면 및 수학식들을 참조하여 더욱 상세하게 설명된다.
신경망 가속기(120)는 제어기(110)의 제어에 따라 트레이닝을 수행할 수 있다. 예를 들어, 신경망 가속기(120)는 제어기(110)로부터 신경망 모델, 목적 함수, 및 학습 데이터를 수신할 수 있다. 신경망 가속기(120)는 제어기(110)로부터 수신된 정보를 기반으로 트레이닝을 수행하고, 트레이닝의 결과로서 경량화 모델(140)을 생성할 수 있다. 예시적인 실시 예에서, 경량화 모델(140)은 신경망 모델에 포함된 복수의 구성들 중 불필요한 구성이 삭제 또는 제거된 모델을 가리킬 수 있다. 예시적인 실시 예에서, 신경망 가속기(120)는 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용하여 트레이닝을 수행할 수 있다. 신경망 가속기(120)는 트레이닝 동작을 통해 신경망 모델을 경량화시킴과 동시에, 신경망 모델에 대한 모델 파라미터들(예를 들어, 가중치들)을 학습할 수 있다. 신경망 가속기(120)의 트레이닝 과정은 이하의 도면들 및 수학식들을 참조하여 더욱 상세하게 설명된다.
메모리(130)는 신경망 가속기(120)의 트레이닝 과정에서 생성 또는 갱신되는 다양한 정보(예를 들어, 파라미터 정보)를 저장하도록 구성될 수 있다.
도 2는 도 1의 심층 신경망 시스템의 동작을 예시적으로 보여주는 순서도이다. 도 1 및 도 2를 참조하면, S100 단계에서, 심층 신경망 시스템(100)은 신경망 모델을 기반으로 목적 함수를 생성할 수 있다. 예를 들어, 심층 신경망 시스템(100)은 ResNet, ResNeXt, DenseNet, CGN(Graph Convolutional Network) 등과 같은 다양한 심층 신경망(DNN; Deep Neural Network)을 구동하도록 구성될 수 있다. 제어기(110)는 다양한 심층 신경망들 중 트레이닝될 신경망과 대응되는 신경망 모델을 선택하고, 선택된 신경망 모델에 대한 목적 함수를 생성할 수 있다.
S200 단계에서, 심층 신경망 시스템(100)은 목적 함수 및 학습 데이터를 기반으로 트레이닝을 수행하여 경량화 모델(140)을 생성할 수 있다. 예를 들어, 신경망 가속기(120)는 제어기(110)로부터 신경망 모델, 목적 함수, 및 학습 데이터를 수신하고, 수신된 정보를 기반으로 트레이닝을 수행할 수 있다. 예시적인 실시 예에서, 트신경망 가속기(120)의 트레이닝은 확률적 경사도 강하(SGD; stochastic gradient descent) 방식을 기반으로 수행될 수 있다. 예시적인 실시 예에서, 신경망 가속기(120)의 트레이닝을 통해, 신경망 모델에 포함된 복수의 구성들 중 불필요한 구성들이 제거될 수 있고, 신경망 모델에 대한 모델 파라미터들이 동시에 학습될 수 있다.
S300 단계에서, 심층 신경망 시스템(100)은 생성된 경량화 모델(140)을 기반으로 신경망 연산을 수행할 수 있다. 예를 들어, 심층 신경망 시스템(100)은 경량화 모델(140)을 기반으로 입력 데이터에 대한 음성 인식, 이미지 인식, 이미지 분류 등과 같은 다양한 심층 신경망 연산을 수행할 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 심층 신경망 시스템은 신경망 모델에 대한 목적 함수(objective function)(또는 비용 함수 또는 손실 함수)를 최적화하여 트레이닝을 수행함으로써, 심층 신경망 구조를 경량화시킬 수 있다. 따라서, 심층 신경망 모델이 경량화됨에 따라, 심층 신경망 시스템(100)의 전체적인 연산 속도가 향상될 수 있다.
도 3은 도 2의 S100 단계를 좀 더 상세하게 보여주는 순서도이다. 예시적인 실시 예에서, 도 3의 순서도에 따른 동작은 제어기(110)에 의해 수행되는 것으로 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 설명의 편의 및 본 발명의 기술적 사상을 명확하게 설명하기 위하여, 일부 기호들이 별도로 정의되어 사용되나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 1 내지 도 3을 참조하면, S110 단계에서, 제어기(110)는 신경망 모델을 입력 받을 수 있다. S120 단계에서, 제어기(110)는 컴포넌트들에 대한 그룹을 선정할 수 있다. 예를 들어, 제어기(110)는 다양한 심층 신경망 모델들 중 신경망 가속기(120)에 의해 트레이닝될 신경망 모델을 입력을 받을 수 있다. 이하에서, 본 발명의 기술적 사상을 용이하게 설명하기 위하여, 신경망 모델은 베이스 모델인 것으로 가정한다. 베이스 모델(base model)은 수학식 1과 같이 정의될 수 있다. 그러나 본 발명의 신경망 모델이 이에 한정되는 것은 아니다.
Figure pat00022
수학식 1을 참조하면, y는 베이스 모델(즉, 신경망 모델)에 포함된 모듈의 출력을 가리킬 수 있고, f는 모듈에 포함된 복수의 컴포넌트들(components)을 가리킬 수 있다. i는 복수의 컴포넌트들을 구분하기 위한 인덱스이며, n은 복수의 컴포넌트들의 개수를 가리킬 수 있다. 즉, 베이스 모델의 출력, y는 모듈에 포함된 복수의 컴포넌트들(f)의 선형 조합으로 정의될 수 있다. 예시적인 실시 예에서, 컴포넌트들의 그룹은 수학식 1을 참조하여 설명된 모듈일 수 있으며, 심층 신경망의 타입에 따라 다양하게 설정될 수 있다.
계속해서, 수학식 1을 참조하면, x는 모듈로의 입력을 가리키고, w는 컴포넌트(f)에 대한 모델 파라미터(또는 가중치)를 가리키고, a는 구조 파라미터(architecture parameter) 또는 중요도 파라미터(importance parameter)를 가리킨다.
모델 파라미터(w)는 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들(ordinary parameters)을 가리킬 수 있다.
중요도 파라미터(a)의 값은 대응하는 컴포넌트의 중요도를 가리킬 수 있으며, 다른 맥락에서는, 블록들 사이의 연결 강도를 가리킬 수 있다. 예시적인 실시 예에서, 중요도 파라미터(a)가 0(zero)으로 되는 것은 대응하는 컴포넌트(f)를 제거(removing)하거나 또는 대응하는 모델 파라미터들(w) 전체를 0으로 만들 수 있다. 즉, 중요도 파라미터들(a) 사이의 경쟁(competition)을 생성함으로써, 일부 중요도 파라미터가 0으로 될 수 있고, 이에 따라 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거될 수 있다.
S130 단계에서, 제어기(110)는 중요도 파라미터를 설정할 수 있다. 예를 들어, 앞서 설명된 바와 같이, 신경망 모델에 대한 트레이닝 과정에서, 중요도 파라미터(a)가 0으로 됨에 따라, 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거될 수 있다. 이를 위해, 중요도 파라미터(a)는 수학식 2와 같이 정의될 수 있다.
Figure pat00023
수학식 2를 참조하면, αβ는 제한되지 않는 자유 파라미터들(unconstrained free parameters)일 수 있다. σ(·)는 시그모이드 함수(sigmoid function)을 가리킬 수 있고, (·)+relu(·)=max(·,0), 즉, 수정된 선형 유닛(ReLU; Rectified Linear Unit) 함수를 가리킬 수 있다.
중요도 파라미터(a)가 수학식 2와 같이 설정될 경우, 중요도 파라미터(a)는 트레이닝 과정에서 0(zero)으로 수렴될 수 있다. 예를 들어, 자유 파라미터들(α, β)은 실수이며, 확률적 경사도 강하를 사용한 트레이닝 과정에서 어떠한 제한도 받지 않으며, 이에 따라 중요도 파라미터(a)는 자유 파라미터들(α, β)을 통해 트레이닝될 수 있다. 수학식 2의 시그모이드 함수, σ(·)는 중요도 파라미터(a)가 음수가 되지 않도록 하며(즉, 중요도 파라미터(a)는 비-음수(non-negative)임), 지수 함수가 대신 사용될 수 있다. 일반적인 경우, 중요도 파라미터(a)는 수학식 2의 시그모이드 함수, σ(·) 또는 지수 함수에 의해 0이 될 수 없다. 그러나, 수학식 2의
Figure pat00024
Figure pat00025
는 임계 동작(thresholding operation)에 의해 0이 될 수 있고, 이에 따라, 중요도 파라미터(a)가 0이 될 수 있다. 수학식 2의
Figure pat00026
에 대한
Figure pat00027
의 항은 임계치(threshold)의 역할을 할 수 있으며, 임계 동작이 다음과 같이 해석될 수 있다: 만약 경쟁 그룹 내에서 제i 컴포넌트(fi)의 강도가 전체 강도보다 작다면, 제i 컴포넌트(fi)는 경쟁 그룹에서 배제된다.
임계치의 크기를 결정하는 수학식 2의 스칼라 파라미터(β)는 하이퍼-파라미터(hyper-parameter)가 아닐 수 있으며, 트레이닝을 통해 자동으로 결정될 수 있다. 수학적으로 임계 동작(thresholding operation)은 미분가능하지 않지만, 최신의 심층 신경망 학습 툴에 내장된 미분가능한 함수로서 relu의 지원을 고려할 때, 문제가 되지 않는다. 또한, γ가 음수가 아니므로, l1-놈(l1-norm)은 간단하게 γi의 합(즉,
Figure pat00028
)일 수 있다. 수학식 2의 중요도 파라미터(a)는 구성들 사이의 경쟁을 촉진시킬 수 있다.
예시적인 실시 예에서, 모든 컴포넌트들이 제거되고 모듈(y)이 무효화된 널 컴포넌트(null component)를 모델링하는 것이 가능할 수 있다. 수학식 3의 임계치가 비선택(non-chosen)의 일부로서 고려될 수 있으며, 이에 따라 널 오퍼레이터(null operator)의 강도는 수학식 3과 같이 정의될 수 있다.
Figure pat00029
수학식 3의 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 수학식 3을 기반으로, 널 오퍼레이터(null operator)를 포함하는 각 컴포넌트들이 생존할 수 있는 초기 기회가 동일해지도록 αi의 초기값을 0으로 설정하고, β의 값을 -log(n2+n-1)로 설정할 수 있다. 즉, i=1,…에 대하여,
Figure pat00030
임. 널 오퍼레이터(null operator)를 고려하면,
Figure pat00031
를 정규화하여 수학식 4와 같이 중요도 파라미터(a)를 구성할 수도 있다.
Figure pat00032
수학식 4의 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
상술된 바와 같이, 신경망 모델(또는 베이스 모델)에 포함된 복수의 컴포넌트들에 대한 중요도 파라미터(a)가 수학식 2 또는 수학식 4와 같이 설정됨으로써, 확률적 경사도 강하를 사용한 트레이닝 과정에서, 중요도 파라미터(a) 중 적어도 일부가 0으로 수렴될 수 있다. 즉, 트레이닝 과정에서, 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거될 수 있다.
S140 단계에서, 제어기(110)는 신경망 모델에 대한 목적 함수를 설정할 수 있다. 예를 들어, 목적 함수(objective function)(또는 비용 함수 또는 손실 함수)는 수학식 5와 같이 표현될 수 있다.
Figure pat00033
수학식 5를 참조하면,
Figure pat00034
은 예측 손실(prediction loss)을 가리키고,
Figure pat00035
은 정규화 항(regularization term)을 가리키고, D는 학습 데이터의 세트를 가리키고, W는 모델 파라미터들(w)의 세트(즉, {wi})를 가리키고, λ는 예측 손실과 모델 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리킬 수 있다. 수학식 5의 a는 중요도 파라미터들의 벡터를 가리킬 수 있다.
예를 들어, 분류(classification)에서는 크로스 엔트로피(cross entropy)를 예측 손실 함수로, 회귀 분석(regression)에서는 평균 제곱 오차(mean squared error)를 손실 함수로 사용할 수 있다. 중요도 파라미터(a)를 희소화하는 것은 심층 신경망을 희소화시킬 수 있다. 즉, 수학식 5에서, 중요도 파라미터(a)에 대한 정규화 항
Figure pat00036
을 이용하여 중요도 파라미터(a)를 희소화하거나 또는 중요도 파라미터(a)의 원소들 사이의 경갱들을 추진할 수 있다.
종래의 경우 일반적으로 파라메터 선택을 위해 l1-놈(l1-norm)을 사용한다. 하지만, 본 발명의 경우, 중요도 파라미터(a)가 소프트맥스(softmax)를 사용하여 정규화되기 때문에, l1-놈(l1-norm)이 항상 1(one)(즉,
Figure pat00037
)이된다. 따라서, 종래의 l1-놈(l1-norm)을 이용한 정규화 항은 본발명의 중요도 파라미터(a)에 대하여 동작하지 않는다. 따라서, 본 발명에 따른 실시 예에서, 정규화 항은 수학식 6과 같이 p-놈(p-norm)을 사용할 수 있다.
Figure pat00038
수학식 6을 참조하면, p<1이고, 나머지 인수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 중요도 파라미터(a)는 항상 음수가 아니기 때문에, 수학식 6이 성립될 수 있다. 예시적인 실시 예에서, p<1인 p-놈(p-norm)은 0이 아닌 구성을 선호할 수 있다. 예시적인 실시 예에서, p=0.5일 수 있다. 정규화 항은 relu에 의한 중요도 파라미터(a)가 0인 경우(즉, ai=0)를 제외한 거의 모든 상황에서, 미분가능하다. 본 발명의 실시 예에 따르면, 정규화 항이 미분 가능할 뿐만 아니라, 트레이닝 동안, 중요도 파라미터가 0이 될 수 있기 때문에, 확률적 경사도 강하를 사용하여 신경망의 가중치들 및 희소화된 구조가 동시에 트레이닝될 수 있다.
도 4는 도 2의 S200 단계의 동작을 예시적으로 보여주는 순서도이다. 예시적인 실시 예에서, 도 4의 순서도에 따른 동작은 신경망 가속기(120)에 의해 수행되는 것으로 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예시적인 실시 예에서, 도 4의 순서도에 따른 동작이 수행되기 전에, 제어기(110)에 의해 중요도 파라미터, 목적 함수 등과 같은 다양한 사전 정보들이 미리 설정될 수 있다.
도 1 내지 도 4를 참조하면, S210 단계에서, 신경망 가속기(120)는 신경망 모델 및 목적 함수를 입력 받을 수 있다. 예시적인 실시 예에서, 신경망 모델은 수학식 1을 참조하여 설명된 바와 같은, 베이스 모델로 모델링될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니며, 학습될 신경망의 종류에 따라 다양하게 변형될 수 있다.
S220 단계에서, 변수(k)가 1로 설정된다. 예시적인 실시 예에서, 변수(k)는 신경망 가속기의 트레이닝 동작의 반복 수행을 설명하기 위한 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
S230 단계에서, 신경망 가속기(120)는 제k 학습 데이터를 수신할 수 있다. 예시적인 실시 예에서, 제k 학습 데이터는 제어기(110)로부터 수신될 수 있다. 또는 제k 학습 데이터는 별도의 입력 장치를 통해 수신될 수 있다. 예시적인 실시 예에서, 제k 학습 데이터는 미니-배치(mini-batch) 형태로 입력될 수 있다. 예를 들어, 신경망 가속기(120)는 확률적 경사도 강하(SGD)를 사용하여 트레이닝을 수행할 수 있다. 이 때, 확률적 경사도 강하는 복수의 컴포넌트들을 특정 그룹 단위로 구분하고, 구분된 그룹 단위(즉, 모듈 단위)로 경사도 연산을 수행하는 방식일 수 있다. 이 때, 제k 학습 데이터는 구분된 그룹 단위 또는 모듈 단위에 대응하는 크기(즉, 미니-배치 형태)를 가질 수 있다.
S240 단계에서, 신경망 가속기(120)는 제k 학습 데이터, 신경망 모델, 및 목적 함수를 기반으로 경사도(gradient)를 연산할 수 있다. S250 단계에서, 신경망 가속기(120)는 연산된 경사도를 기반으로 파라미터들(예를 들어, 모델 파라미터(w) 및 중요도 파라미터(a))를 갱신할 수 있다. 예시적인 실시 예에서, 파라미터들(예를 들어, 모델 파라미터(w) 및 중요도 파라미터(a))은 연산된 경사도(즉, 목적 함수의 경사도)를 기반으로 목적 함수가 최적화(즉, 최소)되는 파라미터들로 갱신될 수 있다.
이후에, S261 단계에서, 변수(k)가 최대인지(즉, 주어진 횟수만큼 트레이닝이 반복 수행되었는지) 판별된다. 변수(k)가 최대가 아닌 경우, 변수(k)는 1만큼 증가하고, S230 단계의 동작이 수행된다. 변수(k)가 최대인 경우, S270 단계에서, 신경망 가속기(120)는 경량화 모델(140)을 생성하고 저장할 수 있다.
예시적인 실시 예에서, 경사도 연산(즉, S240 단계의 동작)은 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용하여 연산될 수 있다. 예시적인 실시 예에서, 경사도 연산(즉, S240 단계의 동작)은 확률적 경사도 강하(SGD; stochastic gradient descent)의 변형된 구성을 사용하여 연산될 수 있다. 예를 들어, 확률적 경사도 강하(SGD)는 정방향 경로(forward pass) 및 역방향 경로(backward pass)에 대한 연산들을 포함할 수 있다. 중요도 파라미터(a)에 대한 정방향 경로 연산은 수학식 2를 기반으로 수행될 수 있고, 역방향 경로 연산은 수학식 2의
Figure pat00039
Figure pat00040
를 수학식 7로 대체하여 연산될 수 있다.
Figure pat00041
수학식 2 및 수학식 7을 참조하면,
Figure pat00042
에 대한 함수가 relu에서 elu로 변경된 것 이외에 다른 구성들은 동일하므로, 이에 대한 상세한 설명은 생략된다. elu는 지수 선형 유닛(ELU; Exponential linear unit) 함수를 가리킨다. 예를 들어,
Figure pat00043
가 수학식 2의 임계치보다 작은 경우, 경사도는 0이될 수 있고, 대응하는 컴포넌트는 학습 신호를 수신하지 못할 수 있다. 그러나, 이는
Figure pat00044
가 임계치보다 작으면, 반드시 컴포넌트가 제거된다는 것을 의미하지 않는다. 임계치가 조정될 수 있고, 다른 컴포넌트들의 중요도 점수가 감소할 수 있기 때문에, 상술된 조건의 컴포넌트들이 복구될 기회가 존재한다. 그럼에도 불구하고, 임계치보다 작은 이는
Figure pat00045
가 학습 신호를 연속적으로 받는 것을 보장하기 위해, 본 발명의 실시 예들은 임계 함수(thresholding function)의 경사도를 근사화시킬 수 있다. 본 발명의 실시 예에 따르면, 경사도 연산에 있어서, 제안된 방법의 변형으로서, elu를 사용할 수 있다. relu 및 elu의 2가지 함수들은 양수 도메인에서는 동일하며, el의 미분계수는 모든 영역에서 0이 아니며, 이에 따라, 최소 근사 오차들을 갖는 학습 신호가 생성될 수 있다. 정방향 경로(forward pass)에서는, relu가 사용되고, 역방향 경로(backward pass)에서는, 수학식 7과 같이 elu가 사용된다. 예시적인 실시 예에서, 역방향 경로 연산에서,
Figure pat00046
에 대한 함수는 elu와 다른 다양한 함수들을 사용하여 구현될 수 있다.
본 발명의 실시 예에 따른 방법은 최신 심층 신경망 학습 툴들을 사용하여 용이하게 구현될 수 있으며, 이러한 학습은 구글(Google)의 텐서플로오(Tensorflow)와 같은 확률적 경사도 회적화의 프레임워크에서 수행될 수 있다. 상술된 바와 같이, 본 발명의 실시 예에 따르면, 확률적 경사도 강하(SGD)를 사용한 트레이닝 동안, 신경망 모델에 대한 모델 파라미터들(즉, 가중치들) 및 각 컴포넌트에 대한 중요도 파라미터들이 동시에 학습될 수 있다. 따라서, 신경망 경량화 과정이 간소화될 수 있으며, 생성된 경량화 모델을 사용하여 신경망 연산 성능이 향상될 수 있다.
도 5는 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다. 예시적인 실시 예에서, 도 5를 참조하여, 심층 신경망의 한 종류인 ResNet에 본 발명에 따른 트레이닝 방법이 적용되는 실시 예가 설명된다. 도 5를 참조하면, ResNet은 복수의 스테이지들을 포함할 수 있다. 도면의 간결성 및 설명의 편의를 위하여, ResNet에 대한 하나의 스테이지가 도 5에 도시되고, 하나의 스테이지는 제1 내지 제3 잔차 블록들(RB1~RB3)을 포함하는 것으로 가정한다.
도 5에 도시된 바와 같이, 입력 데이터(xs)는 제1 잔차 블록(RB1)으로 제공되고, 제1 잔차 블록(RB1)의 출력은 입력 데이터(xs)와 함께, 제2 잔차 블록(RB2)의 입력으로 제공되고, 제2 잔차 블록(RB2)의 출력은 제2 잔차 블록(RB2)의 입력과 함께, 제3 잔차 블록(RB3)의 입력으로 제공되고, 제3 잔차 블록(RB3)의 출력은 제3 잔차 블록(RB3)의 입력과 함께 스테이지의 출력 데이터(ys)로 출력될 수 있다. 즉, 잔차 블록들(RB1~RB3) 각각은 제1 내지 제3 지름길들(Shortcut)(SC1~SC3)을 통해 서로 연결될 수 있다. ResNet에서 각 스테이지는, 독립적인 그룹으로 간주될 수 있으며, 각 스테이지에서 다른 깊이들이 학습될 수 있다.
예시적인 실시 예에서, ResNet의 잔차 블록 및 스테이지는 앞서 설명된 컴포넌트 및 모듈과 대응될 수 있다. 이 경우, ResNet의 하나의 스테이지에 대한 출력은 수학식 8과 같이 표현될 수 있다.
Figure pat00047
수학식 8을 참조하면, ys는 스테이지, 또는 스테이지의 출력을 가리키고, xs는 스테이지로의 입력을 가리키고, ns는 스테이지에 포함된 잔차 블록들의 개수를 가리키고, fi s는 잔차 블록을 가리키고, wi s는 fi s에 대한 모델 파라미터들을 가리킨다.
Figure pat00048
이고,
Figure pat00049
이다.
동일한 스테이지에 포함된 블록들(예를 들어, 제1 내지 제3 잔차 블록들(RB1~RB3))은 트레이닝 과정에서 서로 경쟁할 수 있으며, 중요도 파라미터(a)의 일부 원소들이 0(zero)으로 수렴할 수 있다. 이에 따라 깊이가 결정될 수 있다. 예를 들어, 제2 잔차 블록(RB2)이 ResNet을 구현하는데 중요하지 않거나 또는 불필요한 경우, 제2 잔차 블록(RB2)과 대응되는 중요도 파라미터가 트레이닝 과정에서 0으로 수렴될 수 있다. 이 경우, 제2 잔차 블록(RB2)이 제거될 수 있다. 예시적인 실시 예에서, 일부 블록들이 제거되더라도, 각 블록 사이에 지름길들(SC1~SC3)이 존재하지 때문에, 정방향 및 역방향 경로들은 완전하게 연결 해제되지 않는다. 예시적인 실시 예에서, 본 발명의 실시 예에 따라 ResNet에 적용되는 목적 함수는 수학식 9와 같이 표현될 수 있다.
Figure pat00050
수학식 9를 참조하면, W={wi s}이고, A={as}일 수 있다. S는 스테이지들의 개수를 가리키고, as는 제s 스테이지의 중요도 파라미터들의 벡터를 가리킬 수 있다. 나머지 인수 및 함수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
상술된 바와 같이, 본 발명에 따른 중요도 파라미터 및 목적 함수가 심층 신경망의 한 종류인 ResNet에 적용될 수 있으며, 이에 따라, ResNet의 트레이닝 과정에서, 불필요한 컴포넌트들이 제거됨으로써, ResNet의 신경망 모델이 경량화될 수 있다.
도 6은 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다. 예시적인 실시 예에서, 도 6을 참조하여, 심층 신경망의 한 종류인 ResNeXt에 본 발명에 따른 트레이닝 방법이 적용되는 실시 예가 설명된다. 도 6을 참조하면, ResNeXt는 복수의 스테이지들을 포함할 수 있다. 도면의 간결성 및 설명의 편의를 위하여, ResNeXt에 대한 하나의 스테이지가 도 6에 도시되고, 하나의 스테이지는 제1 내지 제3 잔차 블록들(RB1~RB3)을 포함하는 것으로 가정한다.
도 6에 도시된 바와 같이, 입력 데이터(xs,b)는 제1 내지 제3 잔차 블록들(RB1~RB3)로 각각 제공되고, 제1 내지 제3 잔차 블록들(RB1~RB3)의 출력들은 입력 데이터(xs)와 함께, 스테이지의 출력 데이터(ys,b)로 출력될 수 있다. 예시적인 실시 예에서, ResNeXt는 도 5를 참조하여 설명된 ResNet과 유사한 구조를 가질 수 있으나, ResNet의 각 블록은 단일 브랜치(single branch)를 갖는 반면에, ResNeXt의 각 블록은 복수의 브랜치들을 각 블록이 복수의 브랜치들을 포함할 수 있다. ResNet과 유사하게, ResNeXt의 복수의 블록들은 지름길 연결(shortcut connections)을 통해 연결될 수 있다. ResNeXt에서 각 스테이지는, 독립적인 그룹으로 간주될 수 있으며, 각 스테이지에서 다른 너비들(width, cardinality)이 학습될 수 있다.
예시적인 실시 예에서, 앞서 설명된 바와 유사하게, ResNet의 잔차 블록 및 스테이지는 컴포넌트 및 모듈과 각각 대응될 수 있으며, 스테이지의 출력은 수학식 10과 같이 표현될 수 있다.
Figure pat00051
수학식 10을 참조하면, ys,b는 제s 스테이지의 제b 잔차 블록을 가리키고, fi s,b는 블록의 브랜치를 가리키고, xs,b는 블록 및 브랜치의 입력을 가리키고, ns,b는 브랜치들의 개수를 가리키고, wi s,b는 fi s,b의 모델 파라미터들을 가리킬 수 있다. 트레이닝 과정 동안 동일한 블록의 브랜치들이 서로 경쟁함으로써, 너비(width)가 학습될 수 있다. 예시적인 실시 예에서, 본 발명의 실시 예에 따라 ResNeXt에 적용되는 목적 함수는 수학식 11과 같이 표현될 수 있다.
Figure pat00052
수학식 11을 참조하면, W={wi s,b}이고, A={as,b}일 수 있다. Bs는 제s 스테이지의 블록들의 개수일 수 있고, as,b는 제s 스테이지의 제b 블록에 대한 중요도 파라미터의 벡터일 수 있다. 나머지 인수 및 함수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
상술된 바와 같이, 본 발명에 따른 중요도 파라미터 및 목적 함수가 심층 신경망의 한 종류인 ResNeXt에 적용될 수 있으며, 이에 따라, ResNeXt의 트레이닝 과정에서, 불필요한 컴포넌트들이 제거됨으로써, ResNeXt의 신경망 모델이 경량화될 수 있다.
도 7은 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다. 예시적인 실시 예에서, 도 6을 참조하여, 심층 신경망의 한 종류인 DenseNet에 본 발명에 따른 트레이닝 방법이 적용되는 실시 예가 설명된다. 도 7을 참조하면, DenseNet은 복수의 스테이지들을 포함할 수 있다. 도면의 간결성 및 설명의 편의를 위하여, DenseNet에 대한 하나의 스테이지가 도 7에 도시되고, 하나의 스테이지는 제1 내지 제7 레이어(층)들을 포함하는 것으로 가정한다. 도 7에 도시된 입력 데이터 구조(IN)에서 s의 인덱스는 스테이지를 가리키고, 제l 레이어의 입력 및 출력은 제l 행 및 xl s로 표현된다. 예를 들어, 제4 행(ROW4)은 제4 레이어의 입력이고, x4 s는 제4 레이어의 출력일 수 있다. 중요도 파라미터 구조(SP)는 각 레이어에 대한 중요도 파라미터를 가리킬 수 있다. 예시적인 실시 예에서, 본 발명의 실시 예에 따라 트레이닝된 중요도 파라미터 구조(SP)는 도 7에 도시된 바와 같이, 희소화될 수 있다. 예를 들어, 트레이닝을 통해 제4 행(ROW4)에서 일부 중요도 파라미터들만 존재할 수 있으며, 나머지 중요도 파라미터들은 0으로 수렴될 수 있다.
DenseNet의 각 스테이지에서, 레이어로의 입력은 이전의 모든 레이어들의 피쳐 맵들로 구성된다. 예시적인 실시 예에서, 본 발명에 따르면, 이전 레이어들로부터의 모든 피쳐 맵들이 필요하지 않을 수 있다. 다시 말해서, 이전 레이어들로부터의 피쳐 맵들 중 일부만 필요할 수 있다. 즉, 도 2에 도시된 바와 같이, 피쳐 맵들이 행 단위로 그룹핑될 수 있으며, 이에 따라 입력 피쳐 맵들이 서로 경쟁할 수 있고, 가장 효율적인 피쳐들 또는 연결들이 각 레이어에서 선택될 수 있다. 본 발명에 따른 트레이닝을 위해 DenseNet의 레이어가 수학식 12와 같이 표현될 수 있으며, 이에 따라, dense 연결들이 학습될 수 있다.
Figure pat00053
수학식 12를 참조하면, xl s는 제s 스테이지의 제l 레이어의 출력 피쳐 맵을 가리키고, x0 s는 이전 스테이지로부터 주어질 수 있다. fl s는 비선형 합성 함수(nonlinear composition function)을 가리키고, [·]는 연결 연산자(concatenation operator)를 가리키고, wl s는 모델 파라미터들을 가리킬 수 있다. 나머지 인수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 예시적인 실시 예에서, 본 발명의 실시 예에 따라 DenseNet에 적용되는 목적 함수는 수학식 13과 같이 표현될 수 있다.
Figure pat00054
수학식 13을 참조하면, W={wi s}이고, A={as,l}일 수 있다. Ls는 제s 스테이지의 레이어들의 개수일 수 있고, as,l는 제s 스테이지의 제l 블록에 대한 중요도 파라미터의 벡터일 수 있다. 나머지 인수 및 함수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
상술된 바와 같이, 본 발명에 따른 중요도 파라미터 및 목적 함수가 심층 신경망의 한 종류인 DenseNet에 적용될 수 있으며, 이에 따라, DenseNet의 트레이닝 과정에서, 불필요한 컴포넌트들이 제거됨으로써, DenseNet의 신경망 모델이 경량화될 수 있다.
도 8 및 도 9는 본 발명에 따른 트레이닝 방법의 적용 예를 설명하기 위한 도면이다. 예시적인 실시 예에서, 도 8 및 도 9를 참조하여, 심층 신경망의 한 종류인 GCN(Graph Convolutional Network)에 본 발명에 따른 트레이닝 방법이 적용되는 실시 예가 설명된다. 도 8 및 도 9를 참조하면, GCN은 복수의 레이어들을 포함할 수 있다. 도면의 간결성을 위하여, 도 8에서 하나의 레이어가 도시되며, 하나의 레이어는 인접 매트릭스(ADJ), 피쳐 맵 매트릭스(FT), 및 가중치 매트릭스(WT)를 포함하는 것으로 가정한다. GCN의 레이어는 수학식 14와 같이 표현될 수 있다.
Figure pat00055
수학식 14를 참조하면, A는 인접 매트릭스(ADJ)이고, Hl 및 Wl은 제l 레이어에 대한 입력 피쳐 맵 매트릭스(FT) 및 가중치 매트릭스(WT)일 수 있다. F는 비선형 활성 함수(nonlinear activation function)일 수 있다. 예시적인 실시 예에서, A는 음수가 아니며(non-negative), GCN 블록들 또는 레이어들 사이에서 공유될 수 있다. A는
Figure pat00056
또는
Figure pat00057
와 같은 정규화(normalization)에 의해 얻어질 수 있다. 이 때,
Figure pat00058
는 정규화되지 않은 인접 매트릭스이고,
Figure pat00059
Figure pat00060
를 갖는 대각 매트릭스(diagonal matrix)일 수 있다. 인접 매트릭스는 그래프 상의 노드들 사이의 관계들(relationships) 또는 연결들(connections)을 나타낼 수 있으며, 도메인 지식이 있는 전문가에 의해 주어질 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다. Ai,j의 값을 학습하는 것에 의해 노드 i 및 j 사이의 관계가 결정될 수 있다. Ai,j의 값이 0(zero)인 경우, 2개의 노드들은 무관한 것으로 간주될 수 있다.
도 8 및 도 9에 도시된 바와 같이, 그룹으로서 각 행 및 열이 정의될 수 있다. 행을 그룹핑하는 것은 입력 노드들(in-coming nodes) 사이의 경쟁을 생성하고, 열을 그룹핑하는 것은 출력 노드들(out-going nodes) 사이의 경쟁을 생성할 수 있다. 예를 들어, 도 8 및 도 9에 도시된 바와 같이, 제i 행(Ai ,:)이 그룹핑됨으로써, 제i 행(Ai ,:)에 대응하는 입력 노드들 사이의 경쟁이 생성되고, 제j 열(A:,j)이 그룹핑됨으로써, 제j 열(A:,j)에 대응하는 출력 노드들 사이의 경쟁이 생성될 수 있다.
정규화되지 않은 인접 매트릭스(
Figure pat00061
Figure pat00062
)의 각 행과 열은 수학식 2의
Figure pat00063
와 유사하게 매개변수화될 수 있다. 수학식 2의 소프트맥스 정규화(softmax normalization)은 Sinkhorn 정규화(Sinkhorn normalization)으로 대체될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 각 행 및 각 열의 합계는 각각 1(one)일 수 있다.
Figure pat00064
를 사용하여 A를 초기화하는 것과 함께, 수학식 15를 반복 적용함으로써,
Figure pat00065
를 이중 확률 매트릭스(doubly stochastic matrix)로 변환할 수 있다.
Figure pat00066
수학식 15를 참조하면, Dr 및 Dc는 대각 매트릭스들일 수 있다. 예시적인 실시 예에서, 정규화가 반복적으로 수행되나, 이는 미분 가능하다. 밸런스 정규화(Balanced normalization)는 수학식 16을 반복 적용함으로써 가능할 수 있다.
Figure pat00067
수학식 16의 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 상술된 수학식을 반복적으로 적용하는 것은 수치 실험에 의해
Figure pat00068
를 이중 확률 매트릭스로 변환되는 것이 검증되었다.
경쟁 그룹들이 행 및 열 단위로 생성되기 때문에, 이에 대한 목적 함수는 수학식 17과 같이 표현될 수 있다.
Figure pat00069
수학식 17을 참조하면, W={Wl}이고, N은 정사각 매트릭스 A의 크기이고, Ai ,:및 A:,j는 A의 제i 행 벡터 및 제i 열 벡터를 각각 가리킬 수 있다. 나머지 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
상술된 바와 같이, 본 발명에 따른 중요도 파라미터 및 목적 함수가 심층 신경망의 한 종류인 GCN에 적용될 수 있으며, 이에 따라, GCN의 트레이닝 과정에서, 불필요한 컴포넌트들이 제거됨으로써, GCN의 신경망 모델이 경량화될 수 있다.
상술된 바와 같이, 본 발명에 따른 신경망 경량화 방법은 다양한 심층 신경망에 적용될 수 있다. 상술된 심층 신경망의 타입들(예를 들어, ResNet, ResNeXt, DenseNet, GCN 등)은 예시적인 것들이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
예시적인 실시 예에서, 본 발명은 l2,1-놈(l2,1-norm)을 사용한 그룹 희소 정규화(group sparsity regularization)와 연관될 수 있다. 파라미터 그룹들이 생성될 수 있고, 그룹 레벨에서 희소성을 적용할 수 있다. 여기서, 동일한 그룹 내의 모든 파라미터들이 함께 유지되거나 또는 함께 제로화되도록, 그룹은 동일 필터, 뉴런, 또는 레이어에 대한 파라미터들의 세트로서 정의될 수 있다. 그룹 희소(group sparsity)는 뉴런들 및 레이어들의 개수를 자동으로 판별하는데 적용될 수 있다. l2,1-놈(l2,1-norm)을 사용한 정규화된 목적 함수는 수학식 18과 같을 수 있다.
Figure pat00070
수학식 18의 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 수학식 18의 정규화 항(regularization term)은 수학식 19와 같이 표현될 수 있다.
Figure pat00071
수학식 19를 참조하면, W={wg}이고, wg는 모델 파라미터들의 그룹을 가리킬 수 있다. 정규화 항을 최적화하기 위해 인접 연산자(proximal operator)를 사용하여 파라미터 갱신이 수학식 20과 같이 수행될 수 있다.
Figure pat00072
수학식 20을 참조하면, ←의 연산자는 할당 연산자를 가리키고, η는 학습율을 가리킬 수 있다. 나머지 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 인접 연산자(proximal operator)는 예측 손실의 최적화 후에 별도의 단계에서 수행되거나 또는 모든 미니-배치에서 수행되는 가중치 쇠퇴(weight decaying) 및 임계치(thresholding) 단계들을 포함할 수 있다. 즉, 인접 경사도 간하(proximal gradient descent)를 사용한 파라미터 갱신은 모델 이산 단계(model discretization step)으로 볼 수 있다. 또한, 상술된 동작들이 예측 손실에 대한 최적화와 별도의 단계로서 수행되기 때문에, 이러한 방식들은 최적화된 모델 파라메터의 값을 찾는데 한계가 있다. 반면에, 본 발명의 실시 예에 따른 최적화 방법은 예측 정확도(prediction accuracy) 및 모델 복잡도(model complexity)를 동시에 최적화할 수 있으며, 이에 따라 상술된 구성들 사이의 트레이드-오프가 좀 더 최적화될 수 있다. 또한 추가적인 이산 단계 없이 확률적 경사도 강하를 사용하여 희소 구조가 학습될 수 있다.
예시적인 실시 예에서, 다른 연관된 그룹 정규화 방안은 l1,2-놈(l1,2-norm)을 갖는 exclusive lasso이다. 전체 그룹을 함께 제거하거나 또는 유지하는 것 대신에, 그룹 내의 희소를 촉진하는 것이 사용될 수 있다. 이 때 정규화 항은 수학식 21과 같이 표현될 수 있다.
Figure pat00073
수학식 21의 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 예시적인 실시 예에서, 수학식 21과 관련된 방안은 논문, Wen, W., Wu, C., Wang, Y., Chen, Y., and Li, H. Learning structured sparsity in deep neural networks. In NIPS, 2016, 및 논문, Alvarez, J. M. and Salzmann, M. Learning the number of neurons in deep networks. In NIPS, 2016에 게재되어 있으며, 이는 본 발명의 레퍼런스로서 첨부된다. 정규화 항을 최적화하기 위해, 수학식 22의 인접 연산자(proximal operator)를 사용하여 학습이 수행될 수 있다.
Figure pat00074
수학식 22의 변수들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 예시적인 실시 예에서, 수학식 22와 관련된 구성은 논문 Zhou, Y., Jin, R., and Hoi, S. C. Exclusive lasso for multitask feature selection. In AISTATS, 2010, 및 논문 Yoon, J. and Hwang, S. J. Combined group and exclusive sparsity for deep neural networks. In ICML, 2017에 게재되어 있으며, 본 발명의 레퍼런스로서 첨부된다. 수학식 22에서, ωg,i가 음수가 아닌 경우(즉, non-negative), 인접 연산자는 수학식 2의
Figure pat00075
의 형태로 감소된다. 예시적인 실시 예에서, 상술된 구성들의 형태가 서로 유사할 수 있으나, 상술된 구성들은 서로 완전하게 다른 의미를 가진다. 인접 연산자는 학습 규칙(learning rule)인 반면에, 수학식 2의
Figure pat00076
는 신경망의 일부인 중요도 파라미터의 매개변수화된 형태이다.
예시적인 실시 예에서, 본 발명은 미분가능한 아키텍쳐 학습과 관련될 수 있다. 근사화된 연속 도메인(relaxed continuous domain)에서 중요 파라미터 또는 아키텍쳐 파라미터를 최적화하는 것을 통해 신경망의 구조가 학습될 수 있다. 여기에서, 중요 파라미터 또는 아키텍쳐 파라미터는 빌딩 블록들의 중요도 점수들 또는 빌딩 블록들 사이의 연결들의 강도를 가리킬 수 있다.
예시적인 실시 예에서, 잔차 블록들 사이의 연결성(connectivity)을 학습으로써, ResNeXt의 멀티-배치 아키텍쳐가 자동으로 결정될 수 있다. 그러나, 트레이닝은 랜덤 샘플림 및 아키텍쳐 파라미터들을 클램핑하는 것을 포함하는 반면에, 본 발명에 따른 최적화 방안은 확률적 경사도 강하(SGD; stochastic gradient descent)에 의해 간단하게 수행될 수 있고, 트레이닝 단계를 위한 추가적인 변형이 요구되지 않는다. 종래의 최적화 방법들은 블록들 사이의 연결들의 개수를 사전에 수동으로 정의하는 것을 필요로 하기 때문에, 모든 블록들에서 동일한 분기 팩터(branch factor)를 설정한다. 예시적인 실시 예에서, 상술된 구성은 논문 Ahmed, K. and Torresani, L. Connectivity learning in multibranch networks. CoRR, abs/1709.09582, 2017. URL http://arxiv.org/abs/1709.09582에 개재되어 있으며, 본 발명의 레퍼런스로서 첨부된다.
예시적인 실시 예에서, 트레이닝 동작 동안 샘플링 및 클램핑 단계들을 필요로 하지 않는 방법들이 제한되고 있다. 이러한 방법들은 좀 더 많은 구조들을 학습할 수 있다. 이러한 방법들은 소프트맥스를 적용하여 후보 컴포넌트들 사이의 경쟁을 촉진할 수 있으나, 이산 아키텍쳐(discretized architecture)를 얻기 위해서는, 아키텍쳐 파라미터들의 값들에 따라 상위 k개의 연결들을 선택하는 것을 필요로 하고, 이 때, k의 값은 수동으로 사전에 설정되어야 한다. 이는 트레이닝동안, 아키텍쳐 파라미터들의 크기가 0(zero)으로 수렴하는 것을 허용하지 않기 때문이다. 즉, 학습된 아키텍쳐 및 최종 이산 아키텍쳐 사이의 차이의 문제점이 있다. 예시적인 실시 예에서, 상술된 구성은 논문 Liu, H., Simonyan, K., and Yang, Y. Darts: Differentiable architecture search. In ICLR, 2019에 게재되어 있으며, 본 발명의 레퍼런스로서 첨부된다.
그러나, 상술된 기술들과 달리, 본 발명에 따르면, 신경망으로 희소성(sparsity)를 구현할 수 있고, 모듈의 연결들 또는 컴포넌트들의 개수를 사전에 정의하는 것을 필요로 하지 않는다. 모델 복잡도는 정규화된 목적 함수에 의해 제어될 수 있다. 즉, 모델 차이가 최소화될 수 있으며, 신경망은, 최적의 경우, 각 모듈에서 다른 개수의 컴포넌트들 또는 연결들을 선택할 수 있다.
이하에서, 본 발명의 실시 예에 따른 최적화 방안을 일부 신경망에 적용한 실험 예가 구체적으로 기재된다. 이하에서 설명되는 실험 예들은 예시적인 것이며 본 발명의 범위가 이에 한정되는 것은 아니다.
먼저, 본 발명의 실시 예에 따른 최적화 방안을 DenseNet에 적용한 실험 예가 설명된다. 이 때, DenseNet은 스테이지 당 8개의 레이어들을 포함하는 것으로 가정한다. 트레이닝의 안정화를 위해, 인접한 2개의 레이어들 사이의 기본 연결이 설정된다. 앞서 설명된 수학식 12를 참조하면, al- 1 s,l이 상수(constant)로서 1로 설정된다. 따라서, 84개의 학습 가능한 연결들이 존재하며, 희소성은 84개 이상의 제거된 연결들의 개수일 수 있다. 실험을 간략히 하기 위해, 모든 스테이지에서, 단일 λ가 사용되었으며, 오리지날 DenseNet의 동일한 하이퍼-파라미터들을 사용하되, 일부 사항들이 수정된다. 본 발명의 실시 예에 따라 확률적 경사도 강사를 사용하여 모델 파라미터들이 트레이닝되고, Adam을 사용하여 아키텍쳐 파라미터들이 트레이닝된다. 상술된 내용들은 단순히 본 발명의 실시 예에 따른 기술적 사상의 효과를 용이하게 설명하기 위한 단순 실험 사례이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 상술된 실험 조건들에 따라 MNIST 수기 디지털 데이터 세트(MNIST handwritten digit data set)에 대한 실험 결과는 표 1과 같을 수 있다.
Method
λ
Top-1 Error(%) Min Median Max
Avg. Std. Err.(%) Spar.(%) Err.(%) Spar.(%) Err.(%) Spar.(%)
0.000 0.36 0.01 0.35 0.00 0.36 0.00 0.38 0.00
0.010 0.37 0.04 0.31 11.90 0.38 14.29 0.44 5.95
0.015 0.37 0.01 0.36 17.86 .037 27.38 0.39 17.86
0.020 0.40 0.06 0.32 26.19 0.39 26.19 0.48 30.95
0.025 0.39 0.03 0.35 38.10 0.38 34.52 0.44 28.57
표 2는 CIFAR-10 데이터 세트에 대한 실험 결과를 보여준다.
Method
λ
Top-1 Error(%) Min Median Max
Avg. Std. Err.(%) Spar.(%) Err.(%) Spar.(%) Err.(%) Spar.(%)
0.000 7.20 0.14 6.87 0.00 6.96 0.00 7.28 0.00
0.005 6.98 0.29 6.61 4.76 6.90 3.57 7.40 5.95
0.010 6.80 0.21 6.50 9.52 6.87 13.10 7.09 8.33
0.015 7.35 0.25 7.04 11.90 7.29 11.90 7.77 26.19
0.020 7.03 0.11 6.90 17.86 7.01 25.00 7.19 9.52
표 1과 표 2의 결과는 상술된 사항에 따라 각 경우에 따라 5번의 심험을하여 얻은 것이다. 개별적인 파라미터 대신에 컴포넌트 레벨에서 네트워크를 희소화시키는 것을 고려하면, 상술된 표 1 및 표 2에 기재된 희소성은 매우 의미 있다. 또한, DenseNet은 전문가에 의해 고도로 최적화된 모델이다. 또한, 상술된 실험 조건은 원본 DenseNet보다 좀 더 작은 망을 사용하였으며, 만약 원본 크기에 본 발명이 적용된다면, 희소성(sparsity)은 더욱 향상될 것이다. 예시적인 실시 예에서, 본 발명에 따른 최적화 방안은 GCN에 적용될 수 있다. 예를 들어, GCN을 적용하는 실험 조건은 도로망의 미래 교통 속도를 예측하는 것으로 가정한다. 이 때, 교통 속도 데이터는 170개의 거리 세그먼트들로부터 수집된 것으로 가정한다. GCN 적용에 대한 실험 조건에서, 인접 매트릭스 및 로우 입력 매트릭스(raw input matrix)의 크기들은 각각 170×170 및 170×8이고, 출력 블록은 170개의 추정치들을 생성하는 것으로 가정한다.
이 때, 예측 손실은 MRE(mean relative error)에 의해 수학식 23과 같이 정의될 수 있다.
Figure pat00077
수학식 23을 참조하면, N은 세그먼트들의 개수이고,
Figure pat00078
Figure pat00079
는 제i 거리 세그먼트상의 속도의 추정치 및 실제 관측 값을 각각 가리킬 수 있다. 실험 예는 5회 수행되고, 5개의 가장 작은 검증 오차들 중에서 중간 값이 선택된다. 예측 에러는 MAPE(mean absolute percentage error)를 사용하여 측정된다. 선행 기술에 따라 구현된 3개의 GDN 모델과 본명에 따라 구성하여 학습을 수행한 GCN 모델을 실험을 통해 비교하였다. 2개의 선형 모델에는 도로의 연결 정보를 직접 입력하고, 나머지 하는 도로의 연결 정보를 입력하지 않았다. 첫번째 선행 모델의 경우, 노드 (도로) i 및 j가 서로 인접하다면, Ai,j=1/ni가 되고, 그렇지 않다면, Ai,j=0이 되도록 Ai,j의 값을 상수로 설정하였다. 두번째 선행 모델에 대하여, 앞서 설명된 바와 유사하게, 연결들의 강도가 학습될 수 있도록, 노드 i 및 j가 서로 인접하다면, Ai,j=exp(αi,j)로 설정한다. 또 다른 하나의 베이스라인 모델에 대하여, 연결성을 설정하지 않으며, 대신에, 실제 연결과 무관하게, 모든 노드들(i,j)에 대하여,
Figure pat00080
로 설정한다. 상술된 수치들은 단순히 본 발명의 실시 예에 따른 효과를 설명하기 위한 단순한 실험 예에 적용되는 수치들이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
상술된 실험 예를 기반으로 노드들 사이의 학습된 관계를 측정하기 위해, 수학식 24와 같은 스코어 함수가 사용될 수 있다.
Figure pat00081
수학식 24를 참조하면, Ar=Dr -1A이고, Ac=ADc -1이고, ⊙는 엘리먼트-와이즈 곱(element-wise product)를 가리킬 수 있다. 노드들(i,j) 사이의 거리가 k보다 작거나 같아면, [Mk]i,j=1이고, 그렇지 않다면, [Mk]i,j=0일 수 있다. 최대 값은 1이고, 최소 값은 0이다. 예를 들어, 제1 및 제2 베이스라인들의 인접 매트릭스들은 M1의 구도와 정확히 동일하기 때문에, 제1 및 제2 베이스라인들은 항상 최대 값을 갖는다. k=1, 2, 및 3에 대하여, 점수들이 연산된다. 표 3은 베이스라인 모델들에 대한 성능을 보여준다.
Model # N.Z. MAPE(%) Learned Relation(×100)
k=1 k=2 k=3
I 878 5.6623 100.00 100.00 100.00
II 878 5.5160 100.00 100.00 100.00
III 28,900 5.6343 13.76 20.87 32.51
표 3을 참조하면, 제1 및 제2 베이스라인들에 대하여, 로드 연결성이 주어지고, 인접 매트릭스들의 0이 아닌 원소들이 878개이다. 제1 및 제2 베이스라인들의 학습된 관계의 값은 실제로 상수이나, 이는 비교를 위한 것이다. 제3 베이스라인은 로드 연결성이 주어지지 않았으며, 인접한 매트릭스의 0이 아닌 원소들의 개수는 28,00(=170×170)이다. 본 발명의 실시 예에 따른 최적화 방안이 적용된 실험 예의 결과는 표 4에 나타난다.
λ # N.Z. MAPE(%) Learned Relation(×100)
k=1 k=2 k=3
0.000 28,346 5.6126 15.34 22.48 34.05
0.025 1,981 5.4459 81.56 85.30 89.71
0.050 1,220 5.4744 87.06 89.94 93.03
0.075 1,009 5.5957 88.62 91.93 93.94
0.100 835 5.5336 89.79 92.13 93.94
표 4에 도시된 바와 같이, 본 발명의 실시 예에 따른 최적화 방안은 인접 매트릭스의 원소들을 0으로 만들고 희소 매트릭스(sparse matrix)를 생성한다. 상술된 실험 조건들 및 실험 결과는 단순히 본 발명의 실시 예에 따른 효과를 설명하기 위한 것이며, 본 발명이 이에 한정되지 않음이 이해될 것이다. 상술된 바와 같이, 본 발명의 실시 예들에 따르면, 목적 함수를 최적화함으로써, 심층 신경망의 가중치들 및 희소화된 구조를 동시에 학습할 수 있는 전 미분가능한 희소화 방안(또는 최적화 방안)이 제공된다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 심층 신경망 시스템
110: 제어기
120: 신경망 가속기
130: 메모리
140: 경량화 모델

Claims (14)

  1. 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법에 있어서,
    모델 파라미터들을 포함하는 신경망 모델에 대한 중요도 파라미터들을 생성하는 단계;
    상기 생성된 중요도 파라미터들을 기반으로 상기 신경망 모델에 대응하는 목적 함수를 생성하는 단계;
    학습 데이터를 수신하는 단계;
    상기 학습 데이터 및 상기 목적 함수를 기반으로, 확률적 경사도 강하(SGD; stochastic gradient descent)를 이용하여 상기 중요도 파라미터들 및 상기 모델 파라미터들에 대한 트레이닝을 동시에 수행하는 단계; 및
    상기 트레이닝의 결과를 기반으로 경량화 모델을 생성하고 저장하는 단계를 포함하고,
    상기 트레이닝을 통해 상기 중요도 파라미터들 중 적어도 하나는 0(zero)으로 수렴되는 동작 방법.
  2. 제 1 항에 있어서,
    상기 신경망 모델은 복수의 스테이지들을 포함하고, 상기 복수의 스테이지들 각각은 복수의 컴포넌트들을 포함하고, 상기 복수의 컴포넌트들은 복수의 모듈들로 그룹화되는 동작 방법.
  3. 제 2 항에 있어서,
    상기 학습 데이터의 크기는 상기 복수의 모듈들 각각의 크기에 대응하는 동작 방법.
  4. 제 2 항에 있어서,
    상기 중요도 파라미터들은 상기 복수의 컴포넌트들 각각에 대한 중요도를 가리키고, 수학식 1을 기반으로 설정되고,
    [수학식 1]
    Figure pat00082

    상기 수학식 1의 상기 i는 상기 복수의 컴포넌트들 중 대응하는 컴포넌트를 가리키는 인덱스이고, 상기 ai는 상기 대응하는 컴포넌트에 대한 중요도 파라미터를 가리키고, 상기 α 및 상기 β는 각각 자유 파라미터들이고, 상기 σ는 시그모이드 함수이고, 이고, 상기 (·)+은 수정된 선형 유닛(ReLU; rectified linear unit) 함수를 가리키는 동작 방법.
  5. 제 4 항에 있어서,
    상기 수학식 1의
    Figure pat00083
    는 상기
    Figure pat00084
    에 기반된 임계 동작에 의해 0(zero)이 되는 동작 방법.
  6. 제 5 항에 있어서,
    상기 수학식 1의 상기
    Figure pat00085
    에 대응하는 임계치는 상기 β에 의해 결정되고, 상기 β는 하이퍼-파라미터(hyper-parameter)가 아닌 동작 방법.
  7. 제 4 항에 있어서,
    상기 목적 함수는 수학식 2를 기반으로 설정되고,
    [수학식 2]
    Figure pat00086

    상기 수학식 3의 상기
    Figure pat00087
    은 예측 손실을 가리키고, 상기
    Figure pat00088
    은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 a는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λ는 상기 예측 손실 및 상기 신경망 모델의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키는 동작 방법.
  8. 제 7 항에 있어서,
    상기 정규화 항은 p-놈(p-norm)을 기반으로 설정되는 동작 방법.
  9. 제 7 항에 있어서,
    상기 학습 데이터 및 상기 목적 함수를 기반으로, 확률적 경사도 강하(SGD; stochastic gradient descent)를 이용하여 상기 중요도 파라미터들 및 상기 모델 파라미터들에 대한 트레이닝을 동시에 수행하는 단계는:
    상기 중요도 파라미터들에 대한 경사도를 연산하는 단계; 및
    상기 연산의 결과를 기반으로 상기 중요도 파라미터들 및 상기 모델 파라미터들을 갱신하는 단계를 포함하는 동작 방법.
  10. 제 9 항에 있어서,
    상기 경사도를 연산하는 단계는:
    상기 경사도에 대한 정방향 연산을 수행하는 단계; 및
    상기 경사도에 대한 역방향 연산을 수행하는 단계를 포함하고,
    상기 정방향 연산은 상기 수학식 2를 기반으로 수행되고,
    상기 역방향 연산은 상기 수학식 2의
    Figure pat00089
    을 수학식 3으로 대체하여 수행되고,
    [수학식 3]
    Figure pat00090

    상기 수학식 4의 상기 elu(·)는 지수 선형 유닛(ELU; Exponential linear unit) 함수를 가리키는 동작 방법.
  11. 제 1 항에 있어서,
    상기 신경망 모델은 ResNet에 대응되고,
    상기 목적 함수는 수학식 4를 기반으로 설정되고,
    [수학식 4]
    Figure pat00091

    상기 수학식 4의 상기
    Figure pat00092
    은 예측 손실을 가리키고, 상기
    Figure pat00093
    은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λ는 상기 예측 손실 및 상기 신경망 모델의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 S는 상기 신경망 모델에 포함된 복수의 스테이지들의 개수를 가리키고, 상기 as는 상기 복수의 스테이지들 중 제s 스테이지에 대응하는 중요도 파라미터들의 벡터를 가리키는 동작 방법.
  12. 제 1 항에 있어서,
    상기 신경망 모델은 ResNeXt에 대응되고,
    상기 목적 함수는 수학식 5을 기반으로 설정되고,
    [수학식 5]
    Figure pat00094

    상기 수학식 5의 상기
    Figure pat00095
    은 예측 손실을 가리키고, 상기
    Figure pat00096
    은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λs는 상기 예측 손실 및 상기 신경망 모델에 포함된 복수의 스테이지들 중 제s 스테이지의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 S는 상기 복수의 스테이지들의 개수를 가리키고, 상기 Bs는 상기 제s 스테이지에 포함된 블록들의 개수를 가리키고, 상기 as,b는 상기 제s 스테이지의 상기 블록들 중 제b 블록에 대응하는 중요도 파라미터들의 벡터를 가리키는 동작 방법.
  13. 제 1 항에 있어서,
    상기 신경망 모델은 DenseNet에 대응되고,
    상기 목적 함수는 수학식 6을 기반으로 설정되고,
    [수학식 6]
    Figure pat00097

    상기 수학식 6의 상기
    Figure pat00098
    은 예측 손실을 가리키고, 상기
    Figure pat00099
    은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λs는 상기 예측 손실 및 상기 신경망 모델의 복수의 스테이지들 중 제s 스테이지의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 S는 상기 신경망 모델에 포함된 복수의 스테이지들의 개수를 가리키고, 상기 Ls는 상기 제s 스테이지에 포함된 레이어들의 개수를 가리키고, 상기 as,l은 상기 제s 스테이지에 포함된 상기 레이어들 중 제l 레이어에 대응하는 중요도 파라미터들의 벡터를 가리키는 동작 방법.
  14. 제 1 항에 있어서,
    상기 신경망 모델은 GCN(Graph Convolution Network)에 대응되고,
    상기 목적 함수는 수학식 7을 기반으로 설정되고,
    [수학식 7]
    Figure pat00100

    상기 수학식 7의 상기
    Figure pat00101
    은 예측 손실을 가리키고, 상기
    Figure pat00102
    은 정규화 항(regularization term)을 가리키고, 상기 D는 상기 학습 데이터를 가리키고, 상기 W는 상기 모델 파라미터들을 가리키고, 상기 A는 상기 중요도 파라미터들의 벡터를 가리키고, 상기 λ는 상기 예측 손실 및 상기 신경망 모델의 복잡도 사이의 트레이드-오프를 제어하는 인수를 가리키고, 상기 N은 상기 A의 크기이고, 상기 Ai ,:은 상기 A의 제i 행에 대한 행 벡터이고, 상기 A:,j는 상기 A의 제j 열에 대한 열 벡터인 동작 방법.

KR1020200043231A 2019-10-02 2020-04-09 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법 KR20210039921A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2020/013304 WO2021066504A1 (ko) 2019-10-02 2020-09-29 심층 신경망 구조 학습 및 경량화 방법
US17/760,650 US20220343162A1 (en) 2019-10-02 2020-09-29 Method for structure learning and model compression for deep neural network
CN202080069687.8A CN114503122A (zh) 2019-10-02 2020-09-29 深度神经网络的结构学习和简化方法
EP20871182.0A EP4040342A4 (en) 2019-10-02 2020-09-29 METHOD OF LEARNING AND SIMPLIFYING DEEP NEURONAL NETWORK STRUCTURE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190121906 2019-10-02
KR1020190121906 2019-10-02

Publications (1)

Publication Number Publication Date
KR20210039921A true KR20210039921A (ko) 2021-04-12

Family

ID=75440062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200043231A KR20210039921A (ko) 2019-10-02 2020-04-09 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법

Country Status (1)

Country Link
KR (1) KR20210039921A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629556A (zh) * 2022-03-29 2022-06-14 西北工业大学 一种低复杂度的最优功率分配方法
WO2023038159A1 (ko) * 2021-09-07 2023-03-16 주식회사 노타 레이어 별 경량화를 통한 딥러닝 모델 최적화 방법 및 시스템
KR20230054259A (ko) 2021-10-15 2023-04-24 한국전자통신연구원 자원 재설정 가능한 심층신경망 가속기, 시스템 및 방법
KR20240037847A (ko) * 2022-09-14 2024-03-22 주식회사 글로랑 정책 기반 강화학습을 활용한 최대의 학습 효율 달성을 위한 교실 구조의 최적화 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023038159A1 (ko) * 2021-09-07 2023-03-16 주식회사 노타 레이어 별 경량화를 통한 딥러닝 모델 최적화 방법 및 시스템
KR20230054259A (ko) 2021-10-15 2023-04-24 한국전자통신연구원 자원 재설정 가능한 심층신경망 가속기, 시스템 및 방법
CN114629556A (zh) * 2022-03-29 2022-06-14 西北工业大学 一种低复杂度的最优功率分配方法
CN114629556B (zh) * 2022-03-29 2024-01-30 西北工业大学 一种低复杂度的最优功率分配方法
KR20240037847A (ko) * 2022-09-14 2024-03-22 주식회사 글로랑 정책 기반 강화학습을 활용한 최대의 학습 효율 달성을 위한 교실 구조의 최적화 방법 및 장치

Similar Documents

Publication Publication Date Title
Karim et al. LSTM fully convolutional networks for time series classification
CN109754078B (zh) 用于优化神经网络的方法
KR20210039921A (ko) 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법
WO2020019236A1 (en) Loss-error-aware quantization of a low-bit neural network
JP6921079B2 (ja) ニューラルネットワーク装置、車両制御システム、分解処理装置、及びプログラム
Melo et al. Gaussian-PSO with fuzzy reasoning based on structural learning for training a Neural Network
CN111797895B (zh) 一种分类器的训练方法、数据处理方法、系统以及设备
CN110175628A (zh) 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法
Salleh et al. A modified neuro-fuzzy system using metaheuristic approaches for data classification
WO2022193497A1 (en) Method and system for graph-based panoptic segmentation
CN108122048B (zh) 一种运输路径调度方法及其系统
EP2287786A1 (en) Fuzzy inference apparatus and methods, systems and apparatuses using such inference apparatus
Anochi et al. Self-configuring two types of neural networks by mpca
CN114463540A (zh) 使用神经网络对图像进行分割
CN114359631A (zh) 基于编码-译码弱监督网络模型的目标分类与定位方法
Pandey et al. ResNet-18 comparative analysis of various activation functions for image classification
CN117273105A (zh) 一种针对神经网络模型的模块构建方法及装置
Lavaei et al. Dynamic analysis of structures using neural networks
Louati et al. Design and compression study for convolutional neural networks based on evolutionary optimization for thoracic X-Ray image classification
Wen et al. Novel pruning of dendritic neuron models for improved system implementation and performance
Duggal et al. High performance squeezenext for cifar-10
CN110852361B (zh) 基于改进深度神经网络的图像分类方法、装置与电子设备
KR102090109B1 (ko) 학습 및 추론 장치 및 그 방법
KR20210157826A (ko) 심층 신경망 구조 학습 및 경량화 방법
Via et al. Training algorithm for dendrite morphological neural network using k-medoids