Processing math: 100%
본문 바로가기

논문리뷰

[CVPR2023] Hard Sample matters a Lot in Zero-Shot Quantization

https://openaccess.thecvf.com/content/CVPR2023/html/Li_Hard_Sample_Matters_a_Lot_in_Zero-Shot_Quantization_CVPR_2023_paper.html

 

CVPR 2023 Open Access Repository

Hard Sample Matters a Lot in Zero-Shot Quantization Huantong Li, Xiangmiao Wu, Fanbing Lv, Daihai Liao, Thomas H. Li, Yonggang Zhang, Bo Han, Mingkui Tan; Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023, pp. 2

openaccess.thecvf.com

 

Abstract

Zero-shot Quantization(ZSQ)은 훈련데이터 접근이 불가능한 경우에도 효과적으로 model compression을 할 수 있는 방안임.
ZSQ에서의 모델 quantization은 합성된 가상의 데이터(synthetic samples)를 사용해 훈련을 진행하기 때문에 quantized model은 synthetic smaple에 매우 의존적인 성능을 보임.

본 논문에서는 현존하는 ZSQ는 합성데이터가 매우 쉽게 model에 학습되기 때문에 모델이 실제로 접하는 어려운 데이터(hard sample)에 대처하지 못하며, 이로 인해 정확도 하락이 존재함을 제안함.

이러한 문제를 해결하기 위해 HArd sample Syntehsizing and Training(HAST) 기법을 제안함.

HAST는 quantization이 진행되지 않은 모델(full-precision model)과 quantized model 간 특징을 정렬해 두 모델에서 추출한 특징 간 유사성을 보장하며, 기존 ZSQ방식보다 향상된 성능을 보임.

 

 

Introduction & Related Work

딥러닝 분야에서 computing 자원의 복잡성 관련 한계를 해결하기 위해 모델 압축(model compression) 연구가 활발하게 진행되고 있음.
그중에서 network quantization실수형의 parameter와 activation값들을 low-bit integers로 변경하는 기법임.

Quantization을 진행하면, 성능 하락이 일어날 수 있다는 한계가 존재하며, 이를 해결하기 위해 training data로 quantized model을 재학습하는 QAT(quantization-Aware Training)을 많이 사용함.
하지만, QAT방식은 training data의 접근이 불가능한 경우 (e.g., 의료분야) 추가적인 훈련을 진행할 수 없다는 단점이 있음. 
Training data의 접근이 불가능한 경우에도 quantization을 효과적으로 진행하기 위해 ZSQ가 사용됨.

 

ZSQ의 기존방식으로는 weight equalization, bias correction, weight rounding strategy 등이 사용되나 이러한 방식들은 모두 약간의 성능저하가 일어남. quantized model의 성능을 향상시키기 위한 advanced된 연구들도 진행 중인데 synthetic data를 활용하는 연구가 많음. 특히, full-precision모델로부터 data를 synthesizing하여 quantized model을 fine-tuning하는 연구가 많이 진행됨.
좋은 품질의 Synthetic data를 합성하는 것은 quantized model의 성능을 좌우하기 때문에 많은 연구가 data synthesize에 집중하여 연구하고 있으며, 데이터 합성에서는 generator의 역할이 매우 중요함. 최근 연구에서는 generator로부터 생성된 synthetic data의 분포에 집중하고 있으며, 합성데이터의 품질을 향상시키기 위한 문제를 noise optimization으로 정의함.

현재 IntraQ모델의 경우 synthetic sample의 특성에 집중하여 샘플 간의 이질성에 중점을 두는 연구를 진행하였고 state-fot-the-art인 성능을 제안함.

 

하지만, 현존하는 모든 ZSQ 방법들은 real data를 통해 훈련되는 성능과 synthetic data를 통해 훈련되는 성능 간 차이가 매우 큼. 이러한 차이를 개선하기 위해 본 논문에서는 synthetic data가 real data에 비해 훈련되기 쉬운 easy sample이라는 것을 분석함.

 

따라서, 본 논문에서 제안하는 HAST는 두 가지의 목적을 가짐.
1) model이 쉽게 학습(fit)되지 않는 데이터 생성
2) Full-precision model과 quantized model로부터 추출된 feature값을 유사하게 함

 

논문에서 제안하는 contributions는 다음과 같음
1) Zero-shot quantization의 성능저하 원인은 hard sample의 부재임을 제안

2) ZSQ 성능 향상을 위해 학습에 사용되는 두 모델과 유사성을 보존하면서 hard sample을 생성할 수 있는 HAST 구조를 제안함
3) HAST를 통해 기존의 SOTA모델을 이김.

 

 

Method

논문에서 제안하는 HAST 구조는 다음과 같음.

 

HAST 구조

 

HAST는 위 그림과 같은 3가지 과정을 거침

 

(1) Hard Sample Synthesis

(2) Sample Difficulty Promotion

(3) Feature Alignment

 

 

(1) Hard Sample Synthesis

 

기존의 sample synthesis방식은 batch normalization statistics (BNS) loss를 사용함.

BNS loss: 모델 내 각 layer 간의 mean/variance parameters를 통해 노이즈에 대해 계산을 수행함. 이러한 방식을 통해 각 layer 간 noise를 샘플링할 수 있음

 

하지만, BNS loss를 통해 생성되는 sample은 easy-to-fit 한계가 존재함 (sample 난이도가 쉬움)

이러한 한계를 해결하기 위해 HAST에서는 BNS loss만 사용하는 것이 아니라 Inception loss를 추가로 사용함.

Inception loss: 데이터 간 cross-entropy loss (CE loss)의 평균을 내는 방식으로 데이터셋 내 모든 샘플에 동등한 중요성을 부여하고, 모델의 성능을 종합적으로 평가하기 위해 사용됨. CE loss를 활용함으로써 실제 label과 합성된 sample의 predicted 확률을 최대화함. 
Inception Loss

 

