SKN10-11-3

최수헌·2025년 3월 19일
post-thumbnail

오늘은 GAN 배우는 날~

사실 tranfomer, MLM, CLM 등등 뭔가 많이 배웠는데 너무 어려워서 그냥 듣기만 함~

GAN

위조지폐 만드는 도둑과 그걸 알아채야하는 경찰의 가슴이 웅장해지는 대결임.

  1. 도둑놈은 그럴듯한 데이터를 생성함
  2. 경찰은 실제 데이터와 도둑이 만든 그럴듯한 데이터를 구분해야함.
  3. 그럼 도둑놈은 더 그럴듯한 데이터를 생성하기 위해 노력함.
  4. 만약 경찰이 실제 데이터와 도둑이 만든 더 그럴듯한 데이터를 구분하지 못하는 상태가 되면
  5. 도둑놈은 진짜같은 데이터를 만들 수 있는 모델이 되는거임.
  • D() -> 경찰 모델
    -> 도둑 모델이 만든 데이터를 0(가짜)~1(진짜) 사이 숫자로 진짜인지 가짜인지 확률 값으로 반환함.
  • G() -> 도둑 모델(생성형 모델)
  • z -> 랜덤한 노이즈 데이터

도둑 모델의 loss

E[log(1-D(G(z)))] -> G() 모델의 loss함수
-> log(1 - D(G(z)))
-> 1 - D(G(z))
-> 1 - 경찰모델(도둑모델(랜덤데이터))
-> 즉, 도둑 모델은 경찰 모델이 1에 가까운 숫자를 반환하게 해야 loss값이 줄어듦.

경찰 모델의 loss

D(x) + (1-D(G(x)) -> D() 모델의 loss함수
(max 학습으로 진행함. -> 특이하게 경찰 모델은 loss가 커질수록 좋은거임.)
-> 진짜 이미지를 예측한 값 + (1 - 가짜 이미지를 예측한 값)

0개의 댓글