PLOD

[AI] Generatvice Adversarial Network(GAN) 본문

대외 활동 및 IT 지식

[AI] Generatvice Adversarial Network(GAN)

훌룽이 2022. 12. 13. 09:11

*GAN

데이터를 생성하는 generator와 데이터를 구별하는 discriminator가 경쟁하는 과정을 통해서 데이터를 학습한다. 

Generator는 이미지를 생성하고 Discriminator는 Generator가 생성한 이미지를 구별하는 역할 을 한다. Generator가 실제처럼 보이는 데이터를 생성함으로써 Discriminator를 속이려고 시도하고, 이에 반해 discriminator는 실제 데이터와 만들어진 가짜 데이터를 구별하려고 한다.

 

 

 

 

GAN은 Autoencoder가 사용되었다 Generator가 Decoder에서 noise를 추가하면 Discriminator가 fake라고 판별하는 방식으로 discriminator의 역할을 수행 할 수 있다.

GAN에는 Objective 함수 (loss 함수)가 사용된다.

V(D(Discriminator), G(Generator))는 실제 데이터를 1(real)이라고 대답하고, 생성된 가짜 데 이터에 대해서는 0(fake)라고 대답하는 비율을 측정하는 함수판별자(D)는 해당 V(D, G)를 극대화 하고 싶고(max)생성자(G)는 해당 V(D, G)를 최소화 하고 싶다.(min)* 위의 수식은 복잡하지만, 매우 간단하게 구현 가능하다.

생성자(Generator)

*GAN의 장단점

장점 : Autoencoder와 마찬가지로 입력 데이터만 있으면 되고 , 정답지가 없어도 된다.

단점 : Generator와 Discriminator 모델 두개를 학습해야 한다. 그리고 학습에 시간이 걸릴 수 있다. 또 아무래도 정답지가 없기 때문에 학습이 잘 안될 수 있다는 단점이 있다.

'대외 활동 및 IT 지식' 카테고리의 다른 글

[GIT] Eclipse에서 git 사용하기  (0) 2023.01.28
[IT] smart factory  (0) 2022.12.21
[AI] Sequence to Sequence Learning  (0) 2022.12.13
[AI] Autoencoder  (0) 2022.12.13
[AI] dropout | Batch Normalization  (0) 2022.12.12
Comments