본문 바로가기
Study (Data Science)/CV

생성 모델들 / GAN

by 콜라찡 2023. 1. 17.

모델의 종류

  • 판별 모델 (Discriminative Modeling) : 입력된 데이터셋을 특정 기준에 따라 분류하거나, 특정 값을 맞히는 모델
  • 생성 모델 (Generative Modeling)  : 학습한 데이터셋과 비슷하면서도 기존에는 없던 새로운 데이터셋을 생성하는 모델. 하기는 모드 생성모델에 해당.

 


Pix2Pix

  • 간단한 이미지를 입력할 경우 실제 사진처럼 보이도록 바꿔줄 때 많이 사용되는 모델
  • 단순화된 이미지(Input Image)  실제 이미지(Ground Truth) 가 쌍을 이루는 데이터셋으로 학습을 진행
  • How to use
    • 스케치로 그려진 그림을 실사화하기
    • 흑백 사진을 컬러로 변환하기
    • 위성사진을 지도 이미지로 변환하기
    • 낮에 찍힌 사진을 밤 배경의 사진으로 변환하기

CycleGAN

  • Pix2Pix 이후 발전된 모델 (단방향, 쌍데이터셋 필요)
  • 한 이미지와 다른 이미지를 번갈아 가며 Cyclic하게 변환 (쌍방향, 쌍데이터셋 필요 없음)
  • 말 사진만 있으면 알아서 얼룩말과 말을 데이터로 학습하여 스타일을 입힐 수 있음.
  • 쌍이 필요없다는 것은 주석을 달아야하는(annotation) 데이터 전처리의 비용이 1/2 임을 의미함.. 
  • 실제사진을 특정 작가가 그린 것 처럼 변환도 가능
  • 실사 이미지를 그림으로 바꾸는 것과 그림을 실사 이미지로 바꾸는 것 두 가지가 모두 가능

Neural Style Transfer 

  • 이미지의 스타일을 변환
  • 변환하고자 하는 이미지 Base Image + 원하는 스타일의 이미지 Style Image
  • Base Image의 내용은 잃지 않으면서, Style Image의 스타일을 효과적으로 입히기 위한 정교한 손실 함수들과 다양한 최적화가 포함됨. 

 

GAN(Generative Adversarial(적대적인) Network)

  • by Ian Goodfellow in 2014
  • 모델을 두가지 만들어 그 둘을 적대적인 관계에서 서로 학습하게 한다. 서로는 각자의 목표를 향해 loss function으로 학습하고, 궁극적으로는 fake와 real의 경계가 모호해질 정도로 완벽에 가깝게 도달한다.
  • Generator(생성자)
    • 위조지폐를 만들어내는 팀
    • 오케스트라처럼 직접 만들어내는 모델
    • 아무 의미 없는 랜덤 노이즈로부터 신경망에서의 연산을 통해 이미지 형상의 벡터. 즉, 무에서 유를 창조하는 것과 같은 역할.
    • loss function 의 목표 : 가짜를 진짜에 가깝게. 판별자가 Fake Image에 대해 판별한 값, 즉 D(fake_image) 값이 1에 가까워지는 것  
  • Discriminator(판별자, 구분자)
    • 위조 지폐범을 잡아내는 경찰
    • 지휘자처럼 평가만을 하여 improve 하게 하는 모델
    • 기존에 있던 진짜 이미지와 생성자가 만들어낸 이미지를 입력받아 각 이미지가 Real 인지, Fake 인지에 대한 판단 정도를 실숫값으로 출력
    • loss function 의 목표 : 가짜는 가짜로, 진짜는 진짜로. Real Image 판별값, 즉 D(real_image)는 1에, Fake Image 판별값, 즉 D(fake_image)는 0에 가까워지는 것   

 

728x90

'Study (Data Science) > CV' 카테고리의 다른 글

Diffusion 2 (Stable diffusion)  (0) 2023.04.12
AE, DAE, VAE  (0) 2023.03.31
cGAN / Pix2pix  (0) 2023.02.18
OCR (광학문자인식)과 딥러닝  (0) 2023.01.31
Convolution Layer 심화학습  (0) 2022.12.29

댓글