Una red neuronal siamesa (a veces llamada red neuronal gemela ) es una red neuronal artificial que usa los mismos pesos mientras trabaja en tándem en dos vectores de entrada diferentes para calcular vectores de salida comparables. [1] [2] [3] [4] A menudo, uno de los vectores de salida se calcula previamente, formando así una línea de base con la que se compara el otro vector de salida. Esto es similar a comparar huellas dactilares, pero se puede describir más técnicamente como una función de distancia para el hash sensible a la localidad . [ cita requerida ]
Es posible construir una arquitectura que sea funcionalmente similar a una red siamesa pero que implemente una función ligeramente diferente. Esto se usa normalmente para comparar instancias similares en diferentes conjuntos de tipos. [ cita requerida ]
Los usos de las medidas de similitud en los que se podría utilizar una red gemela son cosas como el reconocimiento de cheques escritos a mano , la detección automática de rostros en las imágenes de la cámara y las consultas relacionadas con documentos indexados. La aplicación quizás más conocida de las redes gemelas es el reconocimiento facial , donde las imágenes conocidas de personas se calculan previamente y se comparan con una imagen de un torniquete o similar. No es obvio al principio, pero hay dos problemas ligeramente diferentes. Uno es reconocer a una persona entre un gran número de otras personas, ese es el problema del reconocimiento facial. DeepFace es un ejemplo de tal sistema. [4] En su forma más extrema, esto es reconocer a una sola persona en una estación de tren o aeropuerto. La otra es la verificación facial , es decir, verificar si la foto en un pase es la misma que la de la persona que afirma ser la misma persona. La red gemela puede ser la misma, pero la implementación puede ser bastante diferente.
Aprendiendo
El aprendizaje en redes gemelas se puede realizar con pérdida de triplete o pérdida contrastiva . Para el aprendizaje por pérdida de triplete, se compara un vector de línea de base (imagen de anclaje) con un vector positivo (imagen veraz) y un vector negativo (imagen falsa). El vector negativo forzará el aprendizaje en la red, mientras que el vector positivo actuará como un regularizador. Para el aprendizaje por pérdida contrastiva debe haber una disminución de peso para regularizar los pesos, o alguna operación similar como una normalización.
Una métrica de distancia para una función de pérdida puede tener las siguientes propiedades [5]
- No negatividad:
- Identidad de discernible:
- Simetría:
- Desigualdad triangular:
En particular, el algoritmo de pérdida de tripletes a menudo se define con una distancia euclidiana al cuadrado (que, a diferencia de la euclidiana, no tiene desigualdad triangular) en su núcleo.
Métricas predefinidas, métrica de distancia euclidiana
El objetivo de aprendizaje común es minimizar una métrica de distancia para objetos similares y maximizar para distintos. Esto da una función de pérdida como
- son índices en un conjunto de vectores
- función implementada por la red gemela
La métrica de distancia más común utilizada es la distancia euclidiana , en el caso de que la función de pérdida se puede reescribir en forma de matriz como
Métricas aprendidas, métrica de distancia no lineal
Un caso más general es donde el vector de salida de la red gemela pasa a través de capas de red adicionales implementando métricas de distancia no lineales.
- son índices en un conjunto de vectores
- función implementada por la red gemela
- función implementada por la red que une las salidas de la red gemela
En una forma de matriz, el anterior a menudo se aproxima como una distancia de Mahalanobis para un espacio lineal como [6]
Esto se puede subdividir en al menos aprendizaje no supervisado y aprendizaje supervisado .
Métricas aprendidas, redes medio gemelas
Esta forma también permite que la red gemela sea más medio gemela, implementando funciones ligeramente diferentes
- son índices en un conjunto de vectores
- función implementada por la red semi-gemela
- función implementada por la red que une las salidas de la red gemela
Redes gemelas para seguimiento de objetos
Las redes gemelas se han utilizado en el seguimiento de objetos debido a sus dos entradas tándem únicas y la medición de similitud. En el seguimiento de objetos, una entrada de la red gemela es la imagen ejemplar preseleccionada por el usuario, la otra entrada es una imagen de búsqueda más grande, cuyo trabajo de la red gemela es ubicar el ejemplar dentro de la imagen de búsqueda. Al medir la similitud entre el ejemplar y cada parte de la imagen de búsqueda, la red gemela puede proporcionar un mapa de puntuación de similitud. Además, al usar una red totalmente convolucional, el proceso de calcular la puntuación de similitud de cada sector se puede reemplazar con una sola capa de correlación cruzada. [7]
Después de su introducción por primera vez en 2016, la red Twin totalmente convolucional se ha utilizado en muchas redes neuronales de seguimiento de objetos en tiempo real de alto rendimiento. Como CFnet, [8] StructSiam, [9] SiamFC-tri, [10] DSiam, [11] SA-Siam, [12] SiamRPN, [13] DaSiamRPN, [14] SiamRPN en cascada, [15] SiamMask, [16 ] SiamRPN ++, [17] SiamRPN más profundo y más ancho. [18]
Ver también
Otras lecturas
- 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, págs. 73 –94, doi : 10.1007 / 978-1-0716-0826-5_3 , ISBN 978-1-0716-0826-5, PMID 32804361
Referencias
- ^ 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, págs. 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). "Verificación de firmas utilizando una red neuronal de retardo de tiempo" siamés " (PDF) . Avances en los sistemas de procesamiento de información neuronal 6 : 737–744.
- ^ Chopra, S .; Hadsell, R .; LeCun, Y. (junio de 2005). "Aprendizaje discriminativo de una métrica de similitud, con aplicación para enfrentar verificación". 2005 IEEE Computer Society Conference sobre visión por ordenador y reconocimiento de patrones (CVPR'05) . 1 : 539-546 vol. 1. doi : 10.1109 / CVPR.2005.202 . ISBN 0-7695-2372-2. S2CID 5555257 .
- ^ a b Taigman, Y .; Yang, M .; Ranzato, M .; Wolf, L. (junio de 2014). "DeepFace: cerrar la brecha al rendimiento a nivel humano en la verificación facial". Conferencia IEEE 2014 sobre visión artificial y reconocimiento de patrones : 1701-1708. doi : 10.1109 / CVPR.2014.220 . ISBN 978-1-4799-5118-5. S2CID 2814088 .
- ^ Chatterjee, Moitreya; Luo, Yunan. "Aprendizaje de similitud con (o sin) red neuronal convolucional" (PDF) . Consultado el 7 de diciembre de 2018 .
- ^ Chandra, diputado (1936). "Sobre la distancia generalizada en estadística" (PDF) . Actas del Instituto Nacional de Ciencias de la India . 1. 2 : 49–55.
- ^ Redes siamesas totalmente convolucionales para seguimiento de objetos arXiv : 1606.09549
- ^ "Aprendizaje de representación de extremo a extremo para seguimiento basado en filtros de correlación" .
- ^ "Red siamés estructurada para seguimiento visual en tiempo real" (PDF) .
- ^ "Triplet Loss in Siamese Network for Object Tracking" (PDF) .
- ^ "Aprendizaje de la red siamesa dinámica para el seguimiento de objetos visuales" (PDF) .
- ^ "Una red siamesa doble para el seguimiento de objetos en tiempo real" (PDF) .
- ^ "Seguimiento visual de alto rendimiento con la red de propuestas de la región siamesa" (PDF) .
- ^ Zhu, Zheng; Wang, Qiang; Li, Bo; Wu, Wei; Yan, Junjie; Hu, Weiming (2018). "Redes siamesas conscientes del distractor para el seguimiento de objetos visuales". arXiv : 1808.06048 [ cs.CV ].
- ^ Fan, Heng; Ling, Haibin (2018). "Redes de propuesta de región en cascada siamés para seguimiento visual en tiempo real". arXiv : 1812.06148 [ cs.CV ].
- ^ Wang, Qiang; Zhang, Li; Bertinetto, Luca; Hu, Weiming; Torr, Philip HS (2018). "Segmentación y seguimiento rápido de objetos en línea: un enfoque unificador". arXiv : 1812.05050 [ cs.CV ].
- ^ Li, Bo; Wu, Wei; Wang, Qiang; Zhang, Fangyi; Xing, Junliang; Yan, Junjie (2018). "SiamRPN ++: evolución del seguimiento visual siamés con redes muy profundas". arXiv : 1812.11703 [ cs.CV ].
- ^ Zhang, Zhipeng; Peng, Houwen (2019). "Redes siamesas más profundas y amplias para seguimiento visual en tiempo real". arXiv : 1901.01660 [ cs.CV ].