KR20210157826A - 심층 신경망 구조 학습 및 경량화 방법 - Google Patents

심층 신경망 구조 학습 및 경량화 방법 Download PDF

Info

Publication number
KR20210157826A
KR20210157826A KR1020200126288A KR20200126288A KR20210157826A KR 20210157826 A KR20210157826 A KR 20210157826A KR 1020200126288 A KR1020200126288 A KR 1020200126288A KR 20200126288 A KR20200126288 A KR 20200126288A KR 20210157826 A KR20210157826 A KR 20210157826A
Authority
KR
South Korea
Prior art keywords
neural network
equation
model
parameter
parameters
Prior art date
Application number
KR1020200126288A
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 US17/760,650 priority Critical patent/US20220343162A1/en
Priority to PCT/KR2020/013304 priority patent/WO2021066504A1/ko
Priority to EP20871182.0A priority patent/EP4040342A4/en
Priority to CN202080069687.8A priority patent/CN114503122A/zh
Publication of KR20210157826A publication Critical patent/KR20210157826A/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/04Architecture, e.g. interconnection topology
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

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

본 발명은 심층 신경망 구조 학습 및 경량화 방법에 관한 것이다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 (a) 신경망 모델에 대한 파라미터를 생성하는 단계와, (b) 파라미터를 기반으로 신경망 모델에 대응하는 목적 함수를 생성하는 단계 및 (c) 학습 데이터와 목적 함수를 기반으로, 파라미터에 대한 트레이닝을 수행하며 모델 학습을 수행하는 단계를 포함하는 것을 특징으로 한다.

Description

