Siamese Neural Network

A Siamese Neural Network is a type of neural network with two identical processing branches (that eventually merge) where the corresponding units share weights. By design, siamese nets operate on pairs of data points. They are typically trained to learn a measure of similarity between the inputs.
Related article:
The Anatomy of a Siamese Network