Inteligencia artificial explicable: atribución de la importancia de la unidad de entrada

inserte la descripción de la imagen aquí
Atribución de importancia de la unidad de entrada, que consiste en calcular la importancia de cada unidad en la entrada (Importancia). La importancia puede reflejar la influencia de la unidad de entrada en la red neuronal, y cuanto mayor sea la importancia, mayor será la influencia. Cuantificar y analizar la importancia de las unidades de entrada puede ayudar a las personas a comprender qué variables de entrada impulsan la red neuronal para obtener los resultados actuales y, por lo tanto, tener una comprensión preliminar del modelado característico de la red neuronal.

inserte la descripción de la imagen aquí

En algunos estudios, las personas usanValor de atribución(Atribución) osignificativo(Prominencia) describe la influencia de una unidad de entrada en una red neuronal, mientras que la importancia, la atribución y el significado tienen significados muy similares. Por lo tanto, el término importancia se usará de manera uniforme en la siguiente discusión.


Métodos de interpretabilidad más representativos :
inserte la descripción de la imagen aquí


1. Algoritmo SHAP

1.1 Valor Shapley

Shapley Value es un método de teoría de juegos cooperativos, un método para asignar pagos totales a los jugadores en función de su contribución (características) al pago total (predicción). Los jugadores cooperan en la alianza y obtienen ciertos beneficios de la cooperación.

Valor de ShapleyPromedio de todas las contribuciones marginales a todas las coaliciones posibles. El valor de Shapley se puede entender intuitivamente de esta manera: los valores propios ingresan a la habitación en un orden aleatorio, y todos los valores propios en la habitación participan en el juego (equivalente a ayudar a las predicciones). El valor de Shapley de un valor propio es el cambio promedio en los valores predichos recibidos por las coaliciones que ya están en la sala cuando se les agrega ese valor propio.

Ejemplo: Tres jugadores cooperan para completar un proyecto (haciendo 500 partes).



probabilidad orden de ingreso del jugador Margen de contribución del jugador 1 Margen de contribución del jugador 2 Margen de contribución del jugador 3
1 6 \frac{1}{6}61 1,2,3 100 170 230
1 6 \frac{1}{6}61 1,3,2 100 125 275
1 6 \frac{1}{6}61 2,1,3 145 125 230
1 6 \frac{1}{6}61 2,3,1 150 125 225
1 6 \frac{1}{6}61 3,1,2 325 125 50
1 6 \frac{1}{6}61 3,2,1 150 300 50

Entonces, el valor de Shapley de cada jugador es:

jugador Valor Shapley
1 1 6 ( 100 + 100 + 145 + 150 + 325 + 150 ) = 970 6 \frac{1}{6}(100+100+145+150+325+150)=\frac{970}{6}61( 100+100+145+150+325+150 )=6970
2 1 6 ( 170 + 125 + 125 + 125 + 125 + 300 ) = 970 6 \frac{1}{6}(170+125+125+125+125+300)=\frac{970}{6}61( 170+125+125+125+125+300 )=6970
3 1 6 ( 230 + 275 + 230 + 225 + 50 + 50 ) = 1060 6 \frac{1}{6}(230+275+230+225+50+50)=\frac{1060}{6}61( 230+275+230+225+50+50 )=61060

Por lo tanto, si la bonificación se divide según la proporción, la bonificación asignada por el jugador 1 es el 32,3 % de la bonificación total, la bonificación asignada por el jugador 2 es el 32,3 % de la bonificación total y la bonificación asignada por el jugador 3 es el 35,3 % de la bonificación total.

Entonces, en el aprendizaje automático, ¿cómo controlamos si un determinado jugador (característica) participa en el juego?
Si un determinado jugador no participa en el juego, le damos a esta característica un valor aleatorio, que proviene de la distribución de características en el conjunto de datos de entrenamiento. Una característica a la que se le asigna un valor aleatorio no tiene poder predictivo, por lo que consideramos que esa característica no participa en el juego (predicción).


Desventajas del valor de Shapley:

  • La complejidad del tiempo es demasiado alta.
  • Shapley Value devuelve un valor simple para cada función, pero no existe un modelo como LIME. Esto significa que no se puede usar para hacer declaraciones cambiantes sobre predicciones de entradas cambiantes.
  • Si desea calcular el valor de Shapley de una nueva instancia de datos, necesita acceder a una gran cantidad de datos para realizar el cálculo.
  • Como muchos otros métodos de interpretación basados ​​en permutaciones, el método de valor de Shapley sufre instancias de datos poco realistas donde las características están correlacionadas.