심층 신경망 구조 학습 및 경량화 방법{METHOD FOR STURCTURE LEARNING AND MODEL COMPRESSION FOR DEEP NEURAL NETWROK}
본 발명은 심층 신경망 구조 학습 및 경량화 방법에 관한 것이다.
심층 신경망(DNN; deep neural network)은 컴퓨터 처리, 음성 인식, 이미지 인식 등과 같은 다양한 응용 분야에서 널리 사용된다.
심층 신경망과 관련된 기술 분야가 발전함에 따라 심층 신경망이 커지고 복잡해 지면서, 심층 신경망을 구동하기 위한 연산량 및 메모리량이 급증하고 있다.
이러한 연산량 및 메모리량의 증가는 하드웨어 리소스를 증가시키는 문제점을 유발시킨다.
또한, 심층 신경망은 인간 전문가에 의한 피쳐 엔지니어링(feature engineering)의 부담을 경감시키나, 대신 심층 신경망의 효과적인 구조를 설계하는 데에 인간 전문가의 많은 노력이 요구된다는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로, 심층 신경망의 불필요한 부분을 제거하여 심층 신경망을 경량화하여 추론에 필요한 연산량과 메모리량을 감소시키며, 향상된 정확도를 확보하는 최적화된 심층 신경망의 구조를 학습하는 것이 가능한 심층 신경망 구조 학습 및 경량화 방법을 제공하는데 그 목적이 있다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 (a) 신경망 모델에 대한 파라미터를 생성하는 단계와, (b) 파라미터를 기반으로 신경망 모델에 대응하는 목적 함수를 생성하는 단계 및 (c) 학습 데이터와 목적 함수를 기반으로, 파라미터에 대한 트레이닝을 수행하며 모델 학습을 수행하는 단계를 포함하는 것을 특징으로 한다.
신경망 모델은 복수의 컴포넌트를 포함하고, 복수의 컴포넌트들은 복수의 모듈로 그룹화된다.
(a) 단계는 신경망 모델에 대한 아키텍쳐 파라미터 및 모델 파라미터를 생성한다.
아키텍쳐 파라미터 중 일부는 트레이닝 과정 동안 0이 되어, 불필요하거나 중요하지 않은 컴포넌트들이 제거된다.
신경망 모델은 아키텍쳐 파라미터에 대응하는 컴포넌트의 강도가 경쟁 그룹 내에서 일정 수치보다 작아지는 경우, 컴포넌트를 상기 경쟁 그룹에서 배제시킨다.
(c) 단계는 확률적 경사도 강하를 이용하여 파라미터에 대한 트레이닝을 수행한다.
(c) 단계는 가중치에 대한 학습 및 신경망 구조에 대한 학습을 동시에 수행한다.
(c) 단계는 확률적 경사도 강하의 변형된 구성을 사용하여 경사도 연산을 수행하되, 정방향 연산 및 역방향 연산을 수행한다.
본 발명의 실시예에 따르면, (b-1) (c) 단계에서의 트레이닝 결과에 기초하여 경량화 모델을 생성하고 저장하는 단계를 더 포함한다.
본 발명의 실시예에 따르면, (a) 단계 이후 (b) 단계 이전에, (a-1) 파라미터를 재-파라미터화하는 단계를 더 포함한다.
(a-1) 단계는 파라미터가 0이 될 수 있도록 재-파라미터화를 수행한다.
(a-1) 단계는 파라미터가 0이 될 수 있도록 서브 그래디언트 계산 가능한(sub-differentiable) 형태로 재-파라미터화를 수행한다.
본 발명에 따르면, 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용한 트레이닝을 통해 신경망의 파라미터 및 신경망 구조를 동시에 학습함으로써, 추론에 소요되는 비용을 감소시키고, 심층 신경망 시스템의 성능을 향상시키는 것이 가능한 효과가 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 심층 신경망 시스템을 도시한다.
도 2는 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법을 도시한다.
도 3은 본 발명의 실시예에 따른 목적 함수 생성 과정을 도시한다.
도 4는 본 발명의 실시예에 따른 경량화 모델 생성 과정을 도시한다.
도 5는 본 발명의 실시예에 따른 ResNet 적용예를 도시한다.
도 6은 본 발명의 실시예에 따른 ResNeXt 적용예를 도시한다.
도 7은 본 발명의 실시예에 따른 DenseNet 적용예를 도시한다.
도 8 및 도 9는 본 발명의 실시예에 따른 GCN 적용예를 도시한다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
본 발명의 실시예에 따르면, 신경망의 목적 함수(objective function)를 최적화시키고, 신경망의 희소화된 구조(sparsified structure) 및 모델 파라미타들을 동시에 학습하는 전 미분 가능한 희소화 방법(full differentiable sparsification method)을 제안한다.
본 발명의 실시예에 따르면, 확률적 경사도 강하(SGD; stochastic Gradient Descent)를 사용하여 트레이닝하는 동안 파라미터들의 크기 또는 연결들의 강도가 0(zero)으로 수렴하도록 하는 전 미분 가능한 방법을 제안하며, 학습 데이터 및 목적 함수를 기반으로 복수의 파라미터(아키텍쳐 파라미터, 모델 파라미터)에 대한 트레이닝을 동시에 수행하며 모델 학습을 수행하는 기술적 특징이 있다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 파라미터들의 그룹 또는 빌딩 블록(building block) 단위로 희소화하는 구조화된 희소화(structured sparsification/group sparsification)에 용이하게 적용될 수 있다.
이는 GPU(Graphic Processing Unit)와 같은 병렬 하드웨어 연산의 이점을 극대화할 수 있으며, 심층 신경망의 구성 요소를 모듈 단위로 설계하고 모듈을 결합하여 심층 신경망을 만드는 최신 트렌드에 적합하다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 개별 모델 파라미터 단위로 희소화하는 비-구조화된 희소화(unstructured sparsification)에 용이하게 적용될 수 있다.
도 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)으로 수렴된다. 0(zero)으로 수렴된 중요도 파라미터에 해당하는 신경망 구성들은 불필요한 것으로 간주하여, 제거할 수 있다.
신경망 가속기(120)는 제어기(110)의 제어에 따라 트레이닝을 수행한다.
신경망 가속기(120)는 제어기(110)로부터 신경망 모델, 목적 함수, 학습 데이터를 수신한다.
신경망 가속기(120)는 제어기(110)로부터 수신된 정보를 기반으로 트레이닝을 수행하고, 트레이닝의 결과로서 경량화 모델(140)을 생성한다.
경량화 모델(140)은 신경망 모델에 포함된 복수의 구성들 중 불필요한 구성이 삭제 또는 제거된 모델로 정의된다.
신경망 가속기(120)는 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용하여 트레이닝을 수행한다.
신경망 가속기(120)는 학습 데이터 및 목적 함수를 기반으로 복수의 파라미터들에 대한 트레이닝을 동시에 수행하며, 모델 학습을 수행한다.
메모리(130)는 신경망 가속기(120)의 트레이닝 과정에서 생성 또는 갱신되는 다양한 정보(예를 들어, 파라미터 정보)를 저장한다.
도 2는 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법을 도시한다.
심층 신경망 시스템(100)은 신경망 모델을 기반으로 목적 함수를 생성한다(S100).
심층 신경망 시스템(100)은 ResNet, ResNeXt, DenseNet, GCN(Graph Convolutional Network) 등과 같은 다양한 심층 신경망(DNN; Deep Neural Network)을 구동하도록 구성된다.
제어기(110)는 다양한 심층 신경망들 중 트레이닝될 신경망과 대응되는 신경망 모델을 선택하고, 선택된 신경망 모델에 대한 목적 함수를 생성한다.
심층 신경망 시스템(100)은 목적 함수 및 학습 데이터를 기반으로 트레이닝을 수행하여 경량화 모델(140)을 생성한다(S200).
신경망 가속기(120)는 제어기(110)로부터 신경망 모델, 목적 함수, 및 학습 데이터를 수신하고, 수신된 정보를 기반으로 트레이닝을 수행한다.
신경망 가속기(120)의 트레이닝은 확률적 경사도 강하(SGD; stochastic gradient descent) 방식을 기반으로 수행되며, 신경망 모델에 포함된 복수의 구성들 중 불필요한 구성들이 제거되고, 복수의 파라미터들에 대한 학습과 모델 학습이 동시에 수행된다.
심층 신경망 시스템(100)은 생성된 경량화 모델(140)을 기반으로 신경망 연산을 수행한다(S300).
심층 신경망 시스템(100)은 경량화 모델(140)을 기반으로 입력 데이터에 대한 음성 인식, 이미지 인식, 이미지 분류 등과 같은 다양한 심층 신경망 연산을 수행한다.
본 발명의 실시예에 따른 심층 신경망 시스템은 신경망 모델에 대한 목적 함수(objective function)(또는 비용 함수 또는 손실 함수)를 최적화하여 트레이닝을 수행함으로써, 심층 신경망 구조를 경량화시키고, 전체적인 연산 속도를 향상시킨다.
도 3은 본 발명의 실시예에 따른 목적 함수 생성 과정을 도시한다.
제어기(110)는 신경망 모델을 입력 받는다(S110).
제어기(110)는 컴포넌트들에 대한 그룹을 선정하며(S120), 다양한 심층 신경망 모델들 중 신경망 가속기(120)에 의해 트레이닝될 신경망 모델에 대한 정보를 수신한다.
이하에서, 파라미터들의 그룹 또는 빌딩 블록(building block) 단위로 희소화하는 구조화된 희소화(structured sparsification/group sparsification) 방법을 설명하기 위한 예시로서, 신경망 모델 또는 신경망을 구성하는 모듈은 [수학식 1]과 같이 정의된다고 가정한다. [수학식 1]의 모델을 기본 모델(base model)이라고 명명한다.
Figure pat00001
[수학식 1]을 참조하면, y는 기본 모델 또는 기본 모델(즉, 신경망 모델)에 포함된 모듈의 출력이고, f는 모듈에 포함된 복수의 컴포넌트들(components)이다.
i는 복수의 컴포넌트들을 구분하기 위한 인덱스이며, n은 복수의 컴포넌트들의 개수이다.
기본 모델의 출력, y는 모듈에 포함된 복수의 컴포넌트들(f)의 선형 조합으로 정의된다.
컴포넌트들의 그룹은 [수학식 1]을 참조하여 설명된 모듈일 수 있으며, 심층 신경망의 타입에 따라 다양하게 설정될 수 있다.
예를 들어, 컴포넌트는 심층 신경망을 위한 빌딩 블록 또는 그것의 출력들일수 있다.
컴포넌트는 ResNet의 잔차 블록(residual block), ResNeXt의 잔차 블록의 브랜치(branch), DenseNet의 밀집하게 연결된 레이어(densely connected layer)의 피쳐 맵일 수 있다.
모듈은 ResNet의 스테이지(stage), ResNeXt의 잔차 블록, DenseNet의 연결된 피쳐 맵(concatenated feature map)과 같은 컴포넌트들의 집합이거나 또는 전체 신경망을 나타낼 수 있다.
x는 모듈로의 입력이고, w는 컴포넌트(f)에 대한 모델 파라미터(또는 가중치)이고, a는 아키텍쳐 파라미터(architecture parameter) 또는 중요도 파라미터(importance parameter)이다.
모델 파라미터(w)는 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들(ordinary parameters)이다.
아키텍쳐 파라미터(a)의 값은 대응하는 컴포넌트의 중요도를 가리키며, 블록들 사이의 연결 강도로도 볼 수 있다.
아키텍쳐 파라미터(a)가 0(zero)으로 되는 것은 대응하는 컴포넌트(f)를 제거(removing)하거나 또는 대응하는 모델 파라미터들(w) 전체를 0으로 만드는 것을 의미한다.
아키텍쳐 파라미터들(a) 사이의 경쟁(competition)을 생성하고, 경쟁을 통해 아키텍쳐 파라미터들(a)을 0으로 유도함으로써, 일부 아키텍쳐 파라미터가 0으로 될 수 있고, 이에 따라 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거된다.
제어기(110)는 아키텍쳐 파라미터를 설정한다(S130).
신경망 모델에 대한 트레이닝 과정에서, 아키텍쳐 파라미터(a)가 0으로 됨에 따라, 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거될 수 있다. 이를 위해, 아키텍쳐 파라미터(a)는 [수학식 2]와 같이 정의된다.
Figure pat00002
Figure pat00003
Figure pat00004
[수학식 2]를 참조하면, α 및 β는 그 값이 제한되지 않는 자유 파라미터들(unconstrained free parameters)이고, σ()는 시그모이드 함수(sigmoid function)이고, (·)+relu(·)=max(·,0), 즉, 수정된 선형 유닛(ReLU; Rectified Linear Unit) 함수이다.
아키텍쳐 파라미터(a)가 [수학식 2]와 같이 설정될 경우, 아키텍쳐 파라미터(a)는 트레이닝 과정에서 0(zero)으로 수렴될 수 있다.
자유 파라미터들(α, β)은 실수이며, 확률적 경사도 강하를 사용한 트레이닝 과정에서 어떠한 제한도 받지 않으며, 이에 따라 아키텍쳐 파라미터(a)는 자유 파라미터들(α, β)을 통해 트레이닝된다.
[수학식 2]의 지수 함수, exp(·)는 아키텍쳐 파라미터(a)가 양수가 되도록 하며, 이 때 시그모이드 함수가 대신 사용될 수 있다.
일반적인 경우, 아키텍쳐 파라미터(a)는 [수학식 2]의 지수 함수 exp(·)에 의해 0이 될 수 없으나, [수학식 2]의
Figure pat00005
는 임계 동작(thresholding operation)에 의해 0이 될 수 있고, 이에 따라, 아키텍쳐 파라미터(a)가 0이 될 수 있다.
[수학식 2]의
Figure pat00006
에 대한
Figure pat00007
의 항은 임계치(threshold)의 역할을 할 수 있으며, 경쟁 그룹 내에서 제i 컴포넌트(fi)의 강도가 전체 강도보다 작다면, 제i 컴포넌트(fi)를 경쟁 그룹에서 배제시킨다.
임계치의 크기를 결정하는 [수학식 2]의 스칼라 파라미터(β)는 하이퍼-파라미터(hyper-parameter)가 아닐 수 있으며, 트레이닝을 통해 자동으로 결정될 수 있다.
수학적으로 임계 동작(thresholding operation)은 미분 가능하지 않지만, 최신의 심층 신경망 학습 툴에 내장된 미분 가능한 함수로서 relu가 지원되는 것을 고려할 때, 문제가 되지 않는다. 이는, 특정 지점(0)에서만 미분이 정의되지 않으며, 대다수의 입력값의 영역(domain)에서는 미분이 가능하며, 모든 영역에서 서브그라디언트(subgradient)가 존재하기 때문이다.
또한, γ가 음수가 아니므로, l1-놈(l1-norm)은 γi의 합(즉,
Figure pat00008
)으로 단순화 될 수 있다.
[수학식 2]의 소프트맥스(softmax)는 아키텍쳐 파라미터(a)들 사이의 경쟁을 촉진시킨다.
모든 컴포넌트들이 제거되고 모듈(y)이 무효화됨을 의미하는 널 컴포넌트(null component)를 모델링할 수도 있다. [수학식 3]의 임계치가 비선택(non-chosen)의 강도로서 고려될 수 있으며, 이에 따라 널 오퍼레이터(null operator)의 강도는 [수학식 3]과 같이 정의된다.
Figure pat00009
[수학식 3]을 기반으로, αi의 초기값을 0으로 설정하고, β의 값을 -log(n2+n-1)로 설정할 수 있다.이는 널 오퍼레이터(null operator)를 포함하는 각 컴포넌트들은 초기에 동일한 생존 기회를 가질 수 있도록, 초기 기회가 동일해지도록 i=1,..., n에 대하여,
Figure pat00010
이 되도록 설정되도록 하는 것이다.이는 αi와 β의 초기값에 대한 예시로서, 반드시 αi의 초기값을 0으로 설정하고, β의 값을 -log(n2+n-1)로 설정할 필요는 없다.
널 오퍼레이터(null operator)를 고려하면,
Figure pat00011
를 정규화하여 [수학식 4]와 같이 아키텍쳐 파라미터(a)를 구성할 수 있다.
Figure pat00012
신경망 모델(또는 베이스 모델)에 포함된 복수의 컴포넌트들에 대한 아키텍쳐 파라미터(a)가 설정됨으로써, 확률적 경사도 강하를 사용한 트레이닝 과정에서, 중요도 파라미터 또는 아키텍쳐 파라미터(a) 중 적어도 일부가 0으로 수렴되며, 중요도 파라미터 또는 아키텍쳐 파라미터 값이 0인 컴포넌트들은 불필요하거나 중요하지 않은 컴포넌트로 간주하여 제거할 수 있다.
제어기(110)는 신경망 모델에 대한 목적 함수를 설정한다(S140).
목적 함수(objective function)(또는 비용 함수 또는 손실 함수)는 [수학식 5]와 같이 표현된다.
Figure pat00013
[수학식 5]를 참조하면, L은 예측 손실(prediction loss)이고, R은 정규화 항(regularization term)이고, D는 학습 데이터의 집합(set)이고, W는 모델 파라미터들(w)의 집합(즉, {wi})이고, λ는 예측 손실과 모델 복잡도 사이의 트레이드-오프를 제어하는 인수이며, a는 아키텍쳐 파라미터들로 구성된 벡터이다.
분류(classification)에서는 크로스 엔트로피(cross entropy)를 예측 손실 함수로, 회귀 분석(regression)에서는 평균 제곱 오차(mean squared error)를 손실 함수로 사용할 수 있다.
아키텍쳐 파라미터(a)를 0으로 만드는 것 또는 희소화하는 것은 심층 신경망을 단순화하고 희소화시키는 것으로, 아키텍쳐 파라미터(a)에 대한 정규화 항 R을 이용하여 아키텍쳐 파라미터(a)를 희소화하거나 또는 아키텍쳐 파라미터(a)의 원소들 사이의 경쟁을 추가로 촉진할 수 있다.
본 발명의 실시예에 따르면, 아키텍쳐 파라미터(a)가 소프트맥스(softmax)를 사용하여 정규화되므로, l1-놈(l1-norm)이 항상 1(one)(즉,
Figure pat00014
)이 된다.
따라서, 종래의 l1-놈(l1-norm)을 이용한 정규화 항은 본 발명의 실시예에 따른 아키텍쳐 파라미터(a)에 대하여 동작하지 않는다. 본 발명의 실시예에 따르면 정규화 항은 [수학식 6]과 같이 p-놈(p-norm)을 사용하며, 이 때 p<1로 하는 것이 바람직하다.
Figure pat00015
아키텍쳐 파라미터(a)는 항상 음수가 아니기 때문에, [수학식 6]에서 두번째 부등식이 성립될 수 있다.
p<1인 p-놈(p-norm)은 아키텍쳐 파라미터(a)의 요소들이 대부분 0인 경우 값이 작아지며, 예컨대 p=0.5일 수 있다.
[수학식 6]에 정의된 정규화 항은 relu에 의한 아키텍쳐 파라미터(a)가 0인 경우(즉, ai=0)를 제외한 거의 모든 상황에서 미분 가능하다.
본 발명의 실시예에 따르면, 정규화 항이 거의 모든 영역에서 미분 가능할 뿐만 아니라, 트레이닝 동안 아키텍쳐 파라미터가 0이 될 수 있기 때문에, 확률적 경사도 강하를 사용하여 아키텍쳐 파라미터와 모델 파라미터에 대한 동시 학습이 가능하다. 이는 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들 뿐만 아니라, 신경망의 구조를 동시에 학습할 수 있음을 의미한다.
도 4는 본 발명의 실시예에 따른 경량화 모델 생성 과정을 도시한다.
신경망 가속기(120)는 신경망 모델 및 목적 함수를 입력 받는다(S210).
변수(k)는 1로 설정된다(S220).
변수(k)는 신경망 가속기의 트레이닝 동작의 반복 수행을 설명하기 위한 것이다.
신경망 가속기(120)는 제어기(110) 또는 별도의 입력 장치로부터 제k 학습 데이터를 수신한다(S230)하며, 예컨대 제k 학습 데이터는 미니-배치(mini-batch) 형태로 입력된다.
신경망 가속기(120)는 확률적 경사도 강하(SGD)를 사용하여 트레이닝을 수행한다.
신경망 가속기(120)는 제k 학습 데이터, 신경망 모델 및 목적 함수를 기반으로 경사도(gradient)를 연산한다(S240).
신경망 가속기(120)는 연산된 경사도를 기반으로 파라미터들(모델 파라미터(w) 및 아키텍쳐 파라미터(a))의 값을 갱신한다(S250).
파라미터들(모델 파라미터(w) 및 아키텍쳐 파라미터(a))은 연산된 경사도(즉, 목적 함수의 경사도)를 기반으로 목적 함수가 최적화(즉, 최소)되는 파라미터들로 갱신될 수 있다.
이후에, 변수(k)가 최대인지(즉, 주어진 횟수만큼 트레이닝이 반복 수행되었는지) 판별된다(S260).
변수(k)가 최대가 아닌 경우, 변수(k)는 1만큼 증가하고(S261), S230 단계가 수행된다.
변수(k)가 최대인 경우, 신경망 가속기(120)는 경량화 모델(140)을 생성하고 저장한다(S270).
S240 단계에서의 경사도 연산은 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용하여 수행된다.
이 때, 경사도 연산은 확률적 경사도 강하(SGD; stochastic gradient descent)의 변형된 구성을 사용하여 수행될 수 있으며, 예컨대 정방향 경로(forward pass) 및 역방향 경로(backward pass)에 대한 연산들을 변형하여 사용할 수 있다. 아키텍쳐 파라미터(a)에 대한 정방향 경로 연산은 [수학식 2]를 기반으로 수행되고, 역방향 경로 연산은 [수학식 2]의
Figure pat00016
를 [수학식 7]로 대체하여 연산될 수 있다.
Figure pat00017
[수학식 2] 및 [수학식 7]을 참조하면,
Figure pat00018
에 대한 함수가 relu에서 elu로 변경된 것 이외에 다른 구성들은 동일하다.
elu는 지수 선형 유닛(ELU; Exponential linear unit) 함수이다.
[수학식 2]에서
Figure pat00019
가 임계치보다 작은 경우, 경사도는 0이 되며, 해당 컴포넌트에 대해서는 경사도(gradient) 기반의 학습 정보를 생성할 수 없다. 그러나,
Figure pat00020
가 임계치보다 작으면, 반드시 컴포넌트가 제거되고, 학습이 진행되는동안 더 이상 학습 정보를 생성하지 못 한다는 것을 의미하지는 않는다.
임계치의 조정 또는 다른 컴포넌트들의 중요도 점수 감소에 따라, 컴포넌트들의 복귀 기회가 존재한다.
본 발명의 실시예에 따르면 임계 함수(thresholding function)의 경사도를 근사화시켜,
Figure pat00021
가 임계치보다 작은 컴포넌트에 대해서도 계속해서 학습 정보를 생성하는 방법을 개시한다. 본 발명의 실시예에 따르면, 경사도 연산에 있어서 전술한 바와 같이 elu를 사용하는 것이 가능하며, relu 및 elu는 는 양수 도메인에서는 동일한 출력값을 가진다. 그리고, el의 미분계수는 모든 영역에서 0이 아니기 때문에, relu를 잘 근사화 할 수 있다. 정방향 경로(forward pass)에서는 relu가 사용되고, 역방향 경로(backward pass)에서는 [수학식 7]과 같이 elu를 사용할 수 있다.
본 발명의 실시예에 따르면 최신 심층 신경망 학습 툴들을 사용하여 용이하게 구현될 수 있으며, 이러한 학습은 구글(Google)의 텐서플로우(Tensorflow)와 같은 확률적 경사도 최적화의 프레임워크에서 수행될 수 있다.
본 발명의 실시예에 따르면, 확률적 경사도 강하(SGD)를 사용한 트레이닝 동안, 신경망 모델에 대한 모델 파라미터들(즉, 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들) 및 각 컴포넌트에 대한 아키텍쳐 파라미터들이 동시에 학습될 수 있다.
따라서, 신경망 경량화 과정이 간소화될 수 있으며, 생성된 경량화 모델을 사용하여 신경망 연산 성능이 향상될 수 있다.
도 5는 본 발명의 실시예에 따른 ResNet 적용예를 도시한다.
도 5를 참조하면, ResNet은 복수의 스테이지들을 포함한다.
ResNet에 대한 하나의 스테이지를 도시하고, 하나의 스테이지는 제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 pat00022
[수학식 8]에 따르면, ys는 스테이지, 또는 스테이지의 출력이고, xs는 스테이지로의 입력이고, ns는 스테이지에 포함된 잔차 블록들의 개수이고, fi s는 잔차 블록이고, wi s는 fi s에 대한 모델 파라미터들이며,
Figure pat00023
이고,
Figure pat00024
이다.
동일한 스테이지에 포함된 블록들(예를 들어, 제1 내지 제3 잔차 블록들(RB1~RB3))은 트레이닝 과정에서 서로 경쟁하고, 중요도 파라미터 또는 아키텍쳐 파라미터(a)의 일부 원소들이 0(zero)으로 수렴하며, 이에 따라 깊이가 결정된다.
예컨대, 제2 잔차 블록(RB2)이 ResNet을 구현하는데 중요하지 않거나 또는 불필요한 경우, 제2 잔차 블록(RB2)과 대응되는 아키텍쳐 파라미터가 트레이닝 과정에서 0으로 수렴되고, 제2 잔차 블록(RB2)이 제거된다.
일부 블록들이 제거되더라도, 각 블록 사이에 숏컷(SC1~SC3)이 존재하지 때문에, 정방향 및 역방향 경로들이 완전하게 단절되는 것은 아니다.
본 발명의 실시예에 따르면, ResNet에 적용되는 목적 함수는 [수학식 9]와 같이 표현된다.
Figure pat00025
[수학식 9]를 참조하면, W={wi s}이고, A={as}이다.
S는 스테이지들의 개수이고, as는 제s 스테이지의 아키텍쳐 파라미터들의 벡터이다.
본 발명의 실시예에 따르면, 아키텍쳐 파라미터 및 목적 함수가 심층 신경망의 한 종류인 ResNet에 적용될 수 있으며, ResNet의 트레이닝 과정에서 불필요한 컴포넌트들이 제거됨으로써, ResNet의 신경망 모델이 경량화되는 것이 가능하다. 이는 각 스테이지의 잔차 블록의 개수 또는 깊이를 학습하는 것이다.
도 6은 본 발명의 실시예에 따른 ResNeXt 적용예를 도시한다.
도 6을 참조하면, ResNet과는 달리 ResNeXt는 하나의 잔차 블록은 복수개의 브랜치(branch)로 구성된다. 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)을 통해 연결된다.
ResNeXt에서 각 잔차 블럭은 독립적인 그룹으로 간주되며, 불필요한 잔차 블록을 제거함으로써 각 잔차 블럭에서 다른 너비들(width, cardinality) 또는 서로 다른 개수의 잔차 브랜치이 학습될 수 있다.
ResNeXt의 잔차 블록 및 잔차 브랜치는 컴포넌트 및 모듈과 각각 대응되고, 층 또는 잔차 블럭의 출력은 [수학식 10]과 같이 표현된다.
Figure pat00026
[수학식 10]을 참조하면, ys,b는 제s 스테이지의 제b 잔차 블록이고, fi s,b는 잔차 블록의 브랜치이고, xs,b는 블록 및 브랜치의 입력이고, ns,b는 브랜치들의 개수이고, wi s,b는 fi s,b의 모델 파라미터들이다.
트레이닝 과정 동안 동일한 블록 내의 브랜치들이 서로 경쟁함으로써, 너비(width)가 학습된다.
본 발명의 실시예에 따르면, ResNeXt에 적용되는 목적 함수는 [수학식 11]과 같다.
Figure pat00027
[수학식 11]을 참조하면, W={wi s,b}이고, A={as,b}이다.
Bs는 제s 스테이지의 잔차 블록들의 개수이고, as,b는 제s 스테이지의 제b 잔차 블록에 대한 아키텍쳐 파라미터의 벡터이다.
본 발명의 실시예에 따른 아키텍쳐 파라미터 및 목적 함수는 심층 신경망의 한 종류인 ResNeXt에 적용될 수 있으며, ResNeXt의 트레이닝 과정에서 불필요한 컴포넌트들이 제거됨으로써, ResNeXt의 신경망 모델이 최적화되고 경량화된다.
도 7은 본 발명의 실시예에 따른 DenseNet 적용예를 도시한다.
도 7을 참조하면, DenseNet은 복수의 스테이지들을 포함하며, DenseNet에 대한 하나의 스테이지를 도 7에 도시하고, 하나의 스테이지는 제1 내지 제7 층(layer, 레이어) 을 포함하는 것으로 가정한다.
도 7에 도시된 입력 데이터 구조(IN)에서 s의 인덱스는 스테이지이고, 제l 레이어의 입력은 제l 행으로, 출력은 xl+1 s로 표현된다.
제4 행(ROW4)은 제4 층의 입력이고, x4+1 s는 제4 층의 출력이다.
본 발명의 실시예에 따른 트레이닝된 아키텍쳐 파라미터 구조(SP)는 도 7에 도시된 바와 같이, 정의될 수 있다.
본 발명의 실시예에 따른 트레이닝을 통해 제4 행(ROW4)에서 일부 파라미터들은 0으로 수렴되도록, DenseNet을 구성할 수 있다.
DenseNet 에서, 층의 입력은 이전의 모든 층들에서 출력된 피쳐 맵들로 구성된다.
본 발명의 실시예에 따라 피쳐 맵들이 행 단위로 그룹핑하고 입력 피쳐 맵들이 서로 경쟁하도록 하여, 가장 효율적인 피쳐들 또는 연결들이 각 층에서 선택되도록 할 수 있다.
DenseNet의 층은 [수학식 12]와 같이 표현될 수 있다.으며, 이에 따라, 층과 층사의 연결들(dense connections)이 학습된다.
Figure pat00028
[수학식 12]를 참조하면, xl s는 제s 스테이지의 제l 층의 출력 피쳐 맵이고, x0 s는 이전 스테이지로부터 주어진다.
fl s는 비선형 합성 함수(nonlinear composition function) 이고, [
Figure pat00029
]는 연결 연산자(concatenation operator) 이고, wl s는 모델 파라미터들이다.
본 발명의 실시예에 따른 DenseNet에 적용되는 목적 함수는 [수학식 13]과 같다.
Figure pat00030
[수학식 13]을 참조하면, W={wi s}이고, A={as,l}이다.
Ls는 제s 스테이지의 레이어들의 개수이고, as,l는 제s 스테이지의 제l 블록에 대한 아키텍쳐 파라미터의 벡터이다.
본 발명의 실시예에 따른 아키텍쳐 파라미터 및 목적 함수가 심층 신경망의 한 종류인 DenseNet에 적용될 수 있으며, DenseNet의 트레이닝 과정에서 불필요한 컴포넌트들이 제거됨으로써, DenseNet의 신경망 모델이 최적화되고 경량화될 수 있다.
도 8 및 도 9는 본 발명의 실시예에 따른 GCN 적용예를 도시한다.
GCN은 복수의 층(layer, 레이어) 을 포함할 수 있는데, 도 8에서는 하나의 층이 도시되며, 하나의 층은 인접 매트릭스(ADJ), 피쳐 맵 매트릭스(FT) 및 가중치 매트릭스(WT)를 포함하는 것으로 가정한다.
GCN의 레이어는 [수학식 14]와 같다.
Figure pat00031
[수학식 14]를 참조하면, A는 인접 매트릭스(ADJ)이고, Hl 및 Wl은 제l 레이어에 대한 입력 피쳐 맵 매트릭스(FT) 및 가중치 매트릭스(WT)이며, F는 비선형 활성 함수(nonlinear activation function)이다.
A의 원소들은 음수가 아니며(non-negative), GCN 블록들 또는 레이어들 사이에서 공유된다.
A는
Figure pat00032
또는
Figure pat00033
와 같은 정규화(normalization)에 의해 얻어진다.
이 때,
Figure pat00034
는 정규화되지 않은 인접 매트릭스이고,
Figure pat00035
Figure pat00036
를 갖는 대각 매트릭스(diagonal matrix)이다.
인접 매트릭스는 그래프 상의 노드들 사이의 관계들(relationships) 또는 연결들(connections)을 나타낼 수 있으며, 도메인 지식이 있는 전문가에 의해 주어진다.
Ai,j의 값을 학습하는 것은 노드 i 및 j 사이의 관계를 학습하는 것이된다. 예를 들어, Ai,j의 값이 0(zero)인 경우, 2개의 노드 i 및 j 서로 무관한 것으로 간주될 수 있다.
도 8 및 도 9에 도시된 바와 같이, 인접 매트릭스의 각 행 및 열이 그룹으로 정의될 수 있다.
행을 그룹핑하는 것은 입력 노드들(in-coming nodes) 사이의 경쟁을 생성하고, 열을 그룹핑하는 것은 출력 노드들(out-going nodes) 사이의 경쟁을 생성할 수 있다. 예를 들어, 도 8 및 도 9에 도시된 바와 같이, 제i 행(Ai,:)이 그룹핑됨으로써, 제i 노드에 대한 입력 노드들 사이의 경쟁이 생성되고, 제i 열(A:,j)이 그룹핑됨으로써, 제 i 노드에 대한 출력 노드들 사이의 경쟁이 생성된다.
정규화되지 않은 인접 매트릭스(
Figure pat00037
)의 각 행과 열은 수학식 2의
Figure pat00038
와 유사하게 매개변수화될 수 있다.
소프트맥스 정규화(softmax normalization)은 Sinkhorn 정규화(Sinkhorn normalization)로 대체될 수 있다.
각 행 및 각 열의 합계는 각각 1(one)이 되는 것이 바람직하다.
Figure pat00039
를 사용하여 A를 초기화하고, [수학식 15]를 반복 적용함으로써,
Figure pat00040
를 이중 확률 매트릭스(doubly stochastic matrix)로 변환한다.
Figure pat00041
[수학식 15]를 참조하면, Dr 및 Dc는 대각 매트릭스들이다.
밸런스 정규화(Balanced normalization)는 [수학식 16]을 반복 적용함으로써 수행된다.
Figure pat00042
[수학식 16]을 반복적으로 적용하는 것은 수치 실험에 의해
Figure pat00043
를 이중 확률 매트릭스로 변환되는 것이 검증되었다.
경쟁 그룹들이 행 및 열 단위로 생성되기 때문에, 이에 대한 목적 함수는 [수학식 17]과 같다.
Figure pat00044
[수학식 17]을 참조하면, W={Wl}이고, N은 정사각 매트릭스 A의 크기이고, Ai,:및 A:,j는 A의 제i 행 벡터 및 제i 열 벡터이다.
본 발명의 실시예에 따른 아키텍쳐 파라미터 및 목적 함수가 심층 신경망의 한 종류인 GCN에 적용될 수 있으며, GCN의 트레이닝 과정에서 인접 매트릭스의 불필요한 컴포넌트들이 제거됨으로써, GCN의 신경망 모델이 최적화되고 경량화된다.
예시적인 실시 예에서, 본 발명은 l2,1-놈(l2,1-norm)을 사용한 그룹 희소 정규화(group sparsity regularization) 방법과 비교될 수 있다.
여기서, 동일한 그룹 내의 모든 파라미터들이 함께 유지되거나 또는 함께 0(zero)이 되도록, 그룹은 동일 필터, 뉴런, 또는 레이어에 대한 파라미터들의 집합(set, 세트)로서 정의될 수 있다.
그룹 희소(group sparsity)는 뉴런들 및 레이어들의 개수를 자동으로 판별하는데 적용될 수 있다.
l2,1-놈(l2,1-norm)을 사용한 정규화된 목적 함수는 [수학식 18]과 같을 수 있다.
Figure pat00045
[수학식 18]의 정규화 항(regularization term)은 [수학식 19]와 같다.
Figure pat00046
[수학식 19]를 참조하면, W={wg}이고, wg는 모델 파라미터들의 그룹이다.
정규화 항을 최적화하기 위해 근사 연산자(proximal operator)를 사용하여 [수학식 20]과 같이 파라미터 갱신이 수행된다.
Figure pat00047
[수학식 20]을 참조하면, ←의 연산자는 할당 연산자(assignment operator)이고, η는 학습율(learning rate)이다.
근사 연산자(proximal operator)는 가중치 쇠퇴(weight decaying) 및 임계화(thresholding) 단계로 구성되며, 모든 미니-배치(mini-batch) 또는 에포크(epoch)에서의 예측 손실(prediction loss) 최적화 후 별도의 단계에서 수행된다.
근사 경사도 강하(proximal gradient descent)를 사용한 파라미터 갱신은 모델 이산 단계(model discretization step)로 볼 수 있다.
또한, 상술된 동작들이 예측 손실에 대한 최적화와 별도의 단계로서 수행되기 때문에, 이러한 방식들은 희소화된 심층 신경망의 구조와 최적화된 모델 파라메터의 값을 찾는데 한계가 있다.
반면에, 본 발명의 실시예에 따르면 예측 정확도(prediction accuracy) 및 모델 복잡도(model complexity)를 동시에 최적화할 수 있으며, 이에 따라 상술된 구성들 사이의 트레이드-오프가 최적화될 수 있다.
또한 추가적인 이산 단계 없이 확률적 경사도 강하를 사용하여 희소 구조가 학습될 수 있다.
예시적인 실시 예에서, 다른 관련된 그룹 정규화 방안은 l1,2-놈(l1,2-norm)을 갖는 exclusive lasso이다.
전체 그룹을 함께 제거하거나 또는 유지하는 것 대신에, 그룹 내의 희소를 촉진하는 데 사용될 수 있다.
이 때 정규화 항은 [수학식 21]과 같이 표현될 수 있다.
Figure pat00048
정규화 항을 최적화하기 위해, [수학식 22]의 근사 연산자(proximal operator)를 사용하여 학습이 수행된다.
Figure pat00049
[수학식 22]에서, ωg,i가 음수가 아닌 경우(즉, non-negative), 근사 연산자는 [수학식 2]의
Figure pat00050
의 형태로 단순화 된다.
하지만, 근사 연산자는 학습 규칙(learning rule)인 반면에, [수학식 2]의
Figure pat00051
는 신경망의 일부인 아키텍쳐 파라미터의 매개변수화된 형태로, 그 의미는 전혀 다르다. [수학식 22]는 심층 신경망을 희소화하기 위한 학습 방법이며, [수학식 2]는 심층 신경망의 모델 구성 방식으로서, [수학식 2]와 같이 심층 신경망을 구성하여 학습을 수행하면, 불필요한 파라미터는 자동으로 0으로 수렴하게 된다.
본 발명의 실시예에 따르면, 근사화된 연속 도메인(relaxed continuous domain)에서 아키텍쳐 파라미터를 최적화하는 것을 통해 신경망의 구조가 학습될 수 있다.
본 발명의 실시예에 따르면, 중요도 파라미터 또는 아키텍쳐 파라미터를 사용하지 않고서도, 심층 신경망의 불필요한 부분을 제거함으로써 추론에 필요한 연산량과 메모리량을 감소시키며, 동시에 향상된 정확도를 확보하는 최적화된 심층 신경망의 구조를 학습할 수 있다.
구조화된 희소성(structured sparsity) 및 비-구조화된 희소성(unstructured sparsity)에 관해 설명한다.
구조화된 희소성을 가진 심층 신경망을 구성하기 위해, 오리지널 모델 파라메터(ωg,i)는 [수학식 23]과 같이 거의 모든 입력 영역에서 미분 가능한 형태나 서브그레디언트 계산 가능한(sub-differentiable) 형태로 재-파라미터화된다.
Figure pat00052
[수학식 23]을 참조하면, (·)+relu = max(·,0)을 가리키고,
Figure pat00053
는 컨볼루션 필터와 같은 일반적인 파라미터 대신에 사용된다.
그룹의 크기가 exp(β g )보다 작은 경우, 동일한 그룹 내의 모든 파라미터들이 0(zero)으로 된다(zero-out).
β g 는 상수이나, 트레이닝을 통한 예측 손실 및 정규화 항 사이의 트레이드 오프를 고려하여 조정될 수 있는 트레이닝 가능한 파라미터이다.
최신 심층 신경망 툴의 내장된 미분 가능한 함수로서 relu의 지원을 고려하면, [수학식 2]를 이용한 방법에서처럼 확률적 경사도 강하 기반의 학습을 수행하는데 에 문제가 되지 않는다.
[수학식 20]의 근사 연산자와 [수학식 23]은 유사한 형태를 가진다. 하지만, 근사 연산자는 학습 규칙(learning rule)인 반면에, [수학식 23]은 신경망의 일부인 모델 파라미터의 매개변수화된 형태로 그 의미가 전혀 다르다. 따라서, 본 발명의 실시예에 따르면, 모델 파라미터(ωg,i)와 임계값 파라미터(β g ) 학습하는 것을 통해 불필요한 파라미터를 0으로 만들어 신경망을 경량화함과 동시에 신경망의 구조도 학습할 수 있다.
즉, 본 발명의 실시예에 따르면, 확률적 경사도 강하를 사용하여 모델 구조와 및 모델 파라미터가 동시에 학습될 수 있다. 예시적인 실시 예에서, 본 발명에 따르면, 모델 파라미터들이 최종적으로 0(zero)으로 되는 것이 적절하다.
즉, w g=0인 경우, [수학식 23]의 분모에서
Figure pat00054
에서 수치적 문제가 발생할 수 있다.
w g=0인 것은 ω g,i =0인 것을 의미하므로, w g=0인 경우,
Figure pat00055
가 0으로 설정되거나 또는 분모에 작은 수를 더할 수 있다.
스케일링 팩터를 사용하여 [수학식 23]을 다시 표현하면 [수학식 24]와 같다.
Figure pat00056
[수학식 24]를 참조하면, α는 학습가능한 스케일 파라미터이다.
본 발명의 실시예에 따르면, 비-구조화된 희소성(unstructured sparsity)에 대한 방안이 제공된다. 전술한 구조화된 희소성에 대한 방안과 유사하게, 모델 파라미터의 값이 일정값 보다 작으면 0(zero)이 될 수 있도록 오리지널 모델 파라메터 (ωg,i)를 [수학식 25]와 같이 거의 모든 입력 영역에서 미분 가능한 형태나 서브그레디언트 계산 가능한(sub-differentiable) 형태로 재-파라미터화한다.
Figure pat00057
[수학식 22]의 근사 연산자와 [수학식 25]는 유사한 형태를 가진다. 하지만, 근사 연산자는 학습 규칙(learning rule)인 반면에, [수학식 25]는 신경망의 일부인 모델 파라미터의 매개변수화된 형태로 그 의미가 전혀 다르다. 따라서, 본 발명의 실시예에 따르면, 모델 파라미터(ωg,i)와 임계값 파라미터(β g ) 학습하는 것을 통해 불필요한 파라미터를 0으로 만들 수 있다.
[수학식 23]은 전체 그룹들이 함께 제거되는 경향이 있는 반면에, [수학식 25]에서는, 그룹내에서 상대적인 크기에 따라 개별적인 파라미터들이 0으로 될 수 있다.
그러나, [수학식 25]의 구성이 구조화된 희소성을 배제하는 것을 의미하는 것은 아니다.
l2,1-놈과 같은 그룹 정규화는 동일한 그룹 내의 파라미터들이 동일한 값을 갖도록 유도할 수 있고, 임계치를 증가시킴으로써, 모든 파라미터들을 제거할 수 있다. 따라서, l2,1-놈을 정규화기로 사용함으로써, 그룹내의 모든 파라미터들이 동시에 모두 제거될 수 있도록 유도할 수 있다.
sign 함수의 경사도는 모든 구간에서 거의 0이나, 최신의 심층 학습 툴에 대하여 문제를 일으키지 않는다.
[수학식 25]을 [수학식 26]과 같이 표현할 수 있다.
Figure pat00058
수학식 18을 참조하면, (·)-는 min(·,0)이다.
오리지날 변수 wg,i의 값이 음수인지 아닌지에 따라, 변수가 개별적으로 제어될 수 있다.
이러한 조건문은 TensorFlow의 tf.cond 또는 tf.where를 사용하여 구현될 수 있다.
본 발명의 실시예에 따른 정규화된 목적 함수는 [수학식 27]과 같이 표현된다.
Figure pat00059
D는 트레이닝 데이터의 집합(set, 세트)이고, W 및
Figure pat00060
는 원본 및 재-표현(reformulated)된 모델 파라미터들이고, β는 임계치 파라미터의 세트이다.
일반적으로 정규화(regularization)는 자유 파라미터들, 즉, W에 대하여 적용되나,
Figure pat00061
가 β의 함수이므로,
Figure pat00062
에 대하여 적용되는 것이 더욱 적절하다.
임계치 파라미터는 정규화 항으로부터 학습 정보를 직접 받을 수 있고, 따라서, 예측 손실 및 모델 복잡도 사이의 균형을 맞추는 방법을 더욱 잘 학습할 수 있다.
[수학식 23]과 [수학식 25]는 l2,1-놈 및 l1,2-놈으로부터 각각 유도된 것으로 볼 수 있으나, l2,1-놈 및 l1,2-놈과 쌍을 이러 사용될 필요는 없으며, 다양한 정규화기(regularizer)들과 겹합하여 사용될 수 있다. 이는, [수학식 23]과 [수학식 25]은 학습을 통해 신경망의 불필요한 컴포넌트나 모델 파라미터가 0이 되도록 모델 파라미터를 재구성한 것일 뿐, 여전히 신경망의 일부이기 때문이다.
앞서 설명된 실시 예들에 적용한, p-놈을 [수학식 28]과 같이 나타낼 수 있다.
Figure pat00063
p-놈은 희소성을 유도하는 특성을 가진 것으로 잘 알려져 있다. 그러나, [수학식 28]에서 p<1인 p-norm에 기반하여 변수들을 정확히 0으로 만드는 효과적인 최적화 방법은 아직 개발되지 않았기 때문에, 실제로는 자주 사용되지 않는다. 즉, p<1인 p-놈이 희소성을 유도하는데 더욱 이상적이기는 하나, l1-놈 (p=1인경우)이 더욱 널리 사용된다. 그러나 본 발명의 실시 예에 따르면, 거의 모든 구간에서 미분 가능한다면, [수학식 28]의 p<1인 p-norm을 포함하여 다양한 종류의 정규화기들이 사용될 수 있다.
그룹 또는 파라미터의 크기가 임계치보다 작은 경우relu의 경사도(gradient)가 0이 되기 때문에, 학습 정보가 생성되지 않는다.
본 발명의 실시예에서는 그룹 또는 파라미터의 크기가 임계치보다 작은 경우에도 학습 정보가 생성될 수 있도록, 정방향 경로(forward path)에서 relu를 사용하고, 역방향 경로(backward path)에서 elu를 사용할 수 있다.
트레이닝의 초기 단계에서, 파라미터들이 랜덤하게 초기화되기 때문에, 어떤 파라미터들이 필요한지 또는 불필요한지를 설명하는 것이 어려울 수 있다.
λ를 점진적으로 스케줄링하는 것(gradual scheduling λ)은 급작스런 조기 탈락(early dropping)을 방지한다.
λ를 점진적으로 스케줄링하는 것(gradual scheduling λ)은 심층 신경망의 구조를 완만하게 변형시키고, 학습 프로세스를 좀 더 안정적으로 만들 수 있다.
본 발명의 실시예에 따르면, λ의 값이 초기 값(λi)으로부터 최종 값(λf)까지 n 세대(epoch)까지 서서히 증가할 수 있다.
t0의 세대에서 시작하여 매 세대마다 증가하는 λt는 [수학식 29]와 같이 표현될 수 있다.
Figure pat00064
t는 각 세대를 가리키는 인덱스이다.
[표 1]은 MNIST에서의 퍼포먼스이다.
Figure pat00065
[표 2]는 rectified gradient Flow를 이용한 MNIST에서의 퍼포먼스이다.
Figure pat00066
[표 3]은 rectified gradient Flow를 이용한 CIFAR-10에서의 퍼포먼스이다.
Figure pat00067
[표 4]는 rectified gradient Flow를 이용한 CIFAR-100에서의 퍼포먼스이다.
Figure pat00068
[표 5]는 Gradual Sparsity Regularization를 이용한 CIFAR-10에서의 퍼포먼스이다.
Figure pat00069
[표 6]은 l2,1-놈을 이용한 CIIFAR-10에서의 퍼포먼스이다.
Figure pat00070
[표 7]은 GCN을 이용한 교통 속도 예측 및 exclusive sparsity이다.
Figure pat00071
[표 8]은 GCN을 이용한 교통 속도 예측 및
Figure pat00072
의 exclusive sparsity이다.
Figure pat00073
[표 9]는 CIFAR-10에서 ResNet의 퍼포먼스이다.
Figure pat00074
[표 10]은 CIFAR-10에서 ResNeXt의 퍼포먼스이다.
Figure pat00075
한편, 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 심층 신경망 구조 학습 및 경량화 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 심층 신경망 구조 학습 및 경량화 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.

