Triplet Loss/es

    From Marovi AI
    This page is a translated version of the page Triplet Loss and the translation is 100% complete.
    Other languages:
    Article
    Topic area Deep Learning
    Prerequisites Embeddings, Loss Functions, Stochastic Gradient Descent, Convolutional Neural Networks


    Resumen

    La pérdida triplete es una función de pérdida utilizada para entrenar modelos que producen vectores de incrustaciones en los que las entradas semánticamente similares se sitúan cerca unas de otras y las disímiles, lejos. Opera sobre tríos de ejemplos (un ancla, un positivo de la misma clase y un negativo de una clase distinta) y penaliza las incrustaciones cuando el negativo está más cerca del ancla que el positivo por menos de un margen fijo. Popularizada originalmente para el reconocimiento facial por el sistema FaceNet,[1] la pérdida triplete es hoy una herramienta estándar en aprendizaje métrico y se emplea ampliamente para recuperación de imágenes, reidentificación de personas, verificación de firmas, similitud de audio y recuperación densa de pasajes en recuperación de información.

    A diferencia del entrenamiento de tipo clasificación con entropía cruzada, que asigna cada entrada a un índice de clase fijo, la pérdida triplete moldea directamente la geometría del espacio de incrustaciones. Esto la hace adecuada para problemas de conjunto abierto en los que las clases que aparecerán en inferencia no se conocen de antemano, como reconocer un rostro nunca visto durante el entrenamiento.

    Intuición

    Considérese un modelo que asocia una entrada $ x $ con un vector $ f(x) \in \mathbb{R}^d $, normalmente restringido a la hiperesfera unitaria mediante normalización $ L^2 $. Un triplete $ (a, p, n) $ consta de:

    • un ancla $ a $ tomada de alguna clase,
    • un positivo $ p $ tomado de la misma clase que el ancla, y
    • un negativo $ n $ tomado de una clase distinta.

    Se desea que la incrustación del ancla quede más cerca del positivo que del negativo. La pérdida triplete impone esta condición no como un mero orden, sino como un margen: el positivo debe estar más cerca que el negativo en al menos una cantidad $ \alpha > 0 $. Sin el margen, la pérdida podría satisfacerse trivialmente colapsando todas las incrustaciones a un único punto, ya que cualquier diferencia no nula bastaría. El margen aleja al negativo en una cantidad finita y dota a la pérdida de una escala geométrica.

    Formulación

    Sea $ d(\cdot, \cdot) $ una distancia sobre el espacio de incrustaciones, típicamente la distancia euclídea al cuadrado aplicada a incrustaciones normalizadas en $ L^2 $. La pérdida triplete para un único triplete es

    $ {\displaystyle \mathcal{L}(a, p, n) = \max\bigl(0,\; d(f(a), f(p)) - d(f(a), f(n)) + \alpha\bigr).} $

    Aparecen dos regímenes. Cuando $ d(f(a), f(p)) + \alpha \le d(f(a), f(n)) $, la pérdida es cero y el gradiente se anula: el triplete ya está satisfecho y no contribuye al aprendizaje. En caso contrario, la pérdida es estrictamente positiva y atrae el ancla hacia el positivo mientras la aleja del negativo. Como la incrustación suele restringirse a la esfera unitaria, la distancia euclídea al cuadrado y la similitud coseno difieren solo en una transformación afín, de modo que la pérdida triplete puede expresarse equivalentemente en términos de productos internos.

    El objetivo total sobre un minilote es la media (o la suma) de las pérdidas triplete sobre un conjunto elegido de tripletes. Elegir bien esos tripletes es el problema práctico central.

    Minería de tripletes

    El enfoque ingenuo de muestrear tripletes uniformemente al azar es computacionalmente desaprovechado: a medida que avanza el entrenamiento, la mayoría de los tripletes aleatorios ya satisfacen el margen y producen gradiente nulo. Esto motiva la minería de tripletes, es decir, la práctica de seleccionar tripletes que sean informativos.

    Se distinguen comúnmente tres regímenes dentro de un minilote de $ B $ incrustaciones:

    • Tripletes fáciles satisfacen $ d(a, p) + \alpha < d(a, n) $. La pérdida es cero; no hay señal.
    • Tripletes difíciles cumplen $ d(a, n) < d(a, p) $. El negativo está más cerca que el positivo: se produce un gradiente fuerte, pero estos tripletes corresponden a menudo a ruido de etiquetas o a valores atípicos extremos y pueden desestabilizar el entrenamiento.
    • Tripletes semi-difíciles satisfacen $ d(a, p) < d(a, n) < d(a, p) + \alpha $. El positivo está más cerca que el negativo, pero no por suficiente; la pérdida es positiva pero acotada.

    FaceNet introdujo la minería semi-difícil en línea: para cada ancla del lote, se elige el negativo semi-difícil más duro. Esto produce gradientes estables y se cita ampliamente como la receta que hizo la pérdida triplete práctica a gran escala. La minería de batch-hard,[2] introducida para reidentificación de personas, escoge en cambio el positivo más duro y el negativo más duro para cada ancla del lote. Requiere cuidado (currículum, calentamiento o un optimizador robusto como Adam) pero produce incrustaciones más fuertes en muchas tareas. Las estrategias de minería pueden ser en línea (calculadas al vuelo a partir del lote actual) o fuera de línea (precalculadas sobre todo el conjunto de datos).

    Entrenamiento e inferencia

    El entrenamiento se realiza por retropropagación a través de $ f $. Un lote típico se construye muestreando $ P $ clases y $ K $ ejemplos por clase, lo que da $ B = PK $ incrustaciones y $ O(B^2) $ distancias por pares candidatas; este muestreador $ P\!\times\!K $ es el complemento estándar de la minería de batch-hard. El margen $ \alpha $ es un hiperparámetro; valores en el rango $ [0.1, 0.5] $ son comunes cuando las incrustaciones están normalizadas a la unidad. Las incrustaciones se normalizan casi siempre en $ L^2 $, tanto para acotar la pérdida como porque la geometría coseno tiende a ser más estable que la geometría euclídea sin restricción.

    En inferencia el modelo se utiliza puramente como una función de incrustación: la similitud entre dos entradas se calcula como $ d(f(x_1), f(x_2)) $, y las tareas posteriores (verificación, recuperación, agrupamiento) usan esa distancia directamente. No se requiere ninguna cabecera softmax.

    Variantes y pérdidas relacionadas

    Varias pérdidas generalizan o refinan el objetivo triplete:

    • La pérdida contrastiva,[3] predecesora histórica, opera sobre pares en lugar de tripletes y tiene una distancia objetivo fija para los pares similares y los disímiles.
    • La pérdida N-pair[4] compara un positivo frente a muchos negativos en un único objetivo de tipo softmax, mejorando la eficiencia de muestreo.
    • La pérdida cuadruplete añade un segundo término negativo para imponer que las distancias intraclase sean menores que las distancias entre clases por un margen mayor.
    • La pérdida estructurada elevada considera todos los pares de un lote conjuntamente, ponderándolos mediante un suave log-sum-exp.
    • La pérdida angular reemplaza la distancia euclídea por una restricción basada en ángulo que es invariante a la escala.
    • La pérdida multi-similitud y la pérdida circular generalizan la ponderación de pares usando autosimilitud y similitud relativa.
    • InfoNCE y otros objetivos de aprendizaje contrastivo están estrechamente relacionados: con un único positivo y muchos negativos, InfoNCE se comporta como una pérdida N-pair suave con temperatura.

    Comparaciones

    La pérdida triplete se contrasta con mayor frecuencia con el aprendizaje de incrustaciones basado en clasificación. Métodos como ArcFace y CosFace entrenan un clasificador explícito con un margen angular sobre los logits de softmax, lo que produce empíricamente incrustaciones faciales fuertes sin muestreo explícito de tripletes. Estos métodos evitan por completo el problema de la minería, pero requieren un conjunto fijo de clases durante el entrenamiento y pueden escalar mal cuando el número de identidades es muy grande. La pérdida triplete, en cambio, es agnóstica a la identidad y escala de forma natural a problemas de conjunto abierto, pero exige una minería cuidadosa y es sensible al margen y a la tasa de aprendizaje.

    Comparada con la pérdida contrastiva por pares, la pérdida triplete suele ser más eficiente en términos de muestras porque cada triplete codifica atracción y repulsión en una misma actualización. Comparada con objetivos contrastivos al estilo de InfoNCE, la pérdida triplete tiene una geometría de margen más nítida, pero tiende a ser menos estable cuando los negativos no se eligen con cuidado.

    Limitaciones

    La principal dificultad práctica de la pérdida triplete es que la señal de gradiente desaparece una vez satisfecho el margen, lo que vuelve lento el muestreo no informado. Este es el motivo por el que se requieren estrategias de minería. La minería dura puede amplificar el ruido de etiquetas: un único positivo mal etiquetado se convierte en el par más duro para muchas anclas y puede dominar el entrenamiento. La pérdida también es sensible a la elección del margen, a la norma de la incrustación y a la composición del lote; un mal muestreador $ P, K $ puede producir lotes sin tripletes útiles en absoluto. Por último, aunque la pérdida optimiza directamente un objetivo de tipo ranking, no calibra explícitamente las distancias en todo el conjunto de datos, por lo que los umbrales absolutos para verificación deben elegirse a posteriori sobre un conjunto retenido.

    Referencias

    1. Template:Cite arxiv
    2. Template:Cite arxiv
    3. Hadsell, Chopra y LeCun, "Dimensionality Reduction by Learning an Invariant Mapping", CVPR 2006.
    4. Sohn, "Improved Deep Metric Learning with Multi-class N-pair Loss Objective", NeurIPS 2016.