Weight sharing occurs in Convolutional Neural Network (CNN) and Recurrent Neural Network (RNN). It does not occur in case of Fully Connected neural nets. For example: “Shared weights” is simple: use the same weight vector to do the “convolution” (which is essentially inner product of two vectors). Let’s take below scenario. Input layer is x = [x1 x2 x3 x4 x5 x6 x7] Hidden layer is h = [h1 h2 h3] Weight vector is w = [w1 w2 w3] = [1 0 -1] which is used by all H1 = w * x[1:3] H2 = w * x[3:5] H3 = w * x[5:7] Reference from : http://cs231n.github.io/assets/conv-demo/index.html - cs231n guide from Stanford University- amazing animation on convolution describing the shared weights. The idea behind this is : a filter, e.g. which detects horizontal edge, matches the left corner of an image but may also match the right bottom corner of the image. Using(sharing) multiple filters avoid the feed forward neural network structure which is more complicated.