Una función de pérdida es un tipo de función objetivo, que en el contexto de la ciencia de datos se refiere a cualquier función cuya minimización o maximización representa el objetivo del entrenamiento del modelo.
El término “función de pérdida”, que suele ser sinónimo de función de costo o función de error, se refiere específicamente a situaciones donde la minimización es el objetivo de entrenamiento para un modelo de aprendizaje automático.
En términos simples, una función de pérdida rastrea el grado de error en los resultados de un modelo de inteligencia artificial (IA) . Lo hace cuantificando la diferencia ("pérdida") entre un valor predicho, es decir, la salida del modelo, para una entrada determinada y el valor real o verdad fundamental. Si las predicciones de un modelo son precisas, la pérdida es pequeña. Si sus predicciones son inexactas, la pérdida es grande.
En el aprendizaje automático (ML), se emplea una función de pérdida para medir el rendimiento del modelo calculando la desviación de las predicciones de un modelo de las predicciones correctas de "verdad fundamental". La optimización de un modelo implica ajustar los parámetros del modelo para minimizar la salida de alguna función de pérdida.
El objetivo fundamental del aprendizaje automático es capacitar modelos para generar buenas predicciones. Las funciones de pérdida nos permiten definir y perseguir ese objetivo matemáticamente. Durante el entrenamiento, los modelos "aprenden" a generar mejores predicciones ajustando los parámetros de una manera que reduce la pérdida. Un modelo de aprendizaje automático fue suficientemente capacitado cuando la pérdida se minimizó por debajo de un umbral predeterminado.
En una configuración de entrenamiento típica, un modelo hace predicciones sobre un lote de puntos de datos de muestra extraídos del conjunto de datos de entrenamiento y una función de pérdida mide el error promedio para cada ejemplo. Esta información se utiliza entonces para optimizar los parámetros del modelo.
Las funciones de pérdida son específicas del aprendizaje supervisado, cuyas tareas de entrenamiento asumen la existencia de una respuesta correcta: la verdad fundamental. Los algoritmos de aprendizaje convencionales no supervisados, como la agrupación en clústeres o la asociación, no implican respuestas "correctas" o "incorrectas", ya que solo buscan descubrir patrones intrínsecos en datos no etiquetados.
El aprendizaje supervisado requiere conjuntos de datos etiquetados, en los que las anotaciones manuales proporcionan información básica para cada muestra de entrenamiento. Por ejemplo, los modelos de segmentación de imágenes requieren muestras de entrenamiento con cada pixel anotado de acuerdo con su clase correcta. En el aprendizaje autosupervisado, que enmascara o transforma partes de muestras de datos sin etiquetar y asigna modelos para reconstruirlos, la muestra original en sí sirve como verdad fundamental.
Las funciones de pérdida no son simplemente métricas de evaluación. Su propósito explícito no es solo medir el éxito del modelo, sino también servir como entrada para un algoritmo que optimiza los parámetros del modelo para minimizar la pérdida.
Los algoritmos de optimización, como el descenso del gradiente, suelen emplear el gradiente de la función de pérdida. El gradiente es la derivada de una función con múltiples variables. Esencialmente, una derivada describe la tasa y la cantidad que cambia la salida de una función en cualquier punto. Por lo tanto, es importante que las funciones de pérdida sean diferenciables: en otras palabras, tener una derivada en todos los puntos.
Los modelos de machine learning aprenden a realizar predicciones precisas mediante ajustes a ciertos parámetros del modelo. Por ejemplo, un algoritmo de regresión simple modela datos con la función y = wx+b, donde y es la salida del modelo, x es la entrada, w es un peso y b es el sesgo. El modelo aprende actualizando los términos de peso y sesgo hasta que la función de pérdida se minimiza lo suficiente.
Por medio del gradiente de la función de pérdida, los algoritmos de optimización determinan en qué dirección "escalonar" los parámetros del modelo para moverse hacia abajo en el gradiente y, por lo tanto, reducir la pérdida.
Los modelos de deep learning emplean grandes neural networks artificiales, que comprenden capas de neuronas interconectadas, cada una de las cuales tiene su propia función de activación no lineal, en lugar de depender de una función singular. Diferenciar toda la red requiere calcular las derivadas parciales de cientos, miles o incluso millones de variables separadas y funciones de activación con respecto a las demás.
Para ello, neural networks emplea la retropropagación para encontrar el gradiente de la función de pérdida luego de un pase hacia adelante que termina con una predicción en un punto de datos del conjunto de datos de entrenamiento. Abreviatura de propagación hacia atrás del error, la propagación hacia atrás comienza con la salida de la función de pérdida. En un paso hacia atrás a través de la red desde la capa de salida a la capa de entrada, la retropropagación emplea la regla de la cadena para calcular cómo cada peso y sesgo individual en la red contribuyó a la pérdida general.
El gradiente resultante de derivadas parciales para toda la red puede ser empleado por algoritmos de descenso de gradiente para actualizar iterativamente los pesos de la red hasta que la pérdida se minimiza lo suficiente.
Aunque los modelos se capacitan y validan haciendo predicciones sobre un conjunto de datos de entrenamiento, el objetivo final no es obtener un buen rendimiento en los ejemplos de entrenamiento. El verdadero objetivo del aprendizaje automático es capacitar modelos que generalicen bien nuevos ejemplos.
Confiar únicamente en la minimización de una función de pérdida singular se denomina "minimización empírica del riesgo". Si bien tiene un atractivo obvio y simple, corre el riesgo de que un modelo sobreajuste los datos de entrenamiento y, por lo tanto, generalice mal. Para reducir este riesgo, entre otros propósitos, muchos algoritmos y arquitecturas introducen términos de regularización que modifican la función de pérdida primaria.
Por ejemplo, el error absoluto medio (MAE), que en este contexto se denomina regularización L1, se puede emplear para imponer la escasez penalizando el número de neuronas activadas en una Neural Networks o la magnitud de su activación.
Existe una amplia variedad de funciones de pérdida diferentes, cada una adecuada a diferentes objetivos, tipos de datos y prioridades.
En el nivel más alto, las funciones de pérdida más empleadas se dividen en funciones de pérdida de regression y funciones de pérdida de clasificación.
Las funciones de pérdida de regresión miden errores en predicciones que involucran valores continuos. Aunque se aplican de forma más intuitiva a modelos que estiman directamente conceptos cuantificables como el precio, la edad, el tamaño o el tiempo, la regression tiene una amplia gama de aplicaciones. Por ejemplo, se puede usar una función de pérdida de regresión para optimizar un modelo de imagen que estime el valor de color de los píxeles individuales.
Las funciones de pérdida de clasificación miden errores en las predicciones que involucran valores discretos , como la Category a la que pertenece un punto de datos o si un correo electrónico es spam o no. Los tipos de pérdida de clasificación se pueden subdividir en aquellos adecuados para la clasificación binaria y aquellos adecuados para la clasificación multiclase.
La selección de cualquier función de pérdida dentro de esas dos categorías debe depender de la naturaleza del caso de uso. Algunos algoritmos de aprendizaje automático requieren una función de pérdida específica acorde con su estructura matemática, pero para la mayoría de las arquitecturas de modelos existen, al menos teóricamente, múltiples opciones.
Diferentes funciones de pérdida priorizan diferentes tipos de error. Por ejemplo, algunos pueden penalizar severamente los valores atípicos, mientras que otros controlan las variaciones menores. Algunos proporcionan una mayor precisión, pero a expensas de una mayor complejidad de cálculo y, por lo tanto, más tiempo y recursos computacionales para calcular.
En última instancia, la elección de una función de pérdida debe reflejar la tarea de aprendizaje específica, la naturaleza de los datos que analiza el modelo, los tipos de imprecisiones que serán más costosas y los recursos computacionales disponibles.
Los problemas de regression, como la regression lineal o la regression polinomial, generan valores continuos determinando la relación entre una o más variables independientes (x) y una variable dependiente (y): dado x, predecir el valor de y. Por lo tanto, la pérdida por regression debe ser sensible no sólo a que un resultado sea incorrecto, sino al grado en que difiere de la verdad.
La función de pérdida de error cuadrático medio, también llamada pérdida L2 o pérdida cuadrática, es generalmente la función predeterminada para la mayoría de los algoritmos de regresión. Como su nombre lo indica, el MSE se calcula como el promedio de las diferencias al cuadrado entre el valor predicho y el valor real en todos los ejemplos de entrenamiento. La fórmula para calcular el MSE a través de n puntos de datos se escribe como 1n∑i=1n(yi-yi^)2, en la que y es el valor verdadero y ŷ es el valor predicho.
Elevar al cuadrado el error significa que el valor resultante siempre es positivo: como tal, MSE evalúa solo la magnitud del error y no su dirección. Elevar al cuadrado el error también da a los grandes errores un impacto desproporcionadamente fuerte en la pérdida general, lo que castiga fuertemente los valores atípicos e incentiva al modelo a reducirlos. Por lo tanto, la MSE es adecuada cuando se supone que los resultados objetivo tienen una distribución normal (gaussiana).
El MSE siempre es diferenciable, lo que lo hace práctico para optimizar los modelos de regresión a través del descenso del gradiente.
En el caso de los problemas de regresión en los que las salidas objetivo tienen una gama muy amplia de valores potenciales, como los que implican un crecimiento exponencial, podría ser contraproducente una fuerte penalización de los errores grandes.
El error logarítmico cuadrático medio (MSLE) compensa este problema promediando los cuadrados del logaritmo natural de las diferencias entre los valores pronosticados y los valores medios. Sin embargo, vale la pena señalar que el MSLE asigna una mayor penalización a las predicciones demasiado bajas que a las predicciones demasiado altas.
La fórmula para MSLE se escribe como 1n∑i=1n(loge(1+yi)-loge(1+yi^))2
El error cuadrático medio es la raíz cuadrada del MSE, lo que lo hace estrechamente relacionado con la fórmula para las desviaciones estándar. Específicamente, el RMSE se calcula como
.
Por lo tanto, RMSE refleja en gran medida las cualidades de MSE en términos de sensibilidad a los valores atípicos, pero es más fácil de interpretar porque expresa la pérdida en las mismas unidades que el valor de salida en sí. Este beneficio se ve algo atenuado por el hecho de que calcular RSME requiere otro paso en comparación con calcular MSE, lo que aumenta los costos de cálculo.
El error absoluto medio o pérdida L1 mide la diferencia absoluta promedio entre el valor predicho y el valor real. Al igual que MSE, MAE siempre es positivo y no distingue entre estimaciones que son demasiado altas o demasiado bajas. Se calcula como la suma del valor absoluto de todos los errores dividido entre el tamaño de la muestra:
Debido a que no eleva al cuadrado cada valor de pérdida, el MAE es más fuerte para los valores atípicos que MSE. Por lo tanto, el MAE es ideal cuando los datos pueden contener algunos valores extremos que no deberían afectar demasiado al modelo. La pérdida de L1 también penaliza más los pequeños errores que la pérdida de L2.
La función de pérdida de MAE no es diferenciable en los casos en que los resultados previstos coinciden con los resultados reales. Por lo tanto, MAE requiere más pasos de solución durante la optimización.
La pérdida de Huber, también llamada pérdida suave de L1, tiene como objetivo equilibrar las fortalezas de MAE y MSE. Incorpora un hiperparámetro ajustable, δ, que actúa como punto de transición: para valores de pérdida inferiores o iguales a δ, la pérdida de Huber es cuadrática (como MSE); para valores de pérdida mayores que δ, la pérdida de Huber es lineal (como MAE).
Por lo tanto, la pérdida de Huber ofrece una función totalmente diferenciable con la robustez de MAE frente a valores atípicos y la facilidad de optimización de MSE a través del descenso del gradiente. La transición del comportamiento cuadrático al lineal en δ también da como resultado una optimización menos propensa a problemas como la desaparición o explosión de gradientes en comparación con la pérdida de MSE.
Estos beneficios se ven atenuados por la necesidad de definir cuidadosamente δ, lo que agrega complejidad al desarrollo del modelo. La pérdida de Huber es más apropiada cuando ni MSE ni MAE pueden arrojar resultados satisfactorios, como cuando un modelo debe ser robusto para los valores atípicos pero aún así debe penalizar severamente los valores extremos que están más allá de un umbral específico.
Los problemas de clasificación y las funciones de pérdida empleadas para optimizar los modelos que los resuelven se dividen en clasificación binaria , por ejemplo, "spam" o "no spam", "aprobar" o "rechazar", o clasificación multiclase .
Los problemas de clasificación multiclase se pueden abordar de dos maneras. Un método consiste en calcular la probabilidad relativa de un punto de datos que pertenece a cada categoría potencial, luego seleccionar la categoría asignada a la probabilidad más alta. Este enfoque suele emplearse en neural networks con una función de activación softmax para neuronas en la capa de salida. El enfoque alternativo es dividir el problema en una serie de problemas de clasificación binaria.
En la mayoría de los casos, la pérdida de clasificación se calcula en términos de entropía. La entropía, en lenguaje sencillo, es una medida de incertidumbre dentro de un sistema. Para ver un ejemplo intuitivo, compare lanzar monedas con lanzar dados: el primero tiene menor entropía, ya que hay menos resultados potenciales en un lanzamiento de moneda (2) que en un lanzamiento de dados (6).
En el aprendizaje supervisado, las predicciones de los modelos se comparan con las clasificaciones de verdad básicas proporcionadas por las etiquetas de datos. Esas etiquetas de verdad fundamental son seguras y, por lo tanto, tienen baja o ninguna entropía. Como tal, podemos medir la pérdida en términos de la diferencia de certeza que tendríamos usando las etiquetas de verdad fundamental para la certeza de las etiquetas predichas por el modelo.
La fórmula para la pérdida de entropía cruzada (CEL) se deriva de la de la divergencia de Kullback-Leibler (divergencia KL), que mide la diferencia entre dos distribuciones de probabilidad. En última instancia, minimizar la pérdida implica minimizar la diferencia entre la distribución de verdad fundamental de las probabilidades asignadas a cada etiqueta potencial y las probabilidades relativas para cada etiqueta predicha por el modelo.
La pérdida de entropía cruzada binaria, también llamada pérdida logarítmica, se emplea para la clasificación binaria. Los algoritmos de clasificación binaria suelen generar un valor de probabilidad entre 0 y 1. Por ejemplo, en un modelo de detección de spam de correo electrónico, las entradas de correo electrónico que dan como resultado salidas más cercanas a 1 podrían etiquetarse como "spam". Las entradas que arrojan resultados más cercanos a 0 se clasificarían como "no spam". Una salida de 0.5 indicaría la máxima incertidumbre o entropía.
Aunque el algoritmo genere valores entre 0 y 1, los valores verdaderos para las predicciones correctas son exactamente "0" o "1". Por lo tanto, minimizar la pérdida de entropía cruzada binaria implica no solo penalizar las predicciones incorrectas, sino también las predicciones con baja certeza. Esto incentiva al modelo a aprender parámetros que producen predicciones que no solo son correctas sino también confiables. Además, centrarse en los logaritmos de los valores de probabilidad predichos hace que el algoritmo penalice más las predicciones que están confiada y equivocadamente.
Para mantener la convención común de valores de pérdida más bajos que significan menos error, el resultado se multiplica por -1. Por lo tanto, la pérdida logarítmica para un solo ejemplo i se calcula como –(yi·log(p(yi))+(1-yi)·log(1-p(yi))) , donde yi es la probabilidad verdadera, ya sea 0 o 1, y p(yi) es la probabilidad predicha. Por lo tanto, la pérdida promedio en un conjunto completo de n ejemplos de entrenamiento se calcula como –1n∑i=1nyi·log(p(yi))+(1-yi)·log(1-p(yi)).
La pérdida de entropía cruzada categórica (CCEL) aplica este mismo principio a la clasificación multiclase. Un modelo de clasificación multiclase generalmente dará como resultado un valor para cada clase potencial, que representa la probabilidad de que una entrada pertenezca a cada categoría respectiva. En otras palabras, generan predicciones como una distribución de probabilidad.
En el deep learning, los clasificadores de Neural Networks suelen emplear una función de activación softmax para las neuronas en el nivel de salida. El valor de cada neurona de salida se asigna a un número entre 0 y 1, y los valores suman colectivamente 1.
Por ejemplo, en un punto de datos que contiene solo una categoría potencial, los valores de verdad básicos para cada predicción comprenden "1" para la clase verdadera y "0" para cada clase incorrecta. Minimizar CCEL implica aumentar el valor de salida para la clase correcta y disminuir los valores de salida para las clases incorrectas, lo que acerca la distribución de probabilidad a la verdad fundamental. Para cada ejemplo, se debe calcular la pérdida de registro para cada clasificación potencial prevista por el modelo.
La pérdida de bisagra es una función de pérdida alternativa para problemas de clasificación binaria, y es particularmente adecuada para optimizar modelos de máquinas vectoriales de soporte (SVM). Específicamente, es una función de pérdida efectiva para optimizar un límite de decisión que separa dos clases: los puntos se pueden clasificar posteriormente según el lado del límite de decisión en el que caen.
En los algoritmos que emplean pérdida de bisagra, el valor de verdad fundamental para cada etiqueta binaria se asigna a {-1, 1} en lugar de {0,1}. La función de pérdida de bisagra ℓ se define como ℓ(𝑦)=max(0,1−𝑡⋅𝑦), donde t es la etiqueta verdadera e y es la salida del clasificador. El resultado de esta ecuación siempre es no negativo: si 1−𝑡⋅𝑦 es negativo, lo cual solo es posible cuando t e y tienen el mismo signo porque el modelo predijo la clase correcta, la pérdida se define como 0.
Esto ofrece varias posibilidades e incentivos:
Cuando las predicciones del modelo son correctas y confiables, es decir, cuando y es el signo correcto y |y| ≥ 1: el valor de 1–t⋅𝑦 será negativo y, por lo tanto, ℓ = 0.
Cuando las predicciones del modelo son correctas, pero no confiables, es decir, cuando y es el signo correcto, pero |y| < 1: el valor de ℓ será positivo, entre 0 y 1. Esto desincentiva las predicciones poco seguras.
Cuando las predicciones del modelo son incorrectas, es decir, cuando y es el signo incorrecto, el valor de ℓ será mayor que 1 y aumentará linealmente con el valor de |y|. Esto desincentiva fuertemente las predicciones incorrectas.
Algunas arquitecturas de modelos, en particular las empleadas en el deep learning, emplean ostensiblemente funciones de pérdida únicas y especializadas. Aunque estas funciones objetivo son únicas en cuanto a su contexto y lógica, a menudo (pero no siempre) son simplemente la aplicación especializada de una función de pérdida común a un objetivo de entrenamiento específico. Por ejemplo:
Los autocodificadores son modelos sin supervisar que aprenden a codificar de manera eficiente una representación comprimida de los datos de entrada exprimiendo dichos datos a través de un "cuello de botella" y luego empleando esa representación comprimida para reconstruir la entrada original.
Aprenden minimizando la pérdida de reconstrucción: la diferencia entre la entrada original y la reconstruida, normalmente calculada a través del error cuadrático medio (MSE). Los autocodificadores variacionales incorporan la divergencia KL como término de regularización.
Los modelos de detección de objetos minimizan dos tipos de pérdida: regression de cuadro delimitador y pérdida de entropía cruzada. El primero emplea MSE, MAE o una pérdida especializada como la intersección sobre unión (IoU) para comparar las coordenadas del cuadro delimitador previsto con las de la verdad fundamental. Este último mide la clasificación del objeto en sí.
El aprendizaje contrastivo, una forma de aprendizaje autosupervisado, capacita un modelo para generar incrustaciones vectoriales similares para puntos de datos similares. Su objetivo es reducir la pérdida contrastiva o variantes especializadas, como la pérdida triple.