Hopfield Nets and BMs Flashcards

1
Q

What is a Hopfield Net?

A
  • Networks of binary threshold units
  • Feedback networks - each units has connections to all other units except itself
  • Connections are symmetric (w[ij] is the weight on the connection between neuron i and neuron j
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Are Hopfield Networks a type of FeedForward network?

A

No.

Since there is no obvious way of sorting the neurons from inputs to outputs (since every neuron is input to all other neurons)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do we perform unit value updates?

A

A. Synchronous - all neurons change state simultaneously based on the current state of all other neurons.

B. Asynchronous - one after the other other

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Energy function of a Hopfield net

A
  • Because all the connections are symmetric, it is possible to build a global energy function

According to this global energy function, each config (set of neuron states) of the network can be stored

  • It is possible to look for configurations of (possibly locally) minimal energy (in fact the whole space of weights is divided into basins of attraction, each one containing a minimum of the energy)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the global energy?

A

Sum of many contributions

Depends on one connection weight and the binary state of 2 neurons

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Energy gap (computing how the state of one neuron affects the global energy)

A

E(y[i] = -1) - E(y[i] = 1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is learning in Hopfield nets?

A

Storing memories where memories are the energy minima

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can we help clean up incomplete or corrupted memories?

A

Binary threshold decision

Σ(for all p) w[ij]*y[i] + b[i]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What’s the update rule for Hopfield nets when for (-1,1) states

A

delta w[ij] = learning rate * Σ(for all p) s[i] * s[j]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What’s the update rule for Hopfield nets when for (0,1) states

A

delta w[ij] = 4* learning rate * Σ(for all p) (s[i] - 0.5) * (s[j] - 0.5)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How many memories can be stored in a Hopfield net?

A

P/N = 0.14

P = num memories
N = num neurons

Above this, the probability of failure increases drastically

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Critical State - Rules of Thumb

A

P/N > 0.14 - No minima is related to the learned pattern

  1. 14 > P/N > 0.05 - Both learned and other minima. Other minima tend to dominate
  2. 05 > P/N > 0 - Both learned and other minima; learned minima dominate (lower energy)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What’s the problem with storing more memories than P/N = 0.14?

A
  • Limited by spurious memories
  • 2 nearby energy minima combine to make a new minimum in the wrong place

Capacity: of a totally connected network with N binary threshold units is 0.15N memories before memories start getting confused with one another

At N bits per memory, its a total of 0.15N^2 bits

However it takes well over 0.15N^2 bits to store the weights which requires N^2log(base2)(2M+1) - which is on a logarithmic scale and we should be able to do better

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How can we increase the capacity of Hopfield nets?

A
  • Elizabeth Gardiner
  • Instead of trying to store vectors in one shot, cycle through the training set many times
  • Use the perceptron convergence procedure to train each unit to have the correct state given the state of all the other units in the vector
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a Boltzmann Machine?

A

A network of symmetrically connected units that make stochastic decisions about whether to be on/off

  • Hinton & Sejnowski, 1983
  • Just replace binary threshold units with binary stochastic units in a Hopfield net so that it makes random biased decisions
  • A neuron is switched on/off with a certain probability instead of deterministically
  • Temperature controls the amount of noise
  • Raising noise == decreasing the energy gaps between configurations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Probability that a unit turns on in Boltzmann machines

A

P(s[i] = 1) = 1 / (1 + e^(-delta(E[i]) / T))

When T = 0, if behaves like a binary threshold unit, whole calculation goes to 0 or 1 depending on sign (it’s deterministic)

As we lower T, unit will become more firmly on or off

17
Q

What is the difference between BMs and Hopfield Nets?

A
  1. Since in BMs, the unit update rule or activation function has a probabilistic component, if we allow the network to run it will settle into a given equilibrium state only with a certain probability
  2. Hopfield nets => deterministic (Given an initial state, their equilibrium state is determined)
18
Q

Weaknesses of Hopfield nets and BMs

A
  1. All units are visible (correspond to observable stuff)

2. Nothing more than second-order interactions can be captured by Hopfield nets and the BM

19
Q

What is an RBM?

A

BMs with a single layer of feature detectors (since learning is slow in BMs with many hidden layers)

Instead many hidden layers can be learned efficiently by composing RBMs using the feature activations of one as the training data for the next RBM

20
Q

What is an RBM?

A
  • Smolensky, 1986

- Layer of visible units and layer of hidden units, but no visible-visible or hidden-hidden connections

21
Q

Learning procedure of RBMs

A
  • Contrastive divergence (approximates gradient descent) (Hinton, 2002)
  1. Starting with a data vector on the visible units, update all of the hidden units in parallel
  2. Update all of the visible units in parallel to get a ‘reconstruction’
  3. Update hidden units again
22
Q

Uses of RBMs

A
  • Auto-encoders
  • Single multi-layer generative model where each additional layer improves a lower bound on the probability that the model would generate the training data