[GAN study] Super Resolution GAN (SRGAN)
Gan 학습 로드맵 다섯 번째 시간! 랩미팅 준비로 너무 바빠서 리뷰를 빨리 못했다 ㅎㅎ 더 열심히 해야지 허허😤😤
영어 원문 글은 여기로 가면 됩니다! 영어로 공부하고 싶다면 고고~
Super-resolution GAN은 고화질의 이미지를 생성하기 위해 deep network를 adversary network와 결합해 적용합니다. 위의 그림과 같이 SRGAN은 GAN을 사용하지 않는 비슷한 디자인 구조인 SRResNet 과 비교했을 때 더 많은 디테일들로 사람들에게 더 매력적으로 다가오고 있습니다.
학습 동안, 고화질 이미지(HR)는 저화질 이미지로(LR) 다운샘플링 됩니다. GAN 생성자는 저화질(LR)이미지를 고화질(SR)이미지로 업샘플링 시킵니다.
여기서, 고화질 이미지를 구분하기 위해 구분자를 사용하며, 구분자와 생성자를 학습시키기 위해 GAN loss를 역전파 시키게 됩니다.
아래는 generator와 discriminator의 네트워크 구조입니다. 거의 대부분 convolution layer, batch normalization, parameterized ReLU(PRelU)로 이루어져 있습니다.
생성자는 ResNet과 비슷하게 skip connection이 구현되어 있습니다. (“k3n64s1”이 있는 convolution layer은 stride가 1인 64channels 를 출력하는 3X3 커널 필터를 나타냅니다.)
Loss Function
generator를 위한 손실함수는 content loss(reconstruction loss)와 adversarial loss를 포함하고 있다.
adversarial loss 는 아래와 같이 정의되어 있습니다.
여기서, content loss pixel-wise를 저화질과 고화질 이미지 사이의 mean square error(MSE)를 사용해 계산하게 됩니다. 이 값이 수학적 거리를 결정하지만 사람들에게는 와 닿지 않습니다.
SRGAN은 VGG-19에서 추출한 feature(특징)의 MSE를 측정할 때, perceptual loss(지각손실)을 사용합니다.
*VGG-19의 특정 레이어는 그들의 특징(features)이 잘 맞도록 설계되어있다. (Minimum MSE for features)
한편, 구분자를 학습하기 위해서는, 전형적인 GAN 구분자 손실함수를 사용합니다.
이번 글은 매우 짧지만 공부하지 않은 개념들이 많아 해석에 어려움이 있네요.. 논문 리뷰를 먼저 한 후에 블로그들을 포스팅하는 방식으로 바꿔야 할 것 같다..!
SRGAN논문도 이후에 포스팅할 예정입니다..! 가자!
댓글남기기