Deep Learning Basics 2 - Maximum Likelihood Estimation

‍이세현·2024년 4월 13일
1

Maximum Likelihood Estimation

VAE의 기본 개념

  • 무한히 많은 데이터를 모으는 건 현실적으로 불가능하다.
    • m개의 sample을 독립적으로 추출하여 dataset을 구성해야 한다.
  • 현실 세계의 알 수 없는 분포 pdata(x)p_{data}(\mathbf{x})와 그의 estimation인 pmodel(x;θ)p_{model}(\mathbf{x};\theta)
    • 자연계 현상은 정규 분포를 따를 것이라는 가정으로 확률 모델을 정의하면
      parameter θ\theta: mean, variance
      수치로 평가할 수 있어야 한다. → likelihood estimation
  • θ\theta에 대한 maximum likelihood estimator
    θML=argmax pmodel(x;θ)=argmaxΠi=1mpmodel(x(i);θ)\theta_\text{ML}=\text{argmax }p_\text{model}(\mathbf{x};\theta)=\text{argmax}\Pi_{i=1}^{m}p_\text{model}(x^{(i)};\theta)
    • pmodel(x;θ)p_\text{model}(\mathbf{x};\theta)는 확률의 곱이므로 클수록 잘 나타내는 것이다.
    • 사람은 model\text{model}을 결정하고 parameter를 최적화해야 한다.
    • 확률 값은 모두 1 이하이기 때문에 log\log를 이용하여 precision을 향상할 수 있다.
      θML=argmax i=1mlogpmodel(x;θ)\theta_\text{ML}=\text{argmax }\sum_{i=1}^{m} \log p_\text{model}(\mathbf{x};\theta)

      미분, back propagation을 거쳐 θ\theta를 최적화한다.

  • 훈련 데이터에 의해 정의된 경험적 분포 p^data\hat{p}_\text{data}의 기댓값으로 표현할 수 있다.
    θML=argmax i=1mlogpmodel(x(i);θ)\theta_\text{ML}=\text{argmax }\sum_{i=1}^{m} \log p_\text{model}(\mathbf{x^{(i)}};\theta)
    • mm으로 나누면
      θML=argmax Exp^modellogpmodel(x;θ)\theta_\text{ML}=\text{argmax } \mathbf{E}_{\mathbf{x} \sim \hat{p}_{\text{model}}} \log p_\text{model}(\mathbf{x};\theta)
      x\mathbf{x}가 어떻게 뽑히는 값인가에 대한 설명
    • pp를 높이기 위해서는 gradient 방향으로 이동해야 한다.
      • loss의 경우 반대 반향으로 이동해 낮추어야 한다.
  • p^data\hat{p}_\text{data}pmodelp_\text{model}의 오차는 KL divergence로 구할 수 있다.
    DKL(p^datapmodel)=Exp^data[logp^data(x)logpmodel]D_\text{KL}(\hat{p}_\text{data} || p_\text{model})=\mathbf{E}_{\mathbf{x} \sim \hat{p}_\text{data}}[\log\hat{p}_\text{data}(x)-\log p_\text{model}]
    • 위 식은 KL divergence를 최소화하기 위해 Exp^datalogpmodel(x)-\mathbf{E}_{\mathbf{x} \sim \hat{p}_\text{data}}\log p_\text{model}(x)를 최소화하면 된다는 것을 의미한다.
    • Exp^datalogpmodel(x;θ)\mathbf{E}_{\mathbf{x} \sim \hat{p}_\text{data}}\log p_\text{model}(x;\theta)를 likelihood라고 한다.

Conditional Log-Likelihood and Mean Square Error

  • 지도학습 과정에서 common situation
    • xx가 주어졌을 때 yy를 예측하기 위해서 조건부확률 P(yx;θ)P(y|x;\theta)를 예측하는 것
    • XX가 모든 입력을 나타내고 YY가 모든 관측 대상을 나타내는 경우, conditional maximum likelihood estimator는 다음과 같다.
      θML=argmaxi=1mlogP(YX;θ)\theta_\text{ML}=\text{argmax}\sum_{i=1}^{m} \log P(\mathbf{Y}|\mathbf{X};\theta)
    • i.i.d.라고 한다면 다음과 같다.
      θML=argmaxi=1mlogP(y(i)x(i);θ)\theta_\text{ML}=\text{argmax}\sum_{i=1}^{m} \log P(y^{(i)}|x^{(i)};\theta)

Properties of Maximum Likelihood

