Cross-Entropy Loss/es

    From Marovi AI
    < Cross-Entropy Loss
    Revision as of 07:09, 24 April 2026 by DeployBot (talk | contribs) ([deploy-bot] Deploy from CI (8c92aeb))
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Languages: English | Español | 中文
    Article
    Topic area Machine Learning
    Difficulty Intermediate
    Prerequisites Loss Functions, Softmax Function

    La perdida de entropia cruzada (tambien llamada perdida logaritmica) es la funcion de perdida mas ampliamente utilizada para tareas de clasificacion en el aprendizaje automatico. Con raices en la teoria de la informacion, mide la disimilitud entre la distribucion de la etiqueta verdadera y la distribucion de probabilidad predicha por el modelo, proporcionando un objetivo suave y diferenciable que impulsa a los clasificadores probabilisticos hacia predicciones correctas y con alta confianza.

    Fundamentos de la teoria de la informacion

    Entropia

    La entropia de una distribucion de probabilidad discreta $ p $ cuantifica su incertidumbre:

    $ H(p) = -\sum_{k=1}^{K} p_k \log p_k $

    Para una distribucion determinista (etiqueta one-hot), $ H(p) = 0 $. La entropia se maximiza cuando todos los resultados son igualmente probables.

    Divergencia KL

    La divergencia de Kullback-Leibler mide cuanto difiere una distribucion $ q $ de una distribucion de referencia $ p $:

    $ D_{\mathrm{KL}}(p \,\|\, q) = \sum_{k=1}^{K} p_k \log \frac{p_k}{q_k} $

    La divergencia KL es no negativa e igual a cero si y solo si $ p = q $.

    Entropia cruzada

    La entropia cruzada entre las distribuciones $ p $ (verdadera) y $ q $ (predicha) es:

    $ H(p, q) = -\sum_{k=1}^{K} p_k \log q_k = H(p) + D_{\mathrm{KL}}(p \,\|\, q) $

    Dado que $ H(p) $ es constante con respecto a los parametros del modelo, minimizar la entropia cruzada es equivalente a minimizar la divergencia KL — es decir, hacer que la distribucion predicha $ q $ sea lo mas cercana posible a la distribucion verdadera $ p $.

    Entropia cruzada binaria

    Para clasificacion binaria con etiqueta verdadera $ y \in \{0, 1\} $ y probabilidad predicha $ \hat{y} = \sigma(z) $ (donde $ \sigma $ es la funcion sigmoide):

    $ \mathcal{L}_{\mathrm{BCE}} = -\bigl[y \log \hat{y} + (1 - y) \log(1 - \hat{y})\bigr] $

    Sobre un conjunto de datos de $ N $ muestras:

    $ \mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \bigl[y_i \log \hat{y}_i + (1 - y_i) \log(1 - \hat{y}_i)\bigr] $

    El gradiente con respecto al logit $ z $ toma la forma elegantemente simple $ \hat{y} - y $, que es tanto intuitiva como computacionalmente eficiente.

    Entropia cruzada categorica

    Para clasificacion multiclase con $ K $ clases, la etiqueta verdadera es tipicamente un vector one-hot $ \mathbf{y} $ con $ y_c = 1 $ para la clase correcta $ c $. Las probabilidades predichas $ \hat{\mathbf{y}} $ se obtienen mediante la funcion softmax:

    $ \mathcal{L}_{\mathrm{CE}} = -\sum_{k=1}^{K} y_k \log \hat{y}_k = -\log \hat{y}_c $

    Esto se reduce a la probabilidad logaritmica negativa de la clase correcta, razon por la cual la entropia cruzada categorica tambien se denomina verosimilitud logaritmica negativa en este contexto.

    Estabilidad numerica

    El truco log-sum-exp

    Calcular ingenuamente $ \log(\mathrm{softmax}(z_k)) $ implica exponenciar logits potencialmente grandes, causando desbordamiento. El truco log-sum-exp evita esto:

    $ \log \hat{y}_k = z_k - \log \sum_{j=1}^{K} e^{z_j} = z_k - \left(m + \log \sum_{j=1}^{K} e^{z_j - m}\right) $

    donde $ m = \max_j z_j $. Restar el logit maximo asegura que el exponente mas grande sea cero, previniendo el desbordamiento. Todos los principales frameworks de aprendizaje profundo implementan esta operacion fusionada (por ejemplo, CrossEntropyLoss de PyTorch acepta logits crudos).

    Recorte

    Las probabilidades predichas deben recortarse lejos de exactamente 0 y 1 para evitar $ \log(0) = -\infty $. Tipicamente se utiliza un epsilon pequeno (por ejemplo, $ 10^{-7} $).

    Suavizado de etiquetas

    El suavizado de etiquetas (Szegedy et al., 2016) reemplaza el objetivo one-hot rigido con una distribucion suave:

    $ y_k^{\mathrm{smooth}} = (1 - \alpha)\, y_k + \frac{\alpha}{K} $

    donde $ \alpha $ es una constante pequena (comunmente 0.1). Esto evita que el modelo se vuelva excesivamente confiado, mejora la calibracion y a menudo produce una mejor generalizacion. Es practica estandar en el entrenamiento de grandes clasificadores de imagenes y modelos Transformer.

    Comparacion con otras perdidas

    Perdida Formula Uso tipico
    Entropia cruzada $ -\sum y_k \log \hat{y}_k $ Clasificacion
    Error cuadratico medio $ \frac{1}{K}\sum(y_k - \hat{y}_k)^2 $ Regresion (inadecuado para clasificacion)
    Perdida de bisagra $ \max(0, 1 - y \cdot z) $ Clasificacion tipo SVM
    Perdida focal $ -(1-\hat{y}_c)^\gamma \log \hat{y}_c $ Clasificacion desbalanceada

    La entropia cruzada tiene gradientes mas pronunciados que el MSE cuando la prediccion es confidencialmente erronea, lo que conduce a una correccion mas rapida de los errores grandes.

    Vease tambien

    Referencias

    • Shannon, C. E. (1948). "A Mathematical Theory of Communication". Bell System Technical Journal.
    • Goodfellow, I., Bengio, Y. and Courville, A. (2016). Deep Learning. MIT Press, Chapter 6.
    • Szegedy, C. et al. (2016). "Rethinking the Inception Architecture for Computer Vision". CVPR.
    • Lin, T.-Y. et al. (2017). "Focal Loss for Dense Object Detection". ICCV.