27. Latent variable models for discrete data

27.1. Introduction

이 장에서는 이산적인 데이터에 대한 잠재 변수 모델을 다룬다. 범주 변수의 가변 길이 배열(토큰)을 모델링할 때, y_{il} \in \{1, \cdots, V\}을 문서 i에서 단어 l의 존재 여부라 하자. 이 때 단어의 순서는 무시한다 (단어 가방). 이렇게 함으로써 문서를 단어 등장 횟수에 대한 고정 길이 벡터로 나타낼 수 있다. 이 때 n_{iv} \in \{0, 1, \cdots, L_{i}\}를 단어 v가 문서 i에 등장하는 횟수라 한다. 목표는 p(\mathbf{y}_{i}) 또는 p(\mathbf{n}_{i})에 대한 결합확률분포를 모델링하는 것이다.

27.2. Distributed state LVMs for discrete data

이산 데이터에 대한 분산 상태 잠재 변수 모델에 대해 알아보자.

27.2.1. Mixture models

가장 간단한 방법은 유한 혼합 모델을 사용하는 것이다. 즉, 모든 변수에 대해 이산 잠재 변수 q_{i} \in \{1, \cdots, K\}을 배정한다. 이 때 q_{i} \sim \mathrm{Cat}(\mathbf{\pi})을 사용하며, q_{i}의 값을 토픽이라 한다. 가능도는 다음의 형태를 가진다.

p(\mathbf{y}_{i, 1:L_{i}} | q_{i} = k) = \prod_{i=1}^{L_{i}} \mathrm{Cat}(y_{il} | \mathbf{b}_{k})

가측 데이터에 대한 유도분포는 다음과 같아진다.

p(\mathbf{y}_{i, 1:L_{i}}) = \sum_{k} \pi_{k} [\prod_{l=1}^{L_{i}} \mathrm{Cat}(y_{il} | \mathbf{b}_{k})]

즉, 문서 i를 선택해 토픽 q_{i}를 선정하고 각 단어 l에 대해 \mathbf{b}_{q_{i}}을 뽑는 것이다.

범주 변수들의 관측값이 고정되어 있다면 각 출력 변수에 대해 토픽 행렬을 다르게 쓸 수 있다.

p(\mathbf{y}_{i, 1:L_{i}} | q_{i} = k) = \prod_{i=1}^{R} \mathrm{Cat}(y_{il} | \mathbf{b}_{k, r})

이는 나이브 베이즈 분류기의 비지도학습 버전이라고 볼 수 있다.

등장 횟수 벡터도 모델링할 수 있다. L_{i} = \sum_{v} n_{iv}를 알고 있다면, 다항 변수를 쓰면 된다.

p(\mathbf{n}_{i} | L_{i}, q_{i} = k) = \mathrm{Mu}(\mathbf{n}_{i} | L_{i}, \mathbf{b}_{k})

합을 모른다면 푸아송 클래스 조건분포를 쓴다.

p(\mathbf{n}_{i} | q_{i} = k) = \prod_{v=1}^{V} \mathrm{Poi}(n_{iv} | \lambda_{vk})

이 경우 L_{i} | q_{i} = k \sim \mathrm{Poi}(\sum_{v} \lambda_{vk})가 된다.

27.2.2. Exponential family PCA

유한 혼합 모델은 표현력에 한계가 있다. 더 유연한 방법은 잠재 변수에 연속 실변수 벡터를 쓰는 것이다. 잠재 의미 인덱싱(LSI)과 잠재 의미 분석(LSA)으로 알려져 있는 방법들은 주성분 분석을 문서 등장 횟수 행렬에 적용하는 것과 같다.

범주형 데이터를 모델링하는 더 좋은 방법은 다항 베르누이 또는 다항 분포를 쓰는 것이다. 이 경우 가능도를 다음과 같이 바꾼다.

p(\mathbf{y}_{i, 1:L_{i}} | \mathbf{z}_{i}) = \prod_{l=1}^{L_{i}} \mathrm{Cat}(y_{il} | \mathcal{S}(\mathbf{W}\mathbf{z}_{i}))

범주 반응변수의 범위가 고정되어 있다면 다음을 쓴다.

p(\mathbf{y}_{1 : R} | \mathbf{z}_{i}) = \prod_{l=1}^{R} \mathrm{Cat}(y_{ir} | \mathcal{S}(\mathbf{W}_{r}\mathbf{z}_{i}))

이를 범주 주성분 분석이라 한다. 등장 횟수 벡터에 대해서는 앞 절처럼 다항 모델을 쓰거나

p(\mathbf{n}_{i} | L_{i}, \mathbf{z}_{i}) = \mathrm{Mu}(\mathbf{n}_{i} | L_{i}, \mathcal{S}(\mathbf{W}\mathbf{z}_{i}))

푸아송 모델을 쓴다.

p(\mathbf{n}_{i} | \mathbf{z}_{i}) = \prod_{v=1}^{V}\mathrm{Poi}(n_{iv} | e^{\mathbf{w}_{v,:}^{T} \mathbf{z}_{i}})

이 모델들은 전부 지수족 주성분 분석(ePCA)의 일종으로, 가우시안 선형 모델의 비지도학습 버전이라고 할 수 있다. 가측변수에 대한 대응되는 유도분포는 다음의 형태를 갖는다.

p(\mathbf{y}_{i, 1: L_{i}}) = \int [\prod_{l=1}^{L_{i}} p(y_{il} | \mathbf{z}_{i}, \mathbf{W})] \mathcal{N}(\mathbf{z}_{i} | \mathbf{\mu}, \mathbf{\Sigma}) d\mathbf{z}_{i}

분포간 켤레성이 없기 때문에 이 모델을 피팅하는 것은 꽤 힘들다. 경사 상승법을 쓸 수 있다. 또는 \mathbf{z}_{i}를 적분해 빼낸 뒤 범주 주성분 분석을 이용한 기대값 최대화법을 쓸 수 있다. 마르코프 연쇄 몬테 카를로법도 쓸 수 있다.

27.2.3. LDA and mPCA

지수족 주성분 분석에서는 \mathbf{W}\mathbf{z}_{i}가 지수족의 자연적 변수를 표현한다. 어떤 때는 쌍대 매개변수를 쓰는 것이 더 나을 수도 있다. 이 때는 잠재 변수를 제한해 적절한 매개변수 공간에 가둬야 한다. 등장 횟수 벡터의 전체 합을 알고 있을 때에는 가능도는 다음과 같다.

p(\mathbf{n}_{i} | L_{i}, \mathbf{\pi}_{i}) = \mathrm{Mu}(\mathbf{n}_{i} | L_{i}, \mathbf{B} \mathbf{\pi}_{i})

