Post

4. Issues in GANs

1. Problems with GANs

  • 확률 분포가 암시적
    • 생성된 이미지의 확률 분포를 직접 계산하는 것은 간단하지 않음
  • 따라서, 일반적인 GAN은 샘플링/생성에만 적합

  • 훈련이 어려움
    • 수렴하지 않음
    • 모드 붕괴가 발생할 수 있음
  1. 확률 분포의 암시성: GAN에서 생성된 이미지의 확률 분포를 직접적으로 계산하기는 어렵다. 이는 생성된 이미지가 실제 이미지 분포와 일치하는지 확인 하는 것을 어렵게 만든다.

  2. 샘플링/생성에만 적합함: 일반적으로 Vanilla GAN은 이미지를 샘플링 하거나 생성하는 데에만 적합하다. 확률 분포를 직접적으로 계산하기 어려우므로 GAN을 이용해 데이터 생성이나 이미지 샘플링하는데 주로 사용

  3. 훈련의 어려움: GAN은 수렴하기까지 훈련이 어려운 특성이 존재. 종종 수렴하지 않거나 모드 붕괴와 같은 문제가 발생할 수 있다. 모드 붕괴는 생성기가 특정한 종류의 이미지만을 생성하고 다양성이 부족한 형상을 나타낸다.

</br>

2. Training problems

  • Non-Convergence (수렴 하지 않음)
  • Mode-Collapse (모드 붕괴)

</br>

Non-Convergence

  1. Non-Convergence(수렴하지 않음) : GAN의 훈련은 종종 수렴하지 않는 경우가 있다. 이는 생성자와 판별자 간의 균형을 유지하는 것이 어려워 발생
  2. Mode-Collapse(모드 붕괴) : 모드 붕괴는 생성자가 특정한 이미지만을 생성하고 다양성이 부족한 현상을 의미. 이는 생성자가 학습 과정에서 다양한 이미지를 생성하는 대신 특정한 이미지에만 집중하여 발생
  • 일반적으로 딥러닝 모델은 하나의 플레이어를 포함한다.
    • 해당 플레이어는 보상을 최대화하려고 한다(손실을 최소화)
    • 최적의 매개변수를 찾기 위해 역전파와 SGD를 사용한다.
    • SGD는 특정 조건 하에서 수렴 보장을 제공한다.
    • 문제 : 비볼록 최적화 문제에서 지역 최적값으로 수렴할 수 있음.
      • $\underset{G}{\min}L(G)$
  • 반면, GAN은 두개 이상의 플레이어를 포함한다.
    • Discriminator는 보상을 최대화하려고 함.
    • Generator는 Discriminator의 보상을 최소화하려고 함
    • 이러한 관계로 나타나는 게임의 균형을 찾기 위해 SGD를 사용하는 것은 적합하지 않음
    • 문제: Nash 균형에 수렴하지 않을 수 있음.
      • $\underset{G}{\min} \underset{D}{\max} V(D, G)$

\(\underset{G}{\min} \underset{D}{\max} V(D, G)\) \(\text{Let } V(x, y) = xy\) 비수렴(Non-convergence)은 GAN 훈련 과정에서 생성자와 판별자가 안정적인 균형점에 도달하지 못하고 지속적으로 서로의 성능을 침범하여 훈련이 불안정해지는 현상을 말한다.

이 이미지는 GAN(Generative Adversarial Networks)의 학습 과정에서 발생할 수 있는 비수렴(non-convergence) 현상을 게임 이론의 관점에서 설명하고 있다. 이러한 비수렴 상태는 GAN 학습이 안정적인 균형점에 도달하지 못하고 계속해서 변화하는 상태를 의미한다.

GAN은 두 개의 신경망, 즉 생성자(Generator)와 판별자(Discriminator)가 서로의 반대 목표를 가지고 경쟁하면서 학습하는 구조이다. 생성자는 진짜와 구분이 안 가는 가짜 데이터를 생성하려고 시도하고, 판별자는 진짜 데이터와 가짜 데이터를 구별하려고 한다. 이러한 경쟁 과정은 미니맥스 게임(minimax game)의 형태를 띠고 있는데, 한 플레이어가 최소화하려는 것을 다른 플레이어가 최대화하려는 형태이다.

</br>

이미지에 나타난 내용은 다음과 같다:

  • min_x max_y V(x, y)는 판별자(y)가 자신의 손실을 최대화하려 하고, 생성자(x)는 손실을 최소화하려 하는 미니맥스 게임을 나타낸다.
  • V(x, y) = xy는 이 게임에서의 가치 함수(value function)로 여기서 x는 생성자의 출력을, y는 판별자의 출력을 나타낸다

</br>

비수렴 상태는 다음과 같이 나타난다.

  1. State 1: 두 플레이어 모두 자신의 가치를 늘리려고 시도 (x>0, y>0로 가치 함수 V가 양수). 이 상태에서 판별자는 자신의 가치를 늘리기 위해 더 많이 y를 증가시키려 하고, 생성자는 x를 감소시키려고한다.
  2. State 2: 생성자는 x를 줄임으로써 가치 함수를 음수로 만들고 (x<0), 판별자는 여전히 y를 증가시키려한다. 이 상태에서 판별자는 y를 줄이고 생성자는 x를 계속 줄인다.
  3. State 3: 이제 두 플레이어 모두 음수 값을 가지고 (x<0, y<0V가 양수), 판별자는 y를 줄이려 하고 생성자는 x를 증가시키려한다.
  4. State 4: 생성자가 x를 증가시키고 판별자가 y를 줄이면, 가치 함수가 다시 음수가 되고 (x>0, y<0), 판별자는 y를 증가시키고 생성자는 x를 증가시키려한다.
  5. State 5: 이 상태는 상태 State 1 동일하며 (x>0, y>0), 이 과정이 계속 반복되어 시스템이 비수렴 상태에 빠지게 된다.

