KR20240088505A - 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템 - Google Patents

안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템 Download PDF

Info

Publication number
KR20240088505A
KR20240088505A KR1020230009456A KR20230009456A KR20240088505A KR 20240088505 A KR20240088505 A KR 20240088505A KR 1020230009456 A KR1020230009456 A KR 1020230009456A KR 20230009456 A KR20230009456 A KR 20230009456A KR 20240088505 A KR20240088505 A KR 20240088505A
Authority
KR
South Korea
Prior art keywords
gradient
quantization
clipping
norm
learning
Prior art date
Application number
KR1020230009456A
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 KR20240088505A publication Critical patent/KR20240088505A/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/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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)
  • Image Analysis (AREA)

Abstract

안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템이 제시된다. 본 발명에서 제안하는 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법은 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 단계 및 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계를 포함한다.

Description

안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템{Method and System for Gradient Clipping for Stable Quantization-Aware Training}
본 발명은 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템에 관한 것이다.
최근에 인공신경망의 정확도가 증가함에 따라 파라미터의 수도 함께 증가하고 있다. 파라미터 크기가 너무 커지면 모바일과 같은 단말에 배포하기가 힘들다. 이러한 파라미터의 수를 줄이기 위해 가지치기, 지식 증류, 양자화 등 다양한 경량화 기법들이 연구되고 개발되고 있다. 이 중 양자화란 초과 파라미터화(over-parametrized)된 모델의 가중치와 활성화 항의 비트 수를 낮추어 추론 동안 모델의 메모리 사용량과 계산 비용을 줄이는 방법이다. 그러나 단순히 비트 수를 낮추는 것은 가중치와 활성화 항의 표현범위를 축소시키기에 상당한 정확도 감소를 초래하게 된다. 특히 공격적인 4bit 이하의 양자화를 진행하는 경우에는 그 정확도 감소가 더 커지게 된다.
이를 해결하기 위해 적용하는 기법이 훈련 후 양자화(Quantization-Aware Training; QAT)이다. QAT 기법은 시뮬레이션된 양자화(simulated quantization)라고도 하는데 학습 과정에서 페이크 양자화 노드(fake quantization node)를 추가하여 미리 양자화가 어떻게 진행되는지 시뮬레이션하는 방법이다. 이러한 QAT 기법을 잘 활용하여 최신 성능을 이루어낸 HAWQ(Hessian-Aware Quantization) 기법이 존재한다. 하지만 실험을 통해 이 HAWQ 기법이 학습 과정에서 미세 조정(fine-tuning) 에포크(epoch)가 증가할수록 과적합되어 정확도가 점점 줄어드는 문제점을 확인하였다.
기존의 QAT기법에서는 양자화 한 모델에 추가 학습을 하게 된다. 이 때 페이크 양자화 노드를 추가하여 실제 양자화를 하는 것처럼 동작하게 만들어 양자화를 시뮬레이션하게 된다. 이렇게 추가 학습을 통해서 기존의 양자화를 이용하여 감소하였던 정확도를 최대한 복구하게 된다.
하지만, 이 QAT에서 가장 높은 성능을 보였던 HAWQ기법은 학습 에포크가 증가할수록 과적합되어 낮은 정확도에 수렴하게 된다. 추가적으로 QAT에서는 배치 정규화 층을 가중치와 컨벌루션하는 폴딩(folding)을 수행함으로써 양자화 후 정확도 감소를 줄이게 되는데 이때 배치 정규화 항을 결합함으로써 여러 정규화 효과들을 사용할 수 없게 된다. 이런 양자화와 추가 학습 과정에서 발생하는 과적합과 배치 정규화 항에 대한 문제점을 해결하지 못하면, 양자화에 대한 정확도 감소를 복구하기가 힘들다.
[1] Benoit Jacob et al. Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference. In CVPR, 2018 [2] Andrew Brock et al. High-Performance Large-Scale Image Recognition Without Normalization, arXiv preprint arXiv:2102.06171 [3] Zhewei Yao et.al. HAWQV3: Dyadic Neural Network Quantization. In ICML, 2021
본 발명이 이루고자 하는 기술적 과제는 배치 정규화 층의 효과를 대신하며 정확도 감소를 막는 기울기 클리핑 방법과 드롭아웃을 적용하는 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템을 제공하는데 있다. 본 발명은 기울기 클리핑을 통한 안정적인 학습을 달성하고, 드롭아웃을 추가하여 타 알고리즘과 대비하여 우수한 정량적 성능을 보이고자 한다.
일 측면에 있어서, 본 발명에서 제안하는 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법은 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 단계 및 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계를 포함한다.
상기 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계는 기울기의 방향을 나타내는 기울기의 놈을 가중치의 놈으로 나눈 값이 미리 정해진 임계값을 초과하는 경우 기울기 클리핑을 수행하여 상기 기울기의 크기를 제한한다.
상기 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계는 양자화의 경우 표현 가능한 범위가 감소되어 기울기가 가중치보다 큰 경우가 발생하고, 기울기가 가중치보다 큰 경우 학습이 완료되었다고 판단하여 미리 정해진 임계값에 따라 기울기를 제한함으로써 상기 분류기의 파라미터를 최적화한다.
상기 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 단계는 편향되지 않은 출력 값을 얻기 위해 일부 뉴런을 확률적으로 제거하는 드롭아웃을 통해 배치 정규화 층의 폴딩(folding)으로 인한 정규화 효과를 대체한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 안정적인 양자화 후 학습을 위한 기울기 클리핑 시스템은 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 드롭아웃 수행부 및 상기 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 기울기 클리핑부를 포함한다.
본 발명의 실시예들에 따른 배치 정규화 층의 효과를 대신하며 정확도 감소를 막는 기울기 클리핑 방법과 드롭아웃을 적용하는 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템은 기울기 클리핑을 통한 안정적인 학습을 달성하고, 드롭아웃을 추가하여 타 알고리즘과 대비하여 우수한 정량적 성능을 보일 수 있다.
도 1은 본 발명의 일 실시예에 따른 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 안정적인 양자화 후 학습을 위한 기울기 클리핑 시스템의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 드롭아웃 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 사물 검출기 학습의 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 드롭아웃의 결과를 종래기술과 비교하기 위한 그래프이다.
기존의 DNN 기반의 양자화 기법은 크게 PTQ(Post Training Quantization)와 QAT(Quantization-Aware Training) 두 가지로 구분하게 된다. PTQ 양자화를 하게 되면 기존의 FP32 모델보다 표현하는 비트 수가 줄어들기에 정확도 감소가 발생하게 된다. 이를 극복하기 위해 양자화 후에 추가 학습을 진행하는 QAT를 사용하여 FP32모델에 가까운 정확도를 얻게 된다. 하지만, 이 QAT 기법은 배치 정규화 층을 폴딩(folding)하기 때문에 배치 정규화 항의 여러 정규화 효과들을 적용하지 못하게 된다. 또한, 이러한 QAT 기법은 학습 에포크(epoch) 수가 증가할 수록 낮은 정확도로 수렴하게 된다.
따라서, 본 발명에서는 이 배치 정규화 층의 효과를 대신하며 정확도 감소를 막는 기울기 클리핑 방법과 드롭아웃을 적용하는 구성을 제안한다. 결과적으로 본 발명은 기울기 클리핑을 통한 안정적인 학습을 이루어내었고, 드롭아웃을 추가하여 타 알고리즘과 대비하여 우수한 정량적 성능을 보인다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법을 설명하기 위한 흐름도이다.
제안하는 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법은 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 단계(110) 및 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계(120)를 포함한다.
단계(110)에서, 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행한다.
본 발명의 실시예에 따르면, 편향되지 않은 출력 값을 얻기 위해 일부 뉴런을 확률적으로 제거하는 드롭아웃(111)을 통해 배치 정규화 층의 폴딩(folding)으로 인한 정규화 효과를 대체한다. 배치 정규화 층의 폴딩 으로 정규화 효과를 상실했기에 드롭아웃(111)으로 정규화 효과를 대체할 수 있다.
단계(120)에서, 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행한다.
본 발명의 실시예에 따르면, 기울기의 방향을 나타내는 기울기의 놈을 가중치의 놈으로 나눈 값과 미리 정해진 임계값을 비교하여(121), 미리 정해진 임계값을 초과하는 경우 기울기 클리핑을 수행하여 상기 기울기의 크기를 제한한다.
양자화의 경우 표현 가능한 범위가 감소되어 기울기가 가중치보다 큰 경우가 발생하고, 기울기가 가중치보다 큰 경우 학습이 완료되었다고 판단하여 미리 정해진 임계값에 따라 기울기를 제한함으로써 상기 분류기의 파라미터를 최적화(122)할 수 있다.
본 발명의 실시예에 따른 기울기 클리핑은 특정 조건이 임계값을 넘어가게 되면 기울기를 제한하게 된다. 특정 조건은 기울기의 놈을 가중치의 놈으로 나눈 값이 일정 임계값(예를 들어, default=0.01)을 초과하는 경우를 말한다. 기울기의 놈은 기울기의 방향을 나타내며 가중치의 놈과 임계값이 제한하는 기울기의 값을 결정하게 된다.
기본적으로 학습과정에서 초기 학습 때에는 많은 것을 학습해야 하기 때문에 기울기의 값이 큰 편이며 가중치의 값은 작은편이다. 반대로 학습이 어느정도 완료되었을 시점에는 기울기는 작은 값이 되며 가중치의 값은 커지게 된다. 양자화의 경우 표현 가능한 범위가 줄어들기에 기울기가 가중치보다 큰 경우가 발생 할 수 있다. 이러한 경우 과하게 학습했다고 판단하고, 기울기를 제한한다.
기울기 클리핑 및 드롭아웃의 두 가지 구성을 갖는 제안 알고리즘은 양자화 과정에서 과한 기울기를 제한함으로써 안정적인 학습을 하는 동시에 정규화 효과를 추가하여 성능의 상승을 기대할 수 있다.
도 2는 본 발명의 일 실시예에 따른 안정적인 양자화 후 학습을 위한 기울기 클리핑 시스템의 구성을 나타내는 도면이다.
본 실시예에 따른 기울기 클리핑 시스템(200)은 프로세서(210), 버스(220), 네트워크 인터페이스(230), 메모리(240) 및 데이터베이스(250)를 포함할 수 있다. 메모리(240)는 운영체제(241) 및 양자화 후 학습을 위한 기울기 클리핑 및 드롭아웃(242)을 포함할 수 있다. 프로세서(210)는 드롭아웃 수행부(211) 및 기울기 클리핑부(212)를 포함할 수 있다. 다른 실시예들에서 기울기 클리핑 시스템(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 기울기 클리핑 시스템(200)은 디스플레이나 트랜시버(transceiver)와 같은 다른 구성요소들을 포함할 수도 있다.
메모리(240)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(240)에는 운영체제(241)와 양자화 후 학습을 위한 기울기 클리핑 및 드롭아웃(242)을 위한 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism, 미도시)을 이용하여 메모리(240)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체(미도시)를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 네트워크 인터페이스(230)를 통해 메모리(240)에 로딩될 수도 있다.
버스(220)는 기울기 클리핑 시스템(200)의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스(220)는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.
네트워크 인터페이스(230)는 기울기 클리핑 시스템(200)을 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성요소일 수 있다. 네트워크 인터페이스(230)는 기울기 클리핑 시스템(200)을 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.
데이터베이스(250)는 양자화 후 학습을 위한 기울기 클리핑 및 드롭아웃을 위해 필요한 모든 정보를 저장 및 유지하는 역할을 할 수 있다. 도 2에서는 기울기 클리핑 시스템(200)의 내부에 데이터베이스(250)를 구축하여 포함하는 것으로 도시하고 있으나, 이에 한정되는 것은 아니며 시스템 구현 방식이나 환경 등에 따라 생략될 수 있고 혹은 전체 또는 일부의 데이터베이스가 별개의 다른 시스템 상에 구축된 외부 데이터베이스로서 존재하는 것 또한 가능하다.
프로세서(210)는 기본적인 산술, 로직 및 기울기 클리핑 시스템(200)의 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(240) 또는 네트워크 인터페이스(230)에 의해, 그리고 버스(220)를 통해 프로세서(210)로 제공될 수 있다. 프로세서(210)는 드롭아웃 수행부(211) 및 기울기 클리핑부(212)를 위한 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(240)와 같은 기록 장치에 저장될 수 있다.
드롭아웃 수행부(211) 및 기울기 클리핑부(212)는 도 1의 단계들(110~120)을 수행하기 위해 구성될 수 있다.
기울기 클리핑 시스템(200)은 드롭아웃 수행부(211) 및 기울기 클리핑부(212)를 포함할 수 있다.
본 발명의 실시예에 따른 드롭아웃 수행부(211)는 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행한다.
본 발명의 실시예에 따르면, 편향되지 않은 출력 값을 얻기 위해 일부 뉴런을 확률적으로 제거하는 드롭아웃을 통해 배치 정규화 층의 폴딩(folding)으로 인한 정규화 효과를 대체한다. 배치 정규화 층의 폴딩 으로 정규화 효과를 상실했기에 드롭아웃으로 정규화 효과를 대체할 수 있다.
본 발명의 실시예에 따른 기울기 클리핑부(212)는 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행한다.
본 발명의 실시예에 따르면, 기울기의 방향을 나타내는 기울기의 놈을 가중치의 놈으로 나눈 값과 미리 정해진 임계값을 비교하여, 미리 정해진 임계값을 초과하는 경우 기울기 클리핑을 수행하여 상기 기울기의 크기를 제한한다.
양자화의 경우 표현 가능한 범위가 감소되어 기울기가 가중치보다 큰 경우가 발생하고, 기울기가 가중치보다 큰 경우 학습이 완료되었다고 판단하여 미리 정해진 임계값에 따라 기울기를 제한함으로써 상기 분류기의 파라미터를 최적화할 수 있다.
도 3은 본 발명의 일 실시예에 따른 드롭아웃 과정을 설명하기 위한 도면이다.
도 3(a)는 종래기술에 따른 배치 정규화를 설명하기 위한 도면이고, 도 3(b)는 본 발명의 실시예에 따른 드롭아웃 과정을 설명하기 위한 도면이다.
도 3(a)를 참조하면, 기존의 QAT기법에서는 양자화 한 모델에 추가 학습을 하게 된다. 이때 페이크 양자화 노드를 추가하여 실제 양자화를 하는 것처럼 동작하게 만들어 양자화를 시뮬레이션하게 된다. 이렇게 추가 학습을 통해서 기존의 양자화를 이용하여 감소하였던 정확도를 최대한 복구하게 된다.
하지만, 이 QAT에서 가장 높은 성능을 보였던 HAWQ기법은 학습 에포크가 증가할수록 과적합되어 낮은 정확도에 수렴하게 된다. 추가적으로 QAT에서는 배치 정규화 층을 가중치와 컨벌루션하는 폴딩(folding)을 수행함으로써 양자화 후 정확도 감소를 줄이게 되는데 이때 배치 정규화 항을 결합함으로써 여러 정규화 효과들을 사용할 수 없게 된다. 이런 양자화와 추가 학습 과정에서 발생하는 과적합과 배치 정규화 항에 대한 문제점을 해결하지 못하면, 양자화에 대한 정확도 감소를 복구하기가 힘들다.
도 3(b)과 같이, 본 발명에서는 배치 정규화 층이 가지고 있는 정규화 효과를 대체하기 위해 드롭아웃을 이용한다. 드롭아웃은 편향되지 않은 출력 값을 얻기 위해 일부 뉴런을 확률적으로 제거하는 기법이고, 우수한 정규화 효과를 보이는 기법이다. 본 발명에서는 QAT에서 추론처럼 동작하기 위해 배치 정규화 층이 가중치와 결합하여 하나의 가중치처럼 동작하도록 하는 폴딩이 되기 때문에 정규화 효과를 제대로 사용할 수 없게 된다. 따라서 드롭아웃으로 정규화 효과를 대체한다.
도 4는 본 발명의 일 실시예에 따른 사물 검출기 학습의 과정을 설명하기 위한 도면이다.
본 발명에서 제안한 알고리즘을 적용하기 위해서 학습과정은 다음과 같다. 먼저 미리 훈련된 모델(411)을 양자화 시킨다(410). 이후, 순방향 과정(420)에서 드롭아웃을 추가한 분류기의 순방향 과정(421)을 수행한다.
이 양자화된 모델에 추가적으로 학습시키기 위해 가중치와 활성화 항에 페이크 양자화 노드(fake quantization node)(422)를 배치하여 학습마다 양자화처럼 동작하도록 한다. 드롭아웃을 추가한 분류기의 순방향 과정을 진행하고 난 후 역방향 과정(430)에서 기울기 클리핑을 진행하기 위해 기울기(G)와 가중치(W)의 놈을 구한다(431). 구한 두 놈을 비교(432)하여 기울기 클리핑을 진행할지 여부를 결정한다. 그리고 기울기 클리핑을 통해 기울기를 제안한 후 업데이트하여 분류기의 파라미터를 최적화한다.
도 5는 본 발명의 일 실시예에 따른 드롭아웃의 결과를 종래기술과 비교하기 위한 그래프이다.
본 발명의 효과를 증명하기 위해 대표적인 이미지 데이터셋인 ImageNet에 대해 성능을 평가하였다. 본 발명이 적용된 분류기(ResNet18)[1],[2]는 기존의 높은 성능을 보이던 HAWQ[3]에 비해 높은 성능을 달성하였으며, 추가학습 후 기존 분류기보다 0.02%, HAWQ보다 1.685% 상승했으며, 드롭아웃을 추가하였을 때 기존 분류기보다 0.118%, HAWQ보다 1.722% 상승하였다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 단계; 및
    양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계
    를 포함하는 기울기 클리핑 방법.
  2. 제1항에 있어서,
    상기 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계는,
    기울기의 방향을 나타내는 기울기의 놈을 가중치의 놈으로 나눈 값이 미리 정해진 임계값을 초과하는 경우 기울기 클리핑을 수행하여 상기 기울기의 크기를 제한하는
    기울기 클리핑 방법.
  3. 제2항에 있어서,
    상기 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 단계는,
    양자화의 경우 표현 가능한 범위가 감소되어 기울기가 가중치보다 큰 경우가 발생하고, 기울기가 가중치보다 큰 경우 학습이 완료되었다고 판단하여 미리 정해진 임계값에 따라 기울기를 제한함으로써 상기 분류기의 파라미터를 최적화하는
    기울기 클리핑 방법.
  4. 제1항에 있어서,
    상기 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 단계는,
    편향되지 않은 출력 값을 얻기 위해 일부 뉴런을 확률적으로 제거하는 드롭아웃을 통해 배치 정규화 층의 폴딩(folding)으로 인한 정규화 효과를 대체하는
    기울기 클리핑 방법.
  5. 입력 모델의 양자화를 수행한 후 분류기의 포워딩 과정에서 정규화 효과를 대체하기 위한 드롭아웃을 수행하는 드롭아웃 수행부; 및
    상기 양자화 수행 후의 학습을 위한 기울기의 놈과 가중치의 놈의 결합이 미리 정해진 임계값을 초과할 경우 기울기 클리핑을 수행하는 기울기 클리핑부
    를 포함하는 기울기 클리핑 시스템.
  6. 제5항에 있어서,
    상기 기울기 클리핑부는,
    기울기의 방향을 나타내는 기울기의 놈을 가중치의 놈으로 나눈 값이 미리 정해진 임계값을 초과하는 경우 기울기 클리핑을 수행하여 상기 기울기의 크기를 제한하는
    기울기 클리핑 시스템.
  7. 제6항에 있어서,
    상기 기울기 클리핑부는,
    양자화의 경우 표현 가능한 범위가 감소되어 기울기가 가중치보다 큰 경우가 발생하고, 기울기가 가중치보다 큰 경우 학습이 완료되었다고 판단하여 미리 정해진 임계값에 따라 기울기를 제한함으로써 상기 분류기의 파라미터를 최적화하는
    기울기 클리핑 시스템.
  8. 제1항에 있어서,
    상기 드롭아웃 수행부는,
    편향되지 않은 출력 값을 얻기 위해 일부 뉴런을 확률적으로 제거하는 드롭아웃을 통해 배치 정규화 층의 폴딩(folding)으로 인한 정규화 효과를 대체하는
    기울기 클리핑 시스템.
