KR20200110613A - 정리 및 양자화 공동 실행 심층 신경망 - Google Patents

정리 및 양자화 공동 실행 심층 신경망 Download PDF

Info

Publication number
KR20200110613A
KR20200110613A KR1020200027688A KR20200027688A KR20200110613A KR 20200110613 A KR20200110613 A KR 20200110613A KR 1020200027688 A KR1020200027688 A KR 1020200027688A KR 20200027688 A KR20200027688 A KR 20200027688A KR 20200110613 A KR20200110613 A KR 20200110613A
Authority
KR
South Korea
Prior art keywords
layer
quantization
feature map
weighted average
output feature
Prior art date
Application number
KR1020200027688A
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 삼성전자주식회사
Publication of KR20200110613A publication Critical patent/KR20200110613A/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

시스템 및 방법은 공동 정리 및 양자화된 가중치 및 출력 특징 맵을 갖는 적어도 하나의 계층을 포함하는 신경망을 생성한다. 계층의 가중치는 분석 임계치 함수를 사용하여 정리된다. 정리 후 남은 각각의 가중치는 모든 양자화 레벨에 대한 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 양자화되어 계층에 대한 양자화된 가중치를 형성한다. 계층의 출력 특징 맵은 계층의 양자화된 가중치에 기초하여 생성된다. 계층의 각 출력 특징 맵은 모든 양자화 레벨에 대한 출력 특징 맵의 양자화 및 역양자화의 가중 평균에 기초하여 양자화된다. 분석 임계치 함수의 매개 변수, 가중치의 모든 양자화 레벨의 가중 평균 및 계층의 각 출력 특징 맵의 가중 평균은 비용 함수를 사용하여 업데이트된다.

Description

정리 및 양자화 공동 실행 심층 신경망{JOINTLY PROUNING AND QUANTIZING DEEP NEURAL NEWORKS}
본 명세서에 개시된 주제는 신경망에 관한 것이다. 보다 구체적으로, 본 명세서에 개시된 주제는 공동으로 가중치를 정리(prune)하고 신경망의 계층의 출력 특징 맵 및 가중치를 양자화하는 시스템 및 방법에 관한 것이다.
활성화 함수의 가중치 및 출력 특징 맵은 DNN(deep neural network)의 추론 단계 동안 엄청난 양의 메모리를 차지한다. 신경망은 또한 많은 양의 연산을 사용하여 출력 추론을 계산한다. 가중치를 정리(pruning)하고 활성화 함수의 출력 특징 맵 및 가중치를 양자화게 되면 신경망의 메모리 요구량 및 계산량을 감소시킬 수 있다.
신경망을 정리 및 양자화하는 종래의 방법은 먼저 신경망을 개별의 독립적인 동작으로 정리한 다음에 양자화하는 것이다. 예를 들어, 에스. 한(S. Han) 등에 의한“심층 압축: 정리, 학습된 양자화 및 허프만 코딩으로 심층 신경망 압축”arxiv.org/1510.00149)를 참조하면된다. 한에 의해 개시된 별도의 동작의 효과는 정리된 네트워크를 수신하여, 양자화 매개 변수의 최적화를 더욱 어렵게 만든다는 것이다. 사실상, 정리는 신경망의 하나의 이용 가능한 정리된 모델만을 고려함으로써 네트워크의 허용 가능한 상태 공간을 축소시킨다.
본 발명이 해결하고자 하는 기술적 과제는 공동으로 가중치를 정리하고 신경망의 계층의 출력 특징 맵및 가중치를 양자화하는 시스템 및 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
예시의 실시 예는 적어도 하나의 층이 공동으로 정리 및 양자화된 가중치와 출력 특징 맵을 포함할 수 있는 복수의 층을 포함하는 신경망을 제공한다. 상기 공동 정리 및 양자화된 가중치는 분석 임계치 함수를 이용하여 정리된다. 정리된 후 남은 각 가중치는 모든 양자화 레벨에 대한 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 더욱 양자화된다. 출력 특징 맵은 상기 계층의 상기 정리 및 양자화된 가중치에 기초하여 형성된다. 각 출력 특징 맵은 모든 가중치 레벨에 대한 상기 출력 특징 맵의 양자화 및 역양자화의 가중 평균에 기초하여 양자화될 수 있다. 상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균은 비용 함수에 기초하여 업데이트될 수 있다. 일 실시예에서, 상기 신경망은 상기 적어도 하나의 계층의 상기 가중치 및 상기 출력 특징 맵이 공동으로 정리 및 양자화되기 전에 전체 정밀 학습되는 신경망이다. 다른 실시예에서, 상기 비용 함수는 정리 손실 항, 가중치 양자화 손실 항 및 특징 맵 양자화 손실 항을 포함한다.
일 예시의 실시 예는 신경망의 계층의 가중치 및 출력 특징 맵을 정리하는 방법을 제공하고, 상기 방법은 분석 임계치 함수를 사용하여 신경망의 계층의 정리 가중치를 정리하는 단계 - 상기 신경망은 학습된 신경망임 - ; 모든 양자화 레벨에 대한 상기 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 정리한 후 남은 상기 계층의 각 가중치를 양자화하여 상기 계층에 대해 양자화된 가중치를 형성하는 단계; 상기 계층의 상기 양자화된 가중치에 기초하여 상기 계층의 출력 특징 맵을 결정하는 단계; 모든 양자화 레벨에 대한 상기 출력 특징 맵의 양자화 및 역 양자화의 가중 평균에 기초하여 상기 계층의 각각의 출력 특징 맵을 양자화하는 단계; 및 비용 함수를 사용하여 상기 분석 임계치 함수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계를 포함한다. 일 실시예에서, 상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계는 상기 비용 함수를 최적화하는 단계를 더 포함한다.
일 예시의 실시 예는 인터페이스 및 처리 장치를 포함하는 신경망 분석기를 제공한다. 상기 인터페이스는 복수의 계층을 포함하는 신경망을 수신한다. 상기 처리 장치는 공동으로 정리 및 양자화된 가중치 및 출력 특징 맵을 갖는 적어도 하나의 계층을 포함하는 신경망을 생성할 수 있다. 상기 처리 장치는 분석 임계치 함수를 사용하여 신경망의 계층의 정리 가중치를 정리하고, 모든 양자화 레벨에 대한 상기 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 정리한 후 남은 상기 적어도 하나의 계층의 각 가중치를 양자화하여 상기 적어도 하나의 계층에 대해 양자화된 가중치를 형성하고, 상기 적어도 하나의 계층의 상기 양자화된 가중치에 기초하여 상기 적어도 하나의 계층의 출력 특징 맵을 결정하고, 모든 양자화 레벨에 대한 상기 출력 특징 맵의 양자화 및 역 양자화의 가중 평균에 기초하여 상기 적어도 하나의 계층의 각 출력 특징 맵을 양자화하고, 비용 함수를 사용하여 상기 분석 임계치 함수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 적어도 하나의 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트할 수 있다. 일 실시예에서, 상기 인터페이스는 공동 정리 및 양자화된 가중치 및 출력 특징 맵을 갖는 적어도 하나의 계층을 포함하는 신경망을 더 출력한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
다음 섹션에서, 본 명세서에 개시된 주제의 양태는 도면에 도시된 예시적인 실시 예를 참조하여 설명될 것이다.
도 1은 본 명세서에 개시된 주제에 따라 심층 신경망(DNN)의 계층들에 대해 정리 및 양자화 공동 동작을 실행할 수 있는 신경망 분석기의 블록도를 도시한다.
도 2는 도 1의 신경망 분석기에 전체 정밀 학습된 신경망으로 입력될 수 있는 DNN의 예시적인 아키텍처를 도시한다.
도 3은 본 명세서에 개시된 주제에 따라 예시적인 계층의 가중치를 최적으로 정리하기 위한 분석적 가중치 함수 f(w)를 형성하도록 DNN에서의 예시적인 계층 및 분석 임계치 함수의 적용을 도시한다.
도 4a는 본 명세서에 개시된 주제에 따른 수학식 1의 예시적인 임계치 함수 h(w)의 그래프를 도시한다.
도 4b는 본 명세서에 개시된 주제에 따른 수학식 2의 가중치 함수 f(w)의 그래프를 도시한다.
도 5a 내지 5e는 본 명세서에 개시된 주제에 따라 매개 변수 α 및 β가 임계치 함수 h(w) 및 가중치 함수 f(w)에 어떻게 영향을 미칠 수 있는지에 대한 시각적 의미를 제공하기 위해 매개 변수 α 및 β에 대해 상이한 값을 갖는, 수학식 1의 임계치 함수 h(w)의 다섯 개의 예시적인 그래프를 도시한다.
도 6은 본 명세서에 개시된 주제에 따라 DNN과 같은 신경망의 계층들에 대한 정리 및 양자화 공동 동작을 실행하기 위한 방법의 예시적인 실시 예의 흐름도이다.
도 7은 도 1의 신경망 분석기를 구현하는데 사용될 수 있는 데이터 처리 시스템에 대한 예시적인 아키텍처의 블록도를 도시한다.
다음의 상세한 설명에서, 본 개시의 철저한 이해를 제공하기 위해 다수의 특정 세부 사항이 설명된다. 그러나, 당업자는 개시된 특정 양태가 이러한 특정 세부 사항 없이도 실시될 수 있음을 이해할 것이다. 다른 경우들에서, 잘 알려진 방법들, 절차들, 구성 요소들 및 회로들은 본 명세서에 개시된 요지를 모호하게 하지 않기 위해 상세히 설명되지 않았다.
본 명세서 전체에서 "일 실시 예" 또는 "실시 예"에 대한 언급은 실시 예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 명세서에 개시된 적어도 하나의 실시 예에 포함될 수 있음을 의미한다. 따라서, 본 명세서 전체의 여러 곳에서 문구 "일 실시 예에서" 또는 "실시 예에서" 또는 "일 실시 예에 따라" (또는 유사한 다른 문구)의 출현이 반드시 모두 동일한 실시 예를 지칭하는 것은 아니다. 또한, 특정 특징, 구조 또는 특성은 하나 이상의 실시 예에서 임의의 적절한 방식으로 결합될 수 있다. 이와 관련하여, 본 명세서에서 사용된 바와 같이, "예시적인"이라는 단어는 "예, 실례 또는 예시로서 제공하는"을 의미한다. 본 명세서에서 "예시적인"것으로 설명된 임의의 실시 예는 다른 실시 예보다 반드시 바람직하거나 유리한 것으로 해석되어서는 안된다. 또한, 특정 특징, 구조 또는 특성은 하나 이상의 실시 예에서 임의의 적절한 방식으로 결합될 수 있다. 또한, 본원의 논의의 맥락에 따라, 단수형은 대응하는 복수형을 포함할 수 있고 복수형은 대응하는 단수형을 포함할 수 있다. 유사하게, 하이픈이 붙은 용어 (예를 들어, "2-차원", "미리-결정된", "픽셀-특정" 등)는 때때로 하이픈이 없는 버전 (예를 들어, "2차원", " 미리 결정된", "픽셀 특정" 등)과 대체적으로 사용될 수 있으며, 및 대문자 입력 (예를 들어, "Counter Clock", "Row Select", "PIXOUT" 등)은 비 대문자 버전 (예를 들어, "counter clock", "row select", "pixout" 등)과 대체적으로 사용될 수 있다. 이들 대체하여 사용하는 것은 서로 일치하지 않는다고 간주되지 않는다.
또한, 본 명세서의 논의의 맥락에 따라, 단수형은 대응하는 복수형을 포함할 수 있고 복수형은 대응하는 단수형을 포함할 수 있다. 본 명세서에 도시되고 논의된 다양한 도면들 (구성 요소 다이어그램 포함)은 단지 예시적인 목적이며, 축척대로 도시되지 않았다는 점에 유의한다. 유사하게, 다양한 파형 및 타이밍 다이어그램이 단지 예시의 목적으로 도시되어 있다. 예를 들어, 일부 구성 요소의 치수는 명확성을 위해 다른 구성 요소에 비해 과장될 수 있다. 또한, 적절하다고 간주되는 경우, 대응하는 및/또는 유사한 요소를 나타내기 위해 도면들에서 참조 번호가 반복되었다.
본 명세서에서 사용된 용어는 단지 특정한 예시적인 실시 예들을 설명하기 위한 것이며 청구된 주제를 제한하려는 것이 아니다. 단수의 표현은 문맥 상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 사용될 때, "포함한다" 및/또는 "포함하는"이라는 용어는 언급된 특징, 정수, 단계, 연산, 요소 및/또는 구성 요소의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 연산, 요소, 구성 요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지는 않는 것으로 이해될 것이다. 본 명세서에서 사용되는 용어 "제1", "제2" 등은 명사에 대한 레이블로서 사용되며, 명시적으로 정의되지 않는 한 임의의 유형의 순서(예를 들어, 공간적, 시간적, 논리적 등)를 의미하지는 않는다. 따라서. 또한, 동일하거나 유사한 기능을 갖는 부품, 구성 요소, 블록, 회로, 유닛 또는 모듈을 지칭하기 위해 동일한 참조 번호가 둘 이상의 도면에 걸쳐 사용될 수 있다. 그러나, 이러한 사용은 설명의 단순성 및 논의의 용이성만을 위한 것이고, 그러한 구성 요소 또는 유닛의 구성 또는 구조적 세부 사항이 모든 실시 예에 걸쳐 동일하거나 또는 일반적으로 참조되는 부품/모듈이 본 명세서에 개시된 특정 실시 예의 교시를 구현하는 유일한 방법이라는 것을 의미하지는 않는다.
구성 요소 또는 층이 다른 구성 요소 또는 층 상에 존재하거나, "연결된" 또는 "연결된"것으로 언급될 때, 이는 다른 구성 요소 또는 층에 직접 연결되거나 연결되거나 결합될 수 있음을 이해할 것이다. 개재 요소 또는 층이 존재할 수 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 동일한 참조 번호는 전체에 걸쳐 동일한 요소를 지칭한다. 본원에 사용된 용어 "및/또는"은 하나 이상의 관련된 열거된 항목의 임의의 및 모든 조합을 포함한다.
본원에 사용된 용어 "제1", "제2" 등은 이들이 명사에 대한 레이블로서 사용되며, 명시적으로 정의되지 않는 한 임의 유형의 순서(예를 들어, 공간적, 시간적, 논리적 등)를 암시하지 않는다. 또한, 동일하거나 유사한 기능을 갖는 부품, 구성 요소, 블록, 회로, 유닛 또는 모듈을 지칭하기 위해 동일한 참조 번호가 둘 이상의 도면에 걸쳐 사용될 수 있다. 그러나, 이러한 사용은 설명의 단순성 및 논의의 용이성만을 위한 것이다. 그러한 구성 요소 또는 유닛의 구성 또는 구조적 세부 사항이 모든 실시 예에 걸쳐 동일하거나 이러한 공통 참조 부품/모듈이 본 명세서에 개시된 예시적인 실시 예 중 일부를 구현하는 유일한 방법이라는 것을 의미하지는 않는다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 또한, 일반적으로 사용되는 사전에 정의된 용어와 같은 용어는 본 명세서에서 명확하게 정의되어 있지 않는 한 관련 기술의 맥락에서 그 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며 이상적이지 않거나 지나치게 공식적인 의미로 해석되지 않을 것임을 이해할 것이다.
본 명세서에서 사용된 용어 "모듈"은 모듈과 관련하여 본원에 기술된 기능성을 제공하도록 구성된 소프트웨어, 펌웨어 및/또는 하드웨어의 임의의 조합을 지칭한다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령어 세트 또는 명령어로서 구현될 수 있으며, 본 명세서에 설명된 임의의 구현에서 사용되는 용어 "하드웨어"는 예를 들어, 단독으로 또는 임의의 조합으로, 유선 회로, 프로그래밍 가능 회로, 상태 머신 회로 및/또는 프로그램 가능한 회로로 실행되는 명령을 저장하는 펌웨를 포함할 수 있다. 모듈은 집합 적으로 또는 개별적으로, 더 큰 시스템의 일부를 형성하는 회로로서, 예를 들어 집적 회로(IC), 시스템 온 칩(SoC) 등을 형성하는 회로로서 구현될 수 있다. 본 명세서에 개시된 다양한 구성 요소 및/또는 기능 블록은 다양한 구성 요소 및/또는 기능 블록과 관련하여 본 명세서에 설명된 기능을 제공하는 소프트웨어, 펌웨어 및/또는 하드웨어를 포함할 수 있는 모듈로서 구현될 수 있다.
본 명세서에 개시된 주제는 신경망의 최적화가 양자화에 가장 적합한 정리 모델을 선택하고 동시에 정리에 가장 적합한 양자화된 모델을 선택할 수 있게 하는 정리 및 양자화 공동 동작을 제공한다. 따라서, 본 명세서에 개시된 주제는 훨씬 더 큰 세트의 허용 가능한 솔루션이 고려될 수 있게 하여, 더 나은 정리 및 양자화 결과를 제공한다.
도 1은 본 명세서에 개시된 주제에 따라 심층 신경망(DNN)의 계층들에 대해 정리 및 양자화 공동 동작을 수행할 수 있는 신경망 분석기(100)의 블록도를 도시한다. 일 실시 예에서, 신경망 분석기(100)는 적합한 소프트웨어를 실행하는 데이터 처리 시스템으로서 구현될 수 있다. 도시된 바와 같이, 신경망 분석기(100)는 입력으로서 전체 정밀 학습된 신경망(101)을 수신할 수 있다. 신경망 분석기(100)는 신경망(101)의 각각의 계층의 가중치 및 출력 특징 맵에 대한 정리 및 양자화 공동 동작(104)을 수행함으로써 신경망(101)의 계층에서 동작할 수 있다. 신경망 분석기(100)는 신경망의 계층들이 공동으로 정리되고 양자화된 신경망(102)을 출력한다.
각각의 계층에서 수행되는 정리 및 양자화 공동 동작(104)은 DNN의 각각의 계층에 대해 정리 및 양자화된 가중치 및 출력 특징 맵을 미세 조정하는 다수의 순방향 및 역방향 패스 또는 반복을 포함할 수 있다. DNN의 계층을 통한 순방향 통과 동안, 가중치는 제거된 다음 양자화된다. 그리고 나서 출력 특징 맵은 양자화된 가중치를 사용하여 계산된다. 그런 다음 출력 특징 맵이 양자화된다. 역방향 패스 동안, 정리 매개 변수 및 정리된 가중치와 출력 특징 맵을 수량화하기 위한 매개 변수는 비용 함수의 최적화를 기반으로 업데이트된다.
일 실시 예에서, 전체 정밀 학습된 신경망(101) 및 정리 및 양자화된 신경망(102)은 DNN일 수 있다. 도 2는 전체 정밀 학습된 신경망(101)로서 신경망 분석기(100)에 입력될 수 있는 DNN의 예시적인 아키텍처(200)를 도시한다. VGG(16)의 예시적인 아키텍처(200)는 구체적으로 13개의 콘볼루셔널 (CONV) 계층, 세 개의 전 연결(CONV) 계층, 및 다섯 개의 풀링 계층(PL)을 포함한다. VGG(16) 아키텍처(200)로의 입력은 컨볼루션 계층(CONV1_1)에 적용되고, 출력은 유형(Classification)에서 제공된다.
DNN의 계층의 가중치를 정리하기 위해, 일반적으로 임계치 보다 큰 크기를 갖는 가중치에 영향을 주지 않고, 임계치보다 작은 크기를 갖는 가중치를 제로로 설정하는 특질로 특징지어지는 분석 임계치 함수 h(w)가 각각의 가중치에 곱해질 수 있다. 도 3은 본 명세서에 개시된 주제에 따라 예시적인 계층(300)의 가중치를 최적으로 정리하기 위한 분석 가중치 함수 f(w)를 형성하기 위해 DNN의 예시적인 계층(300) 및 분석 임계치 함수의 적용을 도시한다. 예시적인 계층(300)을 포함할 수 있는 신경망의 복잡도에 상관없이, 계층(300)의 출력 특징 맵은 도 3의 좌측에 표시된 바와 같이, 출력 특징 맵에 대해 연결 가중치(w)와 입력 특징 맵의 곱의 합으로서 형성될 수 있다.
분석 임계치 함수 h(w)는 301에서 계층(300)의 가중치 w에 적용되어 가중치 w를 대체하는 가중치 함수 f(w)를 형성함으로써, 계층(300')을 형성할 수 있다. 일 실시 예에서, 각각의 가중치 w에는 분석 함수 h(w)가 곱해질 수 있다. 예시적인 가중치 함수 f(w)의 그래프가 도 3의 상단 중앙에 도시되어 있다. 일 실시 예에서, 분석 임계치 함수 h(w)는 다음과 같다:
Figure pat00001
여기서, α는 임계치 함수 h(w)의 예리한 정도를 제어하는 매개 변수이고, β는 임계치 함수의 제1 및 제2 에지 사이의 거리 (또는 범위)를 제어하는 매개 변수이다. 매개 변수 α가 작을수록 h(w)의 프로파일이 더 예리해지고, 매개 변수 β가 작을수록 h(w)의 폭이 더 넓어진다. 매개 변수 α 및 β는 스케일링 값이며 단위가 없다.
도 4a는 수학식 1의 예시적인 임계치 함수 h(w)의 그래프를 도시한다. 매개 변수 α는 임계치 함수의 에지들(401a 및 401b)의 예리한 정도를 제어한다. 즉, 매개 변수 α는 h(w) = 0과 h(w) = 1 사이의 에지들(401a 및 401b)의 변화율을 제어한다. 수학식 1의 매개 변수 β는 h(w) = 0.5에서 두 에지들(401a 및 401b) 사이의 폭(402)을 제어한다.
도 4a에 도시된 바와 같이, 임계치 함수 h(w)는 0을 중심으로 하는 연속적 가중치 값의 제1 세트(403)에 대해 0의 값을 갖는다. 또한, 임계치 함수 h(w)는 연속적 가중치 값의 제1 세트(403)보다 큰 연속적 가중치 값의 제2 세트(404)에 대해 1의 값을 갖고, 가중치 값의 제1 세트(403)보다 작은 연속적 가중치 값의 제3 세트(405)에 대해 1의 값을 갖는다. 임계치 함수 h(w)의 제1 에지(401a)는 연속적 가중치 값의 제1 세트(403)와 연속적 가중치 값의 제2 세트(404) 사이에 있다. 제2 에지(401b)는 연속적 가중치 값의 제1 세트(403)와 연속 가중치 값의 제3 세트(405) 사이에 있다.
임계치 함수 h(w)의 값은 제1 및 제2 에지(401a 및 401b)의 영역에서 0과 1 사이에서 변이된다. 임계치 함수 h(w)가 0과 1 사이에서 변이될 때 제1 및 제2 에지(401a 및 401b) 각각의 예리한 정도는 매개 변수 α의 값 (즉, 임계치 함수의 에지(401a 및 401b)의 예리한 정도)에 기초하고, h(w) = 0.5에서 제1 및 제2 에지(401a 및 401b) 사이의 거리(402)는 매개 변수 β의 값에 기초한다.
일 실시 예에서, 계층의 각각의 가중치 w를 임계치 함수 h(w)와 곱하여 다음과 같이 가중치 함수 f(w)를 형성할 수 있다.
Figure pat00002
도 4b는 수학식 2의 가중치 함수 f(w)의 그래프를 도시한다. 가중치 값의 제1 세트(403)에 대해, 가중치 함수 f(w)는 0의 값을 갖는다. 가중치 함수 f(w)는 연속적 가중치 값의 제1 세트(403)보다 큰 연속적 가중치 값의 제2 세트(404)에 대해 w의 값을 갖고, 연속적 가중치의 제1 세트(403)보다 작은 연속적 가중치 값의 제3 세트(405)에 대해 w의 값을 갖는다. 가중치 함수 f(w)는 제1 에지(401a) 및 제2 에지(401b)에 각각 대응하는 변이 영역(406a 및 406b)을 포함한다. 매개 변수 α의 값이 작을수록, 제1 및 제2 에지(401a, 401b)는 더 예리해지고, 변이 영역(406a, 406b)은 w 방향으로 더 작아진다.
도 5a 내지 5e는 수학식 1의 임계치 함수 h(w)의 다섯 개의 예시적인 그래프를 도시하며, 이 그래프에서 매개 변수 α 및 β에 대해 상이한 값으로 매개 변수 α 및 β가 임계치 함수 h(w) 및 가중치 함수 f(w)에 어떻게 영향을 미칠 수 있는지에 대한 시각적 의미를 제공한다. 도 5a 내지 5c에서, 매개 변수 α는 α = 1.0 x 10-8 (도 5a)에서 α = 1.0 x 10-2 (도 5c)로 변하는 반면, 매개 변수 β는 β = 4에서 일정하다. 도 5a 내지 5c에서, α의 값이 작을수록, 임계치 함수 h(w)가 0과 1 사이에서 더 예리하게 변이된다. 도 5d 및 5e에서, 매개 변수 β는 β = 8 (도 5D)에서 β = 16 (도 5e)으로 변하는 반면, 매개 변수 α는 α = 1.0 x 10-8에서 일정하다. 도 5d 및 5e에서, 매개 변수 β가 작아질수록, h(w) = 0.5에서 임계치 함수 h(w)의 에지들 사이의 폭이 더 크다는 것을 알 수 있다. 따라서, 매개 변수 α 및 β의 값이 작아질수록, 임계치 함수 h(w)에 대해 보다 강력한 임계 값 및 더 넓은 폭을 제공하며, 이는 상대적으로 많은 수의 제로 가중치를 제공하거나, 다시 말해 상대적으로 더 적은 논-제로 가중치를 제공한다.
임계치 함수 h(w)에서의 매개 변수 α 및 β는 학습 가능하고 최적화될 수 있다. 매개 변수 α 및 β가 최적화됨에 따라, 임계치 함수 h(w)의 형상은 최적으로 예리한 에지 및 h(w) = 0.5에서의 최적의 간격을 갖도록 수렴된다. 매개 변수 α 및 β의 학습성은 반복적 정리 및 재학습에 의존하는 다른 정리 기술에 비해 상당한 이점을 제공하는데, 왜냐하면 임계치 함수 h(w)를 사용하게 되면 DNN의 다른 계층에서 허용 가능한 수의 논-제로 가중치에 도달하도록 임계 값을 경험적으로 선택하는 대신에 역 전파 동안 논-제로 가중치가 자동으로 최적화되기 때문이다. 이와 같이, 논제로 가중치의 수를 최적으로 줄이면 DNN을 실행하는 장치의 계산 부담이 최적으로 줄어든다.
도 1의 정리 및 양자화 공동 동작(104)으로 되돌아가, 정리된 계층의 가중치
Figure pat00003
은 다음과 같이 결정될 수 있다.
Figure pat00004
여기서
Figure pat00005
은 계층 l의 가중치이고,
Figure pat00006
는 정리될 값의 범위를 제어하는 학습 가능한 매개 변수이며,
Figure pat00007
는 정리된 가중치
Figure pat00008
함수의 예리한 정도를 제어하는 고정 상수이다. 매개 변수
Figure pat00009
Figure pat00010
는 각각 수학식 1의 매개 변수 β 및 α에 대응한다.
가중치의 양자화를 위한 매개 변수 및 출력 특징 맵의 양자화를 위한 매개 변수를 학습하는 것은 정확성과 복잡성 사이에서 최상의 균형을 제공하는 비트 수를 찾는 것을 수반한다. 하나의 최적 양자화 레벨을 찾는 대신에, 각각의 이용 가능한 양자화 레벨에 대한 선호도를 포함하는 확률 분포가 사용될 수 있다. 가장 바람직한 양자화 레벨은 가장 높은 확률을 수신한다.
양자화를 위한 매개 변수를 학습하기 위해, 가중치의 허용가능한 양자화 레벨의 범위는 qw = qw, min, ..., qw, max로 설정될 수 있다. 예를 들어, qw는 4 비트와 8 비트 사이의 허용 가능한 값을 취할 수 있다. 가중치에 대한 양자화 레벨의 선호도는 다음과 같은 범주 분포(즉, 이산 확률 분포)를 사용하여 표현될 수 있다.
Figure pat00011
여기에서
Figure pat00012
는 [0,1] 사이의 숫자이고 (1은 양자화 레벨이 달성할 수 있는 최고 점수를 나타냄), w는 확률이 가중치와 연관되어 있음을 나타내는 첨자, qw는 양자화 레벨 (예를 들어, 5 비트)을 나타내고, l은 양자화되는 가중치의 계층을 나타내고,
Figure pat00013
는 양자화 레벨 q의 정규화되지 않은 확률에 대응하는 학습 가능한 매개 변수를 나타내고,
Figure pat00014
는 범주형 분포의 학습 가능한 스케일링 매개 변수이다.
계층의 가중치의 양자화는 하나의 선택된 양자화 레벨에서만 수행되는 것이 아니라, 대신에 다음과 같이 모든 양자화 레벨의 가중 평균으로서 수행된다.
Figure pat00015
여기서
Figure pat00016
는 계층 l에 대한 양자화-역양자화 가중치이고,
Figure pat00017
는 k 비트에서의 가중치의 양자화이고,
Figure pat00018
는 k 비트에서의 가중치의 역양자화이다.
계층에 대한 사전-양자화된 출력 특징 맵은 수학식 5에 의해 결정된 양자화된 가중치를 사용하여 계산된다. 가중치와 유사하게, 출력 특징 맵의 허용 가능한 양자화 레벨의 범위는 qf = qf, min, ..., qf, max이고, 출력 특징 맵에 대한 양자화 레벨의 선호도는 다음과 같은 범주 분포를 사용하여 나타낼 수 있다.
Figure pat00019
여기에서,
Figure pat00020
는 [0,1] 사이의 숫자 (1은 양자화 레벨이 달성할 수 있는 최고 점수를 나타냄)이며, f는 확률이 특징 맵과 연관되어 있음을 나타내는 첨자이고,
Figure pat00021
는 양자화 레벨을 나타내고, l은 양자화되는 특징 맵의 계층을 나타내고,
Figure pat00022
는 양자화 레벨 q의 정규화되지 않은 확률에 대응하는 학습 가능한 매개 변수를 나타내고,
Figure pat00023
는 범주형 분포의 학습 가능한 스케일링 매개 변수이다.
출력 특징 맵은 또한 하나의 선택된 양자화 레벨에서 양자화되지 않고, 대신에 다음과 같이 모든 양자화 레벨의 가중 평균으로서 양자화된다.
Figure pat00024
여기에서,
Figure pat00025
는 계층 l에 대한 양자화-역양자화된 출력 특징 맵이고,
Figure pat00026
는 k 비트에서의 출력 특징 맵의 양자화이고,
Figure pat00027
는 k 비트에서 출력 특징 맵의 역양자화이다.
각각의 계층 l에 대한 학습 가능한 매개 변수는, 계층의 학습 가능한 가중치에 더하여, 정리 매개 변수
Figure pat00028
, 각 양자화 레벨에 대한 정규화되지 않은 확률
Figure pat00029
Figure pat00030
, 및 분포
Figure pat00031
Figure pat00032
의 스케일링 매개 변수를 포함한다.
종래의 방식으로 정리 및 양자화되는 DNN의 경우 (즉, 정리 및 양자화는 개별적인 독립 연산임), 총 손실 E(w)는 다음과 같이 정의될 수 있다.
Figure pat00033
여기서,
Figure pat00034
는 교차 엔트로피 손실이고
Figure pat00035
은 가중치에 대한 L2 정규화이다.
도 1의 정리 및 양자화 공동 동작(104)에 대해, 세 개의 정리 손실이 비용 함수에 포함될 수 있다. 정리 손실
Figure pat00036
은 β를 작게하는 데 도움이 되고, 사실상 정리를 증가시키고, 여기에서 L은 계층의 최대 개수이다. 그러나, 정리 손실
Figure pat00037
는 수학식 8의 교차 엔트로피 손실
Figure pat00038
에 부정적인 영향을 미칠 수 있으므로, 두 항은 균형이 맞아야 한다.
가중치 양자화 손실
Figure pat00039
가 추가되어 모든 확률 질량을 가장 작은 양자화 레벨에 배치하기 위한 최적화에 도움이 된다. 그렇게하면 교차 엔트로피 손실 EC에 부정적인 영향을 줄 수도 있다.
특징 맵 양자화 손실
Figure pat00040
은 가중치 양자화 손실 Ew,q와 동일한 방법으로 동작하도록 추가될 수 있다.
정리 및 양자화 공동 동작의 역방향 통과 동안 최적화될 수 있는 비용 함수는 다음과 같다.
Figure pat00041
여기서, N은 미리 수동으로 설정될 수 있는 미니 배치의 크기이고, 32, 64, 128 또는 256과 같은 숫자일 수 있지만, 이에만 제한되지는 않는다. 상수
Figure pat00042
,
Figure pat00043
,
Figure pat00044
, 및
Figure pat00045
는 그리드 기반 매개 변수 최적화 또는 대안적으로 랜덤한 검색에 의해 결정될 수 있다.
도 6은 본 명세서에 개시된 주제에 따라 DNN과 같은 신경망의 계층들에 대해 정리 및 양자화 공동 동작을 수행하기 위한 방법(600)의 예시적인 실시 예의 흐름도이다. 하나의 계층에 대해, 프로세스는 601에서 시작한다. 602에서, 계층의 가중치는 수학식 1의 분석 임계치 함수와 같은 분석 임계치 함수를 사용하여 제거된다. 603에서, 정리 후에 남아 있는 계층의 각 가중치는 모든 양자화 레벨에 대한 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 양자화되어 계층에 대해 양자화된 가중치를 형성한다. 604에서, 계층에 대한 출력 특징 맵이 603에서 형성된 양자화된 가중치를 사용하여 결정되거나 계산된다. 605에서, 계층의 각 출력 특징 맵은 모든 양자화 레벨에 대한 출력 특징 맵의 양자화 및 역 양자화에 기초하여 양자화된다. 606에서, 분석 함수의 매개 변수, 가중치의 모든 양자화 레벨의 가중 평균 및 출력 특징 맵의 모든 양자화 레벨의 가중 평균이 비용 함수를 사용하여 업데이트된다. 607에서, 이 계층에 대한 방법(600)이 종료된다. 방법(600)은 신경망의 주어진 계층에 대해 반복적으로 수행될 수 있다. 부가적으로, 방법(600)은 신경망의 하나 이상의 계층에서 수행될 수 있다.
도 7은 데이터 처리 시스템을 위한 예시적인 아키텍처(700)의 블록도를 도시한다. 일 실시 예에서, 아키텍처(700)는 도 1의 신경망 분석기(100)를 구현하는 데 사용될 수 있다.
아키텍처(700)는 적어도 하나의 프로세서, 예를 들어 시스템 버스(703) 또는 다른 적절한 회로를 통해 메모리 요소(702)에 연결된 중앙 처리 장치(CPU)(701)를 포함한다. 아키텍처(700)는 메모리 요소(702) 내에 프로그램 코드를 저장할 수 있다. 프로세서(701)는 시스템 버스(703)를 통해 메모리 요소(702)로부터 액세스된 프로그램 코드를 실행할 수 있다. 이와 같이, 프로세서(701)는 특수 프로세서로서 기능할 수 있다. 메모리 요소(702)는 로컬 메모리(704) 및 하나 이상의 벌크 저장 장치(705)와 같은 하나 이상의 물리적 메모리 장치를 포함할 수 있지만, 이에 제한되지는 않는다. 로컬 메모리(704)는 프로그램 코드의 실제 실행 동안 일반적으로 사용되는 랜덤 액세스 메모리(RAM) 또는 다른 비영구 메모리 장치일 수 있다. 벌크 저장 장치(705)는 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD) 및/또는 다른 영구 데이터 저장 장치로서 구현될 수 있다. 아키텍처(700)는 또한 프로그램 코드가 실행 동안 벌크 저장 장치(705)로부터 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 임시 저장을 제공하는 하나 이상의 캐시 메모리(도시되지 않음)를 포함할 수 있다.
아키텍처(700)는 또한 아키텍처(700)에 선택적으로 결합될 수 있는 키보드(706), 디스플레이 장치(707) 및/또는 포인팅 장치(708)와 같은 입력/출력(1/O) 장치를 포함할 수 있다. 디스플레이 장치(707)는 또한 키보드(706) 및 포인팅 장치(708)를 포함할 수 있다. 하나 이상의 네트워크 어댑터(709)는 또한 전용망 또는 공용망의 중재를 통해 아키텍처(700)가 다른 시스템, 컴퓨터 시스템, 원격 프린터 및/또는 원격 저장 장치에 연결될 수 있도록 아키텍처(700)에 결합된다. 모뎀, 케이블 모뎀, 이더넷 카드 및 무선 트랜시버는 아키텍처(700)와 함께 사용될 수 있는 상이한 유형의 네트워크 어댑터의 비제한적인 예이다. 아키텍처(700)로 구현된 특정 장치에 따르면, 특정 유형의 네트워크 어댑터 또는 네트워크 어댑터들은 경우에 따라 다를 수 있다. I/O 장치는 직접 또는 I/O 제어기의 중재를 통해 아키텍처(700)에 연결될 수 있다.
도 7에 도시된 바와 같이, 메모리 요소(702)는 운영 체제(710) 및 하나 이상의 애플리케이션(711)을 저장할 수 있다. 일 양상에서, 실행 가능한 프로그램 코드의 형태로 구현되는 운영 체제(710) 및 애플리케이션(들)(711)은 아키텍처(700)에 의해 실행될 수 있다. 이와 같이, 운영 체제(710) 및 애플리케이션(들)(711)은 아키텍처(700)의 통합된 부분으로 간주될 수 있다. 운영 체제(710), 애플리케이션(들)(711), 및 임의의 데이터 아이템 아키텍처(700)에 의해 사용, 생성 및/또는 운영되는 데이터 아이템은 아키텍처(700)를 사용하여 구현된 시스템의 일부로서 채용될 때 기능성을 부여하는 기능적 데이터 구조일 수 있다.
일 구성에서, 애플리케이션(711)은 아키텍처(700) 또는 아키텍처(700)와 유사한 아키텍처를 사용하는 시스템에 의해 실행될 때, 도 1 및 도 3 내지 6을 참조하여 본 명세서에서 설명된 다양한 동작을 수행할 수 있는 하나 이상의 모듈을 포함할 수 있다.
다른 구성에서, 아키텍처(700)는 통신 링크(713)를 통해 플랫폼(712)에 연결될 수 있다. 일 예에서, 아키텍처(700)는 네트워크 어댑터(709)를 통해 플랫폼(712)에 연결될 수 있다. 다른 예에서, 아키텍처(700)는 아키텍처(700)를 플랫폼(712)에 연결하는데 사용될 수 있는 범용 직렬 버스(USB) 인터페이스 또는 다른 통신 포트와 같은 하나 이상의 다른 1/O 장치를 포함할 수 있다. 플랫폼(712)은 회로 보드일 수 있고 이에 연결된 신경망 가속기(714)를 구비할 수 있다. 일 구성에서, 신경망 가속기(714)는 집적 회로(IC) 또는 복수의 IC로서 구현될 수 있다. 예를 들어, 신경망 가속기(714)는 필드 프로그램 가능 게이트 어레이, 하나 이상의 주문형 IC(ASIC) 등과 같은 하나 이상의 프로그램 가능 IC로서 구현될 수 있다.
아키텍처(700)는 도 1의 정리 및 양자화 신경망(102)과 같은 정리 및 양자화 네트워크를 생성하기 위해 신경망 또는 DNN에서 본 명세서에 설명된 동작들을 수행하도록 구성될 수 있다. 즉, 아키텍처(700)는 I/O 장치를 통해 학습된 신경망(101)을 수신하고, 학습된 신경망의 하나 이상의 계층에서 동작하고, 본 명세서에 개시된 주제에 따라 공동으로 정리 및 양자화된 가중치 및 출력 특징 맵을 갖는 계층을 갖는 학습된 신경망을 I/O 장치를 통해 출력할 수 있다. 아키텍처(700)는 또한 정리 및 양자화된 신경망(102)의 정의를 내부에서의 실행을 위해 신경망 가속기(714)에 제공할 수 있다.
도 7은 예시의 목적으로만 제공되며, 따라서 여기에 설명된 본 발명의 구성의 제한으로서 의도되지 않는다. 일부 경우에, 아키텍처(700)를 사용하여 구현된 특정 시스템은 도시된 것보다 더 적은 수의 구성 요소 또는 더 많은 구성 요소를 포함할 수 있다. 또한, 아키텍처(700)의 일부로서 포함된 특정 운영 체제 및/또는 애플리케이션(들)은 변할 수 있다.
당업자에 의해 인식되는 바와 같이, 본 명세서에 설명된 혁신적인 개념은 광범위한 응용에 걸쳐 수정 및 변경될 수 있다. 따라서, 청구된 주제의 범위는 상기 논의된 특정 예시적인 교시 중 하나로 제한되지 않아야 하며, 대신에 다음의 청구 범위에 의해 정의된다.
100 : 신경망 분석기
600: 정리 및 양자화 공동 동작을 수행하기 위한 방법
700: 데이터 처리 시스템을 위한 예시적인 아키텍처

