Computer Vision/GAN

[ECCV 2020] GAN Slimming 논문 리뷰

논문 : arxiv.org/abs/2008.11062


 

제목에서 바로 알 수 있듯이 GAN 모델의 경량화를 위한 논문이다. 처음 접해보는 분야라 자세하게 리뷰하지는 못했고 어떤 방법을 사용하는지에 대한 개념적인 이해에 중점을 두었다.

1. Introduction

GAN은 다양한 컴퓨터 비전 어플리케이션에서 인기를 얻고 있으며, 최근에는 리소스가 제한된 모바일 장치에 배포되기 시작했다. 하지만 GAN 압축 연구는 아직 초기 단계이며, 기존의 방법들은 압축 기술을 단독으로 하나씩만 사용하고 있었다. 따라서 본 논문에서는 주요한 압축 기술인 Model distillation / channel pruning / quantization 통합해 end to end 로 최적화 할 수 있는 프레임 워크인 GAN Slimming (GS)을 제안했다.

2. Related Works

2.1 Knowledge distillation [NIPS 2014]

  Knowledge distillation은 NIPS 2014에서 제프리 힌튼이 제시한 논문이다. Knowledge distillation의 목적은 미리 잘 학습된 큰 네트워크(Teacher network) 의 지식을 실제로 사용하고자 하는 작은 네트워크(Student network)에게 전달하는 것이다. 풀어서 설명하자면 딥러닝 모델은 파라미터 수가 많고 연산량이 많아서 모바일과 같은 어플리케이션에서 사용하는데에는 어려움이 있다. 따라서 모델을 충분히 작게 만들어서 핸드폰의  CPU 만으로도 계산이 가능하도록 하고자 한 것이다.

Knowledge distillation 네트워크 구조

네트워크 구조는 위와 같다. 미리 학습시킨 Teacher model이 있고, 이를 모방한 실제로 사용하는 작은 모델인 student model이 있다.

Knowledge distillation Total Loss

먼저 Total Loss 식의 왼쪽 항은 파란색 영역에 해당하는데 Student network 의 분류 성능에 대한 Loss로 Ground truth 와 student 의 분류 결과 차이를 cross entropy loss로 계산한 것이다.

Total Loss 식의 오른쪽 항은 빨간색 영역에 해당한다. 오른쪽 항은 teacher network와 student network의 분류 결과 차이를 loss에 포함시키는 것이다. Teacher와 student 의 output 값을 softmax로 변환한 값의 차이를 cross entropy loss로 계산하고 있다. Teacher 와 student 의 분류 결과가 같다면 작은 값이 나오게 된다.

Total Loss는 두개를 합친 것이다. 알파와 T는 하이퍼파라미터인데, 알파는 왼쪽과 오른쪽 항에 대한 가중치로

알파가 크면 오른쪽항 loss를 더 중요하게 보고 학습하겠다는 의미이다.

T는 temperature 라고 부르는데 Softmax 함수가 입력값이 큰 것은 아주 크게, 작은 것은 아주 작게 만드는 성질을 갖고 있어서 이를 완화시켜주는 역할을 한다.

 

왼쪽이 기존 softmax 함수이고 오른쪽이 Temperature를 적용한 것인데, 예를 들어 표현하면 오른쪽과 같이 계산된다.

Temperature를 사용한 경우가 낮은 입력값의 출력을 더 크게 만들어주고 큰 입력값의 출력은 작게 만들어주는 것을 알 수 있다.

 

Knowledge distillation 은 이와 같은 loss function을 사용해서 미리 학습시킨 teacher network의 출력을 실제로 사용하고자 하는 작은 모델인 student network 가 모방하도록 학습함으로써, 상대적으로 적은 parameter를 가지고 모델의 성능을 높일 수 있는 방법론이다.

2.2 Channel pruning

 

2.3 Quantization

양자화(Quantization)는 정확하고 세밀한 단위로 표현한 입력값을 보다 단순화한 단위의 값으로 변환하는 다양한 기술을 포괄적으로 의미하는 용어이다. 인공지능 분야에서 연산량을 줄이면서 전력 효율성을 향상시키기 위해 사용하는 방법 중 하나이다.

예를 들어, 위 그림과 같이 디지털 이미지의 각 픽셀은 특정 비트 수로 표현되는 것으로 실제 세계의 연속적인 컬러 스펙트럼을 불연속적인 컬러로 표현하는 것이다. 따라서 흑백 이미지는 픽셀당 1비트로 표현할 수 있으며 컬러 이미지의 경우에는 일반적으로 픽셀 당 24비트로 표현된다.

