He estado trabajando con las redes neuronales convolucionales (CNN) durante algún tiempo, principalmente en datos de imágenes para la segmentación semántica / segmentación de instancias. A menudo he visualizado el softmax de la salida de la red como un "mapa de calor" para ver qué tan altas son las activaciones por píxel para una clase determinada. He interpretado las activaciones bajas como "inciertas" / "inseguras" y las activaciones altas como predicciones "ciertas" / "seguras". Básicamente, esto significa interpretar la salida softmax (valores dentro de ) como una medida de probabilidad o (un) certeza del modelo.
( Por ejemplo, he interpretado que un objeto / área con una activación de softmax baja promediada sobre sus píxeles es difícil de detectar para la CNN, por lo tanto, la CNN es "incierta" sobre la predicción de este tipo de objeto ) .
En mi opinión, esto a menudo funcionó, y agregar muestras adicionales de áreas "inciertas" a los resultados de entrenamiento mejoró los resultados en estos. Sin embargo , ahora he escuchado con bastante frecuencia desde diferentes lados que usar / interpretar la salida de softmax como una medida de (des) certeza no es una buena idea y generalmente se desaconseja. ¿Por qué?
EDITAR: Para aclarar lo que estoy preguntando aquí, elaboraré mis puntos de vista hasta ahora al responder esta pregunta. Sin embargo, ninguno de los siguientes argumentos me dejó claro ** por qué generalmente es una mala idea **, como me dijeron repetidamente colegas, supervisores y también se indica, por ejemplo, aquí en la sección "1.5"
En los modelos de clasificación, el vector de probabilidad obtenido al final de la tubería (la salida softmax) a menudo se interpreta erróneamente como confianza del modelo
o aquí en la sección "Antecedentes" :
Aunque puede ser tentador interpretar los valores dados por la capa softmax final de una red neuronal convolucional como puntajes de confianza, debemos tener cuidado de no leer demasiado en esto.
Las fuentes anteriores razonan que usar la salida softmax como medida de incertidumbre es malo porque:
perturbaciones imperceptibles a una imagen real pueden cambiar la salida softmax de una red profunda a valores arbitrarios
Esto significa que la salida de softmax no es robusta a "perturbaciones imperceptibles" y, por lo tanto, su salida no es utilizable como probabilidad.
Otro artículo retoma la idea de "salida de softmax = confianza" y argumenta que con esta intuición las redes pueden ser engañadas fácilmente, produciendo "salidas de alta confianza para imágenes irreconocibles".
(...) la región (en el dominio de entrada) correspondiente a una clase particular puede ser mucho más grande que el espacio en esa región ocupada por ejemplos de entrenamiento de esa clase. El resultado de esto es que una imagen puede estar dentro de la región asignada a una clase y, por lo tanto, clasificarse con un pico alto en la salida de softmax, mientras está lejos de las imágenes que ocurren naturalmente en esa clase en el conjunto de entrenamiento.
Esto significa que los datos que están muy lejos de los datos de entrenamiento nunca deberían tener una alta confianza, ya que el modelo "no puede" estar seguro de ello (como nunca lo ha visto).
Sin embargo: ¿no es esto simplemente cuestionar las propiedades de generalización de los NN en su conjunto? Es decir, los NN con pérdida de softmax no se generalizan bien a (1) "perturbaciones imperceptibles" o (2) muestras de datos de entrada que están muy lejos de los datos de entrenamiento, por ejemplo, imágenes irreconocibles.
Siguiendo este razonamiento, todavía no entiendo por qué, en la práctica, con datos que no se alteran abstracta y artísticamente frente a los datos de entrenamiento (es decir, la mayoría de las aplicaciones "reales"), interpretar la salida softmax como una "pseudo-probabilidad" es una mala idea. Después de todo, parecen representar bien de qué está seguro mi modelo, incluso si no es correcto (en cuyo caso necesito arreglar mi modelo). ¿Y la incertidumbre del modelo no es siempre "solo" una aproximación?