Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre

La estimación adecuada de la incertidumbre predictiva es fundamental en aplicaciones que involucran decisiones críticas. La incertidumbre se puede utilizar para evaluar la confiabilidad de las predicciones del modelo, desencadenar la intervención humana o decidir si un modelo se puede implementar de manera segura en la naturaleza.

Les presentamos Suerte, una biblioteca de código abierto para la cuantificación de la incertidumbre. Fortuna proporciona métodos de calibración, como la predicción conforme, que se pueden aplicar a cualquier red neuronal entrenada para obtener estimaciones de incertidumbre calibradas. La biblioteca admite además una serie de métodos de inferencia bayesianos que se pueden aplicar a redes neuronales profundas escritas en Lino. La biblioteca facilita la ejecución de puntos de referencia y permitirá a los profesionales crear soluciones de IA sólidas y confiables aprovechando las técnicas avanzadas de cuantificación de la incertidumbre.

El problema del exceso de confianza en el aprendizaje profundo

Si alguna vez ha observado las probabilidades de clase devueltas por un clasificador de red neuronal profunda entrenado, es posible que haya observado que la probabilidad de una clase era mucho mayor que la de las otras. Algo como esto, por ejemplo:

p = [0.0001, 0.0002, …, 0.9991, 0.0003, …, 0.0001]

Si este es el caso de la mayoría de las predicciones, su modelo podría tener un exceso de confianza. Para evaluar la validez de las probabilidades devueltas por el clasificador, podemos compararlas con la precisión real lograda sobre un conjunto de datos reservados. De hecho, es natural suponer que la proporción de puntos de datos clasificados correctamente debería coincidir aproximadamente con la probabilidad estimada de la clase predicha. Este concepto se conoce como calibración [Guo C. y otros, 2017].

Desafortunadamente, muchas redes neuronales profundas entrenadas están mal calibradas, lo que significa que la probabilidad estimada de la clase predicha es mucho mayor que la proporción de puntos de datos de entrada correctamente clasificados. En otras palabras, el clasificador es demasiado confiado.

Ser demasiado confiado puede ser problemático en la práctica. Un médico puede no ordenar pruebas adicionales relevantes, como resultado de un diagnóstico saludable con exceso de confianza producido por una IA. Un automóvil autónomo puede decidir no frenar porque evaluó con confianza que el objeto que tenía enfrente no era una persona. Un gobernador puede decidir evacuar una ciudad porque la probabilidad de un desastre natural eminente estimado por una IA es demasiado alta. En estas y muchas otras aplicaciones, las estimaciones de incertidumbre calibradas son fundamentales para evaluar la confiabilidad de las predicciones del modelo, recurrir a un tomador de decisiones humano o decidir si un modelo se puede implementar de manera segura.

Fortuna: una biblioteca para la cuantificación de la incertidumbre

Existen muchas técnicas publicadas para estimar o calibrar la incertidumbre de las predicciones, por ejemplo, la inferencia bayesiana. [Wilson AG, 2020], escala de temperatura [Guo C. y otros, 2017]y predicción conforme [Angelopoulos AN et al., 2022] métodos. Sin embargo, las herramientas y bibliotecas existentes para la cuantificación de la incertidumbre tienen un alcance limitado y no ofrecen una variedad de técnicas en un solo lugar. Esto se traduce en una sobrecarga importante, lo que dificulta la adopción de la incertidumbre en los sistemas de producción.

Para llenar este vacío, lanzamos Fortuna, una biblioteca para la cuantificación de la incertidumbre que reúne métodos destacados en la literatura y los pone a disposición de los usuarios con una interfaz estandarizada e intuitiva.

Como ejemplo, suponga que tiene cargadores de datos de entrenamiento, calibración y prueba en tensorflow.Tensor formato, a saber train_data_loader, calib_data_loader y test_data_loader. Además, tiene un modelo de aprendizaje profundo escrito en Lino, a saber, modelo. Entonces puedes usar Fortuna para:

  1. ajustar una distribución posterior;
  2. calibrar los resultados del modelo;
  3. hacer predicciones calibradas;
  4. estimar estimaciones de incertidumbre;
  5. calcular métricas de evaluación.