Claims (20)

  1. 신경망에 있어서,
    복수의 계층을 포함하고,
    적어도 하나의 계층은 공동 정리 및 양자화된 가중치 및 출력 특징 맵을 포함하고, 상기 공동 정리 및 양자화된 가중치는 분석 임계치 함수를 이용하여 정리되고(pruned), 각 가중치는 모든 양자화 레벨에 대한 상기 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 양자화되고, 상기 출력 특징 맵은 상기 계층의 상기 정리 및 양자화된 가중치에 기초하여 형성되고, 각 출력 특징 맵은 모든 가중치 레벨에 대한 상기 출력 특징 맵의 양자화에 기초하여 양자화되고, 상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균은 비용 함수에 기초하여 업데이트되는, 신경망.
  2. 제1항에 있어서,
    상기 신경망은, 상기 적어도 하나의 계층의 상기 가중치 및 상기 출력 특징 맵이 공동으로 정리 및 양자화되기 전에 전체 정밀 학습되는(full-precision trained) 신경망인, 신경망.
  3. 제1항에 있어서,
    상기 비용 함수는 정리 손실 항, 가중치 양자화 손실 항 및 특징 맵 양자화 손실 항을 포함하는, 신경망.
  4. 제3항에 있어서,
    상기 분석 임계치 함수의 상기 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균은 상기 비용 함수의 최적화에 기초하여 업데이트되는, 신경망.
  5. 제3항에 있어서,
    상기 분석 임계치 함수의 상기 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균은 상기 비용 함수의 최적화에 기초하여 반복적으로 업데이트되는, 신경망.
  6. 제1항에 있어서,
    상기 분석 임계치 함수의 상기 매개 변수는 상기 분석 임계치 함수의 예리한 정도를 제어하는 제1 매개 변수 및 상기 분석 임계치 함수의 제1 에지와 제2 에지 사이의 거리를 제어하는 제2 매개 변수를 포함하는, 신경망.
  7. 신경망의 계층의 가중치 및 출력 특징 맵을 정리하는 방법에 있어서,
    분석 임계치 함수를 사용하여 신경망의 계층의 가중치를 정리하는 단계로서, 상기 신경망은 학습된 신경망인 단계;
    모든 양자화 레벨에 대한 상기 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 정리한 후 남은 상기 계층의 각 가중치를 양자화하여 상기 계층에 대해 양자화된 가중치를 형성하는 단계;
    상기 계층의 상기 양자화된 가중치에 기초하여 상기 계층의 출력 특징 맵을 결정하는 단계;
    모든 양자화 레벨에 대한 상기 출력 특징 맵의 양자화 및 역 양자화의 가중 평균에 기초하여 상기 계층의 각각의 출력 특징 맵을 양자화하는 단계; 및
    비용 함수를 사용하여 상기 분석 임계치 함수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계는, 상기 비용 함수를 최적화하는 단계를 더 포함하는, 방법.
  9. 제8항에 있어서,
    상기 비용 함수는 정리 손실 항, 가중치 양자화 손실 항 및 특징 맵 양자화 손실 항을 포함하는, 방법.
  10. 제7항에 있어서,
    상기 가중치를 반복적으로 정리하는 단계, 상기 계층의 각 가중치를 양자화하는 단계, 상기 계층의 상기 출력 특징 맵을 결정하는 단계, 상기 계층의 각 출력 특징 맵을 양자화하는 단계, 상기 비용 함수를 최적화하기 위해 상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계를 더 포함하는, 방법.
  11. 제10항에 있어서,
    상기 신경망의 상기 계층은 제1 계층이며,
    상기 방법은,
    상기 분석 임계치 함수를 사용하여 상기 신경망의 제2 계층의 가중치를 정리하는 단계로서, 상기 신경망에서 상기 제2 계층은 상기 제1 계층에 후속하는 단계;
    상기 제2 계층에 대한 양자화된 가중치를 형성하기 위해 모든 양자화 레벨에 대한 상기 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 정리한 후 남은 상기 제2 계층의 각 가중치를 양자화하는 단계;
    상기 제2 계층의 상기 양자화된 가중치에 기초하여 상기 제2 계층의 상기 출력 특징 맵을 결정하는 단계;
    모든 양자화 레벨에 대한 상기 출력 특징 맵의 양자화 및 역양자화의 가중 평균에 기초하여 상기 제2 계층의 각 출력 특징 맵을 양자화하는 단계; 및
    상기 비용 함수를 사용하여 상기 분석 임계치 함수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 제2 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계
    를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 제2 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는 단계는 상기 비용 함수를 최적화하는 단계를 더 포함하는, 방법.
  13. 제7항에 있어서,
    상기 분석 임계치 함수의 매개 변수는 상기 분석 임계치 함수의 예리한 정도를 제어하는 제1 매개 변수 및 상기 분석 임계치 함수의 제1 에지와 제2 에지 사이의 거리를 제어하는 제2 매개 변수를 포함하는, 방법.
  14. 신경망 분석기에 있어서,
    신경망을 수신하는 인터페이스로, 상기 신경망은 복수의 계층을 포함하는 인터페이스; 및
    공동으로 정리 및 양자화된 가중치 및 출력 특징 맵을 갖는 적어도 하나의 계층을 포함하는 신경망을 생성하는 처리 장치
    를 포함하고,
    상기 처리 장치는 분석 임계치 함수를 사용하여 신경망의 계층의 정리 가중치를 정리하고, 모든 양자화 레벨에 대한 상기 가중치의 양자화 및 역양자화의 가중 평균에 기초하여 정리한 후 남은 상기 적어도 하나의 계층의 각 가중치를 양자화하여 상기 적어도 하나의 계층에 대해 양자화된 가중치를 형성하고, 상기 적어도 하나의 계층의 상기 양자화된 가중치에 기초하여 상기 적어도 하나의 계층의 출력 특징 맵을 결정하고, 모든 양자화 레벨에 대한 상기 출력 특징 맵의 양자화 및 역 양자화의 가중 평균에 기초하여 상기 적어도 하나의 계층의 각 출력 특징 맵을 양자화하고, 비용 함수를 사용하여 상기 분석 임계치 함수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 적어도 하나의 계층의 각 출력 특징 맵의 상기 가중 평균을 업데이트하는, 신경망 분석기.
  15. 제14항에 있어서,
    상기 인터페이스는 공동 정리 및 양자화된 가중치 및 출력 특징 맵을 갖는 적어도 하나의 계층을 포함하는 신경망을 더 출력하는, 신경망 분석기.
  16. 제14항에 있어서,
    상기 신경망은 상기 적어도 하나의 계층의 상기 가중치 및 상기 출력 특징 맵이 공동으로 정리되고 양자화되기 전에 전체 정밀 학습된 신경망 인, 신경망 분석기.
  17. 제14항에 있어서,
    상기 비용 함수는 정리 손실 항, 가중치 양자화 손실 항 및 특징 맵 양자화 손실 항을 포함하는, 신경망 분석기.
  18. 제17항에 있어서,
    상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 적어도 하나의 계층의 각 출력 특징 맵의 상기 가중 평균은 상기 비용 함수의 최적화에 기초하여 업데이트되는, 신경망 분석기.
  19. 제17항에 있어서,
    상기 분석 임계치 함수의 매개 변수, 상기 가중치의 모든 양자화 레벨의 상기 가중 평균 및 상기 적어도 하나의 계층의 각 출력 특징 맵의 상기 가중 평균은 상기 비용 함수의 최적화에 기초하여 반복적으로 업데이트되는, 신경망 분석기.
  20. 제14항에 있어서,
    상기 분석 임계치 함수의 매개 변수는 상기 분석 임계치 함수의 예리한 정도를 제어하는 제1 매개 변수 및 상기 분석 임계치 함수의 제1 에지와 제2 에지 사이의 거리를 제어하는 제2 매개 변수를 포함하는, 신경망 분석기.
