KR102651452B1 - 딥러닝 네트워크의 양자화 방법 - Google Patents

딥러닝 네트워크의 양자화 방법 Download PDF

Info

Publication number
KR102651452B1
KR102651452B1 KR1020200189753A KR20200189753A KR102651452B1 KR 102651452 B1 KR102651452 B1 KR 102651452B1 KR 1020200189753 A KR1020200189753 A KR 1020200189753A KR 20200189753 A KR20200189753 A KR 20200189753A KR 102651452 B1 KR102651452 B1 KR 102651452B1
Authority
KR
South Korea
Prior art keywords
quantization
weight
point
bits
network
Prior art date
Application number
KR1020200189753A
Other languages
English (en)
Other versions
KR20220096904A (ko
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 KR1020200189753A priority Critical patent/KR102651452B1/ko
Publication of KR20220096904A publication Critical patent/KR20220096904A/ko
Application granted granted Critical
Publication of KR102651452B1 publication Critical patent/KR102651452B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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
    • 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/0495Quantised networks; Sparse networks; Compressed networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 고정 소수점을 사용하는 심층 신경망 양자화 방법에 관한 것으로, 양자화 비율을 점진적으로 증가시키면서 반복적인 재학습을 수행하고, 그리드 탐색 기법을 사용하여 각 계층에서 사용될 최적의 양자화 비트를 찾는 것을 특징으로 한다. 본 발명에서 제안하는 양자화 기법에 따르면, 하드웨어 구조에 적합한 계산을 가능하게 하고 빠른 동작을 지원하는 동시에 임베디드 플랫폼의 계산 복잡성과 전력 소비를 크게 줄일 수 있는 장점이 있으며, 정확도와 계산 복잡성 사이의 절충안 측면에서 객체 분류 및 객제 탐지 모두에서 기존 양자화 방법 보다 우수한 성능을 구현할 수 있다. 구체적으로, 본 발명에서 제안하는 양자화 방법을 대표적인 1 단계 객체 검출기인 You Only Look Once v3 및 v4 (YOLOv3 & YOLOv4)에 적용하면 하드웨어 구현에 적합한 고정 소수점 기반 양자화의 장점을 유지하면서, 평균 정밀도(mAP) 0.1% 정도의 무시할 수 있는 감소와 함께, 약 80 %의 가중치 변수를 감소시키는 효과가 도출된다.

Description

딥러닝 네트워크의 양자화 방법 {QUANTIZATION METHOD OF DEEP LEARNING NETWORK}
본 발명은 딥러닝 네트워크의 양자화 방법에 관한 것이다. 특히, 본 발명은 고정 소수점을 사용하는 심층 신경망 양자화 방법에 관한 것이다.
딥 러닝은 인공 지능(artificial intelligence, AI) 및 컴퓨터 비전(computer vision) 분야에서 널리 사용되는 기술이다. 컨볼루션 뉴럴 네트워크들(convolution neural networks, CNNs), 심층-신뢰 네트워크들(deep-belief networks, DBNs), 및 오토인코더들(autoencoders)과 같은 다양한 딥-러닝 아키텍쳐들은 시각적인 객체 인식, 자동 대화 인식, 자연 언어 처리, 및 음악/음향 신호 처리와 같은 작업들에 대한 최신의 결과들을 생성하는 것으로 보여왔다. 딥 러닝의 주된 노력은 다양한 네트워크 아키텍쳐들, 러닝 알고리즘들, 및 어플리케이션들에 대한 소프트웨어 구현에 포커싱 되어왔다.
심층 신경망(Deap-learning Neural Network, DNN) 분야에서 기술 발전은 그래픽 처리 장치(GPU)의 개발과 함께 가속화되고 있다. 컨볼루션 신경망(CNN)이 컴퓨터 비전 분야에서 활용되면서, 영상 인식의 정확도가 크게 향상되어 왔다.
그러나 DNN은 많은 계층을 사용하기 때문에 많은 수의 매개 변수가 필요하므로 계산의 복잡성이 큰 문제점이 있다. 특히, DNN 기반 물체 감지의 경우 분류 및 위치 파악이 동시에 수행되므로 방대한 계산이 필요하다.
최근 자율 주행 차, 모바일기기 등 임베디드 플랫폼의 사용도 급증하고 있다. 임베디드 플랫폼은 배터리를 사용하고 제한된 하드웨어 리소스로 동작하기 때문에 임베디드 플랫폼 기반 객체 감지기는 객체 감지 정확도를 유지하면서 저전력의 가볍고 빠른 네트워크 아키텍처를 필요로 한다.
이러한 요구 사항을 충족하기 위해 근사 계산, 데이터 양자화 및 푸르닝과 같은 다양한 네트워크 압축 연구가 활발하게 수행되고 있다.
푸르닝은 불필요한 가중치(Weights), 필터 및 레이어를 제거하여 매개 변수 수를 줄임으로써 덜 복잡한 네트워크를 만든다. 대조적으로, 데이터 양자화 방법은 네트워크의 매개 변수에 대한 비트 수를 줄임으로써 매개 변수의 덧셈 및 곱셈에서 메모리 액세스 시간, 추론 시간 및 전력 소비를 감소시킬 수 있는 장점이 있다.
양자화 방법은 다른 경량화 방법에 비해 정확도 감소가 적고 네트워크 구조를 변경하지 않고 가중치 및 활성화 매개 변수에 할당되는 비트만 줄이므로 적극적으로 연구되고 있다. 가장 활발하게 연구된 가중치 양자화 기술의 경우 가중치 값은 32비트의 부동 소수점 형식으로 표현하고 사용하는 가중치 값의 종류를 줄인다.
이러한 기존의 가중치 양자화 방법에는 두 가지 주요한 문제점이 있다.
먼저, 기존 양자화 기술은 객체 분류에 집중해 왔으므로, 이를 그대로 객체 감지에 적용하는 경우 성능이 크게 저하된다.
또한, 기존 양자화 방법에는 여전히 부동 소수점 연산이 포함되어 있으므로 하드웨어 구현에 있어서, 처리 속도 또는 전력 소비 측면에서 큰 이점이 없다. 이는, 하드웨어 아키텍처에서 부동 소수점 산술은 고정 소수점 산술보다 덧셈과 곱셈 연산에 훨씬 더 많은 에너지를 소비하기 때문이다.
아울러, 시스템 온 칩(SoC) 설계 또는 모바일 장치 용 FPGA(Field Programmable Gate Array) 구현을 통해 CNN을 가속화함에 있어서는, 부동 소수점 형식이 적합하지 않아, 이 또한 부동 소수점 연산을 포함하는 기존 양자화 방법으로 지적된다.
선행문헌 1 : 대한민국 공개특허 제10-2018-0007663호 (2018.01.23. 공개)
본 발명의 기술적 과제는 상술한 문제점을 해결하기 위해, 객체 감지 하드웨어 구현 (예: SoC 설계 및 FPGA 구현)에 적합한 고정 소수점 기반 양자화 방법을 제공하는 것이다.
또한, 본 발명의 기술적 과제는 DNN 기반 물체 검출기에서도 성능 저하를 최소화하면서 경량 효과를 유지하기 위해 각 레이어의 최소 및 최대 가중치를 고려한 적응형 양자화 방법을 제공하는 것이다.
상기 과제를 해결하기 위해 본 발명은 양자화 비율을 점진적으로 증가시키면서 반복적인 재학습을 수행하고, 그리드 탐색 기법을 사용하여 각 계층에서 사용될 최적의 양자화 비트를 찾는다.
특히 양자화 과정에서 각 계층의 모든 가중치 매개 변수에서 가중치 매개 변수의 평균을 빼면 가중치가 0 부근에 분포되어 고정 소수점 표현으로 인한 성능 저하에 대한 보상이 가능하다.
본 발명에서 제안하는 양자화 기법에 따르면, 하드웨어 구조에 적합한 계산을 가능하게 하고 빠른 동작을 지원하는 동시에 임베디드 플랫폼의 계산 복잡성과 전력 소비를 크게 줄일 수 있는 장점이 있다.
또한, 본 발명에 따르면 정확도와 계산 복잡성 사이의 절충안 측면에서 객체 분류 및 객제 탐지 모두에서 기존 양자화 방법 보다 우수한 성능을 구현할 수 있다.
구체적으로, 본 발명에서 제안하는 양자화 방법을 대표적인 1 단계 객체 검출기인 You Only Look Once v3 및 v4 (YOLOv3 & YOLOv4)에 적용하면 하드웨어 구현에 적합한 고정 소수점 기반 양자화의 장점을 유지하면서, 평균 정밀도(mAP) 0.1% 정도의 무시할 수 있는 감소와 함께, 약 80 %의 가중치 변수를 감소시키는 효과가 도출된다.
도 1은 본 발명의 일 실시예에 따른 부동 소수점 및 고정 소수점 양자화의 8 비트 표현을 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 가중치 수의 분포를 나타낸 것이다.
도 3은 YOLOv2 및 YOLOv3를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 양자화 방법을 나타내는 개념도이다.
도 5는 도 4에 도시된 양자화 방법을 알고리즘으로 구현한 것이다.
도 6은 본 발명의 일 실시예에 따른 각 계층에 대한 최대 및 최소 가중치 변수의 중앙값을 나타낸 것이다.
도 7은 가중치 분포를 나타낸 것이다.
도 8은 가중치가 0 부근에 존재하는 경우 양자화 범위의 비율이 각각 0, α, 1 일 때 반복적인 재학습 과정을 나타낸 것이다.
도 9는 YOLOv3 및 YOLOv4에서 각 계층에 대해 가장 높은 mAP를 가지는 비트 수를 나타낸 것이다.
도 10은 다양한 물체 감지기의 감지 결과를 나타낸 것이다.
본 발명의 목적 및 효과는 다음의 상세한 설명을 통하여 보다 분명해질 것이나 하기의 기재만으로 본 발명의 목적 및 효과가 제한되는 것은 아니다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 이하에서 개시되는 실시 예에 한정되지 않는다. 또한 도면에서 본 발명을 명확하게 개시하기 위해서 본 발명과 관계없는 부분은 생략하였으며, 도면에서 동일하거나 유사한 부호들은 동일하거나 유사한 구성요소들을 나타낸다.
먼저, 본 발명에서 제안하는 양자화 방법의 응용 대상이 될 YOLO 알고리즘과 양자화 방법의 기본 원리 및 관련 연구에 대해 설명한다.
양자화는 적용했을 때 성능 저하가 덜하고, 근사 컴퓨팅 개념의 적용 용이성 및 네트워크 구조를 변경할 필요가 없기 때문에 많은 연구가 진행되었다.
가장 최근의 양자화 연구는 이미지 분류를 수행하는 네트워크의 정확도 감소를 방지하기 위해 정수 매개 변수와 부동 소수점 스케일 펙터를 사용한 INT 양자화에 초점을 맞추었다.
특히 한 연구에서는 ImageNet 데이터셋에서도 가중치와 활성화 매개 변수 모두에 4비트 만 사용할 때 정확도가 감소하지 않는다는 것을 발견했다. 그러나 앞서 언급했듯이 정수(INT) 양자화에 대한 이러한 연구는 부동 소수점 연산을 수반하며 여전히 32비트의 부동 소수점 형식의 가중치 및 활성화 함수를 가지고 있다.
따라서 이러한 연구에서 실제 하드웨어 리소스 절약 및 속도 향상은 고정 소수점 스케일 팩터를 사용한 고정 소수점 양자화보다 적다. 그럼에도 불구하고 컴퓨터 비전 분야에서는 성능 저하를 최소화하는 것이 가장 중요하기 때문에 이러한 방향의 연구가 활발히 진행되고 있다. 그러나 임베디드 플랫폼 또는 HW 가속기 환경에서는 가중치 또는 활성화 매개 변수를 고정 소수점 형식으로만 변경하는 것이 훨씬 더 효율적이므로 고정 소수점 형식을 사용한 양자화는 여전히 실용성과 HW 효율성에 관련된 중요한 연구 주제이다. 또한 모바일 애플리케이션에서 딥러닝이 더욱 활발하게 활용되면서 실용성의 중요성이 높아질 것으로 예상된다.
이러한 이유들 때문에 고정 소수점 형식 기반 양자화 연구가 진행이 되었다.
예를 들어 한 연구에서는 고정 소수점 형식에서 가중치 분포를 멀티-모달(multi-modal)로 변경하지만 가중치 분포의 편향을 제거하는 방법을 사용하지 않아 가중치 분포가 0이 아닌 네트워크에서 사용하기가 어려운 문제점이 있다.
또 다른 연구에서, SQNR을 사용하여 고정 소수점 양자화로 인한 오류가 최소가 되도록하고 고정 소수점 양자화를 위해 각 계층에 비트를 수학적으로 계산하여 할당한다. 그러나 수학적으로 오류를 최소화하는 것이 반드시 정확도가 감소하는 것은 아니다. 특히, 이러한 고정 소수점 기반 양자화 연구는 HW 구현이 용이하다는 장점이 있지만 성능 저하를 최소화하기가 어려우므로 상대적으로 간단한 이미지 분류에만 적용되었다. 따라서 물체 감지에 적용하면 성능 저하가 극히 심하다는 문제가 있다.
양자화는 일반적으로 32 비트 부동 소수점으로 표시되는 입력 데이터, 가중치 및 활성화 함수와 같이 큰 매개 변수 종류를 특정 비트 수를 가진 더 작은 개별 종류로 줄이는 압축 방법이다. 대부분 컨볼루션 레이어로 구성되는 CNN의 위와 같은 변수에 대한 비트를 줄임으로써 HW 설계에서 네트워크 용량과 계산 및 전력량을 크게 줄일 수 있다.
그러나 과도한 양자화는 입력 데이터의 왜곡 및 학습 매개 변수의 변형으로 인해 객체 분류/검출의 정확도 저하를 초래한다. 따라서 계산 복잡도 감소와 정확도 왜곡 사이의 균형을 고려하여 줄일 비트 수를 결정해야한다.
양자화 방법은 숫자 표현에 따라 두 가지 주요 방법으로 나눌 수 있다. 첫 번째는 기존 32 비트 부동 소수점 숫자를 낮은 비트의 부동 소수점 숫자 (예: 16비트 부동 소수점 숫자)로 양자화하는 것이고, 두 번째는 계산 및 저장에 사용되는 부동 소수점 숫자의 종류를 비트 수만큼 줄이는 것이다(예: INT8).
도 1은 부동 소수점 및 고정 소수점 양자화의 8 비트 표현을 보여준다. 부동 소수점 숫자에는 각각 스케일과 해상도를 나타내는 지수 비트와 가수 비트가 모두 있다. 따라서 부동 소수점 양자화는 비교적 넓은 범위를 나타낼 수 있으며 양자화 단계 크기는 균일할 필요가 없다.
그러나 8 비트 이하의 낮은 비트 표현에서는 고정 소수점 수보다 숫자 표현이 더 불리하다. 반면에 고정 소수점 양자화는 여러 매개 변수가 동일한 공유 지수(즉, 스케일 팩터)를 갖기 때문에 균일한 양자화 간격과 상대적으로 제한된 표현 범위를 갖는다. 그러나 가수에 할당된 비트가 더 많기 때문에 고정 소수점 양자화는 낮은 비트 표현에서 부동 소수점 양자화보다 더 나은 솔루션을 가질 수 있다.
또한 부동 소수점 산술은 HW 아키텍처에서 고정 소수점 산술보다 덧셈에 약 9.1 배 더 많은 에너지를, 곱셈에 1.2 배 더 많은 에너지를 소비한다는 점에 유의해야 한다.
고정 소수점 양자화는 스케일 펙터에 따라 두 가지 유형으로 분류할 수 있다. 부동 소수점 스케일 팩터를 사용하는 정수(INT) 양자화의 경우 정수 표현을 사용하는 양자화 된 비트 수는 가중치 또는 활성화 함수 변수의 후보 수를 결정하지만 실제 가중치 또는 활성화 값은 각 후보에 32 비트 부동 소수점 스케일 인자가 곱해지기 때문에 32비트 값을 가진다. 따라서 HW 설계에서 속도 향상 및 절전에 큰 이점이 없다. 반면 도 1과 같이 파라미터와 스케일 펙터를 고정 소수점 수로 양자화하면 약간의 성능 저하가 발생할 수 있지만 양자화의 이점을 극대화할 수 있다. 또한, 이 방법에서는 2^n(즉, 공유 지수)의 곱셈을 이동 연산으로 대체할 수 있으므로 HW 설계에 많은 이점이 있다. 구체적으로 공유 지수가 2^n이고 m 비트로 양자화가 수행되는 경우 고정 소수점 양자화 포인트는 다음과 같이 표현될 수 있다. 여기서 k 값은 다음과 같다.
도 2는 가중치 수의 분포를 보여준다. 미리 학습된 가중치의 수 분포를 나타내는 도 2의 (a)는, (b) 및 (c)와 같이 m 비트 부동 소수점 형식과 m 비트 고정 포인트 형식이다.
도 2의 (c)는 고정 소수점 양자화가 수학식 1에 따라 균일 한 양자화 단계에서 0 주위에 분포된 2^m-1 양자화 지점을 가지고 있음을 보여준다. 이는 양자화 포인트의 분포를 대칭으로 만들어서 HW 복잡성을 줄이는 이점을 가져오지만, 성능 저하를 피하기 어려운 문제점이 있다.
가장 대표적인 1 단계 검출 알고리즘인 YOLO 알고리즘은 2 단계 검출기의 방법과 달리 이미지를 여러 격자로 분할하고 각 격자에 대한 정보를 분석하여 빠른 물체 검출을 가능하게 한다. 특히, 탐지 레이어의 특징맵은 bbox 좌표 정보, 클래스 점수를 출력하여 단일 추론으로 여러 객체를 탐지할 수 있도록 설계되었다. 이러한 네트워크 구조(그리드 단위 처리)로 인해 YOLO는 기존 방법에 비해 감지 처리 속도가 매우 빠르지 만 감지 정확도가 낮은 문제가 있다. YOLOv2 알고리즘은 기존의 필터 크기를 1x1 및 3x3 필터로 변경하여 작동 속도를 유지하면서 모든 convolution layer, anchor box, multi-scale training, fine-grained 기능에 배치 정규화를 추가하여 탐지 정확도를 향상시켜 이러한 문제를 해결하도록 제안했다. 그러나 여전히 작고 조밀 한 물체에 대한 낮은 탐지 성능 문제가 있었다.
도 3(a)와 같이 YOLOv2의 단점을 해결하기 위해 가장 최근에 제안된 YOLOv3 은 딥러닝 네트워크에서 사라지는 gradient 문제를 관리하기 위해 잔여 스킵 연결(residual skip connection)을 추가한다. 또한, 작은 물체를 탐지하기 위해 세밀한 특징을 보존하는 업 샘플링 및 연결 기법을 적용하고 피처 피라미드 네트워크와 유사한 접근 방식을 사용하여 피처 맵 크기에 따라 세 가지 다른 스케일의 탐지 레이어를 추가한다. 즉, YOLOv3는 1x1 및 3x3 크기의 컨볼루션 필터만으로 구성된 완전 컨볼루션 네트워크이며 YOLO 및 YOLOv2와 유사한 높은 처리 속도를 유지하면서 다양한 크기의 객체에 대한 뛰어난 정확도를 보여준다.
보다 효율적이고 강력한 물체 감지 모델을 개발하기 위해 YOLOv4는 기존 알고리즘을 두 가지 방식으로 적용한다. 하나는 학습 전략과 전처리 방법을 포함하는 "Bag-of-Freebies"이고 다른 하나는 아키텍처 관련 플러그인 모듈과 후 처리 방법을 포함하는 "Bag-of-Specials"이다. 또한 CSPDark-net53을 백본으로 선택하고 SPP 블록을 활용하여 빠른 속도로 상대적으로 작은 물체의 탐지 정확도를 크게 향상시킬 수 있었다.
이러한 장점을 감안할 때 YOLOv3 및 YOLOv4은 정확도와 속도가 모두 중요한 임베디드 플랫폼 영역에서 널리 사용된다. 그러나 이 1 단계 물체 탐지기조차도 복잡도가 높은 여러 계층을 쌓아 구성되어 있기 때문에 네트워크 크기가 여전히 크고 상당한 계산이 필요하다.
따라서 임베디드 플랫폼 환경에서 실시간 물체 감지를 위해 이러한 네트워크를 지원하는 것은 여전히 어려우므로 다양한 경량화 기술이 필요하다.
도 4에서는 본 발명에 따른 양자화 방법을 나타내는 개념도이다.
도 4에 도시된 것과 같이, 본 발명에서 제안하는 양자화 방법은, 학습된 가중치를 0중심 가중치와 가중치 평균(μ)의 두 부분으로 나누어 처리한다.
이때, 0중심 가중치는 학습된 가중치에서 평균(μ)를 빼서 계산된다. 평균(μ)는 특정 가중치 그룹에 하나의 값만 있기 때문에 양자화 과정을 적용할 필요가 없으며 μ와 입력 데이터의 컨볼루션 연산은 단순 곱셈으로 대체할 수 있다.
반면, 평균(μ)을 뺀 가중치는 양자화되고 반복적으로 재 학습되며, 가중치 비율(q_rate)가 1이 될 때까지 점차적으로 양자화 된다. 이 반복 과정을 통해 양자화 된 가중치는 입력 데이터와 컨볼루션 연산을 수행한다. 그 후, 위에서 언급한 두 값이 더해져 원래 계산에 보다 근접한 결과를 얻는다.
도 5는 도 4에 도시된 양자화 방법을 알고리즘으로 구현한 것이다. 이하에서 설명의 편의를 위해 도 5에 도시된 알고리즘을 제1 알고리즘으로 정의한다.
제1 알고리즘은, 가중치 변수를 필터 단위에서 m 비트로 고정 소수점 양자화를 수행하는 것이다. m, n, k는 제1 알고리즘의 변수이며, num_weights는 필터의 총 가중치 변수의 수이다. μ는 필터에 있는 가중치 변수의 평균이고 min 및 max는 각각 필터의 최소 및 최대 가중치 값이다.
기존의 convolution 연산을 두 연산으로 나눈 후 마지막으로 각 연산의 두 결과를 합하여 최종 결과를 산출한다. 최종 결과는 result로 표시되고 두 연산의 결과는 각각 result_A 및 result_B로 표시된다. q_rate는 학습이 진행될 때 양자화되는 가중치의 비율이며 0과 1 사이의 값을 갖는다. q_rate가 1이면 모든 매개 변수가 양자화되고 0이면 모든 매개 변수가 양자화되지 않는다. *는 곱셈 연산이고 ·은 컨볼루션 연산이다. Quan ()은 위에서 언급한 min, max, m, n, k 변수를 기반으로 결정론적(deterministic) 양자화를 수행하는 양자화 함수이다.
도 5에 도시된 것과 같이, 본 발명에 따른 양자화 방법은, q_rate가 1이 될 때까지 (즉, 2 행에서 17 행까지 while 문을 반복) 양자화 범위를 점진적으로 증가시키면서 (제1 알고리즘의 3 행) 양자화 및 재학습 과정을 반복적으로 수행한다. q_rate 증가 정도는 네트워크에 따라 실험적으로 결정되며 항상 0과 1 사이의 값을 갖는다. 구체적인 양자화 과정으로는, 내부의 최대 및 최소 값을 기준으로 가중치 분포 범위를 설정하여(제1 알고리즘의 5 및 6 행), 고정 소수점 양자화의 간격(2^n)을 정교하게 설정하였다(제1 알고리즘의 9행). 또한 필터의 가중치 매개 변수의 평균을 계산하고 가중치 매개 변수에서 해당 평균을 빼면 0을 중심으로 양자화를 수행하는 고정 소수점 기반 양자화의 특성을 최대한 활용할 수 있다 (제1 알고리즘 7, 10, 12행).
본 발명에서 제안하는 0중심 양자화를 통해 0 주변에 분포되지 않은 가중치 매개 변수도 고정 소수점 기반 방법의 특성에 맞게 적은 손실로 양자화 할 수 다. 제안하는 방식의 양자화 이후에는 재학습 과정이 필요하다.
도 2(c)와 같이 고정 소수점 양자화에서 양자화 된 값은 k Х 2^n (k와 n은 정수)로 고정되지만 양자화 이전의 가중치 변수의 상당수가 이러한 고정소수점 주변에 존재하는 것은 아니다. 즉, 기존의 가중치 값들은 인접한 양자화 지점 사이의 모호한 지점에 위치할 수 있다. 이러한 모호한 값이 부적절한 값으로 양자화되면 정확도가 크게 감소하고 DNN 성능에 큰 영향을 미친다.
따라서 본 발명에서는 양자화 된 점 (즉, k Х 2^n)에 확실히 가까운 가중치 매개 변수 먼저 k Х 2^n로 양자화 한 다음 다시 학습한다 (제1 알고리즘의 13 및 14 행). 그 후, 모든 가중치 매개 변수가 적절한 값으로 양자화 될 때까지 양자화 범위를 확장시킨다. 즉, q_rate가 1이 될 때까지 q_rate를 점진적으로 증가시키면서 양자화 범위를 확장시킨다.
양자화 및 재학습 과정 후, 양자화 된 가중치 매개 변수로 제안하는 고속 컨볼루션 연산을 진행한다 (제1 알고리즘의 18 행에서 22 행까지).
상술한 바와 같이, 고정 소수점 양자화가 진행되면 모든 가중치 매개 변수가 정수 k 와 2^n의 곱으로 변환된다. 즉, 양자화 지점들 간의 크기는 2^n로 균일하게 결정되고 이러한 양자화 된 값들은 0을 중심으로 분포한다. 또한 양자화 간격의 크기는 네트워크나 필터에 따라 크게 달라지며, 이 값에 따라 오버플로가 발생할 수 있고 데이터 해상도가 저하될 수 있다.
즉, 간격의 크기 결정은 성능에 큰 영향을 미치므로 간격의 크기를 고려하지 않고는 각 네트워크 또는 필터의 특성에 맞는 양자화 과정을 적용하기 어렵다.
본 발명에서는 고정 소수점 양자화 간격의 크기를 최적화하기 위해 각 필터의 최대 값과 최소값을 고려하고, 이 범위 내에서 (즉, 최소값에서 최대 값까지) 특정 비트에 따라 간격의 크기를 결정한다. 결과적으로 간격의 크기가 가능한 한 정교하도록 범위가 제한된다. 최적의 간격을 사용하면 보다 정확하게 양자화를 수행할 수 있으므로 양자화로 인한 가중치 변수의 손실을 최소화할 수 있다.
도 6는 Cifar-10 데이터 셋과 COCO 데이터 셋으로 VGG-7, YOLOv3 및 YOLOv4 네트워크를 학습할 때 각 계층에 대한 최대 및 최소 가중치 변수의 중앙값을 보여준다. 도 6에서 볼 수 있듯이 각 레이어의 가중치 변수들은 항상 0 주변에 분포되어 있지는 않으며 이러한 경향은 이미지 분류 (예: VGG-7)보다 물체 감지 (예 : YOLOv3 및 YOLOv4)에서 더 분명하다. YOLOv3에서는 레이어가 깊어짐에 따라 중앙값이 0에서 벗어나는 정도가 더 심해지는 경향이 있다. 마지막 층에서 최소값과 최대 값의 중앙값은 YOLOv3에서 거의 0.3으로, VGG-7에서 0.021보다 15 배 더 크다. 또한 YOLOv4의 일부 레이어 (특히, 시작 및 끝 부분 층)는 YOLOv3에 비해 중앙값의 절댓값이 더 높다. 그럼에도 불구하고 항상 중심을 0으로 설정하고 매개 변수를 양자화하는 고정 소수점 기반 기술을 이러한 중심이 0이 아닌 가중치 분포를 갖는 네트워크에 적용하면 양자화로 인한 오류가 확대된다. 특히 대부분의 가중치 매개 변수가 0에 가깝게 분포되지 않는 YOLOv3 및 YOLOv4 네트워크의 경우 기존 고정 소수점 양자화를 적용하기가 어려워 심각한 성능 저하가 발생한다. 이 문제를 해결하기 위해이 본 발명에서는 가중치 매개 변수의 평균값을 찾고 각 가중치 매개 변수에서 평균값을 빼서 가중치 분포의 중심을 원점으로 이동하는 시킨 뒤 양자화를 진행한다. 위와 같은 과정을 거치면 고정 소수점 양자화를 적용할 때 발생하는 양자화 오류를 최소화할 수 있다.
그러나 가중치 매개 변수를 원점 중심으로 옮기는 과정은 기존 컨볼루션 연산과정의 변화를 수반한다. 도 4에서와 같이 원점 중심 가중치 매개 변수가 양자화 되더라도 컨볼루션 연산에 감산 된 평균 값에 대한 보상이 이루어져야 한다. 이는 평균값(μ)에 대한 계산결과가 다시 적절하게 더하는 과정을 요하게 되는데 그 과정은 다음과 같이 수학식 2로 표현할 수 있다.
매개 변수 W_b, Quan () 및 μ는 제1 알고리즘에서도 볼 수 있는데, 수학식 2의 (1)의 첫 번째 항은 일반적인 컨볼루션 연산을 보여준다. W 및 x 는 각각 가중치와 입력 데이터이며 컨볼루션 연산은 W·x 로 표현할 수 있다. W_b는 W 에서 필터의 가중치 매개 변수의 평균(μ)을 뺀 값이며 W는 W_b와 μ로 나누기 때문에 수학식 2(1)이 성립된다. μ는 시그마 (²의 영향을 받지 않기 때문에 수학식 2(2)도 성립한다. 그러면 수학식 2(3)과 같이 근사화 할 수 있는데, 제안하는 방법으로 수학식 2(2)의 첫 항에 있는 W_b만을 특정 비트로 양자화하여 W_b 와 입력 값에 대해 컨볼루션 연산을 수행한다. 다음으로, 입력 데이터의 합과 μ (즉, μ
Figure 112020144152531-pat00003
의 곱셈 결과를 근사값 (즉,
Figure 112020144152531-pat00004
Quan(Wb))에 더하면 W가 직접 양자화되었을 때와 동일한 최종 컨볼루션 결과를 얻을 수 있다. 이 프로세스는 도 7에 자세히 설명되어 있다.
수학식 2(3)의 quan(W_b )는 원래 32 비트가 아닌 양자화 된 비트로 표현되기 때문에, 이 근사값을 사용하는 컨볼루션 연산은 32 비트의 부동소수점을 사용하는 기존 컨볼루션 연산보다 훨씬 더 빠르고 낮은 전력으로 작동한다. 이 장점은 HW 가속기 설계에서 더욱 두드러진다. 수학식 2(3)의 두 번째 항은 복잡한 컨볼루션 연산이 아닌 단순 덧셈과 단일 곱셈으로 구성되므로 결과를 계산하는 것이 훨씬 간단하다. 따라서 본 발명에서는 원점을 중심으로 이루어지는 고정 소수점 양자화의 단점을 보완하기 위해 가중치 분포의 편향을 제거하고 적은 양의 계산 (단순 합산과 하나의 곱셈의 조합)만으로 이를 보상한다. 가중치 분포가 원점을 중심으로 분포하지 않는 모든 네트워크의 가중치 매개 변수에서도 적용이 가능하도록 범용성을 확장했다.
도 2(c)에서 설명했듯이 고정 소수점 양자화의 양자화 포인트는 k Х 2^n (k와 n은 정수)이다. 따라서 k Х2^n에 가까운 가중치를 k Х2^n로 양자화하면 큰 손실이 발생하지 않는다. 그러나 인접한 양자화 지점 사이의 애매모호한 값은 양자화 할 양자화 지점을 결정하는 데 어려움이 있으며, 이 결정이 DNN에 대한 최종 성능에 미치는 영향은 양자화 지점에 가까운 값들보다 심각하다. 이러한 사실에 더해 다른 가중치 값들을 고정하고 나면 재학습 과정에서 다른 가중치 매개 변수의 값이 미세하게 조정된다.
이에 따라, 본 발명에서는 양자화 지점 근처의 값이 해당 양자화 지점으로 먼저 양자화되고 재학습을 진행한다.
양자화 된 지점 근처의 값은 양자화 후 정확도 손실이 무시할 수 있을 가능성이 높고 재학습으로 인해 양자화 지점이 변경될 가능성이 적다. 또한, 양자화를 한번에 진행하여 재학습을 한 번만 실시하는 경우에는 이 개념을 적용할 수 없기 때문에 양자화 범위를 넓히며 양자화 및 재학습 과정을 반복적으로 수행한다.
도 8은 가중치가 0 부근에 존재하는 경우 양자화 범위의 비율이 각각 0, α, 1 일 때 반복적인 재학습 과정을 보여준다. 도 8(a)와 같이 가중치 분포가 주어지면 필터에서 가중치 매개 변수의 최대 값과 최소값을 통해 n의 값이 결정된다 (제1 알고리즘의 9 행). -2^n, 0, 2^n등의 배수에 가까운 값은 이러한 값으로 양자화 되더라도 큰 손실을 일으키지 않는다. 따라서 도 8(b)와 같이 양자화 지점에 가까운 가중치들(즉, - 2^n, 0, 2^n에 가까운 값들)에 대해서만 가중치 매개 변수에 양자화를 적용한다. 나머지 변수들, 즉 도 8(b)에서 빨간색 원으로 표시된 매개 변수들은 그대로 32비트의 값을 유지한다 (제1 알고리즘의 13 행). 그런 다음 이러한 모든 가중치 매개 변수가 재학습된다. 이 재학습 과정에서 모호한 가중치 매개 변수 (즉, 도 8(b)에서 빨간색 원으로 표시된 매개 변수)를 미세 조정할 수 있으며 조정 후에는 일부 양자화 되지 않은 값들이 양자화 지점들 중 어느 하나의 값에 더 가깝게 학습된다. 이러한 모호한 값을 미세 조정하고 양자화 범위를 점진적으로 확장하면 도 8(c)와 같이 반복적 양자화 및 재학습에 의한 양자화 과정이 끝난다.
위의 표 1은 VGG-7 네트워크, YOLOv3 네트워크 및 YOLOv4 네트워크에서 0.8의 양자화 범위를 가질 때, 네트워크 내부의 재학습 여부에 따른 모호한 가중치 매개 변수 부분이 어떻게 감소하는지를 보여준다. 양자화 범위가 0.8이면 (k + 0.4) W ≤ (k + 0.6) 범위에 해당하는 가중치 매개 변수는 양자화에서 제외되고 이러한 가중치 매개 변수의 값은 재학습과정을 거치게 된다. 표 1에서 두 번째 열은 재학습 전 양자화에서 제외된 가중치 매개 변수의 비율을 나타내고, 세 번째 열은 재 학습 후 양자화에서 제외된 가중치 매개 변수의 비율을 나타낸다. 결과는 VGG-7 및 YOLOv3에서 재학습 중에 모호한 가중치 매개 변수의 비율이 23.33 %에서 8.73 %로, 22.95 %에서 18.01 %로 크게 감소했음을 보여준다. 이는 반복적 재학습이 모호한 값을 더 줄일 수 있음을 나타낸다. 이를 통해 양자화 중에 발생하는 양자화로 인한 손실을 최소화한다. YOLOv4의 경우, 모호한 가중치 매개 변수의 비율이 재학습 중에 20.06 %에서 14.65 %로 감소하는데, 이는 YOLOv3의 실험결과와 비슷하다.
데이터 셋에 따라 다르지만, 물체 감지기인 YOLOv3 및 YOLOv4의 가중치는 원점 주변에 분산되지 않는 경향이 크기 때문에 본 발명에서 제안하는 양자화 방법이 더욱 더 효과적이다. 더욱이, YOLOv3와 YOLOv4는 도 3과 같이 레이어 및 변수가 많기 때문에 인접한 양자화 포인트 사이에 모호한 값을 갖는 가중치 매개 변수가 많으며 이러한 매개 변수의 부적절한 양자화는 직접적인 성능 저하로 이어질 수 있다. 결과적으로 객체 감지기에서는 가중치 매개 변수의 평균을 빼서 가중치 분포의 중심을 원점으로 이동하고 반복적인 재학습을 통해 모호한 값을 가진 가중치 매개 변수의 비율을 줄이는 것이 필수적이다.
또한 YOLO를 포함하여 물체 감지를 수행하는 DNN 모델은 상당한 깊이의 레이어를 가지고 있으며 각각의 레이어는 서로 다른 역할을 하므로 가중치 매개 변수를 표현하는데 필요한 최소 비트 수도 각 레이어마다 다르다. 특정 계층에서는 가중치 매개 변수를 표현하는 데 사용되는 비트 수가 크게 감소하더라도 mAP 값은 크게 달라지지 않는다. 또한 특정 계층에서는 가중치 매개 변수에 할당하는 비트 수를 줄이면 오버 피팅 방지 효과와 유사하게 mAP가 증가한다. 이 관찰을 기반으로 YOLOv3 및 YOLOv4의 각 레이어에 할당할 최적화 비트는 그리드 서치(grid search) 방법을 사용하여 적응적으로 결정한다. 그리드 서치의 경우 전체 네트워크 모델의 가중치 매개 변수에 대해 특정 비트로 양자화를 수행하고 각 계층의 가중치 매개 변수에 할당하는 비트 수를 줄여 mAP를 측정한다. 이를 바탕으로 네트워크는 각 계층에서 최대 mAP를 가지는 비트 수로 그 계층의 비트를 할당하여 구성된다.
도 9는 YOLOv3 및 YOLOv4에서 각 계층에 대해 가장 높은 mAP를 가지는 비트 수를 나타낸다. 도 9(a)에서 이러한 결과를 얻기 위해 YOLOv3의 모든 가중치 매개 변수를 성능 저하에 거의 영향을 주지 않는 8 비트로 양자화를 진행한 뒤 특정 계층의 할당된 가중치 비트를 변경하여 mAP를 측정한다. 결과는 여러 레이어를 최대 4 비트까지 양자화할 수 있음을 보여준다. 마지막으로 앞에서 설명한 방법에 따라 결정된 비트는 YOLOv3의 각 레이어에 할당된다. 도 9(b)에서 YOLOv4의 각 레이어에 대한 최적의 비트도 동일한 방식으로 측정된다. 도 9에 도시된 것과 같이, YOLOv4네트워크 중간에서 최적의 mAP를 가지는 비트가 시작단과 종단의 층계에 비해 상대적으로 적은 비트를 가지는 것을 볼 수 있다. YOLOv3 및 YOLOv4 네트워크 모두에서 각 계층에 대한 비트를 최적화한 후 이전 섹션에 제시된 기술을 사용하여 성능 저하를 최소화하는 최적의 양자화 된 객체 감지기를 구성할 수 있다.
각 모델의 정확도와 가중치의 크기를 측정하기 위해 Linux OS 및 GeForce RTX 2080Ti (10.1 CUDA)가 설치된 서버 플랫폼에서 실험을 수행하였다. 제안된 양자화 방법이 이미지 분류에 미치는 영향을 확인하기 위해 VGG 네트워크에서 Cifar-10 데이터 셋을 사용하여 실험을 수행하였다. 추가적으로, 이미지 분류에서는 Relu 함수에 상술한 기법을 적용하여 활성화 함수 매개 변수도 4 비트로 표현했다. 일반적으로 HW 구현에서 Relu 함수는 부호 비트를 제거하여 더 많은 숫자를 표현하기 위해 Leaky Relu보다 더 널리 사용된다. 반면에 제안하는 기술이 물체 감지에 미치는 영향을 확인하기 위해 YOLOv3 및 YOLOv4 네트워크에서 COCO 데이터 셋을 활용하여 실험을 수행했다. 물체 감지의 특성을 고려할 때 활성화 매개 변수는 성능 저하를 최소화하기 위해 양자화를 적용하지 않고 원래 네트워크 (즉, 32 비트)의 전체 정밀도를 유지하였다. mAP는 .5 IOU (Intersection Over Union)에서 측정하였다.
위의 표 2는 기존 VGG-7 네트워크 (즉, 32 비트 부동소수점 모델)와 다양한 기술이 적용된 양자화 된 VGG-7 네트워크의 정확도 결과를 두 번째 열에 보여주고 있다. 네 번째 열에서는 각 네트워크의 가중치 및 활성화 매개 변수에 사용되는 비트 수를 나타낸다. 고정 소수점 양자화 및 재교육 과정이 상술한 원점 중심 양자화 기술과 반복적 재학습 양자화 기술 없이 각각 적용되면 0.36 %의 상당한 정확도 저하가 발생할 수 있다.
이와 달리, 각각의 원점 중심 양자화 및 반복적 재학습 기술이 적용되면 성능 저하가 각각 0.33 % 및 0.28 %로 감소하는 효과가 도출된다. 두 기술을 모두 적용하면 성능 저하가 0.1 %로, 가중치와 활성화 매개 변수가 32 비트에서 4 비트로 감소 했음에도 불구하고 무시할 수 있는 수준이다. 이러한 결과는 순수 고정 소수점으로 만 달성되었으며 가중치 또는 활성화 매개 변수에 부동 소수점이 전혀 사용되지 않았다.
위의 표 3은 이미지 분류에서 기존의 고정소수점 양자화 기법과 제안하는 고정소수점 양자화 기법의 성능을 비교 한 결과이다.
Enderich et al. [25] 및 SYMOG [38]의 경우, 가중치 매개 변수에 대해 2 비트를 덜 사용했지만 가중치 만 고정 소수점 형식으로 양자화되었고 활성화 매개 변 발명의 정확도 감소보다 각각 0.05, 0.09% 더 많다. Lin et al. [26]의 경우, 본 발명과 동일하게 가중치와 활성화 매개 변수에 동일한 수의 비트를 할당하였으나 본 발명에서 제안하는 방법의 정확도가 Lin et al.보다 0.27 % 높았다. Miyashita et al. [39]는 로그 스케일 양자화를 사용하여 곱셈 연산을 HW 설계에서 더하기 연산으로 대체했다. 그러나 제안하는 방법보다 활성화 매개 변수에 대해 1 비트 더 사용 했음에도 불구하고 Miyashita et al. 의 정확도 감소가 0.21 % 더 크다.
표 4는 원래 YOLOv3 네트워크와 다양한 방법으로 양자화 된 YOLOv3 네트워크의 mAP 결과를 보여준다. 세 번째 열은 각 네트워크의 가중치 매개 변수에 사용되는 평균 비트 수가 표시해준다. 본 발명에서 제안하는 양자화 방법이 적용되지 않으면 (즉, Quantized YOLOv3-Basic), 8 비트로 양자화 되더라도 성능 저하가 극도로 심각하다.
반면, 본 발명에 따른 원점 중심 양자화 기술과 반복 재학습 기술을 적용하면, 동일하게 YOLOv3의 가중치 매개 변수에 할당하는 비트 수가 8 개로 하더라도 성능 저하는 0.12 %로 미미하다. 그러나 가중치 매개 변수에 할당된 비트 수가 8 비트에서 4 비트로 감소하면 표에 나타난 것처럼 더 큰 mAP 감소가 발생한다. 제안하는 양자화 기술을 적용하더라도 7 비트로의 양자화는 mAP 감소를 크게 유발하고, 양자화 된 비트가 더 적으면 정확도 저하가 심하여 실제 응용에서 사용하기 어렵다.
한편, 본 발명에 따른 비트 할당 방법을 적용하면 8 비트 양자화로 동일한 mAP를 유지하면서 가중치 파라미터에 필요한 평균 비트 수를 평균 6.58 비트로 줄일 수 있다. 비트 수를 줄이면 HW 가속기를 설계할 때 메모리 액세스 시간, 추론 시간 및 전력 소비가 감소한다.
결론적으로, 제안하는 양자화 방법과 비트 할당 방법을 모두 적용하면 YOLOv3에서 가중치 매개 변수를 약 20 %만을 사용하여 기존 YOLOv3와 유사한 성능을 유지할 수 있다.
위의 표 5는 원래 YOLOv4 네트워크와 다양한 방법으로 양자화 된 YOLOv4 네트워크의 mAP 결과를 보여준다. 이 표의 구조는 표 4와 정확히 동일하지만 YOLOv3를 YOLOv4로 대체하여 얻은 실험 결과이다. 표에서 보는 것과 같이 제안하는 양자화 모델보다 기본 8 비트 양자화 모델에서 성능 저하가 더 심하다. 기본 양자화 모델과 제안하는 양자화 모델 간의 격차는 할당된 양자화 비트가 낮을수록 더욱 심하다. 제안하는 방법을 모두 적용한 양자화 모델을 사용하면 mAP 감소는 제일 적은 0.64임에도 불구하고 평균적으로 가중치에 할당하는 비트 수는 2.01 비트 낮다.
위의 표 6에서는 정확도 및 가중치 크기 측면에서 제안하는 네트워크와 다른 네트워크를 비교한다. YOLOv2 네트워크 및 양자화 된 모델과 비교하여 제안하는 네트워크의 가중치 크기가 각각 약 1/4 및 1/2 더 작음에도 불구하고 제안 된 네트워크는 6.42 더 높은 mAP를 가진다. YOLOv3-tiny [10], Gaussian YOLOv3-tiny [13], Nayak et al. [41]에 비해서 제안하는 네트워크의 가중치에 사용된 비트의 수는 약 1/3배 사용되었고, mAP는 YOLOv3-tiny [10], Gaussian YOLOv3-tiny [13], Nayak et al가 각각 각각 21.42, 15.22, 26.4 으로 제안하는 네트워크의 성능이 훨씬 높았다. 특히 작은 물체에 대한 정확도를 높이는 Gaussian YOLOv3-tiny[13]와의 비교 결과를 통해 대규모 네트워크의 크기를 효과적으로 줄이는 것이 성능 향상보다 효율적임을 알 수 있다. 결과적으로 제안하는 양자화 네트워크는 정확도와 네트워크 크기 사이의 절충이라는 측면에서 상당히 우수하다.
도 10에서는 다양한 물체 감지기의 감지 결과를 나타낸다.
도 10에 도시된 것과 같이, 실험에서 감지 임계 값은 원래 YOLO 네트워크의 기본 테스트 임계값인 0.5로 설정했다. 도 9(a)-(d)에서, 원래 YOLOv3의 결과와 제안하는 네트워크는 일부 작은 물체가 누락된 것을 제외하고는 유사한 성능을 보여준다. 제안하는 네트워크는 6 비트 기본 방식과 YOLOv2를 사용하는 양자화 된 YOLOv3보다 우수하다. 특히, 6 비트 기본 네트워크와 YOLOv2를 사용하는 양자화 된 YOLOv3에서는 거의 모든 작은 객체가 누락된 반면, 제안하는 양자화 된 YOLOv3은 네트워크 크기를 원래 YOLOv3의 1/5로 줄 임에도 불구하고 거의 모든 동일한 작은 객체를 식별한다. 도 9(e)-(f)에는 원래 YOLOv4와 제안하는 YOLOv4 모델의 탐지 결과가 나와있다. 원래 YOLOv4 및 제안하는 양자화 된 YOLOv4 네트워크는 하나 또는 두 개의 작은 물체를 제외하고 거의 유사한 탐지 결과를 보여준다. 제안하는 YOLOv4에서 각 가중치 매개 변수에 필요한 평균 비트 수는 평균 5.99 비트로 줄었지만 원래 양자화 되지 않은 YOLOv3보다 훨씬 더 많은 물체를 감지한다.
본 발명에서는 부동 소수점 기반 양자화 방법의 문제점을 보완하기 위해 임베디드 플랫폼에 특화된 고정 소수점 기반 양자화 방법을 제안한다. 또한 물체 감지까지 확장할 수 있는 적응적 양자화 방법을 제안한다. 제안하는 기술을 YOLOv3 및 YOLOv4에 적용 할 때, 32비트 부동 소수점 형식을 사용하는 원래 네트워크의 mAP와 유사한 mAP를 약 20 %의 가중치 매개 변수를 사용하여 달성하였다. 결과적으로 제안하는 알고리즘은 객체 분류 / 검출 HW 가속기 구현에 적합한 고정 소수점 기반 양자화를 발전시킴으로써 딥러닝 알고리즘의 상용화에 크게 기여할 수 있다.

Claims (5)

  1. 전자 장치의 딥러닝 네트워크의 양자화 방법에 있어서,
    상기 전자 장치의 프로세서에 의하여, 미리 학습된 복수의 가중치(weight)를 포함하는 가중치 데이터와 입력 데이터를 입력받는 단계;
    상기 프로세서에 의하여, 상기 가중치 데이터를 이용하여 가중치 평균과, 영(0)중심 가중치를 산출하는 단계;
    상기 프로세서에 의하여, 상기 영(0)중심 가중치를 가중치 비율이 미리 설정된 기준치에 도달할 때까지 반복적으로 재학습을 수행하는 단계;
    상기 프로세서에 의하여, 상기 영(0)중심 가중치의 재학습이 완료된 후, 재학습된 영(0)중심 가중치와 상기 가중치 평균을 합산하는 단계; 및
    상기 합산된 결과를 출력하는 단계;를 포함하고,
    상기 재학습을 수행하는 단계는,
    상기 미리 학습된 복수의 가중치 중에서, [수학식 1]에 따라 산출된 제1 양자화 범위에 포함되는 상기 영(0)중심 가중치를 제1 양자화 값으로 양자화하는 단계; 및
    상기 가중치 비율이 1이 될 때까지 상기 제1 양자화 범위를 점진적으로 증가시키는 단계;를 포함하고,
    상기 제1 양자화 값은, k Х2^n 값으로 고정되는 것을 특징으로 하는,
    딥러닝 네트워크의 양자화 방법.
    [수학식 1]
    (1)
    (2)
    여기서, max 및 min은 상기 딥러닝 네트워크의 컨볼루션 필터의 최대 값 및 최소 값을, m는 상기 컨볼루션 필터의 양자화 비트 수를, Wb는 상기 영(0)중심 가중치를, q_rate는 상기 가중치 비율을, k는 임의의 정수를 나타냄.
  2. 제1항에 있어서,
    상기 영(0)중심 가중치를 산출하는 단계는,
    상기 학습된 가중치로부터 상기 가중치 평균을 차감하는 과정을 포함하는 것을 특징으로 하는 딥러닝 네트워크의 양자화 방법.
  3. 제1항에 있어서,
    상기 재학습을 수행하는 단계는,
    상기 영(0)중심 가중치와, 상기 딥러닝 네트워크의 입력 데이터의 컨볼루션 연산을 수행하는 과정을 포함하는 것을 특징으로 하는 딥러닝 네트워크의 양자화 방법.
  4. 제3항에 있어서,
    상기 재학습을 수행하는 단계는,
    상기 제1 양자화 범위에 근거하여, 제1 재학습을 수행하는 과정과,
    상기 제1 재학습이 수행된 후 상기 가중치 비율이 상기 기준치 이하이면, 상기 제1 양자화 범위보다 큰 제2 양자화 범위에 근거하여, 제2 재학습을 수행하는 과정을 포함하는 것을 특징으로 하는 딥러닝 네트워크의 양자화 방법.
  5. 삭제
KR1020200189753A 2020-12-31 2020-12-31 딥러닝 네트워크의 양자화 방법 KR102651452B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200189753A KR102651452B1 (ko) 2020-12-31 2020-12-31 딥러닝 네트워크의 양자화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200189753A KR102651452B1 (ko) 2020-12-31 2020-12-31 딥러닝 네트워크의 양자화 방법

Publications (2)

Publication Number Publication Date
KR20220096904A KR20220096904A (ko) 2022-07-07
KR102651452B1 true KR102651452B1 (ko) 2024-03-25

Family

ID=82397567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200189753A KR102651452B1 (ko) 2020-12-31 2020-12-31 딥러닝 네트워크의 양자화 방법

Country Status (1)

Country Link
KR (1) KR102651452B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180015397A1 (en) 2016-07-13 2018-01-18 Samsung Electronics Co., Ltd. Water purifying filter and refrigerator having the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hao Wu et al., "INTEGER QUANTIZATION FOR DEEP LEARNING INFERENCE: PRINCIPLES AND EMPIRICAL EVALUATION," arXiv:2004.09602v1 [cs.LG] 20 Apr 2020 (2020.04.20.)*
Sambhav R. Jain et al., "TRAINED QUANTIZATION THRESHOLDS FOR ACCURATE AND EFFICIENT FIXED-POINT INFERENCE OF DEEP NEURAL NETWORKS", arXiv:1903.08066v3 [cs.CV] 28 Feb 2020 (2020.02.28.)*

Also Published As

Publication number Publication date
KR20220096904A (ko) 2022-07-07

Similar Documents

Publication Publication Date Title
CN110413255B (zh) 人工神经网络调整方法和装置
US20210166113A1 (en) Method for neural network and apparatus performing same method
CN110555450B (zh) 人脸识别神经网络调整方法和装置
CN107340993B (zh) 运算装置和方法
CN112074806A (zh) 使用减小的位宽向量的块浮点计算
US20240112007A1 (en) Neural network accelerator using logarithmic-based arithmetic
CN110555508A (zh) 人工神经网络调整方法和装置
US10872295B1 (en) Residual quantization of bit-shift weights in an artificial neural network
US10579334B2 (en) Block floating point computations using shared exponents
EP3528181B1 (en) Processing method of neural network and apparatus using the processing method
US20220261650A1 (en) Machine learning training in logarithmic number system
US20230037498A1 (en) Method and system for generating a predictive model
Shin et al. Prediction confidence based low complexity gradient computation for accelerating DNN training
CN111091183A (zh) 一种神经网络加速系统和方法
CN114462591A (zh) 一种动态量化神经网络的推理方法
Christ et al. Low-precision logarithmic arithmetic for neural network accelerators
KR102651452B1 (ko) 딥러닝 네트워크의 양자화 방법
Choi et al. Approximate computing techniques for deep neural networks
Simon et al. Exact neural networks from inexact multipliers via fibonacci weight encoding
CN112418388A (zh) 一种实现深度卷积神经网络处理的方法及装置
US11699077B2 (en) Multi-layer neural network system and method
Wróbel et al. Convolutional neural network compression for natural language processing
Manikandan et al. Approximation computing techniques to accelerate CNN based image processing applications–a survey in hardware/software perspective
CN114222997A (zh) 用于对神经网络进行后训练量化的方法和装置
Bai A Flexible and Low-Resource CNN Accelerator on FPGA for Edge Computing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant