Siamese networks are a class of networks that contain two or more identical (same configuration with same weights and parameters) sub-networks and the parameter updation is mirrored across all networks
Input: Data (Images, Point clouds, text etc)
Output: Embedding and similarity measure
- Embedding Learning: The deeper feature maps of siamese networks place similar data points closer. Hence they learn better semantic similarity. Useful in application such as image search engines, face recognition etc.
- Robust to class imbalance: Few examples from a single class are enough for the network to learn (one shot learning).
- Training involves pairwise learning, that means it requires pairs of examples to learn from.
- The loss function can be any distance function (eg., euclidean distance etc )