[dhkim] [논문 리뷰] GAN - Generative Adversarial Nets (2014)

2025. 8. 22. 23:42·Paper_Review

※Markov Chains 등 모르는 용어가 많지만 최대한 이해한 데까지 정리했습니다.

 

Abstract + Introduction

 GAN은 번역하면 생성적 적대 신경망으로, GAN의 아키텍처는 두 개의 모델 G와 D로 구성되며 두 모델이 동시에 적대적으로 학습한다. G는 generative model로서 이미지를 생성하고, D는 descriminative 모델로서 입력받은 이미지가 진짜일 확률을 추정한다. G의 목적은 D가 진짜라고 착각하도록 이미지를 생성하는 것이고, D의 목적은 진짜 이미지와 가짜 이미지를 제대로 판별하는 것이다. 논문에서는 G를 위조지폐범, D를 경찰로 비유하여 설명한다. 학습이 진행됨에 따라 D와 G의 성능이 점점 향상하고 최종적으로 G는 진짜 같은 이미지를 생성하게 된다. 임의의 함수 G와 D의 공간에서 D가 항상 1/2인 unique solution이 존재한다.

 

 기존의 딥러닝은 자연 이미지나 발화의 파형, 자연어 속 기호 같은 데이터를 입력받아 종류의 확률분포를 출력하는 것이 대부분이었다. 그동안은 고차원의 이미지 데이터를 분류하는 것이 가장 성공적인 딥러닝이었고, piecewise linear(조각별 선형) 유닛이 있어 역전파와 드롭아웃 알고리즘을 쓸 수 있었다. 생성형 모델에서는 성과가 작았는데, approximating many intractable probabilistic computations that arise in maximum likelihood estimation and related strategies의 어려움과 생성 context에서 piecewise linear 유닛의 장점을 얻지 못했기 때문이었다. GAN은 이런 어려움을 피해간다.

 

 GAN에는 다양한 종류의 모델과 최적화가 적용될 수 있다. 이 연구에서 G는 랜덤 노이즈 벡터로부터 다층 퍼셉트론을 거쳐 이미지를 생성하고, D는 입력받은 이미지를 다층 퍼셉트론을 거쳐 이미지가 진짜일 확률을 출력한다. 이 경우 두 모델 모두 역전파와 드롭아웃 알고리즘만으로 학습시킬 수 있고, 순전파만으로 샘플을 생성할 수 있다. approximate inference나 Markov chains는 불필요하다.


Adversarial nets

 G와 D는 위의 함수에 대해 minimax game을 한다. G는 함수 V(D,G)를 최소로 만들려 하고, D는 함수 V(D,G)를 최대로 만들려 한다. x는 진짜 이미지 데이터, p_data는 x의 확률분포이며 z는 노이즈(벡터), p_z는 z의 확률분포이다. 노이즈가 아닌 이미지 데이터에 대한 생성자의 확률분포는 p_g이다. G는 다층 퍼셉트론으로 정의된 미분가능 함수로서 z를 입력받아 이미지 데이터를 출력한다. D는 마찬가지로 다층 퍼셉트론 함수이고 이미지 데이터로부터 하나의 스칼라를 출력한다. D(x)는 x가 p_g가 아닌 p_data에서 왔을 확률이다.

 

 Optimizing D to completion in the inner loop of training is computationally prohibitive, and on finite datasets would result in overfitting. 대신에 D를 k회 최적화하는 동안 G를 한 번 최적화하여, G가 천천히 변하는 동안 D를 최적 해 근방에 머무르게 한다.

 

 practice에서 위 식은 G가 학습하기에 충분한 gradient를 제공하지 않는 문제가 있다. 따라서 초기에 G의 성능이 낮고 D는 쉽게 구별할 수 있다. 이 경우 log(1-D(G(z)))가 saturate한다. log(1-D(G(z)))를 최소화하는 것을 logD(G(z))를 최대화하는 것으로 바꾸면 학습 초기에 훨씬 강한 gradient를 보인다.