El siguiente código hace todo esto por usted.

from fortuna.data import DataLoader
from fortuna.prob_model.classification import ProbClassifier
from fortuna.metric.classification import expected_calibration_error

# convert data loaders
train_data_loader = DataLoader.from_tensorflow_data_loader(train_data_loader)
calib_data_loader = DataLoader.from_tensorflow_data_loader(calib_data_loader)
test_data_loader = DataLoader.from_tensorflow_data_loader(test_data_loader)

# define and train a probabilistic model
prob_model = ProbClassifier(model=model)
train_status = prob_model.train(train_data_loader=train_data_loader, calib_data_loader=calib_data_loader)

# make predictions and estimate uncertainty
test_inputs_loader = test_data_loader.to_inputs_loader()
test_means = prob_model.predictive.mean(inputs_loader=test_inputs_loader)
test_modes = prob_model.predictive.mode(inputs_loader=test_inputs_loader, means=test_means)

# compute the expected calibration error and plot a reliability diagram
test_targets = test_data_loader.to_array_targets()
ece = expected_calibration_error(preds=test_modes, probs=test_means, targets=test_targets)

El código anterior utiliza varias opciones predeterminadas, incluido SWAG [Maddox WJ et al., 2019] como método de inferencia posterior, escalado de temperatura [Guo C. y otros, 2017] para calibrar las salidas del modelo, y una distribución previa gaussiana estándar, así como la configuración de los procesos de ajuste y calibración posterior. Puede configurar fácilmente todos estos componentes, y le recomendamos encarecidamente que lo haga si está buscando una configuración específica o si desea comparar varias.

Modos de uso

Fortuna ofrece tres modos de uso: 1/ A partir de modelos Flax, 2 / A partir de los resultados del modelo, y 3/ A partir de estimaciones de incertidumbre. Sus tuberías se representan en la siguiente figura, cada una comenzando desde uno de los paneles verdes. El fragmento de código anterior es un ejemplo del uso de Fortuna a partir de modelos Flax, lo que permite entrenar un modelo utilizando procedimientos de inferencia bayesianos. Alternativamente, puede comenzar con los resultados del modelo o directamente con sus propias estimaciones de incertidumbre. Estos dos últimos modos son marco independiente y ayudarlo a obtener estimaciones de incertidumbre calibradas a partir de un modelo entrenado.

1/ A partir de estimaciones de incertidumbre

Partir de estimaciones de incertidumbre tiene requisitos mínimos de compatibilidad y es el nivel más rápido de interacción con la biblioteca. Este modo de uso ofrece métodos de predicción conformes tanto para la clasificación como para la regresión. Estos toman estimaciones de incertidumbre en numpy.ndarray formatee y devuelva conjuntos rigurosos de predicciones que conservan un nivel de probabilidad dado por el usuario. En tareas de regresión unidimensionales, los conjuntos conformes pueden considerarse como versiones calibradas de confianza o intervalos creíbles.

Tenga en cuenta que si las estimaciones de incertidumbre que proporciona en las entradas son inexactas, los conjuntos conformes pueden ser grandes e inutilizables. Por esta razón, si su aplicación lo permite, considere la A partir de los resultados del modelo y A partir de modelos Flax modos de uso que se detallan a continuación.

2/ A partir de los resultados del modelo

Este modo asume que ya ha entrenado un modelo en algún marco y llega a Fortuna con los resultados del modelo en numpy.ndarray formato para cada punto de datos de entrada. Este modo de uso le permite calibrar los resultados de su modelo, estimar la incertidumbre, calcular métricas y obtener conjuntos conformes.

