[논문 리뷰] Variable-rate Learned Image Compression with Adaptive Quantization Step Size

배규리·2024년 8월 19일

논문 리뷰

목록 보기
4/7
post-thumbnail

이번에는 VCIP 2023에서 가져온 Variable-rate Learned Image Compression with Adaptive Quantization Step Size라는 논문을 리뷰해보려고 한다!

전전 게시글에서 Attention-region을 추출하여 MAP기반으로 적절한 QP값과 Bit를 allocation을 해주는 Machine Vision task를 위한 Codec Architecture에 대해서 리뷰했었다.

오늘은 일단 제목이~ Adaptive Quantization Step Size인 것을 보아 Quantization Step Size을 Adaptive하게 할당해주려는 것같다!

그럼 리뷰 시작~~😃


Abstract

해당 논문에서는 Adaptive Quantize Step Size(AQS)를 제안한다.

이는 서로 다른 비율에 대해 서로 다른 양자화 단계 크기를 학습하며, 잠재 표현(Latent Representation)의 분포를 유지하면서 양자화 단계 크기만을 조정한다.

잠재 표현(Latent Representation): 원본 이미지를 압축할 때 이미지의 중요한 정보(형상, 색상 등)을 축소된 벡터로 변환하는데, 이때 이 벡터들을 잠재 표현이라고 한다.
원본 이미지의 중요 정보는 유지하고 데이터 크기를 줄이는데 사용한다.


1. Introduction

최근 LIC(Learned Image Compression) 프레임워크 설계에 대한 연구가 활발하게 이루어지고 있다. (나도,,🫠)

모두 우수한 RD성능을 보여주지만, 다양한 비트레이트를 조절하는 것이 어렵다.
그래서 다양한 Bitrate 범위를 다루기 위해 대부분 비율-왜곡 (RD) 비용 D + λR을 최소화하는 λ를 다양하게 사용하여 모델을 훈련시킨다.

(이 부분이 정확히 내가 연구하고 있는 내용과 일치해서 매우 공감이 된다,,, 손실 함수로 D + λR값을 사용하는데 LIC 연구에서는 내가 원하는 Bitrate값을 지정해서 뽑아내기 어렵다. 그래서 정말 다양한 λ값을 사용해야 얻어낼 수 있다ㅠ)

이러한 문제를 해결하기위해 여러 기술들이 나왔는데, 대부분 복잡한 조건부 네트워크를 도입하여 파라미터 수와 계산 요구 사항이 증가한다고 한다.

이에 AG-VAE라는 프레임워크가 제안되었었는데, 이 프레임워크는 Decoding 및 entropy encoding 과정에서 잠재 표현을 scaling하고 역scaling하기 위해 2가지 유형의 벡터를 사용하여 가변 비율 압축을 가능하게 하였다.

그러나 해당 프레임워크 또한 LIC 이미지 압축과 전통적인 이미지 압축 사이에 근본적인 이론적 차이가 있고 이러한 차이로 인해 성능 저하를 초래할 수 있다.

이에 해당 논문에서 AQS를 도입하여 AG-VAE 프레임워크를 개선했다.

AQS는 잠재 표현의 단순 스케일을 넘어 다양한 rate에 대해 서로 다른 양자화 step size를 학습한다.
이 step size는 LIC에서 양자화 함수와 엔트로피 모델 모두에 적용되어 가변 비율 압축을 가능하게 해준다.

결과적으로 AQS가 AG-VAE와 비교하여 성능 뿐만 아니라 계산 효율성까지 유지한다.


2. Preliminaries

A. Learned Image Compression

아래는 일반적인 LIC 프레임워크를 나타낸다.

x: 원본 이미지
x^: 재구성된 이미지
y: 잠재 표현(압축된 상태)
y^: 양자화된 잠재 표현

ga(): x를 잠재 표현 y로 변환하는 함수
Q(): 양자화 함수
gs(): 디코더 함수
-> 양자화된 잠재 표현 y^를 원본 이미지와 유사한 재구성된 이미지 x^로 변환

아래는 일반적인 LIC에서의 손실 함수를 나타낸다.


B. Variable Rate by Scaling Latent

아래는 AG-VAE 프레임워크에 대한 설명이다.

여기서는 잠재 표현 y와 양자화된 잠재 표현인 y^에 각각 적용되는 두 개의 추가적인 채널별 벡터, 즉 Gain 벡터 gInverseGain 벡터 ig를 도입하였다.

yg = y⊙g
-> 잠재 표현 y와 Gain vector g를 곱하여 스케일링된 잠재 표현 yg를 얻는다.

yg^ = Q(yg)
-> yg를 양자화하여 양자화된 스케일링 잠재 표현 yg^를 얻는다.

