AnoGAN 코드 리뷰

Auto-Encoder

직관적으로 이해하기 쉬움

어려운 비지도학습 문제를 지도학습 문제로 바꿔서 푼 것이라 이해하면 쉽다고 한다.
데이터 그 자체를 Label로 활용한 것이다.

Encoder에게는 이미지를 잘 압축하는 방법을
Decoder에게는 이미지를 잘 생성해내는 방식을 배우게 하는것으로 모델은 동작한다.

GAN

AE의 뒷부분을 떼놓았다 생각한다.

이미지를 생성할 수 있는 Decoder, 다른 말로 Generator로부터 이미지를 생성한다.

latent space는 잠재공간으로 모든 것으로 변할 수 있는 것

Sampling이란 추론? 여러번 sampling 함으로써 원래 분포가 어떤지 추론해보는 것

판별자는 두개의 분포를 명확히 구분하는 것 그 방법으로 유명한 loss Binary Cross Entropy loss

실제 학습을 시킬때는 두가지의 step을 반복하며 학습을 수행하게 된다

D = Discriminator(image_size, hidden_size).to(device)
G = Generator(latent_size, hidden_size, image_size).to(device)

criterion = nn.BCELoss()

d_optimizer = torch.optim.Adam(D.parameters(), lr=0.0002)
G_optimizer = torch.optim.Adam(G.parameters(), lr=0.0002)

step1
G를 멈춰놓고 D를 업데이트 한다.
step2
D를 멈춰놓고 G를 업데이트 한다.

고정시킴에 따라 loss function이 일부 변경된다.

좋은 웹페이지 즐겨찾기