18. Confronting the Partition Function

비방향그래프모델의 분할 함수는 대개 계산이 불가능하다. 이에 대처하는 방법을 알아보자.

18.1. The Log-Likelihood Gradient

비방향모델의 난점은 분할 함수가 매개변수에 의존한다는 것이다. \nabla_{\mathbf{\theta}} \log p(\mathbf{x} ; \mathbf{\theta}) =  \nabla_{\mathbf{\theta}} \log \tilde{p}(\mathbf{x} ; \mathbf{\theta}) -  \nabla_{\mathbf{\theta}} \log Z(\mathbf{\theta})로 분해하는 것을 학습의 양위상음위상으로 분해라 한다. 많은 비방향모델에 대해 음위상은 어렵다. 이에 대해서 \nabla_{\mathbf{\theta}} \log Z = \mathbb{E}_{\mathbf{x} \sim p(\mathbf{x})} \nabla_{\mathbf{\theta}} \log \tilde{p}(\mathbf{x})을 이용한 몬테 카를로적 접근으로 직관을 얻을 수 있는데 양위상에서는 추출된 데이터로부터 앞의 항을 증가시키고 음위상에서는 모델 학습에서 추출된 앞의 항을 감소시킨다. 기계학습에서는 앞의 항은 에너지 함수로 매개화하는 경우가 많다.

18.2. Stochastic Maximum Likelihood and Contrastive Divergence

\nabla_{\mathbf{\theta}} \log Z = \mathbb{E}_{\mathbf{x} \sim p(\mathbf{x})} \nabla_{\mathbf{\theta}} \log \tilde{p}(\mathbf{x}) 을 구현하는 단순한 방법은 경사가 필요해질 때마다 마르코프 연쇄의 집합을 무작위 초기화로부터 발화시키는 것이다. 이런 최대가능도에 대한 마르코프 연쇄 몬테 카를로법은 모델 분포를 증가시키는 힘과 감소시키는 힘을 균형을 맞추는 것으로 생각할 수 있다. 음위상은 모델의 분포로부터 표본을 추출하는 것을 포함하기 때문에, 이는 모델이 신뢰하는 지점을 찾는 것으로 볼 수 있다. 이를 이용하면 마르코프 연쇄의 발화에 쓰이는 연산량을 줄일 수 있다. 대조 발산(CD) 알고리즘은 각 단계에서 마르코프 연쇄를 데이터 분포로부터의 표본을 통해 초기화한다. 물론, 이는 여전히 근사이며, 거짓 최빈값을 억제하는 효과는 적다. 또한 제한 볼츠만 기계나 완전 가측 볼츠만 기계에 대해서는 편향된 추정자를 제공한다. 대조 발산은 제한 볼츠만 기계 같은 얕은 모델을 학습하는 데 있어 유용하다. 이는 데이터로부터 입력이 올 때 입력을 빠르게 바꾸는 마르코프 연쇄를 가짐으로써 모델을 징벌하는 것으로 생각할 수 있다. 대조 발산의 업데이트는 어떤 함수에 대해서도 경사가 아니다. 대조 발산의 문제를 해결하는 여러 다른 전략으로는 추계적 최대 가능도(SML)나 잔류 대조 발산(PCD) 등이 있다. 각 마르코프 연쇄는 각 경사 단계마다 재시작되는 것이 아니라 학습 과정 중에 연속적으로 업데이트되므로, 모델의 모든 최빈값을 찾기에 수월하다. 추계적 최대 가능도는 추계적 경사 알고리즘이 마르코프 연쇄가 단계간 혼합되는 것보다 빠르게 모델을 이동시킬 경우 부정확해진다. 추계적 최대 가능도로 학습된 모델로부터 표본을 평가할 때에는 주의가 필요하다. 대조 발산은 추계적 최대 가능도보다 더 낮은 분산을 보인다. 마르코프 연쇄 몬테 카를로를 사용해 표본을 추출하는 모든 방법은 이론적으로 이의 변형에도 쓰일 수 있다. 빠른 잔류 대조 발산(FPCD)는 매개변수를 느린 매개변수와 빠른 매개변수로 분리하는 방법을 이용한다. 마르코프 연쇄 몬테 카를로 기법의 이점은 분할 함수의 로그 경사를 추정할 수 있기 때문에 문제의 분할 함수의 기여분을 분리해낼 수 있다는 것이다.

