Learning a generative model
- Parametric approximation (우리가 공부할 대상)
- 데이터셋의 정보를 유한한 수의 파라미터로 요약하는 모델
- e.g. 선형 회귀의 경우, 항상 기울기와 절편이라는 두 개의 매개변수만으로 데이터의 분포를 설명한다
- 이 모델은 데이터가 특정한 분포(정규 분포, 이항 분포)를 따른다고 가정함
- Non-parametric model과 달리, 더 큰 수의 데이터셋으로 확장이 가능하다
- 단, 모델 분포의 집합(family of model distributions)을 만족하는 데이터셋이어야 한다
- 즉 우리가 사용하는 모델이 표현할 수 있는 분포의 집합에 속해야 한다
- 데이터셋의 정보를 유한한 수의 파라미터로 요약하는 모델
- Parametric approximation에서의 learning == data distribution과 model distribution 사이의 차이를 최소화하게끔 family of model distributions에서부터 파라미터들을 뽑는 것
- Data distribution : 실제 데이터의 분포
- Model distribution : 모델이 추정한 데이터의 분포
- 예를 들어 가우시안 혼합 모델으로 데이터를 학습한다고 하자
- 모델 분포는 가우시안 분포로 구성된 혼합 분포
- 모델은 이 분포를 결정하는 여러 파라미터들(평균, 표준편차, 혼합 계수 등)을 뽑음
- 뽑은 결과 만들어지는 model distribution이 최대한 data distribution에 가까운 분포가 되도록 이 파라미터들을 뽑아야 함! ← 이것이 learning의 목적
Example
- 우리가 위와 같이 강아지 이미지()를 학습하려 한다고 가정하자
- 이 때 우리가 하고 싶은 것: 이미지 에 대해 다음과 같은 확률분포 를 학습하고자 하는 것
- Generation : 인 를 뽑았을 때, 가 강아지같이 생겨야 함
- Density estimation : 는 가 강아지같이 생겼을 때에만 high value를 가져야하고, 다른 경우에는 low value를 가져야 한다
- Unsupervised representation learning : 이미지의 공통된 feature(귀가 있고 꼬리가 있고…)를 학습할 수 있어야 함
- 근데 p(x)를 어떻게 나타내면 되지?
Basic Discrete Distributions
Bernoulli distribution
- 동전 던지기의 예시
- , 라고 하면
- 라고 표현
Categorical distribution
- (biased) m-sided dice의 예시
- such that
- 으로 표현
Joint distribution
- 픽셀의 예시 (하나의 픽셀)
- R, G, B channel을 가지며, 각각 , ,
- 로 표현
- 위 분포에서 랜덤으로 color를 생성(샘플링)한다고 하자.
- 어떤 Joint distribution의 샘플링 값 를 정의하기 위해 정의해야 하는 파라미터의 갯수는?
- 256 x 256 x 256 -1
- 모든 경우의 수에 대한 확률을 지정해야 하기 때문
- 확률의 합이 1이므로 하나는 자동으로 정의됨
Example of joint distribution
- 더 간단하게, 이 베르누이 분포라고 하고, 이들이 흑백그림의 각 픽셀이라 가정하자
- 분포 를 정의하여 새로운 이미지를 만들고자 할 때, 몇개의 파라미터를 정의해야 하는가?
- 마찬가지로 joint distribution이기 때문에 개의 파라미터를 정의해야 한다.
Structure through independence?
- 정의해야 하는 파라미터 수가 너무 많아서 문제!
- 그렇다면 사이의 독립을 가정하면?
- 분포 를 정의하기 위해 필요한 파라미터의 개수는?
- 각 에 대한 마지널 분포 만 계산하면 되고, 각각 1개 파라미터로 계산된다.
- 따라서 n개만 있으면 된다! 이 n으로 줄었다!
- 그러나 이는 너무나 강한 가정
- 모든 픽셀이 독립적으로 뽑힌다고 생각하면 다음과 같은 그림이 나올 것
- 모든 픽셀이 독립적으로 뽑힌다고 생각하면 다음과 같은 그림이 나올 것
Chain Rule
Let be events,
Baye's Rule
Let be events, and
Structure through conditional independence!
- Chain rule을 사용한 다음, 조건부 독립성을 가정한다.
- 조건부 독립성: 이 에만 의존하고 그 이전 변수들에는 의존하지 않는다
- Chain rule
- 이 경우 필요한 파라미터 수는
- 에는 파라미터 1개 필요
- 에는 , 로 2개가 필요
- 반복하면 개가 필요
- 즉 Chain rule만 적용해서는 파라미터 감소를 달성할 수 없음
- 조건부 독립성
- 이 에만 의존하고 그 이전 변수들에는 의존하지 않는다면 다음과 같이 표현됨
- 이 경우 필요한 파라미터 수는
- 에는 파라미터 1개 필요
- 에는 , 로 2개가 필요
- 에는 , 로 2개가 필요
- 반복하면 개가 필요
- 이러한 과정을 통해 파라미터의 수를 까지 줄일 수 있다.
Bayes Network
General Idea
- Idea: Joint distribution을 직접 parameterization하는 대신, 조건부 매개변수화(conditional parameterization)를 사용하자
- 각 변수 에 대해, 해당 변수와 연관된 다른 변수들의 집합 가 있을 때 조건부 확률은 로 매개변수화 가능
- 그 결과 joint parameterization은 다음과 같이 나타낼 수 있음
Bayesian networks
- Bayesian network는 directed acyclic graph(DAG) 로, 다음과 같은 조건을 만족
- 각 노드는 하나의 랜덤 변수를 나타냄
- 각 노드는 그 부모 노드에 대한 조건부 확률 분포(Conditional Probability Distribution, CPD)로 정의됨
- 이를 바탕으로 joint distribution을 다음과 같이 정의 가능
- 는 변수 의 부모 노드들을 나타낸다
- Claim: DAG 표현을 통해 유효한 확률 분포를 나타낼 수 있다.
- Bayesian 분포는 조인트 분포를 효율적으로 나타낼 수 있다.
- 그래프의 복잡도는 Exponential in , not
- Bayesian network는 conditional independency를 함축한다
Naive Bayes for single label prediction
- Email이 스팸인지(Y=1) 아닌지(Y=0) 구분하는 방법
- 존재하는 모든 n 개의 단어를 인덱싱
- 이메일에 인덱스 i의 단어가 등장하는 경우에만
- 이메일은 분포 으로 표현 가능
- Naive: 단어들이 Y에 대해 조건부 독립이라고 가정
- 따라서 이런식으로 정의 가능
- 예측 수행
- 스팸일 확률은 다음과 같이 계산됨
Discriminative vs Generative
-
Generative model
- 를 학습
- 이를 통해 를 계산할 수 있긴 함
- 와 모두를 설명하며, 주어진 에 대해 가 어떻게 생성되는지를 모델링함
- 를 학습
-
Discriminative model
- 만 학습
- 주어진 에 대해 를 예측하는 것만 학습
- 데이터 분포를 파악하지 않음
-
X가 벡터라고 한다면 아래와 같이 나타낼 수 있다
- Generative :
- Discriminative :
- 문제 발생
- Generative: 를 어떻게 매개변수화 할 것인가?
- 계속 동일한 문제 이야기중. naive bayes의 경우 서로 아예 의존성이 없다고 가정했고, 이것도 조건부 의존성의 일종이라 할 수 있겠음
- Discriminative: 를 어떻게 매개변수화할 것인가?
- Generative: 를 어떻게 매개변수화 할 것인가?
1. Generative: 를 어떻게 매개변수화 할 것인가?
- 나이브한 베이즈 가정을 이용하여, 각 변수 는 다른 변수 와는 조건부 독립이다
- 아마 i가 아닌 다른 모든 변수를 나타내기 위해 -i라는 표현을 쓴듯?
-
2. Discriminative: 를 어떻게 매개변수화할 것인가?
- 로지스틱 회귀를 이용한 모델링
- 를 가정 (는 가중치 백터)
- 여기서 는 다음과 같음
- 시그모이드 함수
- 즉
- 즉 n + 1개의 파라미터 로 정의된 어떤 로지스틱 회귀에 따라 확률을 계산
- 테이블 형태(어떤 조합에 대해 얼마의 확률)가 아니게 됨 (연속적)
- n이 아닌 이유는 절편값도 정의해야 하기 때문임
- 입력 데이터에 관계없이 일정하게 영향을 미치는 상수
- 입력 데이터에 관계없이 일정하게 영향을 미치는 상수
Discriminative Models are Powerful
- 나이브한 베이즈 가정과 달리 독립을 가정하지 않음
- 엄청난 차이를 불러옴
- 예를 들어 “bank”가 이메일에 있는 사건()과 “account”가 있는 사건()이 있다 하자.
- 이 두 사건은 스팸과 관계없이 항상 같이 나타난다. (i.e. ())
- 그렇다면 나이브한 베이즈 가정은 사건을 double count한다!!
- “bank”가 있는 것과 “account”가 있는 것 모두 동일한 사건인데 두개의 사건으로 분리, 둘 다 중요한 증거라고 생각해서 “bank”가 있을 때 스팸일 확률, “account”가 있을 때 스팸일 확률을 모두 합해서 고려하게 된다는 뜻인듯!
- 반면 로지스틱 회귀 모델에서는 으로 두거나 로 두어서 이를 무시한다.
- 애초에 변수들 간의 상관관계를 지우지 않았기 때문에 가능
Generative models are still very useful
- 생성형 모델이 전혀 쓸모가 없냐하면 그건 아님
- 의 일부가 관측되지 않는 경우
- 생성형 모델은 관측되지 않은 변수들을 marginalization을 통해 계산할 수 있음
- Marginalization : 다른 변수들과의 결합 확률의 합으로 확률변수의 확률을 구하는 것
- 예를 들어 관측되지 않은 변수 Z를 마진화하고 싶은 경우,
- 위 식을 통해 관측되지 않은 변수를 마진화 할 수 있음
- 는 모델로 추정
- 생성형 모델은 관측되지 않은 변수들을 marginalization을 통해 계산할 수 있음
Neural Models
- 신경망 모델 vs 판별 모델
- Discriminative model에서는 다음을 가정한다
- 신경망 모델은 x에 대해 비선형 변환을 수행
- 가 입력 x에 대한 비선형 변환이라 가정
- (은닉층)
- 는 입력 벡터
- 는 가중치 행렬
- 는 편향 백터
- 는 비선형 활성화 함수 (ReLU, 시그모이드 등)
- 이로부터 계산된 을 가지고 다음과 같은 출력층을 계산
- (은닉층)
- 가 입력 x에 대한 비선형 변환이라 가정
- 이러한 여러 층을 거치면서 변환이 이뤄짐
- 더 유연함
- 더 파라미터가 많음 (, , )
Bayesian network vs Neural models
- 공통적으로 Chain rule을 사용한다
- 차이점은 조건부 확률을 근사하는 방법
- Bayes Net : 조건부 독립을 가정하여 근사
- Neural Model : 함수를 가정하여 근사 (조건부 확률을 함수로 근사)
- Bayes Net : 조건부 독립을 가정하여 근사
Continuous variables
- 가 연속 확률변수인 경우, 확률밀도함수(PDF) 로 의 분포를 나타낼 수 있다.
- Gaussian:
- Uniform:
- 가 연속 확률벡터인 경우 결합 확률밀도함수(joint PDF)로 나타낼 수 있다.
- Gaussian:
- Chain rule, Bayes rule 등등도 적용 가능하다
- 예를 들어 세 변수 에 대한 결합 확률 밀도 함수는 다음과 같음
- 즉, 연속 확률 변수에 대해서도 Bayesian network를 사용할 수 있음
Bayesian networks with continuous variable (Example)
Mixture of 2 Gaussians
Uniform + Gaussian
Variational autoencoder
Factorization (인자 분해)
Joint Probability에서 변환하는 방법