For example I'm writing a 1-hidden layer net to evaluate chess positions. The inputs are 800+ binary neurons, first 768 are 64 squares x 12 pieces. The next 20 are piece counts, 10 pieces (don't need KING counts), each takes 2 neurons. The rest are castling rights, who's in check, etc.
When it finishes learning, input-to-hidden weights for each hidden neuron have very heavy weights on QUEEN/ROOK count. This is of course correct. But it also means that it's very hard to analyze what else has been learn't.
Is it possible to constrain hidden neurons to learn independent features? So by inspecting the trained weights, I can say hidden 1 has huge hidden-to-output weight, and it corresponds to piece count; hidden 2 has strong h-to-o weight and it corresponds to "PAWN close to promotion"; etc.