Boltzmann Learning
Algorithm
Dr. Akash Saxena
The inspiration
• The Boltzmann equation can be used to determine how
physical quantities change, such as heat energy and
momentum, when a fluid is in transport.
• Boltzmann's constant, also called the Boltzmann
constant and symbolized k or k B , defines the relation
between absolute temperature and the kinetic
energy contained in each molecule of an ideal
gas .
Boltzmann Learning
• These are stochastic learning processes having
recurrent structure and are the basis of the early
optimization techniques used in ANN. Boltzmann
Machine was invented by Geoffrey Hinton and
Terry Sejnowski in 1985.
• More clarity can be observed in the words of Hinton on
Boltzmann Machine.
“A surprising feature of this network is that it uses only
locally available information. The change of weight
depends only on the behavior of the two units it
connects, even though the change optimizes a global
measure” - Ackley, Hinton 1985.
Boltzmann Learning
• Boltzmann learning is statistical in nature and is
derived from the field of thermodynamics. It is like
error-correction learning and is used during supervised
training.
• In this algorithm, the state of each individual neuron,
in addition to the system output, are considered.
• In this respect, the Boltzmann learning rule is
significantly slower than the error-correction learning
rule. Neural networks that use Boltzmann learning are
called Boltzmann machines.
Boltzmann Learning
• Boltzmann learning is like an error-correction learning
rule, in that an error signal is used to train the system
in each iteration. However, instead of a direct
difference between the result value and the desired
value, we take the difference between the probability
distributions of the system.
Some important points about Boltzmann Machine
• They use recurrent structure.
• They consist of stochastic neurons, which have one of
the two possible states, either 1 or 0.
• Some of the neurons in this are adaptive free state and
some are clamped frozen state.
Architecture
The following diagram shows
the architecture of Boltzmann
machine.
It is clear from the diagram,
that it is a two-dimensional
array of units.
Here, weights on
interconnections between
units are –p where p > 0. The
weights of self-connections
are given by b where b > 0.
Mathematical Representation
1 In Boltzmann machine the neuron
E wkj x j xk constitute a recurrent structure and
2 j j k they operate in binary state. Every
machine is characterized by an
Energy Function, the value of which
is determined by state of neurons.
Change in energy
E (1 2 x j )( wkj x j wkj )
j k
1 J th Neuron on
(1 2 x j ) th
1 J Neuron off
Probability of changing the state.
The Algorithm
• Step 1 − Initialize the following to start the training −
Weights representing the constraint of the problem
Control Parameter T
• Step 2 − Continue steps 3-8, when the stopping
condition is not true.
• Step 3 − Perform steps 4-7.
• Step 4 − Assume that one of the state has changed the
weight and choose the integer k, j as random values
between 1 and n.
Algorithm Continue..
• Step 5 Calculate the change in consensus as follows
E (1 2 x j )( wkj x j wkj )
j k
• Step 6 Probability of the network to accept the change in the state of
the unit is given by the following relation
Algorithm Continue..
Step 7 − Accept or reject this change as follows −
Case I − if R < P, accept the change.
Case II − if R ≥ P, reject the change.
Here, R is the random number between 0 and 1.
Step 8 − Reduce the control parameter temperature as follows −
Tnew = 0.95Told
Step 9 − Test for the stopping conditions which may be as follows −
•Temperature reaches a specified value
•There is no change in state for a specified number of iterations