이를 다항 주성분 분석(mPCA)라 한다. 대응하는 주변분포는 다음과 같다.

p(\mathbf{n}_{i} | L_{i}) = \int \mathrm{Mu}(\mathbf{n}_{i} | L_{i}, \mathbf{B} \mathbf{\pi}_{i}) \mathrm{Dir}(\mathbf{\pi}_{i} | \mathbf{\alpha}) d \mathbf{\pi}_{i}

이 된다. 이 적분은 해석적으로 구할 수 없다는 문제점이 있다.

길이를 알고 있는 가변 길이 배열이 있다면 다음을 사용할 수 있다.

p(\mathbf{y}_{i, 1 : L_{i}} | \mathbf{\pi}_{i}) = \prod_{l=1}^{L_{i}} \mathrm{Cat}(y_{il} | \mathbf{B}\mathbf{\pi}_{i})

이를 잠재 디리클레 할당(LDA)라 한다. 이는 잠재 의미 분석의 확률적 확장으로 볼 수 있다. 잠재 디리클레 할당 이전에는 확률적 잠재 의미적 인덱싱(PLSI)가 쓰였다. 이는 같은 모델을 쓰지만 각 문서에 대해 \mathbf{\pi}_{i}에 대한 점 추정을 쓴다. 그러므로 이 때는 \mathbf{\pi}_{i}에 대한 사전분포가 없다.

잠재 디리클레 할당을 수정해 고정된 크기의 서로 다른 범주 반응변수를 다음과 같이 다룰 수 있다.

p(\mathbf{y}_{i, 1 : R} | \mathbf{\pi}_{i}) = \prod_{r=1}^{R} \mathrm{Cat} (y_{il} | \mathbf{B}_{r} \mathbf{\pi}_{i})

이는 심플렉스 인자 모델 또는 사용자 평점 프로필이라 불렸다.

27.2.4. GaP model and non-negative matrix factorization

등장 횟수 벡터에 합을 제한하지 않는 경우를 모델링해 보자. 이 경우, 잠재 변수는 음이 아니기만 하면 된다. 이는 감마 사전분포

p(\mathbf{z}_{i}^{+}) = \prod_{k=1}^{K} \mathrm{Ga}(z_{ik}^{+} | \alpha_{k}, \beta_{k})

를 쓰면 된다. 이 때 가능도는 다음과 같다.

p(\mathbf{n}_{i} | \mathbf{z}_{i}^{+}) = \prod_{v=1}^{V} \mathrm{Poi}(n_{iv} | \mathbf{b}_{v,:}^{T} \mathbf{z}_{i}^{+})

이를 감마-푸아송(GaP) 모델이라 한다. 이를 고정된 L_{i}로 제한하면 다항 주성분 분석 모델이 된다. \alpha_{k} = \beta_{k} = 0으로 놓으면 음이 아닌 행렬 분해(NMF)라는 방법을 얻게 되는데, 이는 \mathbf{z}_{i}^{+}에 대한 적절한 사전분포를 특정하지 않으므로 확률적 생성 모델은 아니다.

\mathbf{z}_{i}^{+}를 희소하게 만들기 위해서는 사전분포를 쐐기-감마 형태로 써야 한다.

p(z_{ik}^{+}) = \rho_{k} \mathbf{1}_{z_{ik}^{+} = 0} + (1 - \rho_{k}) \mathrm{Ga}(z_{ik}^{+} | \alpha_{k}, \beta_{k})

이는 조건적 감마 푸아송 모델로 불린다.

27.3. Latent Dirichlet allocation (LDA)

잠재 디리클레 할당 모델에 대해 알아보자.

27.3.1. Basics

다항 베르누이의 혼합 모델에서 모든 문서는 공통된 분포로부터 추출된 단일 토픽에 배정된다. 잠재 디리클레 할당 모델에서는 모든 단어가 문서마다 하나씩 존재하는 분포로부터 추출된 각각의 토픽에 배정된다. 이 모델은 혼합성 혼합 또는 혼합 멤버십 모델로도 불린다. 매개변수에 켤레사전분포를 추가하면 전체 분포는 다음과 같아진다.

\mathbf{\pi}_{i} | \alpha \sim \mathrm{Dir}(\alpha \mathbf{1}_{K})

q_{il} | \mathbf{\pi}_{i} \sim \mathrm{Cat}(\mathbf{\pi}_{i})

\mathbf{b}_{k} | \gamma \sim \mathrm{Dir}(\gamma \mathbf{1}_{V})

y_{il} | q_{il} = k, \mathbf{B} = \mathrm{Cat}(\mathbf{b}_{k})

이 때 q_{i} 변수들을 적분해 빼내면 다음을 얻는다.

p(y_{il} = v | \mathbf{\pi}_{i}) = \sum_{k} \pi_{ik} b_{kv}

이는 다항 주성분 분석 모델과 매우 비슷하다.

잠재 디리클레 할당은 흥미로운 기하학적 표현을 가지고 있다. 각 토픽 k에 대한 벡터 \mathbf{b}_{k}는 V개의 단어상에서의 분포를 정의한다. 각 문서 벡터 \mathbf{\pi}_{i}는 K개의 토픽상에서의 분포를 정의한다. 그러므로 각 문서는 토픽의 혼합 분포로 볼 수 있다. 또는 잠재 디리클레 할당을 차원 감소로 볼 수도 있다.

유클리드 공간 대신 심플렉스를 잠재 공간으로 쓰는 이유는 심플렉스가 단어를 토픽과 연관지어 단어의 다의성으로부터 오는 모호성을 다룰 수 있기 때문이다.

27.3.2. Unsupervised discovery of topics

잠재 디리클레 할당의 주 목적은 문서의 말 뭉치들로부터 토픽을 발견하는 것이다. 모델을 특정할 수 없으므로 이는 어려운 작업이다. 문서에 달린 태그의 존재를 사용함으로써 이를 보정하는 방법이 있다.

27.3.3. Quantitatively evaluating LDA as a language model

잠재 디리클레 할당을 정량적으로 산출하기 위해서는, 이를 언어 모델로 다룰 수 있다. 단어 순서를 무시하고 단일 단어만 보므로 좋은 언어 모델이라고 할 수는 없지만, 다른 모델과의 비교는 가능할 수 있다.

27.3.3.1. Perplexity

추계적 과정 p를 따르는 언어 모델 q의 당혹성2^{H(p, q)}로 정의된다.