KR1020200027688A 2019-03-15 2020-03-05 정리 및 양자화 공동 실행 심층 신경망 KR20200110613A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962819484P 2019-03-15 2019-03-15
US62/819,484 2019-03-15
US16/396,619 2019-04-26
US16/396,619 US11475308B2 (en) 2019-03-15 2019-04-26 Jointly pruning and quantizing deep neural networks

Publications (1)

Publication Number Publication Date
KR20200110613A true KR20200110613A (ko) 2020-09-24

Family

ID=72423701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200027688A KR20200110613A (ko) 2019-03-15 2020-03-05 정리 및 양자화 공동 실행 심층 신경망

Country Status (4)

Country Link
US (2) US11475308B2 (ko)
KR (1) KR20200110613A (ko)
CN (1) CN111695687A (ko)
TW (1) TW202036388A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108361A1 (ko) * 2020-11-18 2022-05-27 인텔렉추얼디스커버리 주식회사 신경망 특징맵 양자화 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475298B2 (en) * 2019-03-20 2022-10-18 Gyrfalcon Technology Inc. Using quantization in training an artificial intelligence model in a semiconductor solution
US11704571B2 (en) * 2019-10-11 2023-07-18 Qualcomm Incorporated Learned threshold pruning for deep neural networks
AU2021202140A1 (en) * 2021-04-07 2022-10-27 Canon Kabushiki Kaisha Grouped feature map quantisation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831444B2 (en) 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference
US10832123B2 (en) 2016-08-12 2020-11-10 Xilinx Technology Beijing Limited Compression of deep neural networks with proper use of mask
US20180253401A1 (en) 2017-03-02 2018-09-06 Sony Corporation Apparatus and method
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11934934B2 (en) 2017-04-17 2024-03-19 Intel Corporation Convolutional neural network optimization mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108361A1 (ko) * 2020-11-18 2022-05-27 인텔렉추얼디스커버리 주식회사 신경망 특징맵 양자화 방법 및 장치

