본문 바로가기
반응형

GAN7

[딥러닝 with Python] GAN (Generative Adversarial Network) 이번에는 간략하게 생성 모델 중 하나인 GAN에 대해서 리뷰해보고자 합니다.  1. GAN (Generative Adversarial Network)- 일반적인 분류 모델은 아래 그림과 같이 Input 이미지를 넣어서 Latent 상에 feature map들을 만들고 그 feature map의 정보를 압축해서 Dense Layer 통해 분류 결과를 만듭니다. - 이에 반해, 생성 모델은 이미 생성되어있는 Latent를 활용해서 원본과 유사한 또는 새로운 결과물을 만들어 내는 것입니다.  - GAN은 설명드린 생성 모델 중 하나입니다. GAN은 Geneartor와 Discriminator의 싸움으로도 표현이 되는데요* Generator는 실제와 같이 착각하게 만들 수 있는 fake 이미지를 만들기 위해 노.. 2024. 11. 9.
[딥러닝 개념정리] ProGAN (Progressive Growing of GANs) / PGAN [본 포스팅은 "만들면서 배우는 생성 AI 2판" 참고 했습니다.] 이번에 알아본 모델은 ProGAN 입니다.  Pro GAN(Progressive Growing of GANs) 2017년 NVIDIA Labs가 GAN 모델의 훈련 속도와 안정성을 향상하기 위해 개발한 기술입니다. 이는 고해상도의 이미지 생성을 보다 효율적으로 수행할 수 있도록 설계된 모델인데요. 해당 모델의 주요 특징은 아래와 같습니다.  ProGAN 모델의 주요 특징  1)  점진적 성장(Progressive Growing)   - ProGAN의 가장 큰 특징은 모델이 점진적으로 성장하면서 학습된다는 점입니다. 학습 초기에는 4x4 로 압축된 이미지부터 시작해서 점차 해상도를 높여 최종적으로는 고 해상도의 이미지까지 생성하는 방법을 .. 2024. 6. 5.
[딥러닝 with Python] 조건부 GAN / CGAN / Conditional GAN [본 포스팅은 "만들면서 배우는 생성 AI 2탄" 을 참조했습니다] 이번에 알아볼 내용은 조건부 GAN (CGAN / Conditional GAN) 입니다.   기존에 알아본 GAN 모형 (DC GAN, WGAN-GP)들은 훈련 세트와 유사한 사실적인 이미지를 재현해낼 수 있었지만, 생성하려는 이미지의 유형(남성 얼굴 또는 여성 얼굴, 벽돌의 크기 등)을 제어할 수는 없었습니다.   잠재 공간(Latent Space)에서 랜덤한 한 포인트를 선정해서 샘플링할 수는 있지만, 그렇다고 어떤 잠재 변수를 선택하면 어떤 특징을 변형할 수 있는 지를 알수는 없었습니다.  이 문제를 해결한 것이 CGAN이 되겠습니다.  CGAN의 구조는 아래와 같습니다.  - 일반적인 GAN과 CGAN의 차이점은 레이블과 관련된 .. 2024. 6. 4.
[딥러닝 with Python] (WGAN) 와서스테인 GAN - 그레이디언트 페널티(WGAN-GP) [본 포스팅은 만들면서 배우는 생성 AI 2탄 을 참조했습니다]  DC GAN은 GAN모델을 Convolution 신경망을 활용해 학습 능력과 그 성능을 향상시켰지만, 학습을 시키는것이 매우 어렵다는 단점이 있었습니다.  이를 해결하기 위해 제안된 것인 와서스테인 GAN 입니다.   와서스테인 GAN은 안정적인 GAN 훈련을 위해 와서스테인 손실함수를 제안하는 GAN 모델입니다.  이 와서스테인 손실함수를 사용하면 기존에 사용하던 손실함수인 이진 크로스 엔트로피 손실보다 GAN 모델의 학습결과가 더 안정적으로 수렴할 수 있다고 합니다.  - 기존의 이진 크로스 엔트로피 손실(Binaray Cross Entropy Loss)는 아래와 같습니다. * y는 실제 레이블 (0 또는 1) * y_hat은 모델의 .. 2024. 6. 3.
반응형