여기서 H(p, q) = \lim_{N \to \infty} -\frac{1}{N} \sum_{\mathbf{y}_{1 :N}} p(\mathbf{y}_{1:N}) \log q(\mathbf{y}_{1:N})은 두 추계적 프로세스의 교차 엔트로피이다. 이는 q = p일 때 최소화되며 이 때에는 모델은 참값 분포만큼이나 정확한 정도로 모델링을 할 수 있다.

추계적 과정은 단일의 테스트 순열 \mathbf{y}_{1:N}^{\ast}로 근사할 수 있다. 실측 분포를 p_{\mathrm{emp}}(\mathbf{y}_{1:N}) = \delta_{\mathbf{y}_{1:N}^{\ast}} (\mathbf{y}_{1:N})로 정의하면 교차 엔트로피는 다음과 같다.

H(p_{\mathrm{emp}}, q) = -\frac{1}{N} \log q(\mathbf{y}_{1:N}^{\ast})

당혹성은 다음과 같다.

\mathrm{perp}(p_{\mathrm{emp}}, q) = (\prod_{i=1}^{N} \frac{1}{q(y_{i}^{\ast} | \mathbf{y}_{1: i-1}^{\ast}) })^{\frac{1}{N}}

유니그램 모델에 대해서는 교차 엔트로피는 다음과 같다.

H = -\frac{1}{N} \sum_{i=1}^{N} \frac{1}{L_{i}} \sum_{i=1}^{L_{i}} \log q(y_{il})

당혹성은 다음과 같다.

perp(p_{\mathrm{emp}}, p) = e^{-\frac{1}{N} \sum_{i=1}^{N} \frac{1}{L_{i}} \sum_{i=1}^{L_{i}} \log q(y_{il})}

직관적으로, 모델의 당혹성은 모델의 예측분포에 대한 가중치평균 분기 인자를 측정한다.

27.3.3.2. Perplexity of LDA

잠재 디리클레 할당 모델에서는 이는 \mathbf{B}를 대입하고 \mathbf{q}를 평균 장 추론법을 통해 근사적으로 적분해 빼냄으로써 구할 수 있다. 잠재 디리클레 할당 모델들은 대다수의 단순 유니그램 모델들을 압도한다.

잠재 디리클레 할당 모델의 성능.

27.3.4. Fitting using (collapsed) Gibbs sampling

잠재 디리클레 할당 모델에 대해서는 깁스 샘플링 알고리즘을 쉽게 유도할 수 있다. 전체 조건분포는 다음과 같다.

p(q_{il} = k | \cdot) \propto e^{\log \pi_{ik} + \log b_{k, x_{il}}}

p(\mathbf{\pi}_{i} | \cdot) = \mathrm{Dir}(\{\alpha_{k} + \sum_{l} \mathbf{1}_{z_{il} = k}\})

p(\mathbf{b}_{k} | \cdot) = \mathrm{Dir}(\{\gamma_{v} + \sum_{i} \sum_{l} \mathbf{1}_{x_{il} = v, z_{il} = k}\})

이 때 \mathbf{\pi}_{i}\mathbf{b}_{k}를 적분해 빼내 계산할 수 있는데, 이를 붕괴 깁스 샘플링의 예로 볼 수 있다. 주변사전분포를 유도하면 다음과 같다.

p(\mathbf{q} | \alpha) = (\frac{\Gamma(K\alpha)}{\Gamma(\alpha)^{K}})^{N} \prod_{i=1}^{N} \frac{\prod_{k=1}^{K} \Gamma(c_{ik} + \alpha)}{\Gamma(L_{i} + K\alpha)}

비슷한 방식으로, 다음도 보일 수 있다.

p(\mathbf{y} | \mathbf{q}, \gamma) = (\frac{\Gamma(V \beta)}{\Gamma(\beta)^{V}})^{K} \prod_{k=1}^{K} \frac{\prod_{v=1}^{V} \Gamma(c_{vk} + \beta)}{\Gamma(c_{k} + V \beta)}

이를 이용하면 다음을 얻는다.

p(q_{i, l} = k | \mathbf{q}_{-i, l}, \mathbf{y}, \alpha, \gamma) \propto \frac{c_{v, k}^{-} + \gamma}{c_{k}^{-} + V \gamma} \frac{c_{i, k}^{-} + \alpha}{L_{i} + K \alpha}

이를 이용해 붕괴 깁스 샘플링을 적용하면 다음과 같다. 각 단어에 토픽을 배정한다. 그리고 새로운 토픽을 다음과 같이 샘플링한다: 말뭉치 내 단어에 대해 현재 배정된 토픽에 기반해 연관 등장 횟수를 뺀다. 위의 식을 이용해 새 토픽을 추출한다. 등장 횟수 행렬을 업데이트한다. 이를 반복한다. 등장 횟수 행렬은 매우 희소하므로 이는 빠르게 구현될 수 있다.

27.3.5. Example

적은 경우의 수에 대해 이를 적용해 볼 수 있다.

27.3.6. Fitting using batch variational inference

마르코프 연쇄 몬테 카를로에 대한 더 빠른 대안은 변분 기대값 최대화이다.

27.3.6.1. Sequence version

일반적인 평균 장 근사법을 사용한다. 이 때 다음의 완전 인수분해형 평균 장 근사를 사용한다.

q(\mathbf{\pi}_{i}, \mathbf{q}_{i} ) = \mathrm{Dir}(\mathbf{\pi}_{i} | \tilde{\mathbf{\pi}}_{i}) \prod_{l} \mathrm{Cat}(q_{il} | \tilde{\mathbf{q}}_{il})

q(q_{il})에 대한 업데이트는 다음과 같이 수행한다.

\tilde{q}_{ilk} \propto b_{y_{ilk}} e^{\mathbb{E}[\log \pi_{ik}]}

\mathbb{E}[\log \pi_{ik}] = \Psi(\tilde{\pi}_{ik}) - \Psi(\sum_{j} \tilde{\pi}_{ij})

q(\mathbf{\pi}_{i})에 대한 업데이트는 다음과 같이 수행한다.

\tilde{\pi}_{ik} = \alpha_{k} + \sum_{l} \tilde{q}_{ilk}

M 단계는 기대 등장횟수를 더한 뒤 표준화하면 된다.

\hat{b}_{vk} \propto \gamma_{v} + \sum_{i=1}^{N} \sum_{l=1}^{L_{i}} \tilde{q}_{ilk} \mathbf{1}_{y_{il} = v}

27.3.6.2. Count version

위의 E 단계는 \tilde{q}_{ilk}를 저장하기 위해 O((\sum_{i} L_{i})VK) 만큼의 공간이 필요하다. 이를 수정해서 O(NVK) 공간만 쓰게 할 수 있다. 다음의 근사를 쓰면 된다.