18.3. Pseudolikelihood

분할 함수에 대한 몬테 카를로 근사 이외에는 분할 함수를 계산하지 않고 유사가능도 \sum_{i} \log p(x_{i} | \mathbf{x}_{-i})를 사용해 이를 대처하는 방법도 있다. 이를 일반화한 일반화된 유사가능도 추정자도 존재한다. 유사가능도 기반 접근법의 성능은 모델이 어떻게 사용되는지에 크게 의존한다. 유사가능도 추정자의 단점은 변분 추론처럼 비표준화 분포에 대한 하한만을 제공하는 근사와 함께 쓸 수 없다는 것이다. 유사가능도는 모든 조건부확률분포를 계산해야 하므로 추계적 최대 가능도보다 연산량이 훨씬 더 많다. 유사가능도 추정자는 분할 함수의 로그값을 명시적으로 최소화하지는 않지만, 이는 어떤 점에서 음위상과 비슷하다고 볼 수 있다.

18.4. Score Matching and Ratio Matching

점수 매칭은 분할 함수나 그 도함수를 학습하는 것 이외의 방법을 제공한다. 이 전략은 다음과 같다:

L(\mathbf{x};\mathbf{\theta}) = \frac{1}{2} \lVert \nabla_{\mathbf{x}} \log p_{\mathrm{model}} (\mathbf{x}; \mathbf{\theta}), - \nabla_{\mathbf{x}} \log p_{\mathrm{data}} (\mathbf{x}) \rVert_{2}^{2}

J(\mathbf{\theta}) = \frac{1}{2} \mathbb{E}_{p_{\mathrm{data}}(\mathbf{x})} L(\mathbf{x}, \mathbf{\theta})

\mathbf{\theta}^{\ast} = \min_{\mathbf{\theta}} J(\mathbf{\theta})

이는 분할 함수에 대한 미분을 피한다. 대신 \mathbf{x}에 대한 도함수를 구해야 하므로, 이산적인 데이터에는 쓸 수 없다. 유사가능도와 비슷하게, 점수 매칭은 \log \tilde{p}(\mathbf{x})과 그 미분을 직접 구할 수 있을 때에만 의미가 있다. 점수 매칭은 음위상을 명시적으로 갖지는 않지만, 이는 특수한 마르코프 연쇄를 쓴 대조 발산으로도 볼 수 있다. 이를 이산적인 경우로 일반화한 일반화된 점수 매칭(GSM)은 고차원에서는 작동하지 않는다. 그 대신 비율 매칭 기법을 사용한다. 단 이는 유사가능도 추정자와 비슷하게 연산량이 추계적 최대 가능도보다 n배 많다. 유사가능도 추정자와 함께, 비율 매칭은 학습 표본과 한 변수만 다른 모든 가상의 상태를 끌어내리는 것으로 볼 수 있다. 비율 매칭은 고차원의 희박 데이터를 다루는 데 기반이 된다.

18.5. Denoising Score Matching

점수 매칭을 정규화하고 싶을 수 있다. 이는 실제 p_{\mathrm{data}}를 접근할 수 없고 실측 분포만 접근할 수 있을 때 의미가 있다. 여러 자가부호화기 학습 알고리즘은 점수 매칭이나 잡음 제어 점수 매칭과 동일하므로 이도 분할 함수에 대처하는 한 방법이라 볼 수 있다.

18.6. Noise-Contrastive Estimation

