Siamese Networks are a special type of neural networks introduced by Yann LeCun and his colleagues in NIPS 1994 (http://www.worldscientific.com/doi/pdf/10.1142/S0218001493000339). The basic idea behind them is that like the 'Siamese Twins', the network consists of two different Neural Networks, both sharing the same architecture and weights.
Here, you can see the Siamese architecture:
During the training phase the pair-network is presented with a training pair (X1, X2), where the two inputs are different yet similar, for example, X1 = He is smart, and X2 = He is a wise man. The two neural networks will produce two different results; the combined network can be thought of as a scalar energy function measuring the similarity between the training pair (X1, X2), defined as:
The goal of the Siamese network is that the energy between the training-pair (X1...