PatchGAN Discriminator

2021. 6. 17. 16:41Deep Learning/개념

728x90

patch 단위로 Discriminate를 한다 ?

Discriminator의 구조에 따른 GAN 네트워크의 구분

  • PixelGAN은 1 x 1 patch에 대해 진위 여부를 확인하고, PatchGAN은 N x N 사이즈의 패치 영역에 대해 진위를 판단
  • ImageGAN은 일반적으로 알고 있는 VanillaGAN처럼 전체 영역에 대해 진위 여부를 판단

PatchGAN = Markovian Discriminator, Local-patch Disctiminator

전체 영역이 아닌 특정 크기 (NxN) patch단위로 generator가 만든 이미지의 진위 여부를 판단.

correlation 관계가 유지되는 범위에 해당하는 적절한 크기의 patch size를 정해야 함. -> patch size는 hyper parameter

patch들이 대부분 Real인 방향으로 학습 진행

 

(Discriminator = D, Generator = G)

기존 GAN에서 D는 G가 만든 이미지 전체를 보고 Real/Fake 판단하기 때문에 G는 D를 속이기 위해서 데이터의 일부 특징을 과장하는 경향을 보입니다.

생성되는 이미지의 퀄리티에 상관 없이 D만을 속이는 방향으로 학습을 하게되기 때문에 이미지에 blur 현상이 나타나게 됩니다.

-> 보통 L1 Regularization term으로 전체 이미지 대한 Low Frequency 성분을  파악 & High Frequency성분을 잘 보는 PatchGAN D와 결합하는 식으로 D의 Loss를 구성

 

★ PatchGAN은 patch의 직경보다 더 멀리 있는 픽셀들은 서로 독립적이라고 가정하기 때문에 

-> 이미지는 하나의 Markov Random Field(MRF) https://chang-aistory.tistory.com/105

-> 즉 Random Field 간 시간이 아닌 지역적인 마르코프 속성이 있어 바로 근처의 주변 픽셀만을 고려하고 나머지는 고려하지 않는다

-> 이미지의 relevant한 통계적 종속성(statistical dependencies)이 Local level( patch 내 )에 존재한다고 가정하고 로컬 이미지 패치의 likelihood를 학습합니다.


PatchGAN 장점

  1. 작은 이미지 패치 단위에 대해 sliding window가 지나가며 연산을 수행하므로 파라미터 개수가 훨씬 작아짐.
    -> 연산 속도가 더 빨라짐
    -> 전체 이미지 크기에 영향을 받지 않아 구조적 관점에서 유연
    • Discriminator의 네트워크 크기 감소. Receptive Field의 크기를 늘리려면 Kernel이 커지거나 레이어를 더 쌓아 네트워크가 깊어져야 하지만 마냥 깊다고 좋은 성능을 내지는 않습니다.
    • 이러한 점 때문에 Pix2Pix 이후로 나오는 Img2img translation 논문들은 PatchGAN 구조를 많이 차용
  2. low frequency에 대해 학습하는 L1 regularization term과 local 영역에서 sharpen한 디테일, 즉 high frequency 영역(엣지)에 대해 patch 단위로 학습함으로서 두 방식의 장점을 모두 취함

 Pix2Pix에서의 PatchGAN

D가 가진 conv layer에 의해 결정되는 Receptive field size -> patch size 결정

crop의 개념으로 생각해서는 안 된다.

 

1. 256 x 256 크기의 입력 영상과 입력 영상을 G에 넣어 만든 Fake 256 x 256 이미지를 concat

2. 최종적으로 30 x 30 x 1 크기의 feature map을 얻어냅니다.

-> 이 feature map의 1픽셀은 입력 영상에 대한 70 x 70 사이즈의 Receptive field에 해당합니다.

3. 이 feature map 모든 값을 convolution net에 통과시켜 1-D scalar 확률 값을 D의 output으로 결정

 

L1 Loss 사용으로 G는 D를 속임과 동시에 GT이미지와의 L1 distance를 줄임

D에 condition 들어가지 않으면 = G가 Fake 이미지 만들 때 본 condition을 D가 보지 않게 되면 input과 output의 mismatch를 따지게되지 않아 성능이 떨어지게 되어 Pix2Pix는 G 뿐 아니라 D에도 들어가게 된다.

728x90

'Deep Learning > 개념' 카테고리의 다른 글

Markov Random Field  (0) 2021.06.17
Bayesian Modeling  (0) 2021.06.17
ResNet  (0) 2021.06.15
stochastic function(확률함수)  (0) 2021.06.08
L1, L2 Norm/Regularization  (0) 2021.05.22