출처 : https://www.youtube.com/watch?v=Q3HU2vEhD5Y
20강 내용 정리
Supervised vs Unsupervised Learning
Supervised Learning
Data: (x, y)
x is data, y is label
Goal: Learn a function to map x -> y
Examples:
- Classification
- regression
- object detection
- semantic segmentation
- image captioning, etc
👍 : 효율적, 대체로 성능 좋음
👎 : data labeling 데이터 커지면 불리
Unsupervised Learning
( includes Generative model )
Data: x
Just data, no labels!
Goal: Learn some underlying
hidden structure of the data
Examples:
- Clustering (e.g. K-Means)
- dimensionality reduction (pca)
- Finding low dim subspace that captures the structure of the data w.o labels.
- feature learning (autoencoder)
- density estimation, etc
Discriminative vs Generative Learning
Discriminative Model
Learn a probability distribution p(y|x)
-
All images are forced to output pdf of labels
-
possible labels for each input ”compete” for probability mass. (전체 적분값은 1로 고정)
-
no competition between images
-
Application
- Assign labels to data
- Feature learning (supervised)
-
👎 : image가 unreasonable 하다는 판단을 못함
Generative Model
Learn a probability distribution p(x)
- Outputs how probable(likely) was that image (3-legged dog …) 얼마나 상식적이냐, 일반적이냐
- input (infinite space ) —> likelihood 값을 assign함
- has a deep understanding on visual world
- All possible images compete.
- Evaluation : perplexity
- Application
- Detect outliers - likelihood 낮은 data == outlier
- Feature learning (unsupervised)
- Sample to generate new data - model outputs distribution over images → image 분포로 부터 sampling 하면 image 생성할 수 있다
- 👍 : capable to reject unreasonable inputs by assigning small likelihood(likelihood 낮은 4번째 이미지 같은 경우)
- 👎 : 3-legged dog … data 속 stereotype을 그대로 학습
Conditional Generative Model
Learn p(x|y)
- each label에 대해 image끼리 compete.
- Application
- Assign labels, while rejecting outliers!
- Generate new data conditioned on input labels
- 👍
- 모든 label에 대해 density 가 낮다면 → 그 이미지를 reject한다 즉, 굳이 unreasonable input 에 대해서 classification을 수행하지 않음. (4번째 이미지)
- 위의 두 Discriminative model + Generative model을 이용해서 만들 수 있다 !!