1.2 Algoritmo SHAP

Considerando que el cálculo del valor de Shapley requiere una complejidad computacional muy alta, en 2017, Lundberg y Lee propusieronAlgoritmo de explicación aditiva de Shapley (explicaciones aditivas de SHApley, SHAP)[ 2 ] ^{[2]}[ 2 ] ,Aproximación eficiente del valor de Shapley de la unidad de entrada, el objetivo es explicar la instancia xx calculando la contribución de cada característica a la predicciónpredicción de x . Interpreta las predicciones del modelo como una función lineal de variables binarias:
g ( z ′ ) = ϕ 0 + ∑ i = 1 M ϕ izi ′ g(z') = \phi_0 + \sum\limits^M_{i=1}\phi_iz'_igramo ( z )=ϕ0+yo = 1mϕyozi′′Entre ellos, g.g es el modelo de explicación;z ′ ∈ { 0 , 1 } M z'\in\{0,1\}^Mz{ 0 ,1 }M esunión de vectores(también conocido como "características simplificadas", 1 presente, 0 ausente); MMM es el tamaño de la unión más grande;ϕ i ∈ R \phi_i \in RϕyoR es característicaiiLos valores característicos de Shapley atribuibles para i .

SHAP describe las siguientes tres propiedades deseables:

  • Precisión local : la suma de las atribuciones de características es igual a la salida del modelo a explicar. Eso es f ^ ( x ) = g ( x ′ ) = ϕ 0 + ∑ i = 1 METRO ϕ ixi ′ \widehat{f}(x) = g(x') = \phi_0 + \sum\limits^M_{i=1}\phi_ix'_iF ( X )=gramo ( x )=ϕ0+yo = 1mϕyoXi′′
  • Missingness : Todos los autovalores xi ′ x’_i de la instancia a explicarXi′′Ambos deben ser 1. Si es 0, significa que la instancia a explicar carece de este valor de característica.
  • Consistencia : si el modelo cambia de manera que la contribución marginal del valor propio aumenta o permanece igual (independientemente de otras características), el valor de Shapley aumentará o permanecerá igual en consecuencia.

Calcular importancia:

  • KernelSHAP [ 2 ] ^{[2]}[ 2 ] : KernelSHAP es un método de proxy basado en kernel que estima los valores de Shapley en función de un modelo de proxy local.
  • DeepSHAP [ 3 ] ^{[3]}[ 3 ] : A través de algunos algoritmos anteriores basados ​​en retropropagación (DeepLIFT[ 4 ] ^{[4]}[ 4 ] ) se mejoró para obtener DeepSHAP.

1. KernelSHAP (valores lineales LIME + Shapley)

(1) Introducción a KernelSHAP

KernelSHAP para una instancia xxx estima la contribución de cada valor de característica a la predicción.

Recuerde SHAP: SHAP define la interpretación como: g ( z ′ ) = ϕ 0 + ∑ j = 1 M ϕ jzj ′ = f ^ ( z ) g(z') = \phi_0 + \sum\limits^M_{j=1} \phi_j z'_j = \widehat{f}(z)gramo ( z )=ϕ0+j = 1mϕjzj′′=F ( z ) , es decir, SHAP quiereentrenar un modelo de regresión para ajustar localmente la salida del modelo a interpretar. (Espera, ¡¿no es eso lo que hace el modelo LIME?!) Aquí queremos ver el valor de Shapley (la contribución de cada característica a la predicción) correspondiente a cada característica, es decir, ϕ j \phi_jϕj

La mayor diferencia entre KernelSHAP y LIME es queEl peso de la instancia en el modelo de regresión

  • LIME pondera las instancias según lo cerca que estén de la instancia original ;

  • SHAP pondera las instancias muestreadas de acuerdo con los pesos obtenidos por la coalición en la estimación del valor de Shapley .

    Para lograr la ponderación del estándar de Shapley, Lundberg y otros propusieron el núcleo SHAP : ( π x ( z ′ ) \pi_x(z')Pix( z )significainstanciaz ′ z'z pesos correspondientes)

    π x ( z ′ ) = ( METRO − 1 ) ( METRO ∣ z ′ ∣ ) ∣ z ′ ∣ ( METRO − ∣ z ′ ∣ ) \pi_x(z') = \frac{(M-1)}{(\begin{matriz}M\\|z'|\\ \end{matriz})|z'|(M - |z'|)}Pix( z )=(METROz) z(METROz)( M1 )Entre ellos, M.M.M es el tamaño máximo de la coalición,∣ z ′ ∣ |z'|zes instanciaz ′ z'z' El número de entidades actuales en .


(2) ¿Cómo se calcula KernelSHAP?

El cálculo de KernelSHAP incluye principalmente los siguientes 5 pasos: [ 10 ] ^{[10]}[ 10 ]

  1. Inicialice algunas funciones simplificadas zk ′ ∈ { 0 , 1 } M z'_k \in \{ 0,1 \}^M cerca de la instancia de destinozk′′{ 0 ,1 }M (1 significa que la característica existe en la coalición, 0 significa que la característica no existe en la coalición).
  2. 将 características simplificadas zk ′ z'_kzk′′Convertir al espacio de datos original hx ( z ′ ) = z h_x(z') = zhx( z )=z , luego aplique el modelof ^ : f ^ ( hx ( zk ′ ) ) \widehat{f} : \widehat{f}(h_x(z'_k))F :F ( hx( zk′′)) parazk ′ z’_kzk′′Hacer predicciones.
    Aquí, si el vector es 1, se utilizan los datos originales de la característica; si el vector es 0, significa "valor de característica faltante", en este momento hx h_xhxLos valores propios no existentes se muestrean de la distribución marginal en función de los valores propios actuales (muestrear de la distribución marginal significa ignorar las dependencias entre la característica actual y las características inexistentes).
  3. Calcule cada zk ′ z’_k usando el kernel SHAPzk′′的权重。
    π x ( z ′ ) = ( METRO − 1 ) ( METRO ∣ z ′ ∣ ) ∣ z ′ ∣ ( METRO − ∣ z ′ ∣ ) \pi_x(z') = \frac{(M-1)}{(\begin{matriz}M\\|z'|\\ \end{matriz})|z' |(M - |z'|)}Pix( z )=(METROz) z(METROz)( M1 )
  4. Ajuste un modelo lineal ponderado.
  5. Devuelve el valor de Shapley ϕ k \phi_kϕk, los coeficientes del modelo lineal.



2. DeepSHAP (valores DeepLIFT + Shapley)

DeepSHAP utiliza el método DeepLIFT para estimar el valor de Shapley correspondiente a cada característica.




2. Método de explicación LIME local e independiente del modelo

2.1 Introducción a LIME

LIMA [ 9 ] ^{[9]}[ 9 ] El nombre completo es: Explicaciones agnósticas del modelo interpretable local, modelo de proxy local (es decir, centrado en entrenar un modelo de proxy local para explicar una sola predicción). local - local (local al espacio muestral), agnóstico del modelo - independiente del modelo.

Este enfoque trata el modelo original como una caja negra en la que se pueden introducir puntos de datos y obtener las predicciones del modelo. Una caja negra se puede sondear en cualquier momento, y el objetivo de un modelo LIME es comprender por qué ese modelo de caja negra hizo una predicción particular.

LIME genera un nuevo conjunto de datos, y luego en este nuevo conjunto de datos, LIME entrena un modelo interpretable (por ejemplo, modelo lineal, árbol de decisiones, etc.), que se pondera según la proximidad de la nueva muestra a la instancia de destino (que puede entenderse como distancia). El modelo aprendido debe ser una buena aproximación de las predicciones locales del modelo de aprendizaje automático, pero no necesariamente una buena aproximación global.

inserte la descripción de la imagen aquí
Matemáticamente, un modelo sustituto local con restricciones de interpretabilidad se puede expresar como:

explicación ( x ) = argumento ∈ GL ( f ^ , gramo , π x ) + Ω ( gramo ) explicación(x) = argmin_{g \in G} L(\widehat{f}, g, \pi_x) + \Omega(g)e x pl a n a c i ó n ( x )=a rg mi n _g GL (F ,g ,Pix)+Ω ( gramo )

donde _g es paraxxEl modelo explicativo de x ,f ^ \widehat fF Denota el modelo original, minimizando la pérdida LLL mide el modelo explicadoggg con modelo originalf ^ \widehat fF La cercanía predicha, cercanía π x \pi_xPixDefine la instancia xx al considerar la interpretaciónTamaño del vecindario cerca de x , complejidad del modeloΩ ( g ) \Omega(g)Ω ( g ) se mantiene bajo (p. ej.: para árboles de decisión,Ω ( g ) \Omega(g)Ω ( g ) puede ser la profundidad del árbol). Durante la operación real, LIME solo optimiza la parte de pérdida, y el usuario debe determinar la complejidad.


2.2 ¿Cómo se calcula LIME?

inserte la descripción de la imagen aquí
A la izquierda hay un modelo complejo que se usa para resolver problemas de clasificación Para una muestra determinada, queremos saber qué factores afectan la clasificación de la muestra.
Sacamos esta región local y ajustamos un límite de decisión con un modelo lineal. ¿Cómo lo hacemos?

  1. Genere muchos puntos de muestra cerca de la muestra predicha . Para este punto de muestra, generamos aleatoriamente muchos puntos de muestra a su alrededor.
    inserte la descripción de la imagen aquí
  2. Etiquete las muestras recién generadas . Colocamos las muestras recién generadas en el modelo complejo ya entrenado f ^ \widehat fF Pronostique y obtenga los resultados de predicción correspondientes.
  3. Use las muestras etiquetadas para entrenar el modelo de explicación g . Encuentre la pérdida ponderada L( f ^ , g , π x ) L(\widehat f , g, \pi_x)L (F ,g ,Pix) el modelo explicativo más pequeño g. ¿Por qué pérdida ponderada? Debido a que nuestros puntos de muestra recién generados están cerca o lejos de la muestra pronosticada, estos puntos de muestra no se pueden tratar por igual. Los puntos de muestra con una distancia mayor de la muestra pronosticada tienen un peso más alto, y los puntos de muestra con una distancia más lejana tienen un peso menor.
    inserte la descripción de la imagen aquí

2.3 ¿Cómo se explica el algoritmo LIME?

A través de la introducción anterior, sabemos que LIME ha entrenado un modelo interpretable (modelo lineal, árbol de decisiones, etc.), que es una buena aproximación local de la instancia de destino y el modelo de aprendizaje automático original. El peso asignado a cada unidad de entrada por el modelo interpretable entrenado es la importancia de estas unidades de entrada.



3. Un método interpretable para calcular gradientes basado en retropropagación

Entre los métodos de interpretabilidad, hay una gran clase de métodos basados ​​en retropropagación, calculando el gradiente de cada unidad de entrada yGradiente como la importancia de esta unidad de entrada. Como se muestra en la figura a continuación, el método de interpretabilidad basado en la retropropagación diseñará reglas de retropropagación para cada capa de la red neuronal, como la capa convolucional, la capa de agrupación y la capa de activación no lineal, de modo que pueda distribuir el valor de importancia de manera más justa y razonable durante el proceso de retropropagación y, finalmente, el valor de gradiente obtenido para cada unidad de entrada puede reflejar bien la importancia de la unidad de entrada.

inserte la descripción de la imagen aquí


inserte la descripción de la imagen aquí


Algoritmo de retropropagación guiada de 3.1 GBP

aquí tenemos que entenderDeconvolución (deconvnet)retropropagaciónyRetropropagación guiadatres conceptos.

1. Deconvolución (Deconvnet)

En el documento Visualización y comprensión de las redes convolucionales, se utiliza la deconvolución (deconvnet) para visualizar las capas intermedias de CNN. El componente básico de una red neuronal convolucional general es 卷积层 + ReLU激活函数 + 最大池化que deconvnet es la operación inversa de estos tres procesos, es decir 反最大池化 + 反ReLU + 反卷积操作. Vea este artículo para más detalles .

2. Retropropagación

Referencia Artículo 1
Referencia Artículo 2


3. Propagación hacia atrás guiada (Guided BackPropagation)

En el algoritmo de retropropagación guiada (GBP) [5] ^{[5]}En [ 5 ] , otras capas, excepto la capa ReLU, incluida la capa convolucional, la capa de agrupación, etc., utilizarán las reglas de cálculo de retropropagación tradicionales durante la retropropagación. Para la capa ReLU, el algoritmo GBP establecerá el valor del gradiente en menos de 0 a 0, y luego continuará propagando el gradiente y usará el gradiente obtenido por cada muestra de entrada como el resultado de la interpretación de su importancia.

El algoritmo GBP es equivalente a agregar orientación a la retropropagación ordinaria, limitando el retorno de gradientes menores a 0, y la parte del gradiente menor a 0 corresponde a la parte de la imagen original que debilita las características que queremos visualizar Estas partes son exactamente lo que no queremos.

inserte la descripción de la imagen aquí
En esta imagen,

  • La figura a muestra que dada una imagen de entrada, realizamos la propagación hacia adelante en la capa de interés, luego establecemos todas las activaciones menos una en cero y realizamos la propagación hacia atrás para reconstruir la imagen original;
  • La Figura b muestra diferentes métodos de retropropagación no lineal a través de ReLU;
  • La figura c define formalmente diferentes métodos para que la activación de salida se propague hacia afuera a través de la unidad ReLU de la capa L. Nota: la deconvnet y la retropropagación guiada no calculan el gradiente real, sino la versión estimada del gradiente.



3.2 Gradiente integral Algoritmo de gradiente integral

El método de interpretabilidad basado en retropropagación para calcular el gradiente es muy intuitivo, y el valor de gradiente obtenido para cada unidad de entrada se puede utilizar para caracterizar la importancia de esta unidad de entrada. Sin embargo, la limitación de este método radica en el problema de la saturación de gradiente, es decir, agregar un cierto factor ha jugado un papel en la promoción de la predicción de la imagen, pero este efecto es limitado. Después de superar un cierto nivel, la probabilidad de predicción no aumentará. En este momento, el gradiente será 0 en la sección más allá de este nivel. Cuando el gradiente es 0, no se revela información útil. Como se muestra en la siguiente figura:
inserte la descripción de la imagen aquí
en vista de los defectos del método basado en gradiente, Sundararajan y otros propusieron el algoritmo de gradiente integral (IG) en 2017 [8] ^{[8]}[ 8 ] . Este método integra el valor del gradiente de cada variable de entrada para representar la importancia de la variable de entrada. Ahora mismo:
inserte la descripción de la imagen aquí



3.3 Algoritmo de propagación de correlación capa por capa LRP

El algoritmo de propagación de relevancia por capas (LRP) asume que existe una cierta correlación (relevancia) entre las neuronas de cada capa de la red neuronal y la salida de la red neuronal.

Todavía no lo he entendido del todo. Se parece un poco al mecanismo de activación de LSTM, que retiene selectivamente el contenido de la capa superior de neuronas.









参考
[1] 可解释人工智能导论
[2] Lundberg SM, Lee S I. Un enfoque unificado para interpretar las predicciones del modelo[J]. Avances en los sistemas de procesamiento de información neuronal, 2017, 30.
[3] Fernando ZT, Singh J, Anand A. Un estudio sobre la interpretabilidad de los modelos de recuperación neuronal usando DeepSHAP[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2019: 1005-1008.
[4] Shrikumar A, Greenside P, Kundaje A. Aprendizaje de características importantes mediante la propagación de diferencias de activación[C]//Conferencia internacional sobre aprendizaje automático. PMLR, 2017: 3145-3153.
[5] Springenberg JT, Dosovitskiy A, Brox T, et al. En busca de la simplicidad: la red totalmente convolucional[J]. preimpresión de arXiv arXiv:1412.6806, 2014.
[6]Red neuronal convolucional de "comprensión intuitiva" (2): Propagación hacia atrás guiada (Guided-Backpropagation) [
7] Comprensión intuitiva de la deconvolución y la propagación hacia atrás guiada en el aprendizaje profundo
[8] Sundararajan M, Taly A, Yan Q. Atribución axiomática para redes profundas [C]//Conferencia internacional sobre aprendizaje automático. PMLR, 2017: 3319-3328. [9] R ibeiro MT, Singh S, Guest rin C. "¿Por qué debería confiar en ti?" Explicación de las predicciones de cualquier clasificador[C]//Actas de la 22.ª conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos. 2016: 1135-1144. [10]
KernelSHAP
& TreeSHAP

Supongo que te gusta

Origin blog.csdn.net/qq_42757191/article/details/126586216
Recomendado
Clasificación