You are on page 1of 47

Boltzmann Machine

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Boltzmann Machine
A Brief Introduction

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Ritajit Majumdar
Arunabha Saha
Calcutta University

October 23, 2013

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

1 / 28

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline

Hopfield Net

Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine

Stochastic Hopfield Nets with Hidden Units

Learning Algorithm for


Boltzmann Machine
Reference

Boltzmann Machine

Learning Algorithm for Boltzmann Machine

Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

2 / 28

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha

Hopfield Network

Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Figure : Two dimensional representation of motion in state space

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

3 / 28

Boltzmann Machine

Hopfield Net

Ritajit Majumdar
Arunabha Saha
Outline

A Hopfield Net is composed of binary threshold units with


recurrent connections between them.

Hopfield Net

Recurrent networks of non-linear units are hard to analyze,


since they can behave in many different ways -

Boltzmann Machine

Settle to a stable state.

Oscillate
Follow chaotic trajectory.

Ritajit Majumdar Arunabha Saha (CU)

Stochastic Hopfield Nets


with Hidden Units

Learning Algorithm for


Boltzmann Machine
Reference

Boltzmann Machine

October 23, 2013

4 / 28

Boltzmann Machine

Hopfield Net

Ritajit Majumdar
Arunabha Saha
Outline

A Hopfield Net is composed of binary threshold units with


recurrent connections between them.

Hopfield Net

Recurrent networks of non-linear units are hard to analyze,


since they can behave in many different ways -

Boltzmann Machine

Settle to a stable state.

Oscillate
Follow chaotic trajectory.

Stochastic Hopfield Nets


with Hidden Units

Learning Algorithm for


Boltzmann Machine
Reference

John Hopfield introduced a global energy function for


network with symmetric connections.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

4 / 28

Boltzmann Machine

Hopfield Net

Ritajit Majumdar
Arunabha Saha
Outline

A Hopfield Net is composed of binary threshold units with


recurrent connections between them.

Hopfield Net

Recurrent networks of non-linear units are hard to analyze,


since they can behave in many different ways -

Boltzmann Machine

Settle to a stable state.

Oscillate
Follow chaotic trajectory.

Stochastic Hopfield Nets


with Hidden Units

Learning Algorithm for


Boltzmann Machine
Reference

John Hopfield introduced a global energy function for


network with symmetric connections.
1

Each binary configuration of the whole network has an


Energy.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

4 / 28

Boltzmann Machine

Hopfield Net

Ritajit Majumdar
Arunabha Saha
Outline

A Hopfield Net is composed of binary threshold units with


recurrent connections between them.

Hopfield Net

Recurrent networks of non-linear units are hard to analyze,


since they can behave in many different ways -

Boltzmann Machine

Settle to a stable state.

Oscillate
Follow chaotic trajectory.

Stochastic Hopfield Nets


with Hidden Units

Learning Algorithm for


Boltzmann Machine
Reference

John Hopfield introduced a global energy function for


network with symmetric connections.
1

Each binary configuration of the whole network has an


Energy.

The binary threshold decision rule causes the network to


settle to a minimum of this energy function.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

4 / 28

Boltzmann Machine

Energy Function

Ritajit Majumdar
Arunabha Saha
Outline

The global energy is defined as X


X
E =
si bi
si sj wij
i

Hopfield Net

(1)

Boltzmann Machine

i<j
th

where bi is the bias of the i unit, s is 0 or 1 depending on


whether the unit is turned off or on respectively. And wij is the
weight of the connection between units i and j.

1 For

Stochastic Hopfield Nets


with Hidden Units

Learning Algorithm for


Boltzmann Machine
Reference

Bipolar Inputs the states will be 1 and 1 respectively.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

5 / 28

Boltzmann Machine

Energy Function

Ritajit Majumdar
Arunabha Saha
Outline

The global energy is defined as X


X
E =
si bi
si sj wij
i