계산 불가능한 분할 함수를 가진 모델을 추정하는 많은 방법은 분할 함수를 추정하지 않는다. 잡음-대조 추정(NCE)은 다른 전략을 사용한다. 이는 \log p_{\mathrm{model}} (\mathbf{x}) = \log \tilde{p}_{\mathrm{model}} (\mathbf{x}; \mathbf{\theta}) + c에서 c를 -\log Z(\mathbf{\theta})의 추정으로 사용한다. 이런 접근은 추정자의 기준으로 최대가능도를 쓰는 방식으로는 불가능하다. 그 대신 잡음대조 추정은 확률분포를 추정하는 비지도학습 문제를 데이터가 모델로부터 생성되었는지를 분류하는 확률적 이진 분류기를 학습하는 지도학습 문제로 환원시킨다. 구체적으로, 잡음 분포를 도입해 데이터인지 아닌지를 분류하는 지도학습 문제가 된다. 이는 확률변수가 별로 없는 문제에 적용되었을 때 가장 효과적이고, 확률변수가 많은 경우엔 덜 효과적이다. 이것이 효과적이려면 p_{\mathrm{noise}}는 쉽게 구할 수 있어야 한다. 점수 매칭이나 유사가능도와 같이, 비표준화 분포에 대한 하한만 가능하다면 잡음 대조 추정은 쓸 수 없다. 모델 분포가 각 경사 단계에서 새 잡음 분포를 정의하도록 복제될 때, 잡음 대조 추정은 자가대조 추정이라는 과정을 정의한다. 잡음대조 추정은 좋은 생성적 모델은 데이터를 잡음과 구별할 수 있어야 한다는 발상에 기반한다.

18.7. Estimating the Partition Function

분할 함수를 추정하는 법을 알아보자. 이는 데이터의 표준화된 가능도를 계산하고 싶을 때 유용하다. 이는 모델간 비교를 하고 싶을 때 매우 중요하다. 방법이 없다면 분할 함수간 비율을 몬테 카를로 법으로 추정할 수 있다. 이에는 크게 두 가지 방법이 있다.

18.7.1. Annealed Importance Sampling

모의 담금질 법과 중요도 샘플링을 혼합해 어려운 분포로부터 독립적 표본들을 추출하는 법을 담금질 중요도 샘플링(AIS)이라 한다. p_{0}(\mathbf{x}) \propto f_{0}(\mathbf{x})이 샘플링하기 어려운 함수이고 p_{n}(\mathbf{x}) \propto f_{n}(\mathbf{x})은 샘플링하기 쉬운 함수라고 가정하자. 이 때, 온도의 역수 \beta_{j}에 대해 중간 분포 f_{j}(\mathbf{x}) = f_{0}(\mathbf{x})^{\beta_{j}}f_{n}(\mathbf{x})^{1 - \beta_{j}}, 1 > \beta_{0} > \cdots > \beta_{n} = 0를 만들어 p_{n}으로부터 p_{0}에 접근하는 수열들을 만드는 것이다. 거기다 p_{j} 각각에 불변한 마르코프 연쇄 T_{j}(\mathbf{x}, \mathbf{x}^{\prime})들을 가진다고 하자. 이 때, p_{0}으로부터 \mathbf{x}을 샘플링하는 것은 다음과 같이 수행할 수 있다.

먼저 \mathbf{z} = (\mathbf{z}_{n-1}, \cdots, \mathbf{z}_{0})을 다음과 같이 샘플링한다. \mathbf{z}_{n-1} \sim p_{n}을 샘플링하고, \mathbf{z}_{n-2} \sim T_{n-1}(\mathbf{z}_{n-1}, \cdot)을 샘플링하고, 이를 반복해 \mathbf{z}_{0} \sim T_{1}(\mathbf{z}_{1}, \cdot)을 샘플링한다. 마지막으로 \mathbf{x} = \mathbf{z}_{0}으로 두고 가중치 w = \frac{f_{n-1}(\mathbf{z}_{n-1}) }{f_{n}(\mathbf{z}_{n-1})} \cdots \frac{f_{0}(\mathbf{z}_{0})}{f_{1}(\mathbf{z}_{0})}을 부여하면 된다.

18.7.2. Bridge Sampling

이외에도 \frac{Z_{1}}{Z_{0}} \simeq \sum_{k=1}^{K} \frac{\tilde{p}_{\ast}(\mathbf{x}_{0, k}}{\tilde{p}_{0}(\mathbf{x}_{0, k}} /  \sum_{k=1}^{K} \frac{\tilde{p}_{\ast}(\mathbf{x}_{1, k}}{\tilde{p}_{1}(\mathbf{x}_{1, k}} 를 사용하는 다리 샘플링도 있다. 이외의 방법은 연결 중요도 샘플링이나, 학습 중 분할 함수를 추정하는 방법 등이 있다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중