Also Published As

Publication number Publication date
US20230004813A1 (en) 2023-01-05
CN111695687A (zh) 2020-09-22
TW202036388A (zh) 2020-10-01
US20200293893A1 (en) 2020-09-17
US11475308B2 (en) 2022-10-18

Similar Documents

Publication Publication Date Title
KR20200110613A (ko) 정리 및 양자화 공동 실행 심층 신경망
US11645493B2 (en) Flow for quantized neural networks
US20230267319A1 (en) Training neural network accelerators using mixed precision data formats
CN111652368B (zh) 一种数据处理方法及相关产品
US20190340499A1 (en) Quantization for dnn accelerators
US20200264876A1 (en) Adjusting activation compression for neural network training
US20230140185A1 (en) Neural network activation compression with non-uniform mantissas
EP3906616B1 (en) Neural network activation compression with outlier block floating-point
US20190332925A1 (en) Neural hardware accelerator for parallel and distributed tensor computations
US20200210838A1 (en) Neural network activation compression with narrow block floating-point
US11295236B2 (en) Machine learning in heterogeneous processing systems
EP4100887A1 (en) Method and system for splitting and bit-width assignment of deep learning models for inference on distributed systems
CN112215331A (zh) 对神经网络系统中的数据处理方法和神经网络系统
Chang et al. MSP: an FPGA-specific mixed-scheme, multi-precision deep neural network quantization framework
US20220405561A1 (en) Electronic device and controlling method of electronic device
CN118043821A (zh) 混合稀疏压缩
JP2022501674A (ja) データを処理するための方法、装置、及び関連製品
Sestito et al. Design-Space Exploration of Quantized Transposed Convolutional Neural Networks for FPGA-based Systems-on-Chip
US11704536B1 (en) Convolution circuitry
CN114925821B (zh) 一种神经网络模型的压缩方法及相关系统
KR102672004B1 (ko) 저 정밀도 뉴럴 네트워크 학습을 위한 방법 및 장치
Wang et al. Hardware Design and Software Practices for Efficient Neural Network Inference
CN116306879A (zh) 数据处理方法、装置、电子设备以及存储介质
KR20230109988A (ko) 신경망에서 컨볼루션 계층에 대한 필터 프루닝을 수행하는 방법 및 장치
CN114503122A (zh) 深度神经网络的结构学习和简化方法