𝑥^=𝑔𝑠(𝑦𝑔^⊙𝑖𝑔)
-> 양자화된 스케일링 잠재 표현 yg^를 Inverse Gain Vector ig와 곱하여 원본 이미지와 유사한 재구성된 이미지(Reconstructed Image) x^를 생성


3. Proposed Method

AG-VAE는 학습 기반 이미지 압축에서 널리 사용되는 방법이지만, 잠재 표현을 단순히 스케일 조절(확장, 축소)하여 압축 비율을 조절한다.
즉, 압축된 데이터의 양을 조절하기 위해 잠재 표현을 늘리거나 줄이는 것이다.

그러나 이러한 과정으로 인해 데이터의 확률 분포가 달라져 문제가 발생할 수 있다.

이러한 문제를 해결하기 위해 AQS를 도입하였다.
이는 잠재 표현을 직접 스케일 조절하는 대신, 양자화 단계의 크기를 조절하여 다양한 비율을 표현한다.
즉, 양자화 단계 크기를 조절함으로써 압축 비율을 조절하여 원래의 확률 분포를 더 잘 유지할 수 있다.

A. Theoretical Analysis

전통적인 코덱은 Huffman 코딩이나 CABAC같은 방법을 사용하여 확률 분포를 추정한다.
LIC(학습 기반 이미지 압축)에서는 고정된 엔트로피 모델을 사용하여 잠재 표현의 확률 분포를 추정한다.

[잠재 표현의 스케일링]

잠재 표현 y를 스케일링한다는 것은 y의 값을 g라는 상수 값으로 곱하는 것을 의미한다.
만약 범위가 0.1~1.0이었는데 g=2를 곱하면 0.2~2로 범위가 바뀌기 때문에 y의 확률 분포가 달라진다.
이는 모델이 y의 확률 분포를 추정하는데 사용하던 기존의 엔트로피 모델이 더 이상 정확하지 않다는 것을 의미한다.

[양자화 단계 크기 조절]

양자화는 연속적인 잠재 표현 y를 이산적인 값으로 변환하는 과정이다. Quantization Step Size는 이 이산 값들 사이의 간격을 결정한다.
양자화 단계 크기를 조절한다는 것은, 이 간격을 조정하여 y를 더 조밀하게 또는 더 넓게 이산화하는 것입니다.
이와 같이 조절하면 y의 원래 값 자체는 변하지 않지만, 양자화한 후 얻어지는 y^의 값은 달라진다. 따라서 y 본래 확률 분포는 변하지 않는다. 다만, 양자화 후의 분포는 양자화 단계에 따라 약간 달라질 수 있지만, 이는 잠재 표현 자체의 분포가 바뀌는 것이 아니라 양자화의 결과로 발생하는 것입니다.
따라서, 기존의 엔트로피 모델을 사용할 때도 확률 분포를 예측하는 데 큰 문제가 발생하지 않습니다. 이로 인해 성능 저하 없이 다양한 비트레이트를 효과적으로 제어할 수 있습니다.

정리하면 다음와 같다.

  • 스케일링: 잠재 표현 y의 값 자체를 바꾸어 확률 분포를 변경시킵니다. 이는 엔트로피 모델의 정확한 확률 추정을 어렵게 만듭니다.
  • 양자화 단계 크기 조절: 잠재 표현 y의 값 자체는 변하지 않고, 양자화 간격만 조정됩니다. 이는 y의 원래 확률 분포를 유지하면서도 다양한 비트레이트를 달성할 수 있도록 합니다.

B. Adaptive Quantization Step Size

AQS에서는 q와 iq를 도입한다.

  • q: 각 층(layer)마다 사용할 양자화 단계 크기를 조절하는 벡터
  • iq: 양자화된 표현을 다시 조정하기 위한 벡터

q와 iq는 데이터를 얼마나 세밀하기 나눌지 조절하는 도구이다.

기존에 훈련(Training)단계에서 -0.5와 0.5사이의 노이즈를 데이터에 추가하여 모델을 훈련시키지만, AQS에서는 q에 따라 (-0.5q, 0.5q)로 바꿔서 노이즈를 추가한다.
이렇게 하면 양자화 오류를 더 잘 근사할 수 있게 된다.

이 그림을 보면 알다시피 왼쪽이 기존의 AG-VAE방식이고 오른쪽이 AQS방식이다.

오른쪽은 y의 값에 영향을 주지않고 step size만을 넓게 혹은 좁게 하는 방식으로 수행된다.

이 방식을 수식으로 표현하면 아래와 같다.

기존 방법

잠재 표현 y를 직접 스케일링하여 새로운 잠재표현 yg를 얻고,
이 값을 양자화하여 yg^를 구하는 방식

  1. 잠재 표현 생성: y = ga(x)
  2. 스케일링: yg = y ⊙ g
  3. 양자화: yg^ = Q(yg)