Hopfield Net

(1)

Boltzmann Machine

i<j
th

Stochastic Hopfield Nets


with Hidden Units

where bi is the bias of the i unit, s is 0 or 1 depending on


whether the unit is turned off or on respectively. And wij is the
weight of the connection between units i and j.

Learning Algorithm for


Boltzmann Machine
Reference

From this energy function, each unit computes locally how


changing their state will affect the global energy.

1 For

Bipolar Inputs the states will be 1 and 1 respectively.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

5 / 28

Boltzmann Machine

Energy Function

Ritajit Majumdar
Arunabha Saha
Outline

The global energy is defined as X


X
E =
si bi
si sj wij
i

Hopfield Net

(1)

Boltzmann Machine

i<j
th

Stochastic Hopfield Nets


with Hidden Units

Learning Algorithm for


Boltzmann Machine

where bi is the bias of the i unit, s is 0 or 1 depending on


whether the unit is turned off or on respectively. And wij is the
weight of the connection between units i and j.

Reference

From this energy function, each unit computes locally how


changing their state will affect the global energy.
The energy gap is defined as 4 Ei = E (si = 0) E (si = 1) = bi +

sj wij

(2)

1 For

Bipolar Inputs the states will be 1 and 1 respectively.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

5 / 28

Settling to an Energy Minima

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

The net is initially in a random


state i.e., the units are on or off
randomly. The binary threshold
decision rule updates units one
at a time in a random order.
Update each unit to
whichever of its two states
minimizes the global
energy.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Use binary threshold units,


i.e., the states can be
either 0 or 1.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

6 / 28

Settling to an Energy Minima

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

The net is initially in a random


state i.e., the units are on or off
randomly. The binary threshold
decision rule updates units one
at a time in a random order.
Update each unit to
whichever of its two states
minimizes the global
energy.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Use binary threshold units,


i.e., the states can be
either 0 or 1.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

7 / 28

Settling to an Energy Minima

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

The net is initially in a random


state i.e., the units are on or off
randomly. The binary threshold
decision rule updates units one
at a time in a random order.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Update each unit to


whichever of its two states
minimizes the global
energy.
Use binary threshold units,
i.e., the states can be
either 0 or 1.

Ritajit Majumdar Arunabha Saha (CU)

-E = goodness = 4

Boltzmann Machine

October 23, 2013

8 / 28

Using this type of Computation as memory

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

Hopfield proposed that memories could be energy minima


of a neural net.
I

The binary threshold decision rule can be used to clean


up incomplete or corrupted memory.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

October 23, 2013

9 / 28

Using this type of Computation as memory

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

Hopfield proposed that memories could be energy minima


of a neural net.
I

The binary threshold decision rule can be used to clean


up incomplete or corrupted memory.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Using energy minima to represent memories gives a


content-addressable memory.
I
I

An item can be accessed just by knowing parts of it.


It is robust against hardware damage.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

9 / 28

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha

Stochastic Hopfield Nets with Hidden


Units

Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

10 / 28

Hopfield Net with Hidden Units

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Why add hidden units?

Stochastic Hopfield Nets


with Hidden Units

In Hopfield Net, there is no hidden layer of units. By adding


hidden layers, the attention can be shifted from just storing
memories to various types of interpretations of the inputs.

Boltzmann Machine

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

Learning Algorithm for


Boltzmann Machine
Reference

October 23, 2013

11 / 28

Hopfield Net with Hidden Units

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Why add hidden units?

Stochastic Hopfield Nets


with Hidden Units

In Hopfield Net, there is no hidden layer of units. By adding


hidden layers, the attention can be shifted from just storing
memories to various types of interpretations of the inputs.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Use the net to construct


interpretations of sensory
input.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

11 / 28

Hopfield Net with Hidden Units

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Why add hidden units?

Stochastic Hopfield Nets


with Hidden Units