기본적으로 양자화 기술은 정보를 표현하는데 필요한 비트의 수를 줄여주는 것이다.

3. The GAN Slimming Framework

  다음으로 본 논문에서 제시하는 GAN Slimming Framework에 대해 살펴보자.

G_0 는 깊은 층을 가지는 원래의 Generator로 높은 정확도를 가지고 있다.

본 모델의 목표는 G_0 로 부터 비슷한 style transfer 퀄리티를 갖는 효과적인 generator G 를 얻는 것이다.

이제 Loss function에 대해 살펴보자

먼저 전통적인 GAN 의 minmax function가 있다. model distillation loss는 original large generator G_0의 동작을 모방하도록  small generator G를 강제하는 역할을 하고 여기서 d는 distance metric 을 의미한다.

기존에는 개별 압축 기술을 사용했다면 본 모델은 다중 압축 수단을 결합한 최초의 통합 최적화 프레임 워크를 제시하고 있다. Model distillation / channel pruning / quantization 을 결합했는데, 먼저 model distillation과 channel pruning 을 통합한 식은 위와 같다.

 

Channel pruning 의 경우 학습 가능한 scale parameter γ에 L1 norm 을 취해서 채널 희소성을 장려한다. G에서 학습 가능한 다른 weights 을 W로 표시하면 channel pruning을 distillation loss에 통합할 수 있다고 하고, 여기서 ρ는 네트워크의 희소성 수준을 제어하는 절충 매개 변수를 의미한다.

세 가지 압축 수단을 결합한 최종 objective function은 다음과 같다. G_q, q_w를 사용하여 다음과 같은 식을 통해 활성화와 가중치를 양자화 할 것을 제안하였다.

식에서 파란색 부분은 model distillation, 녹색은 channel pruning, 빨간색은 quantization을 나타내고,

θ는 D의 매개 변수를 나타낸다. 최종적으로 이 식을 minmax 해주는 것이다.

4. Experiments

4.1 Unpaired Image Translation with CycleGAN

  Image translation 과 stylization 은 모바일 장치에 GAN 을 배포하는데 중요한 동기를 부여하는 주제이기 때문에 CycleGAN에서 사용하는 horse2zebra 와 summer2winter 데이터셋에 대해 기존의 압축 방법인 CEC, GD 와 본 논문에서 제시하는 GS를 비교하였다.

Generator 의 효율성을 측정하기 위해 model size와 FLOPs 를 사용하고, Style transfer 의 효과를 정량적으로 측정하기 위해 FID 값을 사용했다. G0는 오리지널 모델이고, G 가 압축된 generator를 의미한다.

따라서 r_c와 r_s 값이 클수록 더욱 소형화되고 효율적인 모델이란 것이고, r_f 값이 클수록 더 나은 스타일 트랜스퍼 품질을 가졌다는 것을 의미한다.

 

오른쪽 표를 보시면 본 논문에서 제시하는 GAN Slimming 모델이 기존의 압축 방법보다 네가지 task 모두에서 더 좋은 성능을 보이고 있음을 알 수 있다.

예를 들어, horse to zebra 에서 GS-32는 CEC, GD 보다 훨씬 나은 FID 를 가지고 있으며, 모델 compactness 를 더 많이 달성한다. 성능 손실을 최소화하면서 모델 효율을 더욱 높일 수 있는데, GS-8을 보면 FID 는 거의 떨어지지 않으면서도 GS-32에 비해 4배 더 큰 R_c를 달성하고 있는것을 볼 수 있었다.

horse to zebra / summer to winter

4.2 Real-world Application: CartoonGAN

마지막으로 최근 제안된 사진을 만화로 변환시켜주는 모델인 CartoonGAN 을 모바일 장치에 배포하기 위해 GS 을 적용했다. CartoonGAN 은 cycle consistent loss 를 사용하지 않고 feed-forward encoder-decoder 구조를 가지고 있기 때문에 앞에서 비교한 CEC 는 사용할 수 없고, GD 와 GS 만 가지고 비교하였다.

CelebA 데이터셋에 대해 실험을 진행했는데, 압축 비율이 크면 GD 에는 흰색 점과 같은 명백한 아티팩트가 생긴다. 반면 GS-32는 시각적 품질 저하를 최소화하면서 원래 generator 를 약 42배로 압축할 수 있다.

GS-8도 거의 동일한 시각적 품질로 압축 비율은 47배 향상시킬 수 있다.