AQS 방식

잠재 표현 y를 그대로 두고, 양자화의 step size만 조절하여 압축률을 조절

  1. 잠재 표현 생성: y = ga(x)
  2. 양자화: y^ = Q(y)

AQS에서는 양자화 step size인 q를 조정하여 다양한 압축률을 조절할 수 있다. 즉 잠재 표현 y는 그대로 두고, 양자화 step size만 조정하므로 잠재 표현 y의 분포를 유지하면서도 압축률을 조절할 수 있다.


C. Conditional Entropy Model

위에서 계속 엔트로피 모델이 언급되고 있는데, 이는 아래와 같이 정의된다.

여기서 h()가 엔트로피 모델로 컨텍스트 정보 y_ctx와 부가정보 z를 사용해 계산된다.

제안된 방법 AQS에서는 양자화 스텝 크기 q를 고려하여 y에 노이즈 U(−0.5q,0.5q)를 추가한다.

그 결과 추론(Inference) 단계에서 양자화 과정이 아래와 같이 수정된다.


D. Continuously Variable Rate Compression

가변 비율 압축을 지원하기 위해서 다음과 같이 2개의 이산적인 목표 품질 수준 사이의 값일 때, 보간(interpolation)방법을 사용한다.


4. Experiments

A. Experiments Setting

  • 훈련 데이터셋: Flicker2W 데이터셋
  • RD 손실함수
  • λ = 0.0018, 0.0035, 0.0067, 0.013, 0.025, 0.0483, 0.0932, 0.18
  • 비교 모델:
    • basic factorized model
    • hyperprior model
    • advanced autoregressive model
      • Adam optimizer
      • 440 epoch
      • 8 batch size
      • learning rate: 0.0001 (last 40 epoch: 0.00001)
  • 검증 데이터셋: Kodak 데이터셋, CLIC Professional 데이터셋

B.Experiments on Factorized Model

아래의 그래프에서 보듯이, AG-VAE와 AQS모두 훈련된 q를 선택하거나 보간된 벡터 선택을 통해 하나의 모델 내에서 연속적인 가변 비트 전송률을 달성할 수 있었다.

그러나 AG-VAE 방식은 높은 비트 전송률에서 상당한 성능 저하를 보이는데, 이는 잠재 변수를 스케일링하는 과정에서 발생하는 부정확한 엔트로피 추정 때문이라고 한다.

C. Experiments on Hyperprior and Cheng-anchor

아래는 실험 결과를 보여준다.
AG-VAE와 AQS의 BD-rate값을 비교하는 표이다.

BD-rate: 이미지 또는 비디오의 압축 성능을 평가하기 위한 지표로, 낮을 수록 새로운 압축 방법이 더 낮은 비트레이트로 같은 품질을 유지한다는 것을 의미한다.

Kodak 데이터셋에서 AG-VAE는 고정 비율 모델인 Factorized, Hyperprior, Cheng-anchor와 비교해 각각 9.69%, 4.67%, 2.46%의 비트레이트 증가를 보이고,
AQS는 동일한 모델들에 대해 각각 1.57%, 3.66%, -0.3%의 비트레이트 증가를 보인다.

아래는 Hyperprior모델과 Cheng-anchor 모델의 PSNR값을 비교한 표이다.

PSNR(Peak Signal-to-Noise Ratio): 원본 이미지와 압축 이미지 간의 품질 차이
높을 수록 원본 이미지와 압축된 이미지 간의 차이가 적다.

기존 모델들(Factorized, Hyperprior, Cheng-anchor)은 약 10MB가 넘는 추가 매개변수를 사용한다고 한다.

반면에 AQS는 AG-VAE와 동일하게 10KM이하의 추가 매개변수를 사용하고 있지만, AG-VAE보다 더 우수한 성능을 보이고 있으며, 기존 모델들에 비해 크게 성능 저하가 없는 것을 확인할 수 있다.


5. Conclusion

해당 논문에서 제안한 AQS는 서로 다른 비율에 대해 다양한 양자화 Step size를 학습한다.
이 step size들은 양자화 함수와 엔트로피 모델에 적용되어 가변 비율 압축을 가능하게 한다.
AQS는 연속적인 Bit rate 제어를 가능하게 하며, 동시에 단순성, 낮은 복잡성, 최소한의 성능 손실을 보장한다.


수학 공식이 너무 많이 나와서 이해하느라 좀 오래 걸린 논문이었다,,,
사실 결론만 보면 quantization step을 조절하여 잠재 표현 y의 분포를 일정하기 유지해주도록 하여 압축 해제시의 품질 저하 가능성을 낮게 해주는 아이디어였다.

아이디어가 신선해서 신기했던 논문...!

끄읕 ...!

profile
백엔드 개발은 취미인 AI 개발자🥹

0개의 댓글