Theoretical Results

 위 그림은 학습 과정을 덜 formal하고 더 교육적으로 접근하여 설명한 것이다. 검은 점선은 진짜 이미지 데이터의 분포, 초록색 실선은 생성된 이미지 데이터의 분포, 파란색 점선은 각 x에서의 D(x) 값을 의미한다. 화살표들은 함수 G에서 z에서 p_g로의 mapping을 시각화한 것이다. 학습이 진행됨에 따라 p_data와 p_g 분포는 유사해지고, D(x)는 p_data(x) / { p_data(x) + p_g(x) }로 수렴하게 된다. G와 D 모두 충분한 capacity를 가지면 p_g = p_data가 되어 둘 모두 improve할 수 없게 된다.

 

 위 알고리즘은 미니배치 확률적 경사하강법이다. D의 최적화 횟수 k는 하이퍼파라미터이다. 이 연구에서는 비용을 최소로 하기 위해 k를 1로 정했다. k회 동안 m개의 노이즈 샘플과 m개의 진짜 데이터 샘플을 뽑아서 D를 확률적 경사하강법으로 업데이트한다. 이후 m개의 노이즈 샘플로 G를 확률적 경사하강법으로 업데이트한다. 어떤 종류의 standard gradient-based learning rule을 써도 괜찮으며, 이 연구에서는 momentum을 사용했다.

 

 주어진 G에 대하여 D의 최적해는 p_data(x) / { p_data(x) + p_g(x) }이다. p_g와 p_data가 같아질 때, 최적의 D에 대한 V(G,D)가 최솟값 -log4를 갖는다. 그리고 알고리즘 1에 의해서 p_g가 p_data로 수렴한다. 논문은 이 내용들을 수학적으로 증명한다. 다만 practice에서는 p_g가 함수 G(z;θ_g)로 나타내어지므로 증명이 완벽히 적용되진 않는다. 그럼에도 다층 퍼셉트론의 훌륭한 performance는 이론적 보장의 부재에도 불구하고 GAN이 합리적 모델임을 암시한다.


Experiments

 

 MNIST, TFD, CIFAR-10에 대해서 적대 신경망을 학습시켰다. p_g를 모르므로 Gaussian Parzen window를 적용하여 log-likelihood를 계산했다. 이 방법은 변수가 많고 고차원 데이터에서 잘 작동하지 않지만 알고 있는 최선의 방법이다. MNIST와 TFD에 대해서는 기존의 생성 신경망과 비슷하거나 더 좋은 성능을 보임을 알 수 있었다.


Advantages and Disadvantages

 GAN의 단점은 p_g의 explicit representation이 없다는 것과, D가 G와 잘 synchronize돼야 한다는 것이다. (G가 많은 값의 z를 같은 값의 x로 collapes하는 "the Helvetica scenario"를 피하기 위해서 G는 너무 빨리 업데이트돼서는 안된다.) 장점은 Markov chains과 inference가 학습에 필요없으며 다양한 함수가 모델에 적용될 수 있다는 점이다.

 

 The aforementioned advantages are primarily computational. Adversarial models may also gain some statistical advantage from the generator network not being updated directly with data exam ples, but only with gradients flowing through the discriminator. This means that components of the input are not copied directly into the generator’s parameters. Another advantage of adversarial net works is that they can represent very sharp, even degenerate distributions, while methods based on Markov chains require that the distribution be somewhat blurry in order for the chains to be able to mix between modes.

'Paper_Review' 카테고리의 다른 글

[eschoi] [논문리뷰] AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE  (2) 2025.08.30
[eschoi] [논문리뷰] Generative Adversarial Nets  (1) 2025.08.29
[hsgo] 8/9(토) 논문 리뷰  (2) 2025.08.08
[nyyoon] 논문리뷰 - X-Recon: Learning-based Patient-specific High-Resolution CT Reconstruction from Orthogonal X-Ray Images  (0) 2025.03.15
[syju] Maximum Entropy Inverse Reinforcement Learning ofDiffusion Models with Energy-Based Models  (0) 2025.03.10
'Paper_Review' 카테고리의 다른 글
  • [eschoi] [논문리뷰] AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
  • [eschoi] [논문리뷰] Generative Adversarial Nets
  • [hsgo] 8/9(토) 논문 리뷰
  • [nyyoon] 논문리뷰 - X-Recon: Learning-based Patient-specific High-Resolution CT Reconstruction from Orthogonal X-Ray Images
team-sudal
team-sudal
team-sudal 님의 블로그 입니다.
  • team-sudal
    SUDAL
    team-sudal
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • MedicalFM (22)
        • anomaly_detection (1)
        • change_detection (1)
        • report_generation (3)
        • classification (1)
        • denoising (1)
        • generation (0)
        • reconstruction (0)
        • regression (3)
        • segmentation (0)
        • super_resolution (1)
        • MAE (7)
      • MAISI (9)
        • MAISI_Data (9)
      • Paper_Review (46)
      • Others (18)
      • LambdaCourse (0)
        • Paper_Review (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Visual inspection
    Diagnosis
    Fibre-optic transillumination
    Bite-wing radiograph
    Occlusal caries
    GaN
    0
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
team-sudal
[dhkim] [논문 리뷰] GAN - Generative Adversarial Nets (2014)
상단으로

티스토리툴바