저주파수, 고주파수 feature 간의 균형 조절
[Github]
[arXiv]
Abstract
U-Net에 대한 분석을 통해 추가 교육이나 fine-tuning 없이 품질을 향상하는 방법인 FreeU 제안
Introduction
Denoising process에서 저주파수 구성요소는 거의 바뀌지 않지만, 고주파수 구성요소는 노이즈에 민감하며, 급격히 변함.
연구진의 조사에 따르면 U-Net backbone은 주로 denoising을 담당, skip connection은 세분화된 의미 정보를 전파하여 디코더 모듈에 고주파 feature를 도입함. 그러나 이러한 전파가 denoising을 방해할 수 있고, 다음과 같은 비정상적인 세부정보가 생성될 수 있음.
추론 단계에서 backbone feature factor와 skip feature scaling factor를 도입하여 추가 학습 없이 둘 사이의 균형을 맞춰 품질을 향상할 수 있는 freeU를 제안한다.
Methodology
How does diffusion U-Net perform denoising?
두 가지 factor b, s를 도입
The backbone of U-Net
b가 클수록 결과물이 깔끔해지고, 고주파수 feature가 억제됨.
The skip connections of U-Net
잔차 연결을 통해 전달되는 feature에는 고주파수 정보가 많이 포함되어 있음.
또한 품질에 큰 영향을 끼치지는 않는 듯하다...?(그냥 프롬프트에 질감 같은 세부사항을 지정 안 해서 그런 거 아닐까...?)
Free lunch in diffusion U-Net
l번째 블록의 backbone feature xl을 b를 통해 증폭하는데, denoising 작업의 특성상 지나치게 부드러운 이미지가 생성될 수 있으므로 절반의 채널에만 적용.
Skip connection feature hl은 푸리에 영역에서 저주파 요소를 줄이는 스펙트럼 변조를 사용.
(FFT = 푸리에 변환, IFFT = 역 푸리에 변환)
푸리에 변환 후 임계값을 넘는 값은 s배 줄임.(주파수가 낮을수록 큰 값을 갖는다.)
Experiments
질감 표현이 중요하거나, 세부사항보다는 전체적인 형태가 중요하거나 하는 특정한 상황에 쓸 만은 할 듯...?