HILLCLIMBINGI just finished rereading a book called
Stochastic Local Search, and was wondering if I could apply some of the techniques described therein to the analysis of fitness landscapes produced by neuro-evolution. As a first experiment, I decided to implement a very simple hill-climber. I defined the "neighborhood" as the set of vectors produced by transforming the current solution by a fixed amount along a single dimension at a time.
Therefore, a solution of {0.3, -2.4, 2.1} would have the following neighborhood (assuming a step-size of 0.1):
x += 0.1 -> {0.4, -2.4, 2.1}
x -= 0.1 -> {0.2, -2.4, 2.1}
y += 0.1 -> {0.3, -2.3, 2.1}
y -= 0.1 -> {0.3, -2.5, 2.1}
z += 0.1 -> {0.3, -2.4, 2.2}
z -= 0.1 -> {0.3, -2.4, 2.0}
For N parameters, the size of the neighborhood would be 2N.
So, as a first test, I wanted to see how well simple hill-climbing could train a neural network attempting to solve n-bit parity, a standard machine-learning benchmark. I tried 5 bits (this has 32 training exemplars), and it solved it very rapidly. This was a surprise as I was expecting it to get stuck; I merely wanted to see how far it would get
before getting stuck.
I eventually got it up to about 94% correct on 12-bit parity. It should be noted that this is an MUCH larger version of the problem (4096 training exemplars), and this is also MUCH larger than what is standardly attempted. Most are 6 or fewer bits. (One interesting larger example - 21 bits - can be found
here).
I compared this new method against Evolutionary Programming, and it proved far superior - EP never made it much past 65% accuracy.
NOISE IS BADI decided to see how this algorithm would fair in the presence of some noise applied to the fitness function. Incredibly, even the slightest amount of noise totally disrupts it! I have tried applying a gaussian noise with a standard deviation more than 5000 times less than the maximal fitness of the function, and strangely enough just this tiny "whisper" of noise is enough to cripple its performance.
I'm very intrigued, as my intuition has been severely violated twice by these experiments. Clearly more are in order.