q(\mathbf{\pi}_{i}, \mathbf{c}_{i}) = \mathrm{Dir}(\mathbf{\pi}_{i} | \tilde{\mathbf{\pi}}_{i}) \prod_{v} \mathrm{Mu}(\mathbf{c}_{iv} | n_{iv}, \tilde{\mathbf{c}}_{iv})

이 때 새로운 E 단계는 다음과 같다.

\tilde{\pi}_{ik} = \alpha_{k} + \sum_{v} n_{iv} \tilde{c}_{ivk}

\tilde{c}_{ivk} \propto b_{vk} e^{\mathbb{E}[\log \pi_{ik}]}

새로운 M 단계는 다음과 같다.

\hat{b}_{vk} \propto \gamma_{v} + \sum_{i} n_{iv} \tilde{c}_{ivk}

27.3.6.3. VB version

일반적인 기대값 최대화 대신 변분 베이즈를 적용하면 다음과 같다. 다음의 근사를 쓴다.

q(\mathbf{\pi}_{i}, \mathbf{c}_{i}, \mathbf{B}) = \mathrm{Dir}(\mathbf{\pi}_{i} | \tilde{\mathbf{\pi}}_{i}) \prod_{v} \mathrm{Mu}(\mathbf{c}_{iv} | n_{iv}, \tilde{\mathbf{c}}_{iv}) \prod_{k} \mathrm{Dir}(\mathbf{b}_{k} | \tilde{\mathbf{b}}_{k})

\tilde{c}_{ivk}에 대한 업데이트는 다음과 같이 바뀐다.

\tilde{c}_{ivk} \propto e^{\mathbb{E}[\log b_{vk}] + \mathbb{E}[\log \pi_{ik}]}

M 단계는 다음과 같아진다.

\tilde{b}_{vk} = \gamma_{v} + \sum_{i} \tilde{c}_{ivk}

27.3.7. Fitting using online variational inference

배치 버전에서 E 단계는 O(NKVT) 시간이 걸린다. 문서가 많으면 이는 느릴 수 있다. 이는 추계적 경사 하강법으로 더 빠르게 할 수 있다.

27.3.8. Determining the number of topics

토픽의 수를 결정하기 위해 다음 방법들이 있다.

  • 담금질 중요도 샘플링을 쓴다.
  • 교차검증을 쓴다.
  • 변분 하한을 쓴다.
  • 비매개 베이지안 방법을 쓴다.

27.4. Extensions of LDA

잠재 디리클레 할당법의 확장을 알아보자.

27.4.1. Correlated topic model

잠재 디리클레 할당법의 단점 중 하나는 토픽간의 상관 관계를 잘 모델링하지 못한다는 점이다. 이를 위해 디리클레 사전분포를 로지스틱 정규분포로 변경할 수 있다. 이 때 모델은 다음과 같아진다.

\mathbf{b}_{k} | \gamma \sim \mathrm{Dir}(\gamma \mathbf{1}_{V})

\mathbf{z}_{i} \sim \mathcal{N}(\mathbf{\mu}, \mathbf{\Sigma})

\mathbf{\pi}_{i} | \mathbf{z}_{i} = \mathcal{S}(\mathbf{z}_{i})

q_{il} | \mathbf{\pi}_{i} \sim \mathrm{Cat}(\mathbf{\pi}_{i})

y_{il} |q_{il} = k, \mathbf{B} \sim \mathrm{Cat}(\mathbf{b}_{k})

이를 상관 토픽 모델이라 한다. 이는 범주 주성분 분석과 비슷하지만, 행렬 \mathbf{B}가 추계적 행렬이 됨을 알 수 있다. 사전분포가 가능도에 켤레분포가 아니기 때문에 피팅은 까다롭지만, 변분법을 이용해 이를 근사할 수 있다. 모델을 피팅한 뒤에 토픽간 상관 관계를 시각화하려면 공분산 행렬의 역행렬인 정밀도 행렬을 구하면 된다.

27.4.2. Dynamic topic model

잠재 디리클레 할당 모델에서는 토픽들이 고정되었다고 가정한다. 하지만 때로는 이러한 토픽들이 시간에 따라 변함을 가정해야 할 때도 있다. 이를 모델링하는 방법 중 하나는 동적 로지스틱 정규분포 모델이다. 이 때 토픽 분포는 가우시안 무작위 걸음에 따라 변화한다고 가정한다. 이후 이 가우시안 벡터를 소프트맥스 함수를 통해 확률로 매핑한다.

\mathbf{b}_{tk} | \mathbf{b}_{t-1, k} \sim \mathcal{N}(\mathbf{b}_{t-1, k} , \sigma^{2} \mathbf{1}_{V})

\mathbf{\pi}_{i, t} \sim \mathrm{Dir}(\alpha \mathbf{1}_{K})

q_{il, t} | \mathbf{\pi}_{i, t} \sim \mathrm{Cat}(\mathbf{\pi}_{i, t})

y_{il, t} | q_{il, t} = k, \mathbf{B}_{t} \sim \mathrm{Cat}(\mathcal{S}(\mathbf{b}_{k, t}))

이를 동적 토픽 모델이라 한다. 이는 구조화된 평균 장 법을 통해 근사적 추론을 수행할 수 있다.

27.4.3. LDA-HMM

잠재 디리클레 할당 모델은 단어들이 교환 가능하다는 전제를 하는데, 이는 사실이 아니다. 단어간의 순서적 의존성을 모델링하는 단순한 방법은 은닉 마르코프 모델을 쓰는 것이다. 다만 단거리 의존성만 모델링할 수 있다는 문제점은 있다. 그래서 문법적으로 올바른 문장을 생성할 수는 있으나 의미론적으로 알맞는 문장을 생성하기는 어렵다.

잠재 디리클레 할당 모델과 은닉 마르코프 모델을 결합해 LDA-HMM 모델을 만들 수 있다. 이는 은닉 마르코프 모델을 써서 함수나 구문적 단어를 모델링하고, 잠재 디리클레 할당 모델을 써서 의미론적 단어를 모델링한다. 조건부확률분포는 다음과 같다:

p(\mathbf{\pi}_{i}) = \mathrm{Dir}(\mathbf{\pi}_{i} | \alpha \mathbf{1}_{K})

p(q_{il} = k | \mathbf{\pi}_{i}) = \pi_{ik}

p(z_{il} = c^{\prime} | z_{i, l-1} = c) = A_{\mathrm{HMM}}(c, c^{\prime})

p(y_{il} = v | q_{il} = k, z_{il} = c) = B_{\mathrm{LDA}}(k, v) if c = 0, B_{\mathrm{HMM}}(c, v) otherwise

