AI · Deep Learning · Computer Vision · 생성형 AI
생성모델과 데이터 분포부터 시작하기
2026-08-01 · 수정 2026-08-01 · Hyeongrok Ryu
판별모델과 생성모델을 비교하고 Tensor shape와 데이터 시각화를 먼저 확인한 기록.
- Series
- 2025 생성모델 집중과정 · 1
- 유형 / 난이도
- study-note · beginner
- Tools
- Python, PyTorch, Matplotlib
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
처음 던진 질문
먼저 “생성한다”는 말을 이미지 합성으로만 보지 않았다. 관측한 (x)의 분포를 근사하고 그 분포에서 새 표본을 뽑는 문제로 바꿔 적었다.
분포를 배운다는 뜻
| 분류는 (p(y | x))를, 생성은 (p(x)) 또는 (p(x,y))를 주로 본다. 이 관점을 잡고 나니 Autoregressive Model은 조건부확률의 곱, VAE는 latent variable, GAN은 두 네트워크의 게임, Diffusion은 noise를 거꾸로 지우는 과정으로 비교할 수 있었다. |
Tensor shape 확인
Notebook을 실행했을 때 입력 Tensor가 (N, C, H, W)인지 먼저 출력했다. flatten 뒤 feature 수가 Linear layer의 입력과 맞지 않으면 바로 수정했다. broadcast가 조용히 적용되는 연산은 loss가 계산돼도 의미가 틀릴 수 있었다.
데이터부터 그리기
class balance, 값의 범위, 결측치, 중복 표본을 train 전에 살폈다. normalization 통계는 split 뒤 training set에서만 계산했다. 모델 선택보다 데이터 누수 방지가 먼저라는 점은 P1 수어 분류를 다시 해석할 때 특히 중요했다.
다음 연결
고차원 (p(x))를 직접 쓰기 어렵다는 문제가 남았다. 다음 글에서는 joint probability를 조건부확률의 곱으로 나누고 Maximum Likelihood를 loss로 바꾸는 과정을 이어서 정리한다.
사용한 자료
- PyTorch Learn the Basics — official-documentation; tensor and training workflow