In Hopfield Net, there is no hidden layer of units. By adding


hidden layers, the attention can be shifted from just storing
memories to various types of interpretations of the inputs.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Use the net to construct


interpretations of sensory
input.
The input is represented
by the visible units.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

11 / 28

Hopfield Net with Hidden Units

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Why add hidden units?

Stochastic Hopfield Nets


with Hidden Units

In Hopfield Net, there is no hidden layer of units. By adding


hidden layers, the attention can be shifted from just storing
memories to various types of interpretations of the inputs.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Use the net to construct


interpretations of sensory
input.
The input is represented
by the visible units.
The interpretation is
represented by the states
of the hidden units.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

11 / 28

Boltzmann Machine

Noisy Networks

Ritajit Majumdar
Arunabha Saha
Outline

The Binary Threshold Decision


rule always goes downhill, i.e.,
reduces energy.

Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

12 / 28

Boltzmann Machine

Noisy Networks

Ritajit Majumdar
Arunabha Saha
Outline

The Binary Threshold Decision


rule always goes downhill, i.e.,
reduces energy.

Hopfield Net

Hence it is impossible to escape


from a local minima.

Learning Algorithm for


Boltzmann Machine

Ritajit Majumdar Arunabha Saha (CU)

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

Reference

Boltzmann Machine

October 23, 2013

12 / 28

Boltzmann Machine

Noisy Networks

Ritajit Majumdar
Arunabha Saha
Outline

The Binary Threshold Decision


rule always goes downhill, i.e.,
reduces energy.

Hopfield Net

Hence it is impossible to escape


from a local minima.

Learning Algorithm for


Boltzmann Machine

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

Reference

Solution - Use random noise to


escape from poor, shallow
minima.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

12 / 28

Boltzmann Machine

Noisy Networks

Ritajit Majumdar
Arunabha Saha
Outline

The Binary Threshold Decision


rule always goes downhill, i.e.,
reduces energy.

Hopfield Net

Hence it is impossible to escape


from a local minima.

Learning Algorithm for


Boltzmann Machine

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

Reference

Solution - Use random noise to


escape from poor, shallow
minima.
I

Start with a lot of noise to


escape the energy barriers of
poor local minima.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

12 / 28

Boltzmann Machine

Noisy Networks

Ritajit Majumdar
Arunabha Saha
Outline

The Binary Threshold Decision


rule always goes downhill, i.e.,
reduces energy.

Hopfield Net

Hence it is impossible to escape


from a local minima.

Learning Algorithm for


Boltzmann Machine

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

Reference

Solution - Use random noise to


escape from poor, shallow
minima.
I

Start with a lot of noise to


escape the energy barriers of
poor local minima.
Slowly reduce the noise so
that the system ends up in a
deep minima.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

12 / 28

Boltzmann Machine

Noisy Networks

Ritajit Majumdar
Arunabha Saha
Outline

The Binary Threshold Decision


rule always goes downhill, i.e.,
reduces energy.

Hopfield Net

Hence it is impossible to escape


from a local minima.

Learning Algorithm for


Boltzmann Machine

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

Reference

Solution - Use random noise to


escape from poor, shallow
minima.
I

Start with a lot of noise to


escape the energy barriers of
poor local minima.
Slowly reduce the noise so
that the system ends up in a
deep minima.
This process is called
Simulated Annealing.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

12 / 28

Boltzmann Machine

Stochastic Binary Units

Ritajit Majumdar
Arunabha Saha
Outline

How to add noise?

Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

13 / 28

Boltzmann Machine

Stochastic Binary Units

Ritajit Majumdar
Arunabha Saha
Outline

How to add noise?


1

Hopfield Net

Replace the binary threshold units by binary stochastic


units that make biased random decisions.

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

13 / 28

Boltzmann Machine

Stochastic Binary Units

Ritajit Majumdar
Arunabha Saha
Outline

How to add noise?