이 모델을 통한 추론은 붕괴된 깁스 샘플링을 통해 이루어질 수 있다. 이 모델은 또한 같은 단어가 의미론적으로 쓰였는지 구문론적으로 쓰였는지도 구분할 수 있게 해 준다.

27.4.4. Supervised LDA

잠재 디리클레 할당의 지도학습 버전은 어떻게 될까?

27.4.4.1. Generative supervised LDA

단어의 가변 길이 배열이 있지만 클래스 라벨도 있을 때 단어 배열로부터 클래스 라벨을 어떻게 추론해낼까? 감정 분석과 같은 과제에서는 먼저 추론을 수행해 단어의 의미를 구분한다. 이런 문제들을 다루는 하나의 방법은 p(c_{i}, \mathbf{y}_{i} | \mathbf{\theta}) 형태의 결합 모델을 형성하는 것이다. 이를 지도 잠재 디리클레 할당이라 한다. 이 때 클래스 라벨 c_{i}는 토픽들로부터 다음과 같이 형성된다.

p(c_{i} | \bar{\mathbf{q}}_{i}) = \mathrm{Ber}(\mathrm{sigm}(\mathbf{w}^{T} \bar{\mathbf{q}}_{i})) (\bar{\mathbf{q}}_{i}는 토픽 실측 분포)

이는 몬테 카를로 기대값 최대화로 피팅할 수 있다. E 단계에서는 붕괴 깁스 샘플링을 쓴다. 그리고 이를 일반적인 로지스틱 회귀의 입력으로 사용한다.

27.4.4.2. Discriminative supervised LDA

구별적 잠재 디리클레 할당이라고 알려진 모델은 p(\mathbf{y}_{i} | c_{i}, \mathbf{\theta})의 꼴로, 일반 잠재 디리클레 할당 모델에서 토픽 사전분포를 입력에 의존하게 만든 것이다. 즉, 다음의 사전분포를 쓴다.

p(q_{il} | \mathbf{\pi}_{i}, c_{i} = c, \mathbf{\theta}) = \mathrm{Cat}(\mathbf{A}_{c} \mathbf{\pi})

여기서 이미지 태깅 같은 작업들에서는 부가적 정보가 단순 범주 변수가 아니라 고차원 공분산이 되기도 한다. 간단한 방법으로는 전문가 혼합 모델을 쓰는 방법도 있다. 즉, \mathbf{\pi}_{i}에 대한 디리클레 사전분포를 입력에 대한 결정론적 함수 \mathbf{\pi}_{i} = \mathcal{S}(\mathbf{W} \mathbf{x}_{i})로 바꾸는 것이다. 이를 다항 회귀 잠재 디리클레 할당이라 하며, p(q_{il} | \mathbf{x}_{i}, \mathbf{W}) = \mathrm{Cat}(\mathcal{S}(\mathbf{W}\mathbf{x}_{i}))이 성립한다. 이는 기대값 최대화 법으로 피팅할 수 있다.

다른 대안도 있다. 비지도 잠재 디리클레 할당 모델을 \mathbf{y}_{i}로 피팅한 뒤, \mathbf{\pi}_{i}를 데이터로 간주하고 \mathbf{x}_{i}에서 \mathbf{\pi}_{i}로 매핑하는 다항 로지스틱 회귀 모델을 피팅하는 것이다. 이는 빠르지만, 잠재 디리클레 할당 모델을 비지도식으로 피팅했을 때 잠재 변수에 대한 구별적 집합이 된다는 보장이 없다는 단점이 있다. 또한, 한 태그의 값을 관측하더라도, 다른 태그의 값에 영향을 주지 않는다는 문제가 있다. 이 때 상호 연관을 주는 방법은 \mathbf{W}를 확률변수로 주는 것이다. 이를 무작위 효과 전문가 혼합 모델이라 한다. 이 때 \mathbf{W}_{i}에는 가우시안 사전분포를 준다. q_{il} 변수에 마르코프 동역학을 적용해 확장하는 것도 가능하며, 이를 조건적 토픽 무작위 장이라 한다.

디리클레 다항 회귀 잠재 디리클레 할당으로 알려진 다른 방법은 잠재 디리클레 할당과 비슷하나 \mathbf{\alpha}_{i} = e^{\mathbf{W}\mathbf{x}_{i}}로 놓는 것이다. 이 경우 \mathbf{\pi}_{i} \sim \mathrm{Dir}(e^{\mathbf{W}\mathbf{x}_{i}})를 얻는다.

\mathbf{x}_{i}가 이산적 라벨의 집합에 대응하고 \mathbf{\pi}_{i} \sim \mathrm{Dir}(\mathbf{\alpha} \odot \mathbf{x}_{i})의 형태를 갖는 것을 라벨 잠재 디리클레 할당이라 한다. 여기에 각 라벨이 복수의 잠재 부토픽들을 갖게 허용한 확장을 부분 라벨 잠재 디리클레 할당이라 한다.

27.4.4.3. Discriminative categorical PCA

잠재 디리클레 할당에 대한 대안은 범주 주성분 분석 모델을 입력에 확장하는 것이다. 잠재 공간이 실변수공간이므로 입력-은닉 매핑에 대해서는 단순 선형 회귀를 쓸 수 있다. 은닉-출력 매핑에 대해서는 범주 주성분 분석을 쓴다.

p(\mathbf{z}_{i} | \mathbf{x}_{i}, \mathbf{V}) = \mathcal{N}(\mathbf{V}\mathbf{x}_{i}, \mathbf{\Sigma})

p(\mathbf{y}_{i} | \mathbf{z}_{i}, \mathbf{W}) = \prod_{l} \mathrm{Cat}(y_{il} | \mathcal{S}(\mathbf{W} \mathbf{z}_{i}))

이는 은닉 층이 1개인 확률적 신경망과 같으나 출력이 교환 가능하다는 점이 다르다. 즉, y_{il}간 정보가 잠재 병목층 \mathbf{z}_{i}을 타고 전해질 수 있다는 것이다. 이는 출력 라벨이 상호 연관된 경우가 많을 때 일반적인 신경망보다 잘 동작한다. 이는 변분 기대값 최대화 알고리즘을 약간 수정해서 피팅할 수 있다. 또한, \mathbf{z}_{i}에 대한 사전분포를 가우시안의 혼합이 되도록 확장할 수도 있다.

27.5. LVMs for graph-structured data

그래프나 네트워크 구조를 모델링할 때 이산적 데이터가 쓰인다. 예를 들어, 그래프는 간선에 대해 인접 행렬 \mathbf{G}로 나타내어질 수 있다.

