SlideShare a Scribd company logo
1 of 31
Download to read offline
Energy-Based Models 
and Boltzmann Machines 
Learning Deep Architectures for AI - Ch 5
목차 
● Energy-Based Models 
● Boltzmann Machines 
● Restricted Boltzmann Machines 
● Contrastive Divergence 
● Examples
Energy-Based Models 
Definition 
● 각 상태(x)에 대해 에너지를 정의하고, 모든 원하는 상태들의 에너지가 최소 
가 되도록 에너지 함수의 파라미터들을 학습하는 모델 
● 에너지 기반의 확률 모델에서는 에너지 함수를 이용해 확률 분포를 다음과 
같이 정의 
○ 자연계(물리학)에서의 볼츠만 분포 법칙을 신경망에 적용한 것 
○ 이 관점에서 본다면 뉴런은 볼츠만 분포 하에서 운동하는 분자라고 볼 수 있고 뉴 
런의 state는 분자의 에너지 상태라고 해석할 수 있다
Energy-Based Models 
Introducing Hidden Variables 
● 모델의 표현력(expressive power)을 증가시키기 위해 관측되지 않는 (non-observed) 
변수들을 추가하면 확률 분포를 아래와 같이 쓸 수 있음
Energy-Based Models 
Free Energy 
● 확률 분포를 아래와 같은 형태로 만들기 위해 자유 에너지(Free Energy)라 
는 개념을 도입한다. 
○ 즉, hidden 변수들이 포함된 확률 모델을 간단히 다루기 위한 수학적 테크닉으로 
이해하면 된다. 
○ 대부분의 설명에서는 이처럼 수학적 테크닉으로써의 자유 에너지를 설명하는데 
그 이름은 물리학에서 말하는 깁스의 자유 에너지에서 이름을 가져왔다고 한다. 
● 자유 에너지를 계산하면 다음과 같은 형태가 된다.
Energy-Based Models 
Log-likelihood gradient 
● EBM은 데이터의 log-likelihood를 이용해서 gradient descent 방법으로 학습 
가능하다. 
● Log-likelihood를 계산하면 다음과 같다. (계산 생략) 
○ 첫번째 항은 input vector(x)가 주어졌을 때 쉽게 구할 수 있지만 두번째 항은 모든 
가능한 input에 대해 계산해야 하므로 정확하게 계산하는 것은 시간이 매우 오래 
걸린다.
Energy-Based Models 
Average log-likelihood gradient 
● 앞서 구한 Log-likelihood의 Average를 구하면 다음과 같다. (이 논문에서의 
표현) 
○ ^P 는 traing set에 의해 경험적으로 결정되는 분포(empirical distribution)를 의미 
한다. 
○ P는 모델 자체의 분포를 의미한다. 에너지의 관점에서 본다면 모델이 에너지 평 
형 상태에 있을 때의 분포라고 해석할 수 있음. 
● 많은 논문과 튜토리얼에서는 위 식을 알아보기 쉽게 다음과 같이 표현한다.
Energy-Based Models 
The idea of stochastic estimator of the log-likelihood gradient 
● EBM의 학습을 위해서는 위 식의 두 번째 항을 빠르게 계산해야 한다. 
● 만약 모델의 분포 P로부터 샘플링을 해서 자유 에너지를 빠르게 (tractably) 
계산할 수 있다면 Monte-Carlo 방법을 사용해서 gradient 값을 추정할 수 있 
다.
Energy-Based Models 
Approach overview 
● 모델에 맞는 에너지 함수 정의 
● (Hidden unit이 있다면) 자유 에너지 정의 
● 에너지 함수로부터 확률 분포 전개 
● Log-likelihood gradient 전개 
● MCMC method를 이용해 모델의 기대값을 계산하고 결과적으로 gradient 
추정
Boltzmann Machines 
Definition 
● Boltzmann Machine 은 hidden unit을 추가한 EBM의 특별한 형태이다. 또 
MRF(Markov Random Field, Markov Network)의 일종이기도 하다. 
● Unit들간의 연결에 제약이 없이 모두 연결될 수 있는 모델이다.
Boltzmann Machines 
Energy Function 
● 에너지 함수는 아래와 같다. 
● 이 에너지 함수는 어떻게 정의된 것일까? 
○ BM의 에너지 함수는 Hopfield Network와 Ising Model로부터 정의된다(고 한다..). 
BM & RBM 뿐만 아니라 RBM의 변형, 다른 EBM은 대부분 자연(물리학, 열역학 
등)을 모델링하는 것으로부터 얻어진다.
Boltzmann Machines 
Problems 
● 모델이 대칭적이고 유닛이 Binary Unit이라는 가정 하에 EBM에서 했던 논 
의를 그대로 이어나갈 수 있다. 
● 즉, 에너지로부터 확률을 구하고 Log-likelihood gradient를 계산한 다음 
MCMC Sampling을 통해 stochastic 하게 gradient를 추정할 수 있다. 
○ 뒤에 RBM에서 자세히 다룰 것이다. 
● 하지만 Stochastic하게 gradient를 추정한다고 해도 너무 많은 (제약이 없는) 
연결때문에 일반적으로 계산이 비싸고 오래 걸린다. 
○ 에너지 평형 상태의 표본을 수집하는 시간이 모델의 사이즈, 연결 강도의 크기에 
대해 지수적으로 증가한다.
Restricted Boltzmann Machines 
Definition 
● 기존의 BM에서 유닛들간의 연결에 특별한 제한을 걸어 학습 시간을 크게 
줄여 실질적인 사용이 가능하도록 변형한 신경망 
● visible layer 1개, hidden layer 1개로 구성된 완전 이분 그래프 모델로 
visible-visible, hidden-hidden 유닛들간의 연결이 없음 
○ BM의 식에서 U와 V가 0벡터
Restricted Boltzmann Machines 
Energy, Free Energy 
● RBM에서는 에너지가 다음과 같이 정의된다. 
● RBM도 EBM의 일종이기 때문에 FreeEnergy와 Distribution은 그대로 따라 
간다. 
○ 여전히 Partition function Z는 intractable하다.
Restricted Boltzmann Machines 
Conditional Distribution 
● RBM의 구조에 의해 input이 주어지면 hidden unit들 간에는 conditionally 
independent하며 그 역도 동일하게 성립 
○ 이 속성이 계산 시간을 크게 줄여주는 이유가 됨
Restricted Boltzmann Machines 
RBMs with Binary units 
● Binary unit이라고 가정하면 P(h|x) 식을 전개하고 conditionally independent 
하다는 속성을 이용해 P(h_i = 1|x) 을 얻을 수 있음. 그 역도 마찬가지. (계산 
생략) 
○ 이 두 식은 뒤에서 Sampling을 할 때의 update rule이 된다. 
○ 각 unit이 0과 1 사이의 실수값인 경우로 확장한 것이 Gaussian-Bernoulli RBM 
(GBRBM) 이다.
Restricted Boltzmann Machines 
Negative Log-likelihood gradient 
● 학습을 위해 Negative Log-likelihood gradient를 계산하면 다음과 같다. 
● 첫번째 항을 positive phase, 두번째 항을 negative phase라고 한다.앞서 논 
의와 마찬가지로 negative phase는 계산하기 어렵다. 
○ RBM에서는 Sampling을 통해 값을 추정한다.
Restricted Boltzmann Machines 
Update Equations with Binary Units 
● RBM의 에너지 함수로부터 각 파라미터에 대한 편미분을 계산하면 다음과 
같다. 
○ 에너지 함수가 선형이기 때문에 미분값이 매우 간단해진다. 
● RBM의 최종적인 Update Equation을 다음과 같이 얻을 수 있다.
Restricted Boltzmann Machines 
Gibbs Sampling in RBMs 
● 두 확률 변수의 조건부 확률 분포가 주어졌으므로 Gibbs Sampling을 통해 
서 모델 자체의 분포에 의한 표본을 수집할 수 있다. 
○ 임의의 데이터에서 출발해서 표집을 하면 초기에는 처음 값에 의존하지만 충분한 
시간이 지난 후에는 초기 상태에 관계없이 모델 자체에 기반한 표본을 수집할 수 
있다. 
● 에너지 관점에서 설명하면 Gibbs Sampling을 충분히 많이 하면 RBM이 에 
너지 평형 상태에 도달하게 된다.
Contrastive Divergence 
Definition 
● negative phase를 모든 가능한 입력 데이터에 대한 기대값으로 계산하지 않 
고 모델의 에너지 평형 상태에서의 샘플값 하나로만 근사한다. 
○ 모델이 에너지 평형 상태에 있다면 그 때의 샘플값은 평균에 가까울 가능성이 높 
기 때문에 Reasonable 하다. 
● Gibbs Sampling을 이용해 샘플을 얻는다. 
● Update rule을 다음과 같이 다시 쓸 수 있다.
Contrastive Divergence 
CD-k with Alternative Gibbs Sampling [Hinton 02] 
● Gibbs Sampling의 시작을 임의의 값이 아니라 training data로 한다. 
● Gibbs Sampling을 무한번 하지 않고 k번만 한다. 
● 실질적으로는 1번만 해도 충분히 좋은 샘플을 얻을 수 있다. 
○ Training을 할수록 모델이 가지는 분포는 training set의 분포를 따라간다. 즉, 
training data가 이미 모델의 분포를 어느 정도 표현하고 있다는 것이다. 따라서 
training data로부터 샘플링을 시작하면 이미 어느 정도 수렴된 지점부터 샘플링 
을 시작하는 것이라고 볼 수 있어서 1번만에 좋은 샘플을 얻을 수 있다. 
● 1번 샘플링해서 얻어진 visible data를 reconstrunction이라고 하고 트레이닝 
이 제대로 되고 있다면 reconstruction error가 감소한다. 즉, 이상적인 RBM 
은 input data를 집어넣으면 동일한 reconstruction visible data를 얻을 수 있 
다.
Contrastive Divergence 
persistent CD [Tieleman 08] 
● Gibbs Sampling을 할 때 기존 CD-k 에서는 매번 각각의 training data에 대 
해 샘플링하지만 persistent CD에서는 이전 Gibbs Sampling에서 계산된 
data (reconstruction data)를 다음 번 Sampling의 시작으로 사용한다. 즉, 첫 
번째 training data가 persistent chain의 시작이 되고 전번의 Gibbs Sampling 
결과를 다음 번 training의 시작으로 사용하여 Chain을 이어나간다. 
○ 이렇게 Chain을 이어 나가면 무한번 Sampling하는 것과 비슷해지는 효과를 갖게 
된다. 물론 매 Gibbs Sampling마다 파라미터가 Update 되어서 모델이 변하긴 하 
지만 매우 작은 값이기 때문에 근사적으로 성립한다.
Examples 
Unsupervised Learning 
● Feature Extractor 
● 다른 Supervised Learning의 pre-training 
○ Deep Belief Network [Hinton Neural Computation 06] 
○ Deep Auto-Encoder [Hinton Science 06] 
● Collaborative Filtering (Netflix Prize 2007 winner) [Salakhutdinov 07] 
○ Conditional RBM (with Gaussian Unit) 
○ Conditional Factored RBM 
● Generator (Human motion modeling) [Taylor 06] 
○ Conditional RBM
Examples 
Supervised Learning 
● Classifier [Larochelle 08] 
○ Classification RBM 
○ Discriminitive RBM 
○ Hybrid Discriminitive RBM
Examples - Feature Extractor 
MNIST [Larochelle 09]
Examples - Feature Extractor 
MNIST [Larochelle 09] 
● 각 Hidden Unit에 연결된 Weight를 그린 것. Input으로부터 Edge(펜스트로 
크)를 뽑아낸다고 해석할 수 있음.
Examples - Recommender [Edwin Chen] 
Modeling 
● 6 visible units (movies), 2 hidden units (latent factors) 
● Binary units (영화를 좋아하면 1, 아니면 0)
Examples - Recommender [Edwin Chen] 
Training data 
● Alice: (Harry Potter = 1, Avatar = 1, LOTR 3 = 1, Gladiator = 0, Titanic = 0, Glitter = 0) 
● Bob: (Harry Potter = 1, Avatar = 0, LOTR 3 = 1, Gladiator = 0, Titanic = 0, Glitter = 0) 
● Carol: (Harry Potter = 1, Avatar = 1, LOTR 3 = 1, Gladiator = 0, Titanic = 0, Glitter = 0) 
● David: (Harry Potter = 0, Avatar = 0, LOTR 3 = 1, Gladiator = 1, Titanic = 1, Glitter = 0) 
● Eric: (Harry Potter = 0, Avatar = 0, LOTR 3 = 1, Gladiator = 1, Titanic = 1, Glitter = 0) 
● Fred: (Harry Potter = 0, Avatar = 0, LOTR 3 = 1, Gladiator = 1, Titanic = 1, Glitter = 0) 
Training Results
Examples - Recommender [Edwin Chen] 
Latent factors 
● Hidden 1은 Oscar winner 작품에 대한 선호를 나타내고 Hidden 2는 
SF/fantasy 장르 영화에 대한 선호를 나타내는 Unit이라고 볼 수 있다. 
● 즉, Training을 통해 Hidden 1은 Oscar winners 라는 Feature를 학습하였고 
Hidden 2는 SF/fantasy 장르라는 Feature를 학습하였다. 
State Activation 
● 만약 어떤 사람이 6개의 영화에 대한 선호를 입력하면 RBM은 그 사람의 선 
호 성향을 말해줄 수 있다. 
● 어떤 사람이 SF/fantasy 장르를 좋아한다고 하면 RBM은 그 사람이 좋아할 
만한 영화를 추천해줄 수 있다.
Examples - Recommender [Edwin Chen] 
Stochastic property 
● RBM은 stochastic neural network이다. 
● 즉, 어떤 사람이 해리포터, 반지의 제왕, 아바타를 모두 좋아한다고 해서 반 
드시 Hidden 2 (SF/fantasy unit) 가 on 되는 것은 아니라는 것이다. 그럴 가 
능성은 크지만. 
● 반대로, 어떤 사람이 SF/fantasy 장르를 선호한다고 해도 해리포터, 반지의 
제왕, 아바타 unit이 모두 on 되지 않을 수도 있다. 
Models of people in the messy (?) 
● 이러한 속성은 오히려 현실을 더 잘 모델링할 수도 있다. 
● 예를 들면 SF/fantasy 장르를 선호하는 사람이 (어떤 다른 이유때문에 = 적 
당히 낮은 확률로) 해리포터는 좋아하지 않을 수도 있다. 
● 또 어떤 사람이 해리포터, 반지의 제왕, 아바타를 모두 좋아한다면 
SF/fantasy 영화를 좋아할 가능성은 매우 높으나 무조건 SF/fantasy를 좋아 
하는 사람이라고 단정지을 수는 없다.
References 
● [Bengio 09] Learning Deep Architectures for AI 
● [Deeplearning.net] Deep learning tutorial - RBM 
● [Hinton 02] Training Products of Experts by Minimizing Contrastive Divergence 
● [Tieleman 08] Training Restricted Boltzmann Machines using Approximations to the 
Likelihood Gradient 
● [Larochelle 09] Exploring Strategies for Training Deep Neural Networks 
● [Hinton Neural Computation 06] A Fast Learning Algorithm for Deep Belief Network 
● [Hinton Science 06] Reducing the Dimensionality of Data with Neural Networks 
● [Salakhutdinov 07] Restricted Boltzmann machines for collaborative filtering 
● [Taylor 06] Modeling Human Motion Using Binary Latent Variables 
● [Larochelle 08] Classification using Discriminative Restricted Boltzmann Machines 
● [Edwin Chen] Introduction Restricted Boltzmann Machines

