MATLAB Implementation of the Optimal Brain Surgeon (OBS) Algorithm by Mengu Sukan December 10th, 2001 ECE 539: Intro to Artificial Neural Networks Prof. Yu Hen Hu
Optimal Brain Surgeon (OBS) Algorithm A network pruning technique Minimizes network size while maintaining good performance Advantages of smaller network Calculation efficiency Less affected by training noise, thus better generalization to new data
OBS in words Train multilayer perceptron to minimum square error Calculate 2nd order-derivative of error surface – the inverse Hessian (matrix form) Calculate saliency of each weight (saliency = the increase in error when deleting weight) If saliency small enough, eliminate weight
OBS History Introduced by Hassibi in 1992 NETtalk perceptron (1987) Text-to-speech engine 203 sensory, 80 hidden, 26 output 18,629 weights Pruned to 1560 weights
MATLAB’s Suitability for OBS Matrix based calculations Familiarity with software Availability of network training algorithm