최적의 estimator는 데이터의 수 mm이 커질수록 아래 조건을 만족한다.

  1. pdatap_\text{data} 분포는 model family pmodel(;θ)p_\text{model}(\cdot;\theta) 내에 있어야 한다.

    • 그렇지 않으면 어떠한 estimator도 pdatap_\text{data}를 복구할 수 없다.
    • model family pmodel(;θ)p_\text{model}(\cdot;\theta)θ\theta에 따라 다양한 확률 분포를 표현할 수 있는 모델의 집합을 의미한다.
    • 적절한 θ\theta 값을 선택함으로써 모델이 실제 데이터가 생성되는 과정을 근사적으로 모방할 수 있다는 것을 의미한다.
    • 충분히 많은 데이터를 이용해 maximum likelihood estimation을 실시할 때 θ^\hat{\theta}가 실제 θ\theta에 수렴한다는 것을 보장한다.
    • 만약 pdatap_\text{data}가 모델 가족 바깥에 있다면, 어떤 θ\theta 값을 선택하더라도 데이터를 충분히 잘 설명하지 못할 수 있다.
  2. pdatap_\text{data} 분포는 우리가 사용하는 model family pmodel(;θ)p_\text{model}(\cdot; \theta) 내에서 정확히 하나의 파라미터 값 θ\theta에 의해 표현될 수 있어야 한다.

    • 그렇지 않으면 maximum likelihood는 올바른 pdatap_\text{data}를 복구할 수 있지만 데이터 생성 과정에서 사용할 수 있는 값을 결정할 수 없다.

Bayesian Statistics

P(AB)=P(A)P(BA)P(B)P(A|B) = \frac{P(A)P(B|A)}{P(B)}
  • Prior 확률분포 p(θ)p(\theta), θ\theta는 knowledge일 때
    입출력을 변경할 수 있다.
  • data samples {x(1),,x(m)}\left\{ x^{(1)}, \cdots, x^{(m)} \right\}이 있을 때, Bayes' rule을 통해 data가 θ\theta의 신뢰도에 미치는 영향을 복구할 수 있다.
    • 직접 관측한 dataset을 기반으로 θ\theta를 추정한다.
    • 실제로 given은 data이고 θ\theta를 결정해야 한다.
      • 입출력을 바꾸어 문제를 해결할 수 있다.
        p(θx(1),,x(m))=p(x(1),,x(m)θ)(p(θ))p(x(1),,x(m))p(\theta | x^{(1)}, \cdots, x^{(m)}) = \frac{p(x^{(1)}, \cdots, x^{(m)}|\theta)(p(\theta))}{p(x^{(1)}, \cdots, x^{(m)})}
    • posterior: x(1),,x(m)x^{(1)}, \cdots, x^{(m)}
    • likelihood: p(x(1),,x(m)θ)p(x^{(1)}, \cdots, x^{(m)}|\theta)
      • model(θ\theta) 결정 후 data를 넣어 확률을 모두 곱하여 그럴듯한지 판단하는 과정
      • 확률을 높이는 θ\theta를 구하는 것이 maximum likelihoodo estimation
    • prior: p(θ)p(\theta)

Maximum likelihood estimation v.s. Bayesiam estimation

  1. Maximum likelihood estimation
    • θ\theta의 점 추정치를 이용하여 예측한다.
    • prior는 구하지 않고 가능도만 계산한다.
    • mm개의 examples를 관측한 후 다음 data sample에 대한 예측 분포
      pmodel(x;θML)p_\text{model}(x;\theta_\text{ML}), where θML=argmaxθi=1mlogpmodel(x(i);θ)\theta_\text{ML}=\text{argmax}_\theta \sum_{i=1}^{m}\log p_\text{model}(x^{(i)}; \theta)
  2. Bayesian approach
    • θ\theta의 전체 분포를 고려하여 예측한다.
    • prior까지 고려한다.
    • mm개의 examples를 관측한 후 다음 data sample에 대한 예측 분포
      p(x(m+1)x(1),,x(m))=p(x(m+1)θ)p(θx(1),,x(m))dθp(x^{(m+1)}|x^{(1)}, \cdots, x^{(m)})=\int p(x^{(m+1)}|\theta)p(\theta | x^{(1)}, \cdots, x^{(m)})d\theta
    • training data가 한정되어 있을 때 잘 동작한다.
    • 인간의 주관적 판단의 근원인 prior(θ\theta)가 prediction에 영향을 미친다.
      • prior가 잘못 주어지면 성능이 낮아진다.
    • 연산 비용이 높다.

Stochastic Gradient Descent

확률적 경사 하강법 - random sampling

  • large datasets으로 large linear models를 학습하는 방법이다.
    • step이 매우 오래 걸린다.
  • Naïve gradient descent
    • 모든 data에 대해 gradient descent를 수행하므로 computation cost는 O(m)O(m)이다.
  • Stochastic gradient descent
    • examples의 minibatch를 추출한다.
      B={x(1),,x(m)}\mathbf{B}=\Big\{ x^{(1)}, \cdots, x^{(m')} \Big\}
    • mmm' \ll m
    • Computation cost는 한 번의 반복마다 하나의 sample, 또는 소수의 sample로 gradient를 계산하므로 O(1)O(1)이다.
profile
Hi, there 👋

0개의 댓글

관련 채용 정보