Wasserstein GAN(WGAN) with Gradient Penalty A to Z code making
: https://github.com/KiHwanLee123/Coursera---GAN/blob/main/C1W3_WGAN_GP.ipynb

위와 같은 경우에는 Gradient를 계산하여 파라미터 업데이트를 잘 수행하게 된다.

하지만 이 경우와 같이 분포가 꽤나 떨어져 있다면, Vanishing Gradient문제로 초기 업데이트가 잘 되지 않게 된다. 이것이 Binary Cross Entropy Loss의 문제가 된다.

=> Earth Mover’s Distance
이를 사용하여 분포간 거리 개념을 통해 loss ft을 구성하고 파라미터 업데이트를 효율적으로 진행
다시 말해, How different two distributions are based on distance and amount that needs to be moved !

이렇게 GAN은 분포 간 거리 개념을 포함시켜 업데이트를 진행한다.
이전 Binary Cross Entropy Loss 단점을 극복하기 위해 위에서 언급한 Earth Mover’s Distance를 근사한 Wasserstein Loss를 사용한다.
똑같이 MiniMax 문제로 해결한다.
이제는 BCE를 사용하지 않아 log가 없어지기에 0과1사이 제한이 없어진다. 이 loss를 사용함으로 Vanishing Gradient문제가 없기에 효율적인 학습이 진행되어 Mode collapse 문제 또한 극복해 낼 수 있게 된다.

Wasserstein Loss를 사용하기 위해서는 critic에 대한이 조건이 필요하다. 1-L Continuous를 만족해야 하는데, 이것은 W-손실 기능이 지속적이고 차별화 될뿐만 아니라 너무 많이 성장하지 않고 훈련 중에 안정성을 유지하게 해준다. 이것은 critic 및 generator 신경망을 훈련하는 데 필요하며 GAN의 학습 중 안정성을 증가시켜준다.

판별자에게 1-L 연속성을 적용하는 두 가지 방법이 존재한다.
1) 파라미터에 대해 너무 크거나 작을 때 잘라주는 Weight Clipping 과
2) 목적함수를 계산했을 때, 이것 자체에 패널티를 주는 Gradient Penalty


Using the gradients on an intermediate image with respect to the critic is an approximation for enforcing the gradient norm to be 1 almost everywhere.
“SN-GAN : Spectral Normalization for Generative Adversarial Networks"
"Spectral Normalization for Generative Adversarial Networks"은 GAN(Generative Adversarial Networks)에서 모드 붕괴(mode collapse)를 완화하고 안정적인 훈련을 돕는 기술 중 하나로, 특이값 분해(Singular Value Decomposition, SVD)와 관련이 있습니다. 이 방법은 주로 생성기(generator)와 판별기(discriminator)의 가중치 행렬에 대한 스펙트럼 정규화(Spectral Normalization)를 의미합니다.여기서는 Spectral Normalization을 설명하고, 해당 논문에서 제안된 기술에 대한 간단한 요약과 수식을 제시하겠습니다.
스펙트럼 정규화 (Spectral Normalization)
스펙트럼 정규화는 행렬의 가장 큰 특이값(largest singular value)을 정규화하는 방법으로, 행렬의 최대 특이값을 특정 값(일반적으로 1)으로 나누는 것을 의미합니다. Spectral Normalization을 수행하면 행렬의 스펙트럼(특이값의 범위)이 제한되어 행렬이 안정적으로 훈련되고, 생성되는 이미지의 질이 향상될 수 있습니다.수식으로 표현하면 다음과 같습니다:
Wsn = W/σ(W)
Wsn : Spectral Normalization을 적용한 가중치 행렬입니다.
W는 원래의 가중치 행렬입니다.
W/σ(W) : W의 가장 큰 특이값(largest singular value)입니다.이로써 가중치 행렬 W의 스펙트럼이 정규화되고, 가장 큰 특이값이 1로 정규화됩니다. 이것은 안정성을 향상시키고 모드 붕괴와 같은 문제를 완화하는데 도움이 됩니다.
논문 "Spectral Normalization for Generative Adversarial Networks"에서는 주로 Spectral Normalization을 GAN의 생성기(generator)와 판별기(discriminator)에 적용하는 방법을 제시합니다. 이를 통해 안정적인 GAN 훈련을 위해 다음과 같은 목표를 달성할 수 있습니다:
모드 붕괴 방지: Spectral Normalization은 판별기(discriminator)가 다양한 데이터 모드를 쉽게 구분할 수 있도록 돕습니다.
훈련 안정성: 모드 붕괴의 가능성을 줄이고 GAN의 안정성을 향상시킵니다.
높은 품질의 이미지 생성: 고품질 이미지를 생성하기 위한 안정적인 훈련을 지원합니다.
이러한 이점을 위해, 논문에서는 판별기(discriminator)의 모든 레이어에 Spectral Normalization을 적용하고, 생성기(generator)의 가중치 행렬에서도 이를 적용하는 방법을 제시합니다. 결과적으로 Spectral Normalization은 GAN의 안정성을 향상시키고 높은 품질의 이미지 생성을 가능하게 합니다.