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

  • 우리가 위와 같이 강아지 이미지()를 학습하려 한다고 가정하자
  • 이 때 우리가 하고 싶은 것: 이미지 에 대해 다음과 같은 확률분포 를 학습하고자 하는 것
    1. Generation : 를 뽑았을 때, 강아지같이 생겨야 함
    2. Density estimation : 강아지같이 생겼을 때에만 high value를 가져야하고, 다른 경우에는 low value를 가져야 한다
    3. 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을 사용한 다음, 조건부 독립성을 가정한다.
    • 조건부 독립성: 에만 의존하고 그 이전 변수들에는 의존하지 않는다
  1. Chain rule
    • 이 경우 필요한 파라미터 수는
      • 에는 파라미터 1개 필요
      • 에는 , 로 2개가 필요
      • 반복하면 개가 필요
    • 즉 Chain rule만 적용해서는 파라미터 감소를 달성할 수 없음
  2. 조건부 독립성
    • 에만 의존하고 그 이전 변수들에는 의존하지 않는다면 다음과 같이 표현됨
    • 이 경우 필요한 파라미터 수는
      • 에는 파라미터 1개 필요
      • 에는 , 로 2개가 필요
      • 에는 , 로 2개가 필요
      • 반복하면 개가 필요
  • 이러한 과정을 통해 파라미터의 수를 까지 줄일 수 있다.

Bayes Network

General Idea

  • Idea: Joint distribution을 직접 parameterization하는 대신, 조건부 매개변수화(conditional parameterization)를 사용하자
  • 각 변수 에 대해, 해당 변수와 연관된 다른 변수들의 집합 가 있을 때 조건부 확률은 로 매개변수화 가능
  • 그 결과 joint parameterization은 다음과 같이 나타낼 수 있음

Bayesian networks

  • Bayesian network는 directed acyclic graph(DAG) 로, 다음과 같은 조건을 만족
    1. 각 노드는 하나의 랜덤 변수를 나타냄
    2. 각 노드는 그 부모 노드에 대한 조건부 확률 분포(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) 구분하는 방법
  1. 존재하는 모든 n 개의 단어를 인덱싱
  2. 이메일에 인덱스 i의 단어가 등장하는 경우에만
  3. 이메일은 분포 으로 표현 가능
    • Naive: 단어들이 Y에 대해 조건부 독립이라고 가정
  4. 따라서 이런식으로 정의 가능
  5. 예측 수행
  • 스팸일 확률은 다음과 같이 계산됨

Discriminative vs Generative

  • Generative model

    • 를 학습
      • 이를 통해 를 계산할 수 있긴 함
    • 모두를 설명하며, 주어진 에 대해 가 어떻게 생성되는지를 모델링함
  • Discriminative model

    • 만 학습
    • 주어진 에 대해 를 예측하는 것만 학습
    • 데이터 분포를 파악하지 않음
  • X가 벡터라고 한다면 아래와 같이 나타낼 수 있다

    • Generative :
    • Discriminative :

  • 문제 발생
    1. Generative: 를 어떻게 매개변수화 할 것인가?
      • 계속 동일한 문제 이야기중. naive bayes의 경우 서로 아예 의존성이 없다고 가정했고, 이것도 조건부 의존성의 일종이라 할 수 있겠음
    2. Discriminative: 를 어떻게 매개변수화할 것인가?

1. Generative: 를 어떻게 매개변수화 할 것인가?

  • 나이브한 베이즈 가정을 이용하여, 각 변수 는 다른 변수 와는 조건부 독립이다
    • 아마 i가 아닌 다른 모든 변수를 나타내기 위해 -i라는 표현을 쓴듯?

2. Discriminative: 를 어떻게 매개변수화할 것인가?

  • 로지스틱 회귀를 이용한 모델링
  1. 를 가정 (는 가중치 백터)
  2. 여기서 는 다음과 같음
    • 시그모이드 함수
  • 즉 n + 1개의 파라미터 로 정의된 어떤 로지스틱 회귀에 따라 확률을 계산
    • 테이블 형태(어떤 조합에 대해 얼마의 확률)가 아니게 됨 (연속적)
    • n이 아닌 이유는 절편값도 정의해야 하기 때문임
      • 입력 데이터에 관계없이 일정하게 영향을 미치는 상수

Discriminative Models are Powerful

  • 나이브한 베이즈 가정과 달리 독립을 가정하지 않음
    • 엄청난 차이를 불러옴
    • 예를 들어 “bank”가 이메일에 있는 사건()과 “account”가 있는 사건()이 있다 하자.
    • 이 두 사건은 스팸과 관계없이 항상 같이 나타난다. (i.e. ())
    • 그렇다면 나이브한 베이즈 가정은 사건을 double count한다!!
      • “bank”가 있는 것과 “account”가 있는 것 모두 동일한 사건인데 두개의 사건으로 분리, 둘 다 중요한 증거라고 생각해서 “bank”가 있을 때 스팸일 확률, “account”가 있을 때 스팸일 확률을 모두 합해서 고려하게 된다는 뜻인듯!
    • 반면 로지스틱 회귀 모델에서는 으로 두거나 로 두어서 이를 무시한다.
      • 애초에 변수들 간의 상관관계를 지우지 않았기 때문에 가능

Generative models are still very useful

  • 생성형 모델이 전혀 쓸모가 없냐하면 그건 아님
  1. 의 일부가 관측되지 않는 경우
    • 생성형 모델은 관측되지 않은 변수들을 marginalization을 통해 계산할 수 있음
      • Marginalization : 다른 변수들과의 결합 확률의 합으로 확률변수의 확률을 구하는 것
      • 예를 들어 관측되지 않은 변수 Z를 마진화하고 싶은 경우,
      • 위 식을 통해 관측되지 않은 변수를 마진화 할 수 있음
        • 는 모델로 추정

Neural Models

  • 신경망 모델 vs 판별 모델
  • Discriminative model에서는 다음을 가정한다
  • 신경망 모델은 x에 대해 비선형 변환을 수행
    • 가 입력 x에 대한 비선형 변환이라 가정
      • (은닉층)
        • 는 입력 벡터
        • 는 가중치 행렬
        • 는 편향 백터
        • 는 비선형 활성화 함수 (ReLU, 시그모이드 등)
      • 이로부터 계산된 을 가지고 다음과 같은 출력층을 계산
  • 이러한 여러 층을 거치면서 변환이 이뤄짐
  • 더 유연함
  • 더 파라미터가 많음 (, , )

Bayesian network vs Neural models

  • 공통적으로 Chain rule을 사용한다
  • 차이점은 조건부 확률을 근사하는 방법
    • Bayes Net : 조건부 독립을 가정하여 근사
    • Neural Model : 함수를 가정하여 근사 (조건부 확률을 함수로 근사)

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에서 변환하는 방법