More Related Content

What's hot

[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient DescentDeep Learning JP
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法Satoshi Hara
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 ISungbin Lim
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データemonosuke
 
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2Daiki Shimada
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural NetworksSeiya Tokui
 
[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...
[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...
[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...Deep Learning JP
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...Deep Learning JP
 
DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向Naoki Matsunaga
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリングKosei ABE
 
PRML輪読#13
PRML輪読#13PRML輪読#13
PRML輪読#13matsuolab
 
Pixel RNN to Pixel CNN++
Pixel RNN to Pixel CNN++Pixel RNN to Pixel CNN++
Pixel RNN to Pixel CNN++Dongheon Lee
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embeddingtaeseon ryu
 

What's hot (20)

[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データ
 
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks
 
[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...
[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...
[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Reco...
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
 
PRML 第14章
PRML 第14章PRML 第14章
PRML 第14章
 
Deep sets
Deep setsDeep sets
Deep sets
 
PRML 5.5
PRML 5.5PRML 5.5
PRML 5.5
 
DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
PRML輪読#13
PRML輪読#13PRML輪読#13
PRML輪読#13
 
Pixel RNN to Pixel CNN++
Pixel RNN to Pixel CNN++Pixel RNN to Pixel CNN++
Pixel RNN to Pixel CNN++
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
 
強化学習3章
強化学習3章強化学習3章
強化学習3章
 

Viewers also liked

Brief Introduction to Boltzmann Machine
Brief Introduction to Boltzmann MachineBrief Introduction to Boltzmann Machine
Brief Introduction to Boltzmann MachineArunabha Saha
 
P05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for visionP05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for visionzukun
 
Basic Understanding of the Deep
Basic Understanding of the DeepBasic Understanding of the Deep
Basic Understanding of the DeepMad Scientists
 
Searching for magic formula by deep learning
Searching for magic formula by deep learningSearching for magic formula by deep learning
Searching for magic formula by deep learningJames Ahn
 
Paper Reading : Learning from simulated and unsupervised images through adver...
Paper Reading : Learning from simulated and unsupervised images through adver...Paper Reading : Learning from simulated and unsupervised images through adver...
Paper Reading : Learning from simulated and unsupervised images through adver...정훈 서
 
Deep Belief Networks
Deep Belief NetworksDeep Belief Networks
Deep Belief NetworksHasan H Topcu
 
랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치Lee Seungeun
 
랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorial랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorialLee Seungeun
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)Lee Seungeun
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016Taehoon Kim
 
Tutorial on Deep learning and Applications
Tutorial on Deep learning and ApplicationsTutorial on Deep learning and Applications
Tutorial on Deep learning and ApplicationsNhatHai Phan
 

Viewers also liked (12)

Brief Introduction to Boltzmann Machine
Brief Introduction to Boltzmann MachineBrief Introduction to Boltzmann Machine
Brief Introduction to Boltzmann Machine
 
P05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for visionP05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for vision
 
Basic Understanding of the Deep
Basic Understanding of the DeepBasic Understanding of the Deep
Basic Understanding of the Deep
 
restrictedboltzmannmachines
restrictedboltzmannmachinesrestrictedboltzmannmachines
restrictedboltzmannmachines
 
Searching for magic formula by deep learning
Searching for magic formula by deep learningSearching for magic formula by deep learning
Searching for magic formula by deep learning
 
Paper Reading : Learning from simulated and unsupervised images through adver...
Paper Reading : Learning from simulated and unsupervised images through adver...Paper Reading : Learning from simulated and unsupervised images through adver...
Paper Reading : Learning from simulated and unsupervised images through adver...
 
Deep Belief Networks
Deep Belief NetworksDeep Belief Networks
Deep Belief Networks
 
랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치
 
랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorial랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorial
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
Tutorial on Deep learning and Applications
Tutorial on Deep learning and ApplicationsTutorial on Deep learning and Applications
Tutorial on Deep learning and Applications
 

Similar to Energy based models and boltzmann machines

The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsLee Gyeong Hoon
 
Restricted Boltzmann Machine
Restricted Boltzmann MachineRestricted Boltzmann Machine
Restricted Boltzmann MachineJungwon Kim
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
SAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxSAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxssuser4b2fe7
 
Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)Kiho Hong
 
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2jdo
 
대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크Sunggon Song
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentationtaeseon ryu
 
14장 입자 시스템과 스트림 출력.pptx
14장 입자 시스템과 스트림 출력.pptx14장 입자 시스템과 스트림 출력.pptx
14장 입자 시스템과 스트림 출력.pptxHolyTak
 
K means 알고리즘을 이용한 영화배우 클러스터링
K means 알고리즘을 이용한 영화배우 클러스터링K means 알고리즘을 이용한 영화배우 클러스터링
K means 알고리즘을 이용한 영화배우 클러스터링Edward Yoon
 
Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역jdo
 
"From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ..."From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ...LEE HOSEONG
 
230806_캡스톤디자인 경진대회.pptx
230806_캡스톤디자인 경진대회.pptx230806_캡스톤디자인 경진대회.pptx
230806_캡스톤디자인 경진대회.pptxssuserab765f
 
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기라한사 아
 
Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAMEdwardIm1
 
PR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksPR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksKyunghoon Jung
 
Effective c++ 3
Effective c++ 3Effective c++ 3
Effective c++ 3현찬 양
 

Similar to Energy based models and boltzmann machines (20)

The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnets
 
Restricted Boltzmann Machine
Restricted Boltzmann MachineRestricted Boltzmann Machine
Restricted Boltzmann Machine
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
SAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxSAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptx
 
Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)
 
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
 
대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크대칭가중치와 심층신뢰네트워크
대칭가중치와 심층신뢰네트워크
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
 
14장 입자 시스템과 스트림 출력.pptx
14장 입자 시스템과 스트림 출력.pptx14장 입자 시스템과 스트림 출력.pptx
14장 입자 시스템과 스트림 출력.pptx
 
K means 알고리즘을 이용한 영화배우 클러스터링
K means 알고리즘을 이용한 영화배우 클러스터링K means 알고리즘을 이용한 영화배우 클러스터링
K means 알고리즘을 이용한 영화배우 클러스터링
 
Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역
 
Review MLP Mixer
Review MLP MixerReview MLP Mixer
Review MLP Mixer
 
"From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ..."From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ...
 
230806_캡스톤디자인 경진대회.pptx
230806_캡스톤디자인 경진대회.pptx230806_캡스톤디자인 경진대회.pptx
230806_캡스톤디자인 경진대회.pptx
 
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기
 
Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAM
 
Deep learning overview
Deep learning overviewDeep learning overview
Deep learning overview
 
PR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksPR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural Networks
 
Effective c++ 3
Effective c++ 3Effective c++ 3
Effective c++ 3
 

Recently uploaded

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 

Recently uploaded (8)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 

Energy based models and boltzmann machines

  • 1. Energy-Based Models and Boltzmann Machines Learning Deep Architectures for AI - Ch 5
  • 2. 목차 ● Energy-Based Models ● Boltzmann Machines ● Restricted Boltzmann Machines ● Contrastive Divergence ● Examples
  • 3. Energy-Based Models Definition ● 각 상태(x)에 대해 에너지를 정의하고, 모든 원하는 상태들의 에너지가 최소 가 되도록 에너지 함수의 파라미터들을 학습하는 모델 ● 에너지 기반의 확률 모델에서는 에너지 함수를 이용해 확률 분포를 다음과 같이 정의 ○ 자연계(물리학)에서의 볼츠만 분포 법칙을 신경망에 적용한 것 ○ 이 관점에서 본다면 뉴런은 볼츠만 분포 하에서 운동하는 분자라고 볼 수 있고 뉴 런의 state는 분자의 에너지 상태라고 해석할 수 있다
  • 4. Energy-Based Models Introducing Hidden Variables ● 모델의 표현력(expressive power)을 증가시키기 위해 관측되지 않는 (non-observed) 변수들을 추가하면 확률 분포를 아래와 같이 쓸 수 있음
  • 5. Energy-Based Models Free Energy ● 확률 분포를 아래와 같은 형태로 만들기 위해 자유 에너지(Free Energy)라 는 개념을 도입한다. ○ 즉, hidden 변수들이 포함된 확률 모델을 간단히 다루기 위한 수학적 테크닉으로 이해하면 된다. ○ 대부분의 설명에서는 이처럼 수학적 테크닉으로써의 자유 에너지를 설명하는데 그 이름은 물리학에서 말하는 깁스의 자유 에너지에서 이름을 가져왔다고 한다. ● 자유 에너지를 계산하면 다음과 같은 형태가 된다.
  • 6. Energy-Based Models Log-likelihood gradient ● EBM은 데이터의 log-likelihood를 이용해서 gradient descent 방법으로 학습 가능하다. ● Log-likelihood를 계산하면 다음과 같다. (계산 생략) ○ 첫번째 항은 input vector(x)가 주어졌을 때 쉽게 구할 수 있지만 두번째 항은 모든 가능한 input에 대해 계산해야 하므로 정확하게 계산하는 것은 시간이 매우 오래 걸린다.
  • 7. Energy-Based Models Average log-likelihood gradient ● 앞서 구한 Log-likelihood의 Average를 구하면 다음과 같다. (이 논문에서의 표현) ○ ^P 는 traing set에 의해 경험적으로 결정되는 분포(empirical distribution)를 의미 한다. ○ P는 모델 자체의 분포를 의미한다. 에너지의 관점에서 본다면 모델이 에너지 평 형 상태에 있을 때의 분포라고 해석할 수 있음. ● 많은 논문과 튜토리얼에서는 위 식을 알아보기 쉽게 다음과 같이 표현한다.
  • 8. Energy-Based Models The idea of stochastic estimator of the log-likelihood gradient ● EBM의 학습을 위해서는 위 식의 두 번째 항을 빠르게 계산해야 한다. ● 만약 모델의 분포 P로부터 샘플링을 해서 자유 에너지를 빠르게 (tractably) 계산할 수 있다면 Monte-Carlo 방법을 사용해서 gradient 값을 추정할 수 있 다.
  • 9. Energy-Based Models Approach overview ● 모델에 맞는 에너지 함수 정의 ● (Hidden unit이 있다면) 자유 에너지 정의 ● 에너지 함수로부터 확률 분포 전개 ● Log-likelihood gradient 전개 ● MCMC method를 이용해 모델의 기대값을 계산하고 결과적으로 gradient 추정
  • 10. Boltzmann Machines Definition ● Boltzmann Machine 은 hidden unit을 추가한 EBM의 특별한 형태이다. 또 MRF(Markov Random Field, Markov Network)의 일종이기도 하다. ● Unit들간의 연결에 제약이 없이 모두 연결될 수 있는 모델이다.
  • 11. Boltzmann Machines Energy Function ● 에너지 함수는 아래와 같다. ● 이 에너지 함수는 어떻게 정의된 것일까? ○ BM의 에너지 함수는 Hopfield Network와 Ising Model로부터 정의된다(고 한다..). BM & RBM 뿐만 아니라 RBM의 변형, 다른 EBM은 대부분 자연(물리학, 열역학 등)을 모델링하는 것으로부터 얻어진다.
  • 12. Boltzmann Machines Problems ● 모델이 대칭적이고 유닛이 Binary Unit이라는 가정 하에 EBM에서 했던 논 의를 그대로 이어나갈 수 있다. ● 즉, 에너지로부터 확률을 구하고 Log-likelihood gradient를 계산한 다음 MCMC Sampling을 통해 stochastic 하게 gradient를 추정할 수 있다. ○ 뒤에 RBM에서 자세히 다룰 것이다. ● 하지만 Stochastic하게 gradient를 추정한다고 해도 너무 많은 (제약이 없는) 연결때문에 일반적으로 계산이 비싸고 오래 걸린다. ○ 에너지 평형 상태의 표본을 수집하는 시간이 모델의 사이즈, 연결 강도의 크기에 대해 지수적으로 증가한다.
  • 13. Restricted Boltzmann Machines Definition ● 기존의 BM에서 유닛들간의 연결에 특별한 제한을 걸어 학습 시간을 크게 줄여 실질적인 사용이 가능하도록 변형한 신경망 ● visible layer 1개, hidden layer 1개로 구성된 완전 이분 그래프 모델로 visible-visible, hidden-hidden 유닛들간의 연결이 없음 ○ BM의 식에서 U와 V가 0벡터
  • 14. Restricted Boltzmann Machines Energy, Free Energy ● RBM에서는 에너지가 다음과 같이 정의된다. ● RBM도 EBM의 일종이기 때문에 FreeEnergy와 Distribution은 그대로 따라 간다. ○ 여전히 Partition function Z는 intractable하다.
  • 15. Restricted Boltzmann Machines Conditional Distribution ● RBM의 구조에 의해 input이 주어지면 hidden unit들 간에는 conditionally independent하며 그 역도 동일하게 성립 ○ 이 속성이 계산 시간을 크게 줄여주는 이유가 됨
  • 16. Restricted Boltzmann Machines RBMs with Binary units ● Binary unit이라고 가정하면 P(h|x) 식을 전개하고 conditionally independent 하다는 속성을 이용해 P(h_i = 1|x) 을 얻을 수 있음. 그 역도 마찬가지. (계산 생략) ○ 이 두 식은 뒤에서 Sampling을 할 때의 update rule이 된다. ○ 각 unit이 0과 1 사이의 실수값인 경우로 확장한 것이 Gaussian-Bernoulli RBM (GBRBM) 이다.
  • 17. Restricted Boltzmann Machines Negative Log-likelihood gradient ● 학습을 위해 Negative Log-likelihood gradient를 계산하면 다음과 같다. ● 첫번째 항을 positive phase, 두번째 항을 negative phase라고 한다.앞서 논 의와 마찬가지로 negative phase는 계산하기 어렵다. ○ RBM에서는 Sampling을 통해 값을 추정한다.
  • 18. Restricted Boltzmann Machines Update Equations with Binary Units ● RBM의 에너지 함수로부터 각 파라미터에 대한 편미분을 계산하면 다음과 같다. ○ 에너지 함수가 선형이기 때문에 미분값이 매우 간단해진다. ● RBM의 최종적인 Update Equation을 다음과 같이 얻을 수 있다.
  • 19. Restricted Boltzmann Machines Gibbs Sampling in RBMs ● 두 확률 변수의 조건부 확률 분포가 주어졌으므로 Gibbs Sampling을 통해 서 모델 자체의 분포에 의한 표본을 수집할 수 있다. ○ 임의의 데이터에서 출발해서 표집을 하면 초기에는 처음 값에 의존하지만 충분한 시간이 지난 후에는 초기 상태에 관계없이 모델 자체에 기반한 표본을 수집할 수 있다. ● 에너지 관점에서 설명하면 Gibbs Sampling을 충분히 많이 하면 RBM이 에 너지 평형 상태에 도달하게 된다.
  • 20. Contrastive Divergence Definition ● negative phase를 모든 가능한 입력 데이터에 대한 기대값으로 계산하지 않 고 모델의 에너지 평형 상태에서의 샘플값 하나로만 근사한다. ○ 모델이 에너지 평형 상태에 있다면 그 때의 샘플값은 평균에 가까울 가능성이 높 기 때문에 Reasonable 하다. ● Gibbs Sampling을 이용해 샘플을 얻는다. ● Update rule을 다음과 같이 다시 쓸 수 있다.
  • 21. Contrastive Divergence CD-k with Alternative Gibbs Sampling [Hinton 02] ● Gibbs Sampling의 시작을 임의의 값이 아니라 training data로 한다. ● Gibbs Sampling을 무한번 하지 않고 k번만 한다. ● 실질적으로는 1번만 해도 충분히 좋은 샘플을 얻을 수 있다. ○ Training을 할수록 모델이 가지는 분포는 training set의 분포를 따라간다. 즉, training data가 이미 모델의 분포를 어느 정도 표현하고 있다는 것이다. 따라서 training data로부터 샘플링을 시작하면 이미 어느 정도 수렴된 지점부터 샘플링 을 시작하는 것이라고 볼 수 있어서 1번만에 좋은 샘플을 얻을 수 있다. ● 1번 샘플링해서 얻어진 visible data를 reconstrunction이라고 하고 트레이닝 이 제대로 되고 있다면 reconstruction error가 감소한다. 즉, 이상적인 RBM 은 input data를 집어넣으면 동일한 reconstruction visible data를 얻을 수 있 다.
  • 22. Contrastive Divergence persistent CD [Tieleman 08] ● Gibbs Sampling을 할 때 기존 CD-k 에서는 매번 각각의 training data에 대 해 샘플링하지만 persistent CD에서는 이전 Gibbs Sampling에서 계산된 data (reconstruction data)를 다음 번 Sampling의 시작으로 사용한다. 즉, 첫 번째 training data가 persistent chain의 시작이 되고 전번의 Gibbs Sampling 결과를 다음 번 training의 시작으로 사용하여 Chain을 이어나간다. ○ 이렇게 Chain을 이어 나가면 무한번 Sampling하는 것과 비슷해지는 효과를 갖게 된다. 물론 매 Gibbs Sampling마다 파라미터가 Update 되어서 모델이 변하긴 하 지만 매우 작은 값이기 때문에 근사적으로 성립한다.
  • 23. Examples Unsupervised Learning ● Feature Extractor ● 다른 Supervised Learning의 pre-training ○ Deep Belief Network [Hinton Neural Computation 06] ○ Deep Auto-Encoder [Hinton Science 06] ● Collaborative Filtering (Netflix Prize 2007 winner) [Salakhutdinov 07] ○ Conditional RBM (with Gaussian Unit) ○ Conditional Factored RBM ● Generator (Human motion modeling) [Taylor 06] ○ Conditional RBM
  • 24. Examples Supervised Learning ● Classifier [Larochelle 08] ○ Classification RBM ○ Discriminitive RBM ○ Hybrid Discriminitive RBM
  • 25. Examples - Feature Extractor MNIST [Larochelle 09]
  • 26. Examples - Feature Extractor MNIST [Larochelle 09] ● 각 Hidden Unit에 연결된 Weight를 그린 것. Input으로부터 Edge(펜스트로 크)를 뽑아낸다고 해석할 수 있음.
  • 27. Examples - Recommender [Edwin Chen] Modeling ● 6 visible units (movies), 2 hidden units (latent factors) ● Binary units (영화를 좋아하면 1, 아니면 0)
  • 28. Examples - Recommender [Edwin Chen] Training data ● Alice: (Harry Potter = 1, Avatar = 1, LOTR 3 = 1, Gladiator = 0, Titanic = 0, Glitter = 0) ● Bob: (Harry Potter = 1, Avatar = 0, LOTR 3 = 1, Gladiator = 0, Titanic = 0, Glitter = 0) ● Carol: (Harry Potter = 1, Avatar = 1, LOTR 3 = 1, Gladiator = 0, Titanic = 0, Glitter = 0) ● David: (Harry Potter = 0, Avatar = 0, LOTR 3 = 1, Gladiator = 1, Titanic = 1, Glitter = 0) ● Eric: (Harry Potter = 0, Avatar = 0, LOTR 3 = 1, Gladiator = 1, Titanic = 1, Glitter = 0) ● Fred: (Harry Potter = 0, Avatar = 0, LOTR 3 = 1, Gladiator = 1, Titanic = 1, Glitter = 0) Training Results
  • 29. Examples - Recommender [Edwin Chen] Latent factors ● Hidden 1은 Oscar winner 작품에 대한 선호를 나타내고 Hidden 2는 SF/fantasy 장르 영화에 대한 선호를 나타내는 Unit이라고 볼 수 있다. ● 즉, Training을 통해 Hidden 1은 Oscar winners 라는 Feature를 학습하였고 Hidden 2는 SF/fantasy 장르라는 Feature를 학습하였다. State Activation ● 만약 어떤 사람이 6개의 영화에 대한 선호를 입력하면 RBM은 그 사람의 선 호 성향을 말해줄 수 있다. ● 어떤 사람이 SF/fantasy 장르를 좋아한다고 하면 RBM은 그 사람이 좋아할 만한 영화를 추천해줄 수 있다.
  • 30. Examples - Recommender [Edwin Chen] Stochastic property ● RBM은 stochastic neural network이다. ● 즉, 어떤 사람이 해리포터, 반지의 제왕, 아바타를 모두 좋아한다고 해서 반 드시 Hidden 2 (SF/fantasy unit) 가 on 되는 것은 아니라는 것이다. 그럴 가 능성은 크지만. ● 반대로, 어떤 사람이 SF/fantasy 장르를 선호한다고 해도 해리포터, 반지의 제왕, 아바타 unit이 모두 on 되지 않을 수도 있다. Models of people in the messy (?) ● 이러한 속성은 오히려 현실을 더 잘 모델링할 수도 있다. ● 예를 들면 SF/fantasy 장르를 선호하는 사람이 (어떤 다른 이유때문에 = 적 당히 낮은 확률로) 해리포터는 좋아하지 않을 수도 있다. ● 또 어떤 사람이 해리포터, 반지의 제왕, 아바타를 모두 좋아한다면 SF/fantasy 영화를 좋아할 가능성은 매우 높으나 무조건 SF/fantasy를 좋아 하는 사람이라고 단정지을 수는 없다.
  • 31. References ● [Bengio 09] Learning Deep Architectures for AI ● [Deeplearning.net] Deep learning tutorial - RBM ● [Hinton 02] Training Products of Experts by Minimizing Contrastive Divergence ● [Tieleman 08] Training Restricted Boltzmann Machines using Approximations to the Likelihood Gradient ● [Larochelle 09] Exploring Strategies for Training Deep Neural Networks ● [Hinton Neural Computation 06] A Fast Learning Algorithm for Deep Belief Network ● [Hinton Science 06] Reducing the Dimensionality of Data with Neural Networks ● [Salakhutdinov 07] Restricted Boltzmann machines for collaborative filtering ● [Taylor 06] Modeling Human Motion Using Binary Latent Variables ● [Larochelle 08] Classification using Discriminative Restricted Boltzmann Machines ● [Edwin Chen] Introduction Restricted Boltzmann Machines