27.5.1. Stochastic block model

인접 행렬을 블록화해 분석하는 것을 추계적 블록 모델이라 한다. 각 노드에 잠재 블록을 샘플링하고 모든 그룹에 대해 그룹간의 연결성을 확률로 모델링한다. 이후, p(R_{ij} = r | q_{i} = a, q_{j} = b, \mathbf{\eta}) = \mathrm{Ber}(r | \eta_{a, b})로 간선을 생성한다. 이는 전통적인 클러스링터 문제와는 다르다.

일반적 혼합 모델과 다르게, 이는 정확한 기대값 최대화로 피팅할 수는 없다. 모든 잠재 변수가 상호 연관되어 있기 때문이다. 그 대신에 변분 기대값 최대화나 붕괴 깁스 샘플링 등을 쓰는 것은 가능하다. 디리클레 사전분포를 디리클레 과정으로 바꾸면 블록의 개수가 고정이 아니도록 할 수도 있다. 각 정점에 특성이 연관되어 있다면 이 모델에 대해 구별적 버전을 만들 수도 있다.

27.5.2. Mixed membership stochastic block model

각 노드가 한 클러스터에만 속해야 한다는 제한을 없앤 모델을 혼합 멤버십 추계적 블록 모델이라 한다. 이는 흐릿한 클러스터링 또는 부드러운 클러스터링과 비슷하다. 이 때 \pi_{ik}p(z_{i} = k | \mathcal{D})와 같지 않다. 전자는 존재론적 불확실성을 모델링하고 후자는 인식론적 불확실성을 모델링한다.

먼저, 각 노드가 블록상의 분포를 선택한다. \mathbf{\pi}_{i} \sim \mathcal{Dir}(\mathbf{\alpha}) 둘째로, 모든 그룹들의 쌍에 대해 그룹간 연결성의 확률을 선택한다. \eta_{a, b} \sim \beta(\alpha, \beta). 셋째로, 각 간선에 대해 2개의 이산적 변수를 샘플링한다. q_{i \to j} \sim \mathrm{Cat}(\mathbf{\pi}_{j}), q_{i \leftarrow j} \sim \mathrm{Cat}(\mathbf{\pi}_{j}) 마지막으로, 다음의 모델을 통해 각 간선을 생성한다. p(R_{ij} = 1 | q_{i \to j} = a, q_{i \leftarrow j} = b, \mathbf{\eta}) = \eta_{a, b}

일반적인 추계적 블록 모델과 다르게, 각 노드는 서로 다른 역할을 맡을 수 있다. 데이터가 유실되었을 때 문제가 생기는데, 이를 대처하기 위해서 모델을 p(R_{ij} = r | q_{i \to j} = a, q_{i \leftarrow j} = b, \mathbf{eta}) = \rho \delta_{0}(r) + (1 - \rho) \mathrm{Ber}(r | \eta_{a, b})로 수정해 이상치에 대응할 수 있다.

27.5.3. Relational topic model

관계형 토픽 모델에서는 네트워크 내 노드들이 특성을 갖도록 할 수 있다. 이는 지도 잠재 디리클레 할당의 단순한 확장으로, 잠재 변수 R_{ij}가 다음과 같이 모델링된다:

p(R_{ij} = 1 | \bar{\mathbf{q}}_{i}, \bar{\mathbf{q}}_{j}, \mathbf{\theta}) = \mathrm{sigm}(\mathbf{w}^{T} (\bar{\mathbf{q}}_{i} \otimes \bar{\mathbf{q}}_{j}) + w_{0})

이 때 R_{ij}는 실제 선택된 토픽에만 의존할 뿐, 토픽 분포에는 의존하지 않는다. 이 모델은 추계적 잠재 디리클레 할당 모델과 비슷하게 피팅될 수 있다.

27.6. LVMs for relational data

일반적으로, k진 관계는 k-튜플의 부분집합으로 정의된다: R \subseteq T_{1} \times \cdots \times T_{k} 이런 관계형 데이터에 대한 확률적인 모델을 만드는 것을 통계적 관계형 학습이라 부른다. 이를 그래프 모델을 통해 직접적으로 모델링하는 것을 확률적 관계형 모델링이라 부른다.

27.6.1. Infinite relational model

추계적 블록 모델을 관계형 데이터를 모델링하도록 확장하는 것은 쉽다. 이 때 디리클레 과정을 적용해 각 타입에 대한 클러스터의 수에 대한 제한을 풀 경우 이 모델을 무한 관계형 모델또는 무한 은닉 관계형 모델이라 한다. 이는 변분 베이즈나 붕괴 깁스 샘플링을 통해 피팅할 수 있다.

27.6.1.1. Learning ontologies

존재론은 지식의 조직이다. 이를 무한 관계형 모델로 학습할 수 있다.

27.6.1.2. Clustering based on relations and features

무한 관계형 모델을 사용해 오브젝트를 클러스터링할 수도 있다.

27.6.2. Probabilistic matrix factorization for collaborative filtering

협업 필터링은 관계 행렬 내의 인자들을 예측하는 작업이다. 여기에도 무한 관계형 모델을 쓸 수 있다. 또는 이산 잠재변수를 연속 잠재변수로 바꿔 p(R_{ij} = r | \mathbf{u}_{i}, \mathbf{v}_{j} ) = \mathcal{N}(r | \mathbf{u}_{i}^{T} \mathbf{v}_{j} , \sigma^{2})의 가능도를 쓸 수도 있다. 이를 확률적 행렬 분해(PMF)라 한다. 이는 특이값 분해와 밀접한 연관이 있다.

확률적 행렬 분해를 피팅하는 하는 가장 단순한 방법은 전체 음의 로그 가능도를 최소화하는 것이다.

J(\mathbf{U}, \mathbf{V}) = -\log p(\mathbf{R} | \mathbf{U}, \mathbf{V}, \mathbf{O}) = -\log (\prod_{i=1}^{N} \prod_{j=1}^{M} [\mathcal{N}(R_{ij} | \mathbf{u}_{i}^{T} \mathbf{v}_{j}, \sigma^{2})]^{\mathbf{1}_{O_{ij} = 1}})

이를 피팅할 때는 추계쩍 경사 하강법을 쓴다. 경사는 다음과 같다.

\frac{dJ}{d \mathbf{u}_{i}} = -\sum_{j : O_{ij} = 1} e_{ij} \mathbf{v}_{j} (e_{ij} = R_{ij} - \mathbf{u}_{i}^{T} \mathbf{v}_{j})

이 때 업데이트는 \mathbf{u}_{i} = \mathbf{u}_{i} + \eta e_{ij} \mathbf{v}_{j}와 같은 간단한 형태로 이루어진다.