En comparación con el A partir de estimaciones de incertidumbre modo de uso, A partir de los resultados del modelo proporciona un mejor control, ya que puede garantizar que las estimaciones de incertidumbre se hayan calibrado adecuadamente. Sin embargo, si el modelo se hubiera entrenado con métodos clásicos, la cuantificación resultante de la incertidumbre del modelo (también conocida como epistémica) puede ser deficiente. Para mitigar este problema, tenga en cuenta la A partir de modelos Flax modo de uso

3/ A partir de modelos Flax

A partir de los modelos Flax, los requisitos de compatibilidad son más altos que los A partir de estimaciones de incertidumbre y A partir de los resultados del modelo modos de uso, ya que requiere modelos de aprendizaje profundo escritos en Lino. Sin embargo, le permite reemplazar el entrenamiento del modelo estándar con procedimientos de inferencia bayesianos escalables, lo que puede mejorar significativamente la cuantificación de la incertidumbre predictiva.

Los métodos bayesianos funcionan representando la incertidumbre sobre qué solución es correcta, dada información limitada, a través de la incertidumbre sobre los parámetros del modelo. Este tipo de incertidumbre se denomina incertidumbre “epistémica”. Debido a que las redes neuronales pueden representar muchas soluciones diferentes, correspondientes a diferentes configuraciones de sus parámetros, los métodos bayesianos pueden tener un impacto especial en el aprendizaje profundo. Proporcionamos muchos procedimientos de inferencia bayesiana escalables, que a menudo se pueden usar para proporcionar estimaciones de incertidumbre, así como precisión y calibración mejoradas, esencialmente sin sobrecarga de tiempo de capacitación.

Conclusión

Anunciamos la disponibilidad general de Fortuna, una biblioteca para la cuantificación de la incertidumbre en el aprendizaje profundo. Fortuna reúne métodos destacados en la literatura, por ejemplo, métodos conformes, escalado de temperatura e inferencia bayesiana, y los pone a disposición de los usuarios con una interfaz estandarizada e intuitiva. Para comenzar con Fortuna, puede consultar los siguientes recursos:

¡Prueba Fortuna y cuéntanos lo que piensas! Lo alentamos a que contribuya a la biblioteca o deje sus sugerencias y contribuciones; simplemente cree un  o abrir un solicitud de extracción. Por nuestra parte, seguiremos mejorando Fortuna, aumentando su cobertura de métodos de cuantificación de incertidumbre y agregando más ejemplos que muestren su utilidad en varios escenarios.


Sobre los autores

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

 

Gianluca Detommaso es científico aplicado en AWS. Actualmente trabaja en la cuantificación de la incertidumbre en el aprendizaje profundo. En su tiempo libre, a Gianluca le gusta practicar deportes, comer buena comida y aprender nuevas habilidades.

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Alberto Gasparín es científico aplicado en Amazon Community Shopping desde julio de 2021. Sus intereses incluyen el procesamiento del lenguaje natural, la recuperación de información y la cuantificación de la incertidumbre. Es un entusiasta de la comida y el vino.

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.michele donini es un científico aplicado sénior en AWS. Dirige un equipo de científicos que trabajan en IA responsable y sus intereses de investigación son la equidad algorítmica y el aprendizaje automático explicable.

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Matías Seeger es científico principal aplicado en AWS.

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.cedric archambeau es científico principal aplicado en AWS y miembro del laboratorio europeo de aprendizaje y sistemas inteligentes.

Presentamos Fortuna: una biblioteca para la cuantificación de la incertidumbre PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.andres gordon wilson es profesor asociado en el Instituto Courant de Ciencias Matemáticas y el Centro de Ciencias de Datos de la Universidad de Nueva York, y académico visitante de Amazon en AWS. Está especialmente comprometido con la creación de métodos para el aprendizaje profundo probabilístico y bayesiano, los procesos gaussianos escalables, la optimización bayesiana y el aprendizaje automático inspirado en la física.

Sello de tiempo:

Mas de Aprendizaje automático de AWS