공부정리/Computer Vision
[GAN] GAN이란?
sillon
2024. 1. 8. 14:05
728x90
반응형
Generative Adversarial Networks(GANs)
1강 - GAN이란 무엇인가?
문제
- 복잡하고 고차원인 학습 분포로부터 데이터를 샘플링을 하고자 하나, 이를 직접적으로 하는 것이 불가능
해결책- 쉽게 데이터를 샘플링하는 것이 가능한 간단한 분포를 이용(random noise와 같은 것)
- 이 간단한 분포를 학습 분포로 변형(transformation) 하는 법을 학습
Q. 이러한 복잡한 변형을 표현하려면 어떤 것을 사용해야할까?
-> 정답은 Neural network!!!
입력 이미지를 따르는 정규 분포로 Z를 흭득함 -> 그것으로 학습
Neural Network 문제
- 하지만 각 Sample Z가 어떤 이미지로 매핑 되는지 알 수 없음
- 학습 이미지를 복원하는 것으로는 학습 불가능
해결책
discriminator network를 사용하여 생성된 이미지가 데이터 분포 내에 속하는지 판단하도록함
GAN 학습: Two-player game
- 제너레이터: 표준정규분포로부터 랜덤으로 추출한 샘플을 받음
- 페이크 이미지들을 생성
- 학습 데이터로 제공하는 진짜 이미지로 Discriminator 에서 구분함
- 제너레이터에서는 각각의 생성 이미지에 대해 실제 이미지와 비슷해야한다는 loss를 걸지 않음.
- 그래디언트 시미널에서 제너레이터 까지 역전파하여 손실을 전달함
1. 제너레이터(Generator): 제너레이터는 표준 정규 분포에서 랜덤으로 추출한 샘플(잠재 공간 벡터)을 입력으로 받음. 그 후, 이 샘플을 사용하여 가짜 이미지들을 생성함
- 디스크리미네이터(Discriminator): 디스크리미네이터는 진짜 이미지(학습 데이터셋에서 가져온 이미지)와 제너레이터가 생성한 가짜 이미지를 구분하려고 함
- 디스크리미네이터의 목표: 가짜 이미지와 진짜 이미지를 정확히 구별하는 것
- 손실 함수와 역전파(Backpropagation): 제너레이터와 디스크리미네이터는 경쟁적으로 학습함. 디스크리미네이터는 가짜와 진짜를 구분하는 능력을 향상시키려고 하며, 제너레이터는 디스크리미네이터를 속이는 더 현실적인 가짜 이미지를 생성하려고 함. 이 과정에서 제너레이터는 디스크리미네이터의 판별 결과를 바탕으로 손실을 계산하고, 이 손실을 역전파하여 제너레이터의 네트워크를 업데이트하게됨.
- 제너레이터의 손실: 제너레이터의 손실은 디스크리미네이터가 제너레이터의 가짜 이미지를 얼마나 잘 구별하는지에 기반함. 즉, 제너레이터는 디스크리미네이터를 속이도록 학습되며, 디스크리미네이터가 가짜 이미지를 진짜로 잘못 판단할수록 제너레이터의 손실은 감소함
- 즉, 가짜 이미지를 잘못 판단한다는 것은 제너레이터가 현실 분포를 따르는 이미지에 가까워진다는 의미이므로
- 손실 값이 작을 수록 목표 값에 가까워진다는 것을 의미함
- 학습 과정: 이러한 학습 과정은 반복되며, 각 반복마다 제너레이터는 더 현실적인 이미지를 생성하고, 디스크리미네이터는 더 정확하게 진짜와 가짜를 구별하게 됨. 이 과정은 균형점에 도달할 때까지 계속됨.
요약하자면, GAN의 학습 과정은 제너레이터가 가짜 이미지를 생성하고, 디스크리미네이터가 이러한 가짜 이미지와 진짜 이미지를 구별하는 경쟁적인 과정임. 이 과정에서 각 네트워크는 서로를 개선하는 방향으로 학습된다.
GAN의 직관적인 이해
x: 진짜 이미지
D(x): x가 실제 이미지일 확률 0~1 로 추출
G(z): 제너레이터가 생성한 이미지
D(G(z)) : 0과 가까워져야 한다.
Object Function / GAN 목적 함수
minmax 최적화와 같은 목적함수로 이루어져있음
G-> 키워주도록 학습
D-> (손실이)줄어들도록 학습
Pdata: 우리가 가지는 실제 존재하는 학습데이터의 이미지
실제 학습시 제너레이터의 학습 과정이 오래 걸림
학습 초반에는 페이크 이미지가 이상하게 생성되는 경우 많음
D(G(z)) -> Discriminator 에서는 초반에는 손쉽게 페이크 이미지를 판별함
K = 1일때 안정적이라는 주장과 여러개일때 안정적이라는 주장 등
다양한 방법이 있음!
* 이 글은 옵시디언 프로그램을 통해 티스토리에 게시되었습니다.
728x90
반응형