이러한 순환은 각 플레이어(여기서는 생성자와 판별자)가 자신의 전략을 조정함에 따라 상대방도 그에 맞추어 전략을 조정 해야 하기 때문에 발생한다.

</br>

이 이미지는 최적화 문제와 관련된 미분방정식이 수렴하지 않는 상황을 설명.

</br>

문제는 $\underset{x}{\min} \underset{y}{\max} xy$ 로 표현되며, 이는 xy를 최소화하는 x 값을 찾고, 동시에 xy를 최대화하는 y 값을 찾는 문제로 볼 수 있다.

  • 미분 방정식
    • ${∂\over{∂x}} = -y$
    • ${∂\over∂y} = x$
    • ${∂²\over∂y²} = {∂\over∂x} = -y$

</br>

  • 이러한 미분 방정식의 해가 사인(sinusoidal) 항을 포함한다. 이는 해가 주기적인 성질을 가지고 있음을 의미하며, 이는 일반적으로 최적화 문제에서 수렴하는 해를 찾는 것과 상충된다.

  • 학습률이 작더라도 이러한 미분방정식의 해가 수렴하지 않는다. 이는 최적화 알고리즘에서 학습률을 작게 설정하여 점진적으로 최적의 해에 다가가려는 시도가 이 경우에는 실패할 것.

</br>

그래프는 이러한 미분방정식의 해가 어떻게 비주기적인 경로를 따르는지를 시각적으로 나타내고 있으며, 이는 일반적으로 원하는 최적화 문제의 수렴 패턴과 다르다. 이 경우, 최적화 알고리즘이 전역 최적점(global minimum or maximum)에 도달하지 못하고 주기적인 경로를 계속 따르게 된다.

</br>

Mode-Collapse

</br> </br>

3. Basic solutions

  • Mini-Batch GANs
  • Supervision with labels

</br>

Mini-Batch GANs

  • 모드 붕괴 시,
    • 생성자는 좋은 샘플을 생성하지만 그 중 일부만 생성
    • 따라서, 판별자는 그것들을 가짜로 판별할 수 없다
  • 이 문제를 해결하기 위해,
    • 판별자에게 이 극단적인 경우에 대해 알려둔다.
  • 보다 형식적으로,
    • 판별자가 단일 예제가 아닌 전체 배치를 살펴보도록 한다.
    • 다양성이 부족한 경우, 이 예제들을 가짜로 표시한다.
  • 따라서,
    • 생성자는 다양한 샘플을 생성하도록 강제된다.

모드 붕괴는 생성자가 특정한 종류의 이미지만을 생성하고 다양성이 부족한 현상을 의미한다. 이 문제를 해결하기 위해 판별자를 개선하여 전체 배치를 고려하도록 만들면, 판별자는 다양성이 부족한 경우에는 이를 가짜로 판별할 수 있다. 이는 생성자가 다양한 샘플을 생성하도록 강제하여 모드 붕괴를 피할 수 있도록 도와준다.

  • 미니 배치에서 다양성을 포착하는 특징을 추출
    • 예를 들어, 배치 내의 모든 쌍의 차이를 L2 Norm 으로
  • 해당 특징들을 이미지와 함께 판별자에게 전달

  • 특정 값은 다양한 배치와 다양하지 않은 배치 사이에서 다를 것
    • 따라서, 판별자는 분류를 위해 해당 특징에 의존할 것
  • 이는 차례대로,
    • 생성자가 실제 데이터와 해당 특징 값이 일치하도록 강제할 것
    • 다양한 배치를 생성

이러한 접근 방식은 다양성을 캡처하기 위해 배치의 특징을 활용한다. 특징을 판별자에게 제공함으로써 판별자는 다양성 있는 배치와 그렇지 않는 배치를 구별할 수 있다. 이러한 구별을 통해 생성자는 다양한 샘플을 생성해 실제 데이타와 해당 특징 값이 일치하도록 강제된다. 결과적으로 생성자는 다양성 있는 배치를 생성하게 된다.

</br>

Supervision with labels

  • 두번째 D는 판별자가 단순히 데이터가 실제인지 가짜인지를 구분하는 것을 넘어, 실제 데이터의 레이블 정보를 사용해 보다 구체적인 피드백을 제공할 수 있음을 나타낸다.
  • 실제 데이터의 레이블 정보가 판별자가 더 정확한 판단을 내리는 데 도움이 될 수 있다.
  • 레이블 정보를 사용함으로써 생성자가 실제와 더 비슷한, 즉 품질이 더 높은 데이터 샘플을 생성할 수 있음을 나타낸다.

</br>

일반적인 GAN구조에 지도 학습 요소를 추가해 생성자가 더 높은 품질의 데이터를 생성할 수 있게하고, 판별자가 더 정확하게 가짜 데이터를 식별하도록 하는것이며. 이는 GAN이 특정 종류의 데이터를 생성할 때 그 효율성을 향상시키는 한 방법이다.

This post is licensed under CC BY 4.0 by the author.