HAST 저자들은 inception loss를 그대로 사용하는 것이 아니라 sample의 difficulty를 반영해 더 어려운 sample을 만들기 위한 새로운 loss를 제안함. (LHIL)


먼저 sample의 difficulty를 측정하기 위한 방안으로는 GHM에서 제안한 d(x,theta)를 활용함

sample difficulty 측정방식

 

해당 수식을 활용해 논문의 제안한  (LHIL)는 다음과 같음.

 

HAST에서 제안하는 (LHIL)

 

(LHIL)에서는 기존의 inception loss에 sample difficulty를 반영하고 hard sample의 중요성을 강조할 수 있는gamma의 조정을 통해 더욱 어려운 sample합성을 유도함.

 

논문에서 제안한 LHIL)와 LIL 성능을 비교한 결과는 figure 4와 같음.

 

Figure 4를 보면  LIL의 경우 sample difficulty가 0.2가 넘어가면 loss값이 상승해 어려운 sample을 생성하지 못하는 것을 확인할 수 있으나,  LHIL의 경우 0.7까지 안정적인 loss를 보여  LIL보다 어려운 난이도의 sample합성이 가능함을 보임.

 

 

 

(2) Sample Difficulty Promotion

 

1번 과정에서 difficulty를 향상시킨 데이터를 합성하기는 했지만 quantized model을 학습시키기에는 부족함.

따라서 합성된 데이터의 difficulty를 더욱 향상시키기 위한 방안을 제안함.
HAST의 저자들은 adversarial training이 perturbation δx에 추가함으로써 difficulty를 향상시키는 원리를 이용함.

 

 

Equation 10에서와 같이 difficulty를 측정할 때 input x에 perturbation δ를 추가해 더 어려운 데이터를 생성할 수 있으며, δ는 difficulty d가 최대화되는 수치로 결정됨. 여기서 perturbation의 강도는 hyper-parameter ε으로 결정되며, 공격강도는 L2norm 범위 내에서만 가능함. (범위 바깥으로 넘어가는 perturbation이 생성되면 매우 부자연스러운 noise가 생성되고, 사람이 인지할 수 있을 정도로 이질적 이미지가 생성되기 때문)

논문에서는 각 iteration에서 이러한 perturbation을 통해 sample xx주변분포로 있는 어려운 샘플을 찾아냄.

 

추가적으로, 논문저자들이 공개한 코드를 분석한 결과, perturbation 생성은 일반적인 adversarial attack (e.g., FGSM, PDG, CW attack)을 수행한 것이 아니라 단순히 gaussian 분포를 기반으로 한 랜덤한 값들을 perturbation으로 사용함.

 

 

(3) Feature Alignment

 

1번 과정과 2번 과정을 통해 quantized model을 학습하기 위한 hard sample이 준비되었음.

Quantized model이 full-precision model과 최대한 비슷한 성능을 내기 위해 가장 이상적인 방법은 각 모델에서 뱉어내는 output이 정확하게 동일하면 됨. 따라서, full-precision model의 정보를 공유하기 위해 feature alignment(feature distillation)을 사용함.

Feature Alignment

각각의 l번째 layer에서 뽑아낼 수 있는 full-precision model의 feature와 quantized model의 feature는 MSE loss를 통해 차이를 최소화하는 방향으로 학습함. 

 

하지만, 이런 식으로 feature alingment만 진행하는 경우 quantized model의 capacity관련 한계로 인해 불안정한 성능을 보임. 따라서, feature alignment로부터 생기는 제약을 해결하기 위해 일반적인 distillation방식인 logit distillation을 추가하며, 수식은 다음과 같음.

학습 안정을 위한 개선된 Feature Alignment (logit distillaiton 추가)

 

추가로, 중간 layer에서는 feature map에 대한 값들에 attention하기 위해 feature map값을 제곱해서 차이를 계산함, 해당 수식은 다음과 같음

 

 

논문에서는 feature map의 channel(c), width(w), height(h) 값을 모두 제곱해서 차를 계산했다고 했으나, 실제 코드는 channel wise attention으로 되어 있어 저자한테 메일로 문의하였고, 답변을 기다리고 있음.

 

 

 

 

Experiment

실험은 cifar-10, cifar-100, Image-net을 활용함.

모델은 cifar 데이터에서는 ResNet-20을 사용하였으며, image-net에서는 ResNet18, mobileNetV1, mobileNetV2를 사용함. 

Cifar-10 결과  (ResNet-20)

 

 

 

Image-Net 결과 (ResNet-18)

 

Image-Net 결과 (MobileNet V1)

 

Image-Net 결과 (MobileNet V1)

 

HAST구조의 ablation study

 

MobileNetV2를 제외한 모든 zero-shot quantization 실험결과에서 SOTA 달성

 

HAST의 limitation

 

제한된 시나리오에서 실험되었으며, federated learning, vision transformer와 같은 practical scenenario에 대해서 검증될 필요가 있음.

 

 

 

Conclusion

HAST는 합성된 샘플의 난이도가 낮은 문제를  해결함으로써 zero-shot quantizaion에서 SOTA성능을 달성함. 그러므로, hard sample이 zero-shot quantization에서 매우 중요함을 분석함. 논문 저자들은 더 어려운 sample을 생성했을 뿐만 아니라 'feature alignment'라는 fine-tuning을 통해 hard sample을 생성하였음. 이를 통해 quantized model이 더 나은 학습을 진행할 수 있었음. 또한, 실제 데이터(real data)를 통해 fine-tuning된 모델과 비슷한 성능의 효과를 얻을 수 있었음.