Siamese Neural Network (SNN)
Jump to navigation
Jump to search
A Siamese Neural Network (SNN) is an artificial neural network that consists of two identical feedforward network that can learn a hidden representation of an input vector.
- AKA: Twin Neural Network (TNN).
- Context:
- It can be suited for Similarity Learning Tasks with limited training data availability.
- It can allow for learning from pairs/triplets of examples.
- ...
- Example(s):
- an One-Shot Image Recognition Siamese Neural Network (Koch, 2015),
- a ReSimNet (Jeon et al., 2019)
- a Siamese Region Proposal Network (e.g. Li et al., 2018),
- a Siamese Time Delay Neural Network (e.g. Bromley et al., 1994),
- a Structured Siamese Neural Network (e.g. Zhang et al., 2018),
- a Visual Object Tracking Siamese Network (e.g. Dong & Shen, 2018; He et al., 2018; Guo et al.,2017),
- ...
- …
- Counter-Example(s):
- See: Locality-Sensitive Hashing, Handwriting Recognition, Face Detection, Face Recognition, DeepFace.
References
2021a
- (Wikipedia, 2021) ⇒ https://en.wikipedia.org/wiki/Siamese_neural_network Retrieved:2021-7-30.
- A Siamese neural network (sometimes called a twin neural network) is an artificial neural network that uses the same weights while working in tandem on two different input vectors to compute comparable output vectors. [1][2][3] Taigman, Y.; Yang, M.; Ranzato, M.; Wolf, L. (June 2014). “DeepFace: Closing the Gap to Human-Level Performance in Face Verification". 2014 IEEE Conference on Computer Vision and Pattern Recognition: 1701–1708. doi:10.1109/CVPR.2014.220. ISBN 978-1-4799-5118-5. S2CID 2814088</ref> Often one of the output vectors is precomputed, thus forming a baseline against which the other output vector is compared. This is similar to comparing fingerprints but can be described more technically as a distance function for locality-sensitive hashing. It is possible to build an architecture that is functionally similar to a siamese network but implements a slightly different function. This is typically used for comparing similar instances in different type sets. Uses of similarity measures where a twin network might be used are such things as recognizing handwritten checks, automatic detection of faces in camera images, and matching queries with indexed documents. The perhaps most well-known application of twin networks are face recognition, where known images of people are precomputed and compared to an image from a turnstile or similar. It is not obvious at first, but there are two slightly different problems. One is recognizing a person among a large number of other persons, that is the facial recognition problem. DeepFace is an example of such a system. In its most extreme form this is recognizing a single person at a train station or airport. The other is face verification, that is to verify whether the photo in a pass is the same as the person claiming he or she is the same person. The twin network might be the same, but the implementation can be quite different.
- ↑ Chicco, Davide (2020), "Siamese neural networks: an overview", Artificial Neural Networks, Methods in Molecular Biology, 2190 (3rd ed.), New York City, New York, USA: Springer Protocols, Humana Press, pp. 73–94, doi:10.1007/978-1-0716-0826-5_3, ISBN 978-1-0716-0826-5, PMID 32804361
- ↑ Bromley, Jane; Guyon, Isabelle; LeCun, Yann; Säckinger, Eduard; Shah, Roopak (1994). “Signature verification using a "Siamese" time delay neural network" (PDF). Advances in Neural Information Processing Systems 6: 737–744.
- ↑ Chopra, S.; Hadsell, R.; LeCun, Y. (June 2005). “Learning a similarity metric discriminatively, with application to face verification". 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05). 1: 539–546 vol. 1. doi:10.1109/CVPR.2005.202. ISBN 0-7695-2372-2. S2CID 5555257
2021b
- (Chicco, 2021) ⇒ Davide Chicco (2021) "Siamese Neural Networks: An Overview". In: Cartwright H. (eds) Artificial Neural Networks. Methods in Molecular Biology, vol 2190.
- QUOTE: a siamese neural network may be the best choice: it consists of two identical artificial neural networks each capable of learning the hidden representation of an input vector. The two neural networks are both feedforward perceptrons, and employ error back-propagation during training; they work parallelly in tandem and compare their outputs at the end, usually through a cosine distance. The output generated by a siamese neural network execution can be considered the semantic similarity between the projected representation of the two input vectors. In this overview we first describe the siamese neural network architecture, and then we outline its main applications in a number of computational fields since its appearance in 1994. Additionally, we list the programming languages, software packages, tutorials, and guides that can be practically used by readers to implement this powerful machine learning model
2019
- (Jeon et al., 2019) ⇒ Minji Jeon, Donghyeon Park, Jinhyuk Lee, Hwisang Jeon, Miyoung Ko, Sunkyu Kim, Yonghwa Choi, Aik-Choon Tan, Jaewoo Kang (2019). "ReSimNet: Drug Response Similarity Prediction Using Siamese Neural Networks". In: Bioinformatics, 35(24), 5249-5256.
2018a
- (Dong & Shen, 2018) ⇒ Xingping Dong, and Jianbing Shen (2018). "Triplet Loss in Siamese Network for Object Tracking". In: Proceedings of the 15th European Conference on Computer Vision (ECCV 2018) XIII.
2018b
- (He et al., 2018) ⇒ Anfeng He, Chong Luo , Xinmei Tian, and Wenjun Zeng (2018)."A Twofold Siamese Network for Real-Time Object Tracking". In: Proceedings of the 2018 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2018)
2018c
- (Li et al., 2018) ⇒ Bo Li, Junjie Yan, Wei Wu, Zheng Zhu, and Xiaolin Hu (2018) "High Performance Visual Tracking with Siamese Region Proposal Network". In: Proceedings of the 2018 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2018).
2018d
- (Zhang et al., 2018) ⇒ Yunhua Zhang, Lijun Wang, Jinqing Qi, Dong Wang, Mengyang Feng, and Huchuan Lu (2018). "Structured Siamese Network for Real-Time Visual Tracking". In: Proceedings of the 15th European Conference on Computer Vision (ECCV 2018) Part IX.
2017
- (Guo et al., 2017) ⇒ Qing Guo, Wei Feng, Ce Zhou, Rui Huang, Liang Wan, and Song Wang (2017). "Learning Dynamic Siamese Network for Visual Object Tracking". In: Proceedings of the IEEE International Conference on Computer Vision (ICCV 2017).
2015
- (Koch, 2015) ⇒ Gregory Koch (2015). "Siamese Neural Networks for One-Shot Image Recognition". In: M.Sc. Thesis, Graduate Department of Computer Science University of Toronto.
1994
- (Bromley et al., 1994) ⇒ Jane Bromley, Isabelle Guyon, Yann LeCun, Eduard Sackinger, and Roopak Shah (1993, 1994). "Signature Verification Using a Siamese Time Delay Neural Network". In: Proceedings of 7th NIPSConference on Advances in Neural Information Processing Systems 6.