1

Hopfield Net

Replace the binary threshold units by binary stochastic


units that make biased random decisions.

Stochastic Hopfield Nets


with Hidden Units

The temperature controls the amount of noise.

Learning Algorithm for


Boltzmann Machine

Boltzmann Machine

Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

13 / 28

Boltzmann Machine

Stochastic Binary Units

Ritajit Majumdar
Arunabha Saha
Outline

How to add noise?

Hopfield Net

Replace the binary threshold units by binary stochastic


units that make biased random decisions.

Stochastic Hopfield Nets


with Hidden Units

The temperature controls the amount of noise.

Learning Algorithm for


Boltzmann Machine

Unit i then turns on with the probability given by the


logistic function -

Reference

prob(si = 1) =

Ritajit Majumdar Arunabha Saha (CU)

1
1 + e

4Ei
T

Boltzmann Machine

Boltzmann Machine

(3)

October 23, 2013

13 / 28

Boltzmann Machine

Stochastic Binary Units

Ritajit Majumdar
Arunabha Saha
Outline

How to add noise?

Hopfield Net

Replace the binary threshold units by binary stochastic


units that make biased random decisions.

Stochastic Hopfield Nets


with Hidden Units

The temperature controls the amount of noise.

Learning Algorithm for


Boltzmann Machine

Unit i then turns on with the probability given by the


logistic function -

Reference

prob(si = 1) =

T =0
T
T =1

1
1 + e

4Ei
T

Boltzmann Machine

(3)

Deterministic (Hopfield Net)


Complete Chaos
Approaches Boltzmann Distribution

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

13 / 28

What is Boltzmann Machine?

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine

Boltzmann Machine

Learning Algorithm for


Boltzmann Machine

A Hopfield Net consisting of Binary Stochastic Neuron with


hidden units is called Boltzmann Machine.

Reference

A Boltzmann Machine is a network of symmetrically


connected, neuron like units that make stochastic decisions
about whether to be on or off.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

14 / 28

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Boltzmann Machine

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

15 / 28

Boltzmann Machine

Modeling Binary Data

Ritajit Majumdar
Arunabha Saha

The objective of Boltzmann Machine is -

Outline
Hopfield Net

Modeling Binary Data

Stochastic Hopfield Nets


with Hidden Units

Given a training set of binary vectors, fit the model that will
assign a probability to every possible binary vector.
When unit i is given oppurtunity to update its state, it first
computes its total input zi ,
X
zi = bi +
sj wij
(4)

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Unit i turns on with probability prob(si = 1) =

1
1 + e zi

(5)

If the units are updated sequencially in random order, the


network will eventually reach a Boltzmann Distribution, also
called its stationary distribution.
Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

16 / 28

Boltzmann Machine

How Boltzmann Machine Generates Data

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

In Boltzmann Machine, everything is defined in terms of the


energies of joint configurations of the visibile (v) and hidden
(h) units.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

The energies of joint configurations are related to their


probabilities as p(v , h) e E (v ,h)

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

(6)

October 23, 2013

17 / 28

Probabilities in term of Energies

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

The probability of a joint


configuration over both
visibile and hidden units
depends on the energy of
that joint configuration
compared with the
energies of all other joint
configurations.

Ritajit Majumdar Arunabha Saha (CU)

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Boltzmann Machine

October 23, 2013

18 / 28

Probabilities in term of Energies

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

The probability of a joint


configuration over both
visibile and hidden units
depends on the energy of
that joint configuration
compared with the
energies of all other joint
configurations.

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

The probability of a
configuration of the
visibile units is the sum of
the probabilities of all the
joint configurations that
contain it.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

18 / 28

Boltzmann Machine

An Example

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Figure : Credit: Geoffrey Hinton, Neural Networks for Machine


Learning

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

19 / 28

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Learning Algorithm

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine

A surprising feature of this rule is that it uses only locally