KR1020230009456A 2022-12-13 2023-01-25 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템 KR20240088505A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220174051 2022-12-13
KR1020220174051 2022-12-13

Publications (1)

Publication Number Publication Date
KR20240088505A true KR20240088505A (ko) 2024-06-20

Family

ID=91669709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230009456A KR20240088505A (ko) 2022-12-13 2023-01-25 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20240088505A (ko)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
[1] Benoit Jacob et al. Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference. In CVPR, 2018
[2] Andrew Brock et al. High-Performance Large-Scale Image Recognition Without Normalization, arXiv preprint arXiv:2102.06171
[3] Zhewei Yao et.al. HAWQV3: Dyadic Neural Network Quantization. In ICML, 2021

Similar Documents

Publication Publication Date Title
KR102184278B1 (ko) 메타학습에 기반한 임의의 목표 데이터셋과 모델 구조로의 전이학습 방법 및 시스템
CA2040903C (en) Neural networks
KR102225308B1 (ko) 컨볼루션 신경망 내 필터 프루닝 장치 및 방법
KR20180136720A (ko) 다채널 특징맵을 이용하는 영상 처리 장치 및 방법
KR101738825B1 (ko) 비연속적으로 확률 뉴런을 가지는 딥러닝 모델 및 지식 전파에 기반한 학습 방법 및 그 시스템
KR20210093931A (ko) 기계 학습 모델의 자동화된 생성
US20220011982A1 (en) Parallel Memory Access and Computation in Memory Devices
KR102181261B1 (ko) 소표본 의료 영상의 전이학습을 위한 중간 레벨 특징 추출 방법 및 장치
KR20190078693A (ko) 학습 데이터의 분포 특성에 기초하여 학습 데이터를 생성하는 방법 및 장치
TW202338668A (zh) 用於神經網路訓練的稀疏性掩蔽方法
KR20210083624A (ko) 신경망의 데이터 입력 및 출력을 제어하는 제어 방법 및 장치
JP6935868B2 (ja) 画像認識装置、画像認識方法、およびプログラム
US20200117449A1 (en) Accelerated Access to Computations Results Generated from Data Stored in Memory Devices
CN113496248A (zh) 训练计算机实施的模型的方法和设备
KR20240088505A (ko) 안정적인 양자화 후 학습을 위한 기울기 클리핑 방법 및 시스템
JP2008009548A (ja) モデル作成装置および識別装置
KR102597182B1 (ko) 입력 해상도 변경에 따른 특징맵 해상도 변경 방법 및 시스템
KR102670516B1 (ko) 표면 부호의 기계학습 기반 복호 방법 및 그 장치
KR102127855B1 (ko) 검출 반복성을 최대화 하는 특징점 선별방법
KR20240081554A (ko) 복원 정규화기를 이용한 비대조적 자기지도 학습 방법 및 장치
KR102494952B1 (ko) 분산 평준화를 통한 딥러닝 모델 초기화 방법 및 장치
EP4303768A1 (en) Method and apparatus for multi-task processing
KR102320345B1 (ko) 딥러닝 내부의 데이터 추출 방법 및 장치
KR102027043B1 (ko) 영상 처리 장치 및 방법
KR102605707B1 (ko) 모델에 관계없이 적용 가능한 메타러닝을 사용한 발작 예측 방법