단순히 가능도를 최대화하면 과적합되기 쉽다. 이를 위해, 가우시안 사전분포를 도입한다.

p(\mathbf{U}, \mathbf{V}) = \prod_{i} \mathcal{N}(\mathbf{u}_{i} | \mathbf{\mu}_{u}, \mathbf{\Sigma}_{u}) \prod_{j} \mathcal{N}(\mathbf{v}_{j} | \mathbf{\mu}_{v}, \mathbf{\Sigma}_{v})

원점 근처의 구형 사전분포를 사용하면 새 목적 함수는 다음과 같다.

J(\mathbf{U}, \mathbf{V}) = \sum_{i} \sum_{j} \mathbf{1}_{O_{ij} = 1} (R_{ij} - \mathbf{u}_{i}^{T} \mathbf{v}_{j})^{2} + \frac{\sigma^{2}}{\sigma_{U}^{2}} \sum_{i} \lVert \mathbf{u}_{i} \rVert_{2}^{2} + \sum_{j} \lVert \mathbf{v}_{j} \rVert_{2}^{2} + \mathrm{const}

사전분포의 공분산을 대각행렬로 사용한다면 각 잠재 차원에 대한 징벌치를 다르게 줄 수 있다. 또한, 사전분포의 평균을 원점이 아닌 다른 점으로 사용한다면 오프셋(편향) 항도 구현할 수 있다.

부가 정보가 여러 가지일 수도 있다. 정보가 없을 때에도 묵시적 피드백을 부가 정보처럼 쓸 수도 있다. 부가 정보를 수치적 형태로 얻을 수 없다면 가우시안 가능도를 베르누이 가능도로 치환해 모델을 적용할 수도 있다. 이 때 모델을 보정하기 위해 한 사용자가 본 모든 비디오의 집합을 쓰기도 한다 (인상 기록). 이 경우 이진 모델 대신 다항 모델을 사용한다.

27.7. Restricted Boltzmann machines (RBMs)

방향 그래프 대신 비방향그래프 모델을 사용한 예들을 알아보자. 볼츠만 기계는 은닉 노드 \mathbf{h}와 가측 노드 \mathbf{v}를 가진 쌍별 마르코프 무작위 장이다. 볼츠만 기계의 문제는 정확한 추론이 계산 가능하지 않고, 근사 추론도 느리다는 것이다. 하지만 노드를 층으로 만들어 같은 층 내 노드간 연결이 없도록 하면 모델은 다음의 형태가 된다:

p(\mathbf{h}, \mathbf{v} | \mathbf{\theta}) = \frac{1}{Z(\mathbf{\theta})} \prod_{r=1}^{R} \prod_{k=1}^{K} \phi_{rk} (v_{r}, h_{k})

이를 제한된 볼츠만 기계(RBM) 또는 하모니움이라 한다. 이는 전문가의 곱 모델의 특수 케이스로 볼 수 있다. 대개 은닉 노드들은 이진 변수가 된다. 이를 혼합 모델과 비교해 보면, 혼합 모델에서는 하나의 은닉 변수가 국소적 인코딩을 갖는데, 이는 뇌의 조부모 세포의 개념과 비슷하다. 반면에, 제한된 볼츠만 기계는 분산 인코딩을 갖는다. 또한, 은닉 변수가 가측 변수들에 대해 조건부 독립이라는 차이점도 있다. 그래서 사후분포는 p(\mathbf{h} | \mathbf{v}, \mathbf{\theta}) = \prod_{k} p(h_{k} | \mathbf{v}, \mathbf{\theta})로 인수분해된다. 이는 방향그래프모델에 비해 추론을 훨씬 쉽게 만들지만, 학습은 더 어렵다.

27.7.1. Varieties of RBMs

여러 제한된 볼츠만 기계의 변형을 다뤄보자. 이들은 지수족 하모니움의 특수 케이스들이다.

27.7.1.1. Binary RBMs

가장 흔한 형태는 이진 은닉 노드와 이진 가측 노드를 가진 형태이다. 이 떄 결합분포는 다음과 같다.

p(\mathbf{v}, \mathbf{h} | \mathbf{\theta}) = \frac{1}{Z(\mathbf{\theta})} e^{-E(\mathbf{v}, \mathbf{h} ; \mathbf{\theta})}

E(\mathbf{v}, \mathbf{h} ; \mathbf{\theta}) = -(\mathbf{v}^{T} \mathbf{W} \mathbf{h} + \mathbf{v}^{T} \mathbf{b} + \mathbf{h}^{T} \mathbf{c})

Z(\mathbf{\theta}) = \sum_{\mathbf{v}} \sum_{\mathbf{h}} e^{-E(\mathbf{v}, \mathbf{h} ; \mathbf{\theta})}

이 때 Z(\mathbf{\theta})를 계산하는 데는 O(2^{R}2^{K}) 시간이 들지만, 이를 O(\min \{R2^{K}, K2^{R}\}) 시간으로 줄일 수 있다.

이 때 사후분포는 다음과 같다.

p(\mathbf{h} | \mathbf{v}, \mathbf{\theta}) = \prod_{k} \mathrm{Ber}(h_{k} | \mathrm{sigm}(\mathbf{w}_{:, k}^{T} \mathbf{v}))

p(\mathbf{v} | \mathbf{h}, \mathbf{\theta}) = \prod_{r} \mathrm{Ber}(v_{r} | \mathrm{sigm}(\mathbf{w}_{r, :}^{T} \mathbf{h}))

이 때 \mathbf{W}생성적 가중치, \mathbf{W}^{T}인지적 가중치라 한다.

27.7.1.2. Categorical RBM

범주 제한된 볼츠만 기계에서는 에너지 함수와 조건분포는 다음과 같다.

E(\mathbf{v}, \mathbf{h}; \mathbf{\theta}) = -\sum_{r=1}^{R} \sum_{k=1}^{K} \sum_{c=1}^{C} v_{r, c}h_{k} w_{rk, c} - \sum_{R=1}^{R} \sum_{c=1}^{C} v_{r, c} b_{r, c} - \sum_{k=1}^{K} h_{k} c_{k}

p(v_{r} | \mathbf{h}, \mathbf{\theta}) = \mathrm{Cat}(\mathcal{S}(\{b_{r, c} + \sum_{k} h_{k} w_{rk, c}\}_{c=1}^{C}))

p(h_{k} = 1 | \mathbf{c}, \mathbf{\theta}) = \mathrm{sigm}(c_{k} + \sum_{r} \sum_{c} v_{r, c} w_{rk, c})

27.7.1.3. Gaussian RBM

