출처 링크: https://arxiv.org/abs/1609.04802
주의: 제가 읽고 이해한대로 작성한 논문 리뷰입니다. 오역이나 학문적으로 틀린 내용이 있을 수 있습니다
SRGAN
서론
- super resolution 문제는 유일한 하나의 정답이 없는 불량조건문제(ill-posed problem)이다.
- 기존에는 SR을 위해 pixel-wise MSE를 줄이고 PSNR을 최대화 하는 방식으로 진행됐다.
- 그러나 이것들은 경계선을 과하게 부드럽게 만들고 평가 계수가 개선되더라도 실질적으로는 성능이 나아지지 않았다.
- 따라서 본 논문에서는 기존 방식과는 다른 loss function을 제시하고, GAN을 사용한 SR을 제안한다.
본론
GAN 구조
- SRGAN은 generator와 discriminator로 구성된다.
- generator는 잔차연결과 PReLU를 사용한 residual block 5개, pixel suffler을 사용한 block 두개로 이루어져 있다.
- discriminator는 conv layer와 batch normalization, Leaky ReLU를 조합한 블럭 7개로 이루어져 있다.
perceptual loss function
- perceptual loss function은 content loss와 adversarial loss를 결합한 loss function이다.
- content loss는 VGG loss를 사용한다. VGG loss는 VGG network에서 추출된 특성맵의 유클리드 거리를 구하는 방식이다.
- adversarial loss는 generator가 생성한 super resolution 이미지를 discriminator가 진짜 이미지로 분류할 확률에 log를 취하여 합한 것이다. 즉 discriminator가 분류를 잘 못할 수록 adversarial loss가 줄어든다.
SRGAN 설계
VGG 특성맵은 MSE와 비슷한 스케일이 되도록 1/12.75로 스케일링 되었다.
optimization 방법으로 adam이 선택되었고 베타값은 0.9이다. 학습률은 0.00001로 설정했다. 또한 100000번의 학습 iteration을 거쳤다.
test 과정에서는 batch normalization 블록을 사용하지 않았다.
결론
- MSE를 loss로 사용하면 PSNR은 최대화할 수 있지만 adversarial loss와 결합되더라도 VGG loss를 사용하는 것에 비해 인지적인 최적화 수준은 낮다.
- VGG54를 사용한 SRGAN이 기존 SRResNet에 비해 통계적으로 유의미하게 더 성능이 좋았다.
- 더 깊은 layer의 VGG를 사용한 VGG loss를 사용할 경우 질감의 디테일이 더 좋아지는 경향을 확인할 수 있었다.
- SRGAN이 다른 모든 super resolution 네트워크의 성능을 큰 격차로 이겼다.
Discussion
- 본 논문의 SRGAN은 시간적으로 최적화된 모델이 아니므로 실시간 동영상의 SR에는 적합하지 않다. 그러나 연구에 따르면 더 얕은 layer를 사용하면 성능은 비슷한 반면에 훨씬 더 높은 시간효율성을 보여준다.
- ResNet 디자인이 더 깊은 network에 큰 효과를 가져왔다고 추정한다.
- SRGAN의 layer가 깊을수록 매우 훈련하기 어려워진다는 사실도 알아냈다.
- VGG54을 사용한 VGG loss가 좀 더 사실적인 super resolution 이미지를 만들 수 있다는 사실을 알았다.
'Data Science' 카테고리의 다른 글
[논문 리뷰] ESRGAN (0) | 2022.03.25 |
---|---|
[논문 리뷰] Attention is all you Need (transformer) (0) | 2022.03.04 |
빈도주의 vs 베이지안 (0) | 2022.02.06 |
[딥러닝/머신러닝] 모델 하이퍼파라미터 튜닝 라이브러리 정리 (0) | 2022.01.28 |
[논문 리뷰]Batch normalization (0) | 2022.01.25 |