Estás leyendo la publicación: OmniXAI: una biblioteca para la IA explicable
Los modelos de aprendizaje automático se ven con frecuencia como cajas negras que son imposibles de descifrar. Porque el alumno está capacitado para responder preguntas del tipo “sí” y “no” sin explicar cómo se obtuvo la respuesta. Una explicación de cómo se logró una respuesta es fundamental en muchas aplicaciones para garantizar la confianza y la apertura. La IA explicable se refiere a estrategias y procedimientos en el uso de tecnología de inteligencia artificial (IA) que permiten a los especialistas humanos comprender los hallazgos de la solución. Este artículo se centrará en explicar el aprendizaje automático que utiliza OmniXAI. Los siguientes son los temas a tratar.
Tabla de contenido
- ¿Cuál es el objetivo de la IA explicable (XAI)?
- Clasificación de la IA explicable
- Explicando el modelo de aprendizaje automático con OmniXAI
La “explicabilidad” es una necesidad y una expectativa que aumenta la transparencia de la “decisión” del modelo de IA intrínseco. Echemos un vistazo más de cerca a los objetivos de IA explicables.
¿Cuál es el objetivo de la IA explicable (XAI)?
El objetivo principal de XAI es responder a las preguntas “wh” (por qué, cuándo, qué, cómo, etc.) sobre una respuesta adquirida. XAI puede ofrecer confiabilidad, transparencia, confianza, información y equidad.
Transparencia e Información
Al presentar una justificación que un laico pueda entender, la XAI puede mejorar la transparencia y la equidad. La necesidad mínima de un modelo de IA transparente es que sea lo suficientemente expresivo como para ser inteligible para los humanos. La transparencia es fundamental para evaluar el funcionamiento y la lógica del modelo XAI. La transparencia puede garantizar que cualquier entrenamiento erróneo para modelar genere debilidades en la predicción, lo que resultará en una gran pérdida personal para el usuario final. La capacitación falsa se puede usar para alterar la generalización de cualquier modelo de IA/ML, lo que resulta en ganancias poco éticas para cualquiera de las partes, a menos que se aclare.
Fiabilidad y confianza
Uno de los aspectos más significativos que hacen que los humanos confíen en cualquier tecnología en particular es la confianza. Una justificación lógica y científica para cada pronóstico o conclusión lleva a las personas a preferir las predicciones o conclusiones de los sistemas AI/ML.
Justicia
Debido a la compensación de sesgo y varianza en los modelos AI/ML, XAI promueve la equidad y ayuda a mitigar el sesgo (compensación de sesgo y varianza) de la predicción durante la justificación o interpretación.
¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.
Clasificación de la IA explicable
Las técnicas de IA explicable (XAI) se clasifican en dos categorías principales de métodos transparentes y post-hoc. El método post-hoc se divide aún más según el tipo de datos.
Métodos post-hoc
Los enfoques post-hoc son efectivos para interpretar la complejidad del modelo cuando existe una conexión no lineal o una mayor complejidad de los datos. En este escenario, la técnica post-hoc es una herramienta útil para explicar lo que ha aprendido el modelo cuando los datos y las características no siguen una conexión clara.
La visualización estadística y basada en la visualización de los resúmenes de funciones sustenta las técnicas de interpretabilidad orientadas a los resultados. La presentación estadística denota estadísticas para cada característica, con la relevancia de cada característica medida en función de su peso en la predicción.
Un enfoque XAI post-hoc toma un modelo de IA entrenado y/o probado como entrada y produce representaciones inteligibles del funcionamiento interno del modelo y la lógica de decisión en forma de puntajes de importancia de características, conjuntos de reglas, mapas de calor o lenguaje sencillo. Muchos enfoques post hoc intentan revelar las correlaciones entre los valores de las características y los resultados del modelo de predicción, independientemente de las características internas del modelo. Esto ayuda a los usuarios a identificar las características más relevantes en un trabajo de ML, cuantificar el valor de las características, replicar las opciones del modelo de caja negra e identificar sesgos en el modelo o los datos.
Las explicaciones locales interpretables independientes del modelo, por ejemplo, extraen puntajes de importancia de características perturbando muestras reales, observando el cambio en la salida del modelo ML dadas las instancias perturbadas y construyendo un modelo local simple que se aproxima al comportamiento del modelo original en la vecindad del original. muestras Las técnicas posthoc agnósticas del modelo y específicas del modelo son los dos tipos de procedimientos posthoc. Las limitaciones de explicabilidad sobre el método de aprendizaje y la estructura interna de un modelo de aprendizaje profundo en particular están respaldadas por estrategias específicas del modelo. Para comprender el mecanismo de aprendizaje y dar explicaciones, los enfoques agnósticos del modelo utilizan el análisis por parejas de las entradas y predicciones del modelo.
Se ha señalado que las técnicas globales pueden explicar todos los conjuntos de datos, pero los enfoques locales se limitan a ciertos tipos de conjuntos de datos. Las herramientas independientes del modelo, por otro lado, se pueden utilizar con cualquier modelo AI/ML. En este caso, el examen pareado de entrada y resultados es fundamental para la interpretabilidad. Las estrategias específicas del modelo, como la relevancia de las características, las explicaciones basadas en condiciones, el aprendizaje basado en reglas y el mapa de prominencia, se cubrieron en las siguientes secciones.
Métodos transparentes
Los métodos transparentes como la regresión logística, la máquina de vectores de soporte, el clasificador bayesiano y el vecino más cercano de K ofrecen una justificación con pesos de características que son locales para el usuario. Esta categoría incluye modelos que cumplen con tres propiedades: transparencia algorítmica, capacidad de descomposición y capacidad de simulación.
- Simulabilidad se refiere a la capacidad de simular un modelo que debe ser ejecutado por un humano. La complejidad del modelo es significativa para la simulación habilitada por humanos. Un modelo de matriz dispersa, por ejemplo, es más fácil de comprender que un modelo de matriz densa porque un modelo de matriz dispersa es más fácil de racionalizar y percibir por las personas.
- Descomponibilidad se refiere a la explicabilidad de todos los aspectos del modelo, desde la entrada de datos hasta los hiperparámetros y los cálculos intrínsecos. Estas características establecen los límites de rendimiento y comportamiento de un modelo. Las características de entrada complejas son difíciles de comprender. Como resultado de estos límites, dichos modelos no entran en la categoría de modelos transparentes.
- Transparencia algorítmica especifica la interpretabilidad de un algoritmo desde su entrada de datos suministrados hasta su juicio final o categorización. El proceso de toma de decisiones debe ser transparente para los usuarios. El modelo lineal, por ejemplo, se considera transparente ya que el gráfico de error es fácil de entender e interpretar. El usuario puede comprender cómo reacciona el modelo en diferentes situaciones mediante el uso de la visualización.
El modelo transparente se realiza con las siguientes técnicas explicables de IA.
- Regresión lineal/logística (LR) es un modelo transparente para predecir variables dependientes que obedecen a la característica de variable binaria. Esta estrategia se basa en la suposición de un ajuste flexible entre predictores y variables pronosticadas. El modelo exige que los usuarios estén familiarizados con las técnicas de regresión y su mecanismo de trabajo para comprender la regresión logística.
- Árboles de decisión son una técnica transparente que cumple con los requisitos de transparencia en un contexto grande. Es una herramienta de toma de decisiones con una estructura jerárquica. Los árboles de decisión de menor tamaño son fáciles de simular. El número de capas en un árbol aumenta su transparencia algorítmica pero disminuye su estimulabilidad. El ensamblaje de árboles de decisión entrenados es eficaz para superar las cualidades de generalización débiles debido a sus escasas capacidades de generalización. La herramienta del árbol de decisiones ahora es menos transparente como resultado de este cambio.
- K-vecinos más cercanos (KNN) es un método basado en votos que predice la clase de las muestras de prueba mediante la votación de las clases de los vecinos más cercanos de las muestras de prueba. La votación de KNN se basa en la distancia y la similitud de las instancias. La transparencia de KNN está determinada por las características, el parámetro N y la función de distancia utilizada para cuantificar la similitud. Un valor mayor de K tiene un efecto en la simulación del modelo por parte del usuario. La complicada función de distancia limita la descomposición del modelo y la transparencia de la ejecución algorítmica.
- A modelo de aprendizaje basado en reglas especifica una regla que se usará para entrenar el modelo. La regla se puede definir en la forma condicional simple if-else o en la lógica predictiva de primer orden. El formato de las reglas está determinado por el tipo de base de conocimientos. Este tipo de modelo se beneficia de dos reglas. Primero, debido a que las reglas están escritas en palabras del lenguaje, un usuario puede entenderlas fácilmente. En segundo lugar, es más capaz de lidiar con la incertidumbre que el paradigma tradicional basado en reglas. La cantidad de reglas en el modelo mejora la eficiencia sin sacrificar la interpretabilidad y la transparencia del modelo.
- modelos bayesianos son modelos probabilísticos que incorporan el concepto de dependencias condicionales entre una colección de variables dependientes e independientes. El modelo bayesiano es lo suficientemente simple para los usuarios finales que entienden la probabilidad condicional. Los modelos bayesianos son suficientemente adecuados para las tres cualidades de descomposición, transparencia algorítmica y simulación humana. La transparencia y la simulación del modelo bayesiano pueden verse afectadas por la dependencia de variables complejas.
Explicando el modelo de aprendizaje automático con OmniXAI
OmniXAI es un paquete de IA explicable de código abierto que proporciona una explicación omnidireccional para una amplia gama de modelos de aprendizaje automático. OmniXAI puede evaluar las correlaciones de funciones y los problemas de desequilibrio de datos en el análisis y la exploración de datos, lo que ayuda a los desarrolladores a eliminar rápidamente funciones duplicadas e identificar posibles problemas de sesgo. OmniXAI puede encontrar características esenciales en la ingeniería de características al estudiar las conexiones entre características y objetivos, ayudar a los usuarios a comprender los aspectos de los datos y realizar el preprocesamiento de características. OmniXAI proporciona múltiples explicaciones, como explicación de atribución de características, explicación contrafactual y explicación basada en gradientes, en el entrenamiento y evaluación de modelos para examinar completamente el comportamiento de un modelo creado para tareas tabulares, de visión, NLP o de series temporales.
Este artículo se centrará en el análisis de datos, la selección de funciones y la explicación del modelo de regresión con OmniXAI. Para este artículo, los datos utilizados están relacionados con la música, las 2000 mejores canciones enumeradas por Spotify y el problema es predecir la popularidad de las canciones.
Comencemos instalando OmniX AI.
! pip instalar omnixai
Importar bibliotecas necesarias
importar pandas como pd importar numpy como np desde omnixai.data.tabular importar Tabular desde omnixai.explainers.data importar DataAnalyzer desde omnixai.preprocessing.base importar Identity desde omnixai.preprocessing.encode importar LabelEncoder desde omnixai.preprocessing.tabular importar TabularTransform desde omnixai .explainers.tabular import TabularExplainer from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor from sklearn.metrics import mean_squared_error,r2_score
Leer los datos
Los desarrolladores de omnixai recomiendan usar Tabular para describir un conjunto de datos tabulares que se puede generar a partir de un marco de datos de pandas o una matriz NumPy. Para construir una instancia tabular a partir de un marco de datos de pandas, se deben especificar el marco de datos, los nombres de características de categoría y los nombres de columna de destino/etiqueta. El paquete “omnixai.preprocessing” contiene varias rutinas de preprocesamiento útiles para datos tabulares.
datos = pd.read_csv(‘/content/drive/MyDrive/Datasets/songs_normalize.csv’) data_utils=data.drop([‘artist’,’song’],eje=1) datos_utils[‘explicit’]=datos_utiles[‘explicit’].astype(str) tabular_data = Tabular(data_utils, feature_columns=data_utils.columns, categorical_columns=[ ‘genre’,’explicit’]target_column=’popularidad’ )
Para el análisis de datos, cree una explicación llamada DataAnalyzer. En DataAnalyzer, los explicadores de parámetros dan los nombres de los analizadores que deseamos usar, por ejemplo, “correlación” para el análisis de correlación de características. En la biblioteca, el análisis de datos se clasifica como una “explicación global”. Explique global se invoca con los parámetros adicionales para que los analizadores especificados creen explicaciones.
explicador = DataAnalyzer( explicadores=[“correlation”, “mutual”, “chi2”]datos=datos_tabulares) explicaciones = explicador.explicar_global()
Omnix AI utiliza plotly como trazador, por lo que todos los gráficos son interactivos. Aquí estamos trazando el gráfico de correlación y algunos gráficos relacionados con la importancia de las características.
Construir un modelo de regresión
transformador = TabularTransform( target_transform=Identity() ).fit(tabular_data)
TabularTransform es una transformación creada específicamente para datos tabulares. Transforma las funciones categóricas en codificación one-hot de forma predeterminada y conserva las funciones de valor continuo. El método de transformación de TabularTransform convertirá una instancia Tabular en una matriz NumPy. Si la instancia Tabular contiene una columna de destino, el destino será la columna final de la matriz NumPy modificada.
Para este artículo, use el modelo Regressor de potenciación de gradiente de sklearn
gb_r = GradientBoostingRegressor() gb_r.fit(x_train, y_train) pred=gb_r.predict(x_test) print(“RMSE = “,np.round(np.sqrt(mean_squared_error(y_test,pred)),3)) print(” R2_score= “,r2_score(y_test,pred))
Explicar los resultados de los modelos inicializando TabularExplainer. Hay las siguientes necesidades que deben definirse durante la inicialización.
- explicadores: Los nombres de los explicadores que se utilizarán. Este artículo utiliza cal, shap y PDP.
- datos: La información utilizada para iniciar los explicadores. El conjunto de datos de entrenamiento se utiliza para entrenar el modelo de aprendizaje automático.
- modelo: El modelo de aprendizaje automático para explicar, en este caso, un regresor de aumento de gradiente.
- preproceso: La función de preprocesamiento transforma la instancia Tabular en entradas del modelo.
- modo: El tipo de tarea del artículo es “regresión”.
preproceso = lambda z: transformer.transform(z) explicadores = TabularExplainer( explicadores=[“lime”, “shap”, “pdp”]mode=”regression”, data=tabular_data, model=gb_r, preprocess=preprocess, params={ “lime”: {“kernel_width”: 3}, “shap”: {“nsamples”: 100} } )
Una vez que se inicialice el explicador, ejecute instancias de prueba utilizando estos códigos.
test_instances = transformer.invert(x_test[0:5]) explicaciones_locales = explicadores.explicar(X=instancias_de_prueba) explicaciones_globales = explicadores.explicar_global()
Trazar los resultados para visualizar la explicabilidad
index=0 print(“Resultados LIME:”) local_explanations[“lime”].ipython_plot(index) print(“Resultados SHAP:”) local_explanations[“shap”].ipython_plot(index) print(“Resultados PDP:”) explicaciones_globales[“pdp”].ipython_plot( características=[‘duración_ms”explícito”año”bailabilidad”energía”clave”sonoridad”modo”habla”acústica”instrumentalidad”vida”valencia”tempo”género
Como se observa en la prueba LIME, cinco características (instrumental, duración, energía, acústica y género) son importantes y tienen un impacto positivo para explicar el resultado del aprendiz. De manera similar, en la prueba Shap, cuatro características (duración, volumen, acústica, género y clave) tienen más impacto en la explicabilidad.
Conclusión
La base de la IA explicable son los modelos de ML transparentes, que solo son parcialmente interpretables por sí mismos, y los enfoques de explicabilidad post-hoc, que hacen que el modelo sea más interpretable. Con este artículo, hemos entendido el objetivo y la clasificación de la IA explicable e implementado la IA explicable con OmniXAI.