Why do nodes in a hidden layer produce different results (when they are based on the same inputs)?

Is this related to how each node gets initialized? Or how do they generate different outputs if using the same vector as input?

They are all initialized to different small random values.

Hello @Roberto_Landrau

Welcome to the community.

Yes. By randomly initializing the weights with different values for different neurons, we set them off on different learning paths. The end result being that each of the neurons would end up learning different new features.

Hey @Roberto_Landrau, in case you want a bit of maths and codes to help understand, please check this thread out.