전체 글(32)
-
Least Squares GAN
GAN의 학습을 (1) 안정적이고, (2) 빠르며, (3) 단순하고 직관적인 방법으로 해볼 수 없을까? Wassertein GAN은 기존 GAN의 학습 불안정성과 Mode collapse 문제를 해결하기 위해 제안 되었지만, weight clipping 혹은 gradienty penalty 와 같은 조작이 필요했으며 이는 학습 상에서 더 많은 computation을 요구했기 때문에 학습이 느려진다는 단점이 있었다. 기존 GAN 목적 함수의 문제는 아래 도식에서 나타나듯이, 판별자의 decision boundary에서 먼 곳에 위치한 sample에 대해 생성자가 충분히 학습할 수 없다는 점이다. 이미 충분히 잘 속이고 있는 ☆ 샘플들은 real sample들이 몰려있는 decision boundary로 부..
2021.04.08 -
WGAN
Wasserstein GAN with Gradient Penalty (WGAN-GP) Goals Wasserstein GAN은 GAN의 대표적인 문제인 학습 불안정성과 mode collapse를 해결하고자 새로운 목적함수, W-Loss를 제안 한다. 또한, WGAN의 Lipschitz continuity 조건을 만족시키기 위해서 초기 형태인 WGAN-CP 그리고 더 발전된 형태인 WGAN-GP가 제안되었다. WGAN-CP: Wasserstein GAN using Weight Clipping WGAN-GP: Wasserstein GAN using Gradient Penalty Fun Fact: Wasserstein is named after a mathematician at Penn State, Leoni..
2021.04.07 -
Deep Convolutional GAN (DCGAN)
Summary: Use convolutions without any pooling layers Use batchnorm except for the last layer in both the generator and the discriminator Don't use fully connected hidden layers Use ReLU activation in the generator for all layers except for the output, which uses a Tanh activation. Use LeakyReLU activation in the discriminator for all layers except for the output, which does not use an activation..
2021.04.04 -
[Paper Review] In-Domain GAN Inversion for Real Image Editing
However, existing inversion methods typically focus on reconstructing the target image by pixel values yet fail to land the inverted code in the semantic domain of the original latent space. Introduction 기존 연구들은 단순히 복원하는 데에만 집중하여, 복원된 잠재 변수(latent code)에 대한 특성을 조사하는 데에는 중요한 질문들이 남아있다. 저자가 생각하는 논문의 중요한 질문들은 다음과 같다. 복원된 latent code가 GAN의 원본 잠재 공간에 포함되는가? 복원된 latent code가 복원하고자 하였던 이미지를 의미론적으로 잘 표현..
2021.03.27 -
Cosine Annealing Learning Rate
SGDR: STOCHASTIC GRADIENT DESCENT WITH WARM RESTARTS Cosine Annealing is a type of learning rate schedule that has the effect of starting with a large learning rate that is relatively rapidly decreased to a minimum value before being increased rapidly again. The resetting of the learning rate acts like a simulated restart of the learning process and the re-use of good weights as the starting poi..
2021.03.15 -
[Pytorch] How to Control Randomization in Pytorch
# set random seed random_seed = 999 # for pytorch torch.manual_seed(random_seed) torch.cuda.manual_seed(random_seed) torch.cuda.manual_seed_all(random_seed) # for multi-GPU torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False # for numpy and random np.random.seed(random_seed) random.seed(random_seed)Reference pytorch.org/docs/stable/notes/randomness.html https://hoya0..
2021.03.09