Claims (1)

  1. (a) 신경망 모델에 대한 파라미터를 생성하는 단계;
    (b) 상기 파라미터를 기반으로 상기 신경망 모델에 대응하는 목적 함수를 생성하는 단계; 및
    (c) 학습 데이터와 상기 목적 함수를 기반으로, 상기 파라미터에 대한 트레이닝을 수행하며 모델 학습을 수행하는 단계
    심층 신경망 구조 학습 및 경량화 방법.
KR1020200126288A 2019-10-02 2020-09-28 심층 신경망 구조 학습 및 경량화 방법 KR20210157826A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/760,650 US20220343162A1 (en) 2019-10-02 2020-09-29 Method for structure learning and model compression for deep neural network
PCT/KR2020/013304 WO2021066504A1 (ko) 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
CN202080069687.8A CN114503122A (zh) 2019-10-02 2020-09-29 深度神经网络的结构学习和简化方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200075692 2020-06-22
KR20200075692 2020-06-22

Publications (1)

Publication Number Publication Date
KR20210157826A true KR20210157826A (ko) 2021-12-29

Family

ID=79176937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200126288A KR20210157826A (ko) 2019-10-02 2020-09-28 심층 신경망 구조 학습 및 경량화 방법

Country Status (1)

Country Link
KR (1) KR20210157826A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043760A1 (ko) * 2022-08-25 2024-02-29 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043760A1 (ko) * 2022-08-25 2024-02-29 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Similar Documents