가우시안 제한된 볼츠만 기계는 다음의 에너지 함수를 갖는다.

E(\mathbf{v}, \mathbf{h} | \mathbf{\theta}) = -\sum_{r=1}^{R} \sum_{k=1}^{K} w_{rk} h_{k} v_{r} - \frac{1}{2} \sum_{r=1}^{R} (v_{r} - b_{r})^{2} - \sum_{k=1}^{K} a_{k} h_{k}

조건분포는 다음과 같다.

p(v_{r} | \mathbf{h}, \mathbf{\theta}) = \mathcal{N}(v_{r} | b_{r} + \sum_{k} w_{rk}h_{k}, 1)

p(h_{k} = 1 | \mathbf{v}, \mathbf{\theta}) = \mathrm{sigm}(c_{k} + \sum_{r} w_{rk} v_{r})

27.7.1.4. RBMs with Gaussian hidden units

은닉 변수를 가우시안으로 쓰면 인자 분석의 비방향그래프모델 버전을 얻는다. 은닉 변수를 가우시안, 가측 변수를 범주 변수를 쓰면 범주 주성분 분석의 비방향그래프모델 버전을 얻는다. 하지만 이는 성능이 나쁘다.

27.7.2. Learning RBMs

제한된 볼츠만 기계를 학습할 때는 대개 추계적 경사 하강법을 쓴다.

27.7.2.1. Deriving the gradient using p(\mathbf{h}, \mathbf{v} | \mathbf{\theta})

경사는 다음과 같다.

\frac{\partial l}{\partial w_{rk}} = \frac{1}{N} \sum_{i=1}^{N} \mathbb{E}[v_{r} h_{k} | \mathbf{v}_{i}, \mathbf{\theta}] - \mathbb{E}[v_{r} h_{k} | \mathbf{\theta}]

첫째 항은 고정차, 둘쨰 항은 비고정차로 불린다. 모델 기대값이 실측 기대값과 일치해지는 시점에서 두 항은 같아지고 경사가 0이 되어 학습이 끝난다.

27.7.2.2. Deriving the gradient using p(\mathbf{v} | \mathbf{\theta})

다른 방식으로 위의 식을 유도할 수도 있다. 이 때 자유 에너지의 성질을 이용한다.

27.7.2.3. Approximating the expectations

블록 깁스 새플링을 이용해 경사를 구하는 데 쓰이는 기대값을 근사할 수 있다. 즉, p(\mathbf{v}, \mathbf{h} | \mathbf{\theta})로부터 샘플링을 할 때, vv_{1}에서 연쇄를 초기화하고, \mathbf{h}_{1} \sim p(\mathbf{h} | \mathbf{v}_{1})을 샘플링하고, \mathbf{v}_{2} \sim p(\mathbf{v} | \mathbf{h}_{1})을 샘플링하고, 이를 반복한다. 더 빠른 대안은 평균 장 법을 사용하는 것이지만, 대개 p(\mathbf{v}, \mathbf{h})는 최빈값을 여러 개 가지므로 이는 대개 매우 나쁜 근사가 된다.

27.7.2.4. Contrastive divergence

깁스 샘플링을 이용해 경사를 구하는 것은 느리다는 단점이 있다. 더 빠른 방법으로 대조 발산(CD)이 있다. 이는 경사를 다음과 같이 근사한다.

\nabla_{\mathbf{w}} l \simeq \mathbb{E}[\mathbf{v}\mathbf{h}^{T} | \mathbf{v}_{i}] - \mathbb{E}_{q} [\mathbf{v} \mathbf{h}^{T}]

이후 이를 반복한다.

\mathbf{h}_{i} \sim p(\mathbf{h} | \mathbf{v}_{i}, \mathbf{\theta})

\mathbf{v}_{i}^{\prime} \sim p(\mathbf{v} | \mathbf{h}_{i}, \mathbf{\theta})

\mathbf{h}_{i}^{\prime} \sim p(\mathbf{h} | \mathbf{v}_{i}^{\prime}, \mathbf{\theta})

이후 다음의 근사를 얻는다. \mathbb{E}_{q} [\mathbf{v} \mathbf{h}^{T}] \simeq \mathbf{v}_{i} (\mathbf{h}_{i}^{\prime})^{T}

이러한 표본들은 환상 데이터로 불린다. 이 때 \mathbf{V}_{i}^{\prime}\mathbf{v}_{i}를 재구성하기 위한 최고의 시도라고 볼 수 있다. 이는 자가인코더를 학습하는 방식과 유사하다. 실제로는 \mathbf{h}_{i}^{\prime} 대신 \mathbb{E} [\mathbf{h} | \mathbf{v}_{i}^{\prime}] 을 쓰기도 한다. 단, \mathbb{E}[\mathbf{h} | \mathbf{v}_{i}]을 쓰는 것은 올바르지 못하다는 것을 유념할 필요가 있다.

27.7.2.5. Persistent CD

지속 대조 발산이라는 알고리즘은 대조 발산을 변형한 것으로서, 평균 장 업데이트와 마르코프 연쇄 몬테 카를로 업데이트, 매개벼수 업데이트를 독립적으로 수행한다. 그럼으로써 상태는 빨리 변하게 하고, 매개변수는 느리게 변하게 함으로써 둘의 변화를 독립적으로 유지시킨다.

27.7.3. Applications of RBMs

제한된 볼츠만 기계의 용례는 심층 생성적 모델의 구성 요소로 쓰는 것이지만, 방향 2층 모델의 대안으로 쓸 수도 있다.

27.7.3.1. Language modeling and document retrieval

범주 제한된 볼츠만 기계를 언어 모델링 또는 문서 검색에 쓸 수 있다. 이를 복제 소프트맥스 모델이라 부른다. 이는 잠재 디리클레 모델에 비해 추론이 빠르고 정확하다는 이점을 갖는다.

27.7.3.2. RBMs for collaborative filtering

협업 필터링에도 제한된 볼츠만 기계를 쓸 수 있다.

요점 정리

  • 이산적인 데이터에 대한 잠재 변수 모델에는 여러 가지가 있다.
  • 첫째로는 이산 데이터에 대한 잠재 변수 모델을 활용 가능하다.
  • 또 널리 쓰이는 모델로는 잠재 디리클레 할당이 있다.
  • 잠재 디리클레 할당 모델의 여러 확장이 존재한다.
  • 그래프형 모델에 대해 잠재 변수 모델을 적용할 수 있다.
  • 관계형 데이터에 대해 잠재 변수 모델을 적용할 수 있다.
  • 비방향그래프 버전으로 제한된 볼츠만 기계가 쓰인다.