available information. The change of weight depends only
on the behaviour of the two units it connects, even
though the change optimizes a global measure.

Reference

- Ackley, Hinton 1985

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

20 / 28

Boltzmann Machine

Goal of Learning

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

Learning Algorithm for Boltzmann Machine is an unsupervised


learning algorithm. Unlike Backpropagation Algorithm, where
the training set consists of input vector and desired output, in
Boltzmann Machine only the input vector is provided.

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

We want to maximize the product of the probabilities the


Boltzmann Machine assigns to the binary vectors in
training set.
It is equivalent to maximizing the probability that we
would obtain exactly the N training cases.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

21 / 28

Why Learning could be difficult

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Consider a chain of hidden units with visibile units attached at


two ends -

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Training: We want the two visibile units to be in opposite


states.
Solution: The product of all the weights must be negative. If
all are positive, then turning on one unit will turn on the next
unit and eventually the two visibile units will be in same state.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

22 / 28

Why Learning could be difficult

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline

Consider a chain of hidden units with visibile units attached at


two ends -

Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Difficulty: To modify w1 and w5, we need to know w3 (and


the weights of other hidden units too).
Because, if w3 is negative, then we need to modify w1 in a
different way than what we would do if w3 is positive.
So to change one weight in a right direction, we need to know
all the other weights.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

23 / 28

Boltzmann Machine

Learning Algorithm

Ritajit Majumdar
Arunabha Saha
Outline

Correlation

Hopfield Net

Everything that one weight needs to know of other weights and


the data is contained in the difference of two correlations logp(v )
= hsi sj iv hsi sj imodel
wij

(7)

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

where h.i is the expectation value.


The first term in R.H.S. denotes the expectation value of
product of states at equilibrium when the state vector (or
data) v is clamped on the visibile units.
The second term in R.H.S. denotes the expectation value
of product of states at equilibrium without any clamping.
So we can make the change in weight 4wij hsi sj iv hsi sj imodel
Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

(8)
October 23, 2013

24 / 28

Boltzmann Machine

Why is it so?

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

We know the probability of a global configuration at


equilibrium is -

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

p(v , h) e E (v ,h)

Learning Algorithm for


Boltzmann Machine

So, the logarithm of probability is a linear function of the


energy.

Reference

And energy, on its own term, is a linear function of weights and


states.
P
P
E = si bi
si sj wij
i

i<j

Hence,
E
= si sj
wij

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

(9)

October 23, 2013

25 / 28

Boltzmann Machine

Why is it so?

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net

Differnetiating equation 1, we get E


wij

Stochastic Hopfield Nets


with Hidden Units
Boltzmann Machine

= si sj

Learning Algorithm for


Boltzmann Machine
Reference

The process of settling to equilibrium state propagates


information about the weights.

No need of backpropagation.
The following two stages are required -

I
I
4

The machine needs to settle to equilibrium with data.


The machine needs to settle to equilibrium without data.

However, in both cases the learning process is similar with


different boundary conditions.

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

26 / 28

Boltzmann Machine

Reference

Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units

Geoffrey Hinton
Neural Networks for Machine Learning
www.coursera.org

Boltzmann Machine
Learning Algorithm for
Boltzmann Machine
Reference

Geoffrey Hinton
http://www.scholarpedia.org/article/Boltzmann_
machine
Geoffrey Hinton, David Ackley
A learning Algorithm for Boltzmann Machine
Cognitive Science 9, 147-169 (1985)

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

October 23, 2013

27 / 28

Boltzmann Machine
Ritajit Majumdar
Arunabha Saha
Outline
Hopfield Net
Stochastic Hopfield Nets
with Hidden Units
Boltzmann Machine

THANK YOU

Ritajit Majumdar Arunabha Saha (CU)

Boltzmann Machine

Learning Algorithm for


Boltzmann Machine
Reference

October 23, 2013

28 / 28

You might also like