FractionalRadix commented on Neural Networks: Algorithms, Applications, and Programming Techniques by James A. Freeman (Computation and Neural Systems Series)
Chapter 5 discusses the Boltzmann network - yes, that's Boltzmann from the law of entropy.
In previous chapters, artificial neural networks were considered to have entropy and energy. The question then arises - shouldn't they also have temperature?
From this, a link is made to simulating the annealing process in metallurgy: heating up and then cooling down in a controlled process.
The Boltzmann network learns and retrieves this way: the simulated temperature is set to a high value, then slowly lowered, with a number of training/retrieval steps taken at each temperature.
The idea is that this controlled process will help us avoid local minima. There does not seem to be a guarantee of finding a global minimum, but we do improve our chances.
Notable about the Boltzmann network is that it is more about probability than about exact steps. The simulator code at the end of the chapter shows this: …
Chapter 5 discusses the Boltzmann network - yes, that's Boltzmann from the law of entropy.
In previous chapters, artificial neural networks were considered to have entropy and energy. The question then arises - shouldn't they also have temperature?
From this, a link is made to simulating the annealing process in metallurgy: heating up and then cooling down in a controlled process.
The Boltzmann network learns and retrieves this way: the simulated temperature is set to a high value, then slowly lowered, with a number of training/retrieval steps taken at each temperature.
The idea is that this controlled process will help us avoid local minima. There does not seem to be a guarantee of finding a global minimum, but we do improve our chances.
Notable about the Boltzmann network is that it is more about probability than about exact steps. The simulator code at the end of the chapter shows this: nodes (called Processing Elements, or PE's) have a probability of being activated or de-activated. A random number generator then determines whether they are.
It's also observed that the Boltzmann network is slow, even in comparison to other neural networks. The code presented shouldn't be too difficult for a computer nowadays, but must have taken a long time on a computer in the early 1990's. Despite this, or maybe even because of it, it's an interesting read.