Publication Publication Date Title
Jiang et al. Efficient network architecture search via multiobjective particle swarm optimization based on decomposition
WO2018058426A1 (zh) 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
WO2021043294A1 (en) Neural network pruning
WO2014060001A1 (en) Multitransmitter model of the neural network with an internal feedback
US11657285B2 (en) Methods, systems, and media for random semi-structured row-wise pruning in neural networks
WO2022245502A1 (en) Low-rank adaptation of neural network models
JPWO2019135274A1 (ja) ニューラル・ネットワークを有するデータ処理システム
CN116644804B (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
Yoon et al. Efficient genetic algorithms for training layered feedforward neural networks
CN115017178A (zh) 数据到文本生成模型的训练方法和装置
CN113537365A (zh) 一种基于信息熵动态赋权的多任务学习自适应平衡方法
KR20210039921A (ko) 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법
CN115470889A (zh) 基于强化学习的片上网络自主最优映射探索系统及方法
CN109670582B (zh) 一种全定点化神经网络的设计方法
Naik et al. Survey on comparative study of pruning mechanism on mobilenetv3 model
Ma et al. A survey of sparse-learning methods for deep neural networks
CN112860856B (zh) 一种算数应用题智能解题方法及系统
KR20210157826A (ko) 심층 신경망 구조 학습 및 경량화 방법
Chatterjee et al. Towards optimal quantization of neural networks
Guo et al. Dynamic neural network structure: A review for its theories and applications
Sarkar et al. An incremental pruning strategy for fast training of CNN models
US20220343162A1 (en) Method for structure learning and model compression for deep neural network
CN114386565A (zh) 提供神经网络
Fernandez-Blanco et al. A hybrid evolutionary system for automated artificial neural networks generation and simplification in biomedical applications
CN114820326B (zh) 基于可调节核稀疏化的高效单帧图像超分方法