Explicabilidad en Intent Detection con modelos Transformers
Abstract
Throughout this work, we delved into the Transformers architecture applied to Intent Detection, utilizing LIME (Local Interpretable Model-agnostic Explanations) to explain its decisions. We explored the predecessors of Transformers and their advancements in capturing context and parallel training. Subsequently, we tackled explainability in artificial intelligence, highlighting the challenges of opaque models and the solution offered by LIME through local interpretability using linear regression. We implemented and evaluated this methodology on the well-known SNIPS dataset, gaining valuable insights into the dataset and model learning.
Full text
Universidad de Sevilla Facultad de Matem´aticas Trabajo Fin de Estudios Grado en Matem´aticas Explicabilidad en Intent Detection con modelos Transformers Pedro Delgado Jim´enez Tutor: Jos´e Francisco Quesada Moreno Dpto. de Ciencias de la Computaci´on e Inteligencia Artificial
“Can machines think?” – Alan Turing, 1950
Abstract Throughout this work, we delved into the Transformers architecture applied to Intent Detection, utilizing LIME (Local Interpretable Model-agnostic Explanations) to explain its decisions. We explored the predecessors of Transformers and their advancements in capturing context and parallel training. Subsequently, we tackled explainability in artificial intelligence, highlighting the challenges of opaque models and the solution offered by LIME through local interpretability using linear regression. We implemented and evaluated this methodology on the well-known SNIPS dataset, gaining valuable insights into the dataset and model learning.
Resumen A lo largo de este trabajo, exploramos la arquitectura Transformers aplicada a la Detecci´on de Intenci´on, utilizando LIME (Explicaciones Locales Interpretables y Agn´osticas al Modelo) para explicar sus decisiones. Investigamos los precursores de los Transformers y sus avances en la captura de contexto y entrenamiento paralelo. Posteriormente, abordamos la explicabilidad en Inteligencia Artificial, destacando los desaf´ıos de los modelos opacos y la soluci´on que ofrece LIME mediante interpretaciones locales utilizando regresi´on lineal. Implementamos y evaluamos esta metodolog´ıa en el conocido conjunto de datos SNIPS, obteniendo ideas valiosas sobre el conjunto de datos y el aprendizaje del modelo.
´ Indice Introducci´on 4 1. Contexto 6 1.1. Redesneuronales.................................... 7 1.2. Sistemas conversacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2. Transformers 13 2.1. Mecanismosdeatenci´on................................ 13 2.1.1. Scaled Dot-Product Attention . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.2. Multi-Head Attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1.3. Codificaci´on Posicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2. Entrenamiento de la red neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.1. Optimizador .................................. 18 3. Inteligencia Artifical Explicable 20 3.1. Introducci´on....................................... 20 3.2. Enfoques seg´un el modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.1. Pre-procesamiento ............................... 22 3.2.2. Interpretabilizaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.3. Post-procesamiento............................... 22 3.3. Regresi´on Lineal, modelo inherentemente interpretable . . . . . . . . . . . . . . . 23 3.3.1. Definici´on formal del problema . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.2. Hip´otesisdelmodelo.............................. 24 3.3.3. Notaci´on .................................... 25 3.3.4. Estimaci´on de m´ınimos cuadrados . . . . . . . . . . . . . . . . . . . . . . 25 3.3.5. Predicciones................................... 26 3.3.6. Medici´on del error cometido . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.7. Bondad de ajuste del modelo . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. LIME Local Interpretable Model-agnostic Explanations . . . . . . . . . . . . . . 28 3.4.1. Objetivos de la explicaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.2. Formulaci´on................................... 29 3.4.3. Algoritmo.................................... 29 3.4.4. Selecci´on Submodular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4. Algoritmo de detecci´on de intenci´on 33 4.1. Descripci´ondelcaso .................................. 33 4.2. ModeloBERT ..................................... 34 1
4.3. Desarrollodelc´odigo.................................. 35 4.4. Interpretaci´on de los resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.1. Errores en la predicci´on del modelo . . . . . . . . . . . . . . . . . . . . . . 38 4.4.2. Contrastemuestral............................... 38 5. Conclusiones 40 2
´ Indice de figuras 1.1. Redes neuronales artificiales. Composici´on de perceptrones . . . . . . . . . . . . . 8 1.2. Redes neuronales convolucionales. Observamos la segmentaci´on del espacio de datos 9 1.3. Redes neuronales recurrentes. Observamos el uso del resultado anterior para la alimentacion del posterior resultado . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4. Comparaci´on de RNN can´onicas con RNNsearch-30 y RNNsearch-50 implementando los mecanismos de atenci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5. Esquema principal de los sistemas conversacionales basados en reglas . . . . . . . 11 1.6. Natural Language Understanding . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1. Arquitectura Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2. Representaci´on de las matrices Query y Key . . . . . . . . . . . . . . . . . . . . . 15 2.3. Composici´on de Scaled Dot-Product Attention . . . . . . . . . . . . . . . . . . . 17 2.4. Distribuci´onbinaria .................................. 18 2.5. Modelado de la distribuci´on binaria . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1. EsquemaXAI...................................... 21 3.2. Flujo del algoritmo LIME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3. Representaci´on del algoritmo LIME. El punto rojo es la predicci´on a explicar, el resto la generaci´on de nuevos datos y su evaluaci´on con el modelo. El hiperplano se genera con un modelo lineal entrenado con los nuevos datos . . . . . . . . . . 30 4.1. Uso de SNIPS en papers publicados . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2. Clasificaci´on seg´un intenci´on SNIPS . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3. Diccionario de intenciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4. Ejemplo de tokenizaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.6. Matrizdeconfusi´on. .................................. 36 4.7. Algunos ejemplos donde ha errado. La primera columna tiene la intenci´on correcta y la segunda columna la predecida. . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.8. Ejemplo explicaci´on LIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.9. Explicacion LIME, Rate Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.10. Ejemplos con ’mathematical’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3
Introducci´on En las ´ultimas dos d´ecadas, el desarrollo de la Inteligencia Artificial (IA) ha experimentado un crecimiento exponencial, impulsado en parte por los avances en nuestro poder de c´omputo y la ingente cantidad de datos recopilados. La inversi´on en IA ha alcanzado cifras astron´omicas, pasando de 37.5 billones en 2019 a 450 billones el a˜no pasado. Esto se refleja en la implementaci´on de esta innovadora y poderosa herramienta en numerosos aspectos de nuestra vida diaria, adapt´andonos progresivamente a que la IA tome decisiones, desde peque˜nas gestiones hasta la conducci´on aut´onoma y el diagn´ostico m´edico, decisiones que no pueden quedar sin supervisi´on ni responsabilidad. En el primer cap´ıtulo y segundo cap´ıtulo veremos la evolucion de los primeros sistemas de IA que eran f´acilmente interpretables, a ser testigos de modelos cada vez m´as sofisticados, dise˜nados para adaptarse mejor a objetivos pr´acticos. Introduciremos las diferentes redes neuronales y su convergencia al modelo Transformers, parte fundamental en los Large Language Models (LLM) como ChatGPT. Esta evoluci´on responde a la necesidad de manejar cantidades colosales de datos y par´ametros, como consecuencia a esta adaptaci´on se ha dejado a un lado la explicabilidad del funcionamiento interno de los modelos, aumentando capas con nuevos refinamientos que obtengan una mejor precisi´on en nuestras tareas. En el tercer cap´ıtulo, el m´as extenso hablaremos de la Inteligencia Artificial Explicable, un campo nuevo que busca responder de manera t´ecnica a la exigencia del usuario de poder confiar en los modelos inteligentes. Abarcaremos las t´ecnicas m´as conocidas y obtaremos por la herramienta m´as consesuada, usar un modelo inherentemente interpretable como la regresi´on lineal para intentar descifrar el funcionamiento del modelo, haciendo presente el algoritmo LIME y su base matem´atica. En el cap´ıtulo cuarto pondremos a prueba lo mencionado anteriormente en un campo espec´ıfico dentro de la IA, el Procesamiento del Lenguaje Natural, cuyo objetivo es dotar a las computadoras de la capacidad de procesar, comprender y generar lenguaje natural. Concretaremos en el ´area de sistemas conversacionales, dispuesta para interactuar con el humano usando su mismo lenguaje, esto conlleva todas las caracter´ısticas mencionadas anteriormente, de entre ellas 4
Introducci´on 5 nos centraremos en el procesamiento, que engloba la detecci´on de intenci´on del lenguaje. Este tema es fundamental en nuestra relaci´on con las m´aquinas, ya que la mejora de las interacciones con ellas depende crucialmente de entender qu´e se debe hacer; sin este paso, el resto del proceso queda incompleto. Nos adentraremos en un refinamiento del modelo BERT para la detecc´ı´on de intenci´on con una base con interacciones transcritas de usuarios con sistemas inteligentes y sus 7 intenciones asociadas. Crearemos un modelo empleando una de las ´ultimas herramienta en este campo, BERT, que nos servir´a para predecir futuras interacciones. Observaremos la efectividad del modelo y daremos un paso m´as y exploraremos c´omo predice nuestro modelo utilizando el software LIME, un m´etodo post-entrenamiento que obtiene informaci´on a partir de las respuestas del modelo alrededor de la instancia a explicar. Evaluaremos la adaptaci´on de LIME a nuestra muestra, extraeremos conclusiones y una imagen amplia del funcionamiento del modelo, que dar´a lugar a posibles v´ıas futuras de investigaci´on y aplicaci´on. Con este trabajo queremos conseguir un acercamiento a estos modelos bien calificados como ’cajas negras’. Un ejemplo de la importancia del problema a tratar, la detecci´on de intenci´on en sistemas conversacionales, se observa en la foto, una interacci´on de un chatbot en una llamada telef´onica, donde ser´ıa imposible distinguir la intenci´on del usuario. En el cap´ıtulo final, proponemos una posible soluci´on a este desaf´ıo. Chatbot ¿Que le pareci´o el servicio? ¿Alguna queja de este? Posible transcripci´on 1 Nada me pareci´o correcto. Posible transcripci´on 2 Nada, me pareci´o correcto. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 1. Contexto 12 En este trabajo hemos querido centrarnos en la primera parte del sistema, NLU que tambi´en tiene su propio esquema de algoritmos. Se divide en dos categor´ıas el procesamiento a nivel gramatical y la captaci´on de la intenci´on, siendo esta ´ultima el inter´es de nuestro proyecto. Las herramientas actuales para dise˜nar y desarrollar el componente NLU utilizan t´ecnicas basadas en el aprendizaje autom´atico para clasificar las entradas del usuario como intenciones y extraer de la intenci´on las entidades relevantes. Figura 1.6: Natural Language Understanding Las herramientas actuales para dise˜nar y desarrollar el componente NLU utilizan t´ecnicas basadas en el aprendizaje autom´atico para clasificar las entradas del usuario como intenciones y extraer de la intenci´on las entidades relevantes. Siendo este una de las partes del trabajo, desarrollada en el capitulo 4. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 2 Transformers En 2017, Vaswani et al. [4] revolucionaron el campo del PLN y el aprendizaje profundo con la introducci´on de los Transformadores en su art´ıculo titulado Attention Is All You Need. Este modelo ha demostrado ser extremadamente eficaz en una variedad de tareas, desde la traducci´on autom´atica hasta el resumen de textos y m´as all´a. En esta introducci´on no centraremos en las partes de losmecanismos de atenci´on, su capacidad secuencial y su proceso de entrenamiento. La estructura del Transformers est´a claramente diferenciada en dos partes: Codificador: El codificador est´a compuesto por una pila de Ncapas id´enticas. Cada capa tiene dos subcapas: una subcapa de self-attention (auto-atenci´on) y una subcapa de red feed-forward completamente conectada. Adem´as, se utiliza una conexi´on residual seguida de una normalizaci´on de capa (layer normalization) en cada subcapa, lo que ayuda a la estabilizaci´on del entrenamiento. Decodificador: Similar al codificador, el decodificador tambi´en consta de una pila de N capas id´enticas. Sin embargo, cada capa del decodificador tiene una subcapa adicional de atenci´on multi-cabezal que realiza atenci´on sobre las salidas del codificador. Esta estructura permite al decodificador generar secuencias de salida basadas tanto en el contexto global proporcionado por el codificador como en los elementos previamente generados de la salida. 2.1. Mecanismos de atenci´on Los mecanismos de atenci´on estiman la contribuci´on de las partes de una secuencia con el objetivo de evaluar las relaciones entre ellas, y llegar a computar lo que conocemos como contexto. Estos mecanismos reciben como entrada un conjunto de vectores y devuelven otro conjunto de vectores teniendo en cuenta esas relaciones. Una funci´on de atenci´on puede describirse como un mapeo de una consulta y un conjunto de pares clave-valor a una salida, donde la consulta, las claves, los valores y la salida son todos 13
Cap´ıtulo 2. Transformers 14 Figura 2.1: Arquitectura Transformers vectores. La salida se calcula como una suma ponderada de los valores, donde el peso asignado a cada valor se calcula mediante una funci´on de compatibilidad de la consulta con la clave correspondiente. Si te preguntaras c´omo har´ıas el procesamiento del lenguaje natural, comenzar´ıas por definir un vocabulario y las categor´ıas gramaticales: adjetivos, verbos, pronombres. Querr´ıas dar m´as importancia a los verbos y sustantivos, y menos a los pronombres y conjunciones. As´ı es como hemos aprendido. A trav´es de la experiencia en nuestros primeros a˜nos, hemos ido aprendiendo esas relaciones y simplemente las usamos correctamente. Queremos simular esa idea, y ese vocabulario y esas relaciones se computan con las matrices de consultas y las matrices de claves. Matem´aticamente, esta idea se transforma en la multiplicaci´on de matrices, donde cada valor de la matriz codifica el significado de cada palabra. Observemos que esta transformaci´on es lineal. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 2. Transformers 15 2.1.1. Scaled Dot-Product Attention El mecanismo de atenci´on que utilizaremos se conoce como Atenci´on con Producto Escalar Normalizado. Este mecanismo hace uso de diferentes par´ametros que se actualizar´an durante el entrenamiento para minimizar una funci´on de error. Attention(Q, K, V, x) = softmax QK′T √dkV Par´ametros de entrada La matriz de valores (V) realiza una primera transformaci´on de los vectores iniciales para establecer la relevancia de las palabras en ese contexto. Por ejemplo, si estamos tratando con un problema de ´ındole tur´ıstica, esta matriz podr´ıa dar importancia a los nombres de capitales. Los pesos de la matriz de consultas (Q) codifican la identidad de cada palabra. Los pesos de la matriz de claves (K) codifican la compatibilidad entre las palabras, es decir, c´omo se relacionan entre s´ı. Por ejemplo, un adjetivo podr´ıa buscar un sustantivo adecuado. Figura 2.2: Representaci´on de las matrices Query y Key Notese que son matrices de transformaci´on, hemos omitido el producto de cada matriz por el vector inicial (x). Attention(Q, K, V, x) = softmax (Qx)(Kx)T √dkV x TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 2. Transformers 16 Funci´on de activaci´on Softmax Softmax es una funci´on de activaci´on utilizada para convertir las salidas en probabilidades que suman uno. Se trata de una transformaci´on simple para normalizar los valores del vector resultante en el intervalo [0,1], facilitando la interpretaci´on de la contribuci´on de cada componente. Funciona como una media ponderada de los pesos divididos por el total, pero utiliza la transformaci´on exponencial para trabajar con contribuciones positivas, amplificando as´ı las contribuciones de cada componente. El objetivo final es obtener probabilidades. softmax(zi) = ezi Pn j=1 ezj Escalado La escala 1 √dk, al usar el producto escalar, nos ayuda a mitigar el efecto de gradientes extremadamente peque˜nos a medida que aumentamos la dimensionalidad. Esto es importante recordarlo, ya que al aplicar softmax normalizamos para asegurar que la suma de las contribuciones sea uno. Luego, el factor de escala 1 √dkcontrarresta este efecto, permitiendo que el modelo maneje eficazmente las contribuciones en dimensiones m´as altas. 2.1.2. Multi-Head Attention Como es habitual en matem´aticas, si algo funciona bien, se itera sobre ello. As´ı que entrenemos mecanismos de atenci´on con capas independientes y diferentes conjuntos de par´ametros de entrada. Esto tambi´en puede funcionar como una forma de paralelizaci´on. Con un solo mecanismo de atenci´on, codificamos los vectores en una dimensi´on dk. Al aplicar pcapas de atenci´on y concatenarlas, obtenemos una distribuci´on de la carga computacional de dk p, lo que nos permite manejar eficientemente grandes cantidades de datos. MultiHead(Q, K, V ) = Concat(head1,...,headh)WO donde headi= Attention(QWQ i, KWK i, V W V i) Las matrices WQ i,WK i∈Rdmodel×dkyWV i∈Rdmodel×dvson matrices de proyecci´on siendo h el n´umero de capas de atenci´on. 2.1.3. Codificaci´on Posicional A diferencia de las redes neuronales, donde en cada capa se obtiene informaci´on de la capa anterior codificando un orden de las palabras internamente, los mecanismos de atenci´on no TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 2. Transformers 17 Figura 2.3: Composici´on de Scaled Dot-Product Attention captan el orden de la frase por s´ı solos, por lo que es necesario proporcion´arselo de otra manera. Buscamos una soluci´on que funcione al aumentar el tama˜no de las oraciones. Cada palabra de una oraci´on est´a codificada en un vector de dimensi´on dmodel. Una primera idea ser´ıa sumar un vector con todas las componentes iguales indicando la posici´on; sin embargo, al considerar oraciones muy largas, esto eclipsar´ıa la informaci´on original del vector. Otra alternativa ser´ıa normalizar, dividiendo por el n´umero total de palabras. De esta manera no se eclipsar´ıa la informaci´on original del vector, pero surge un problema de inyectividad. Por ejemplo, en una oraci´on con tres palabras, la posici´on de la segunda palabra se ver´ıa aumentada en 2/3 en sus componentes. Esto tambi´en ocurrir´ıa en una oraci´on con seis palabras, donde la cuarta palabra aumentar´ıa en 2/3 en sus componentes, lo que complicar´ıa la reconstrucci´on del orden. Buscamos una codificaci´on que cumpla con los siguientes requisitos: Sea inyectiva, es decir, que genere un valor ´unico para cada posici´on. Sea generalizable a oraciones largas sin esfuerzo adicional. Sea determinista. La codificaci´on binaria cumple con estos requisitos y adem´as es f´acil de computar algor´ıtmicamente. Consiste en sumar a nuestro vector original un vector de la misma dimensi´on que represente la posici´on en binario. Un desarrollo m´as detallado se puede encontrar en [18]. Podemos llevar esto un paso m´as all´a y modelar esta codificaci´on de manera continua, lo cual nos lleva a las siguientes f´ormulas: PE(pos,2i) =sin(pos 10000 2i dmodel )and PE(pos,2i) =cos(pos 10000 2i dmodel ) TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 2. Transformers 18 Figura 2.4: Distribuci´on binaria Figura 2.5: Modelado de la distribuci´on binaria 2.2. Entrenamiento de la red neuronal Explicados estos pasos, nos falta una cosa: unirlos y entrenar el modelo de red neuronal (ANN) m´as sencillo y paralelizable introducido en el primer cap´ıtulo. Adem´as de las subcapas de atenci´on, cada una de las capas en nuestro codificador contiene una red neuronal completamente conectada, que se aplica a esta nueva representaci´on de nuestros datos, los cuales tienen incorporado el contexto y la posici´on de manera separada e id´entica. Esta red consiste en dos transformaciones lineales con una activaci´on ReLU entre ellas: FFN(x) = m´ax(0, xW1+b1)W2+b2(2.1) Aunque las transformaciones lineales son las mismas en diferentes posiciones, utilizan diferentes par´ametros de una capa a otra. 2.2.1. Optimizador Adam, el optimizador m´as avanzado en el ´ambito de la IA, es un algoritmo de optimizaci´on que utiliza una estimaci´on del momento y la magnitud de los gradientes anteriores para actualizar los par´ametros del modelo en cada iteraci´on. A diferencia de utilizar una tasa de aprendizaje constante para todos los par´ametros, Adam adapta la tasa de aprendizaje de cada par´ametro individualmente en funci´on de su estimaci´on del momento y del tama˜no del gradiente. Esto permite que el modelo se ajuste de manera m´as eficiente y efectiva a los datos de entrenamiento, lo que puede llevar a una mayor precisi´on en las predicciones en comparaci´on con otros m´etodos de optimizaci´on. Usamos el optimizador Adam [?] con β1= 0.9, β2= 0.98 y ϵ= 10−9. Variamos la tasa de aprendizaje a lo largo del entrenamiento de acuerdo con la f´ormula: lrate = d−0.5 model ·m´ın(step num−0.5,step num ·warmup steps−1.5) (2.2) TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 2. Transformers 19 Esto implica aumentar la tasa de aprendizaje linealmente durante los primeros pasos de entrenamiento y luego disminuirla proporcionalmente a la inversa de la ra´ız cuadrada del n´umero de pasos, conforme avanza el entrenamiento. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 3 Inteligencia Artifical Explicable La Inteligencia Artificial Explicable (XAI) ha sido un tema recurrente en los congresos m´as destacados sobre IA, como ICCV, ICML [20] y BMVC. Actualmente, destacan dos l´ıderes en el sector de la explicabilidad: un grupo de investigadores y profesionales conocido como Conference for Fairness, Accountability, and Transparency (ACM FAT), y un programa dentro del Departamento de Defensa de Estados Unidos, conocido como DARPA. 3.1. Introducci´on Uno de los mayores desaf´ıos en el ´ambito de XAI es la falta de un diccionario com´un y ampliamente aceptado que detalle y discuta cada aspecto y caracter´ıstica de un sistema XAI. Esta carencia dificulta la existencia de un m´etodo para categorizar num´ericamente los distintos grados de explicabilidad de un modelo. Para comenzar, aclaremos algunos conceptos fundamentales sobre la explicabilidad. El entendimiento es el concepto m´as esencial de todos, dependiendo de la capacidad del usuario para asimilar el conocimiento que el modelo ha aprendido. La explicabilidad, la interpretabilidad y la claridad est´an estrechamente relacionadas con el entendimiento. La interpretabilidad indica el grado en que un modelo es claro para el usuario de manera pasiva, es decir, c´omo las relaciones entre las entradas y salidas del modelo son comprensibles. Por otro lado, la explicabilidad es un proceso activo que incorpora mecanismos en el desarrollo del modelo para proporcionar una explicaci´on de los resultados obtenidos. La claridad busca la precisi´on y la estructura l´ogica en las respuestas, evitando incoherencias. En el momento actual todav´ıa no sea encontrado una medida objetiva universal con la cual medir la explicabilidad de los modelos, en el paper m´as reciente se presenta una nueva m´etrica DoX [9].Un modelo te´orico espec´ıfico de la Filosof´ıa del Lenguaje Ordinario llamado la Teor´ıa de las Explicaciones de Achinstein, implementado con un algoritmo basado en modelos de lenguaje profundo para la extracci´on de grafos de conocimiento y la recuperaci´on de informaci´on. 20
Cap´ıtulo 3. Inteligencia Artifical Explicable 21 La Teor´ıa de las Explicaciones de Achinstein es una propuesta dentro de la filosof´ıa de la ciencia que busca definir qu´e constituye una explicaci´on cient´ıfica adecuada. Seg´un Achinstein, una explicaci´on cient´ıfica debe proporcionar informaci´on sobre las causas y mecanismos que subyacen a un fen´omeno observado, ofreciendo as´ı una comprensi´on profunda y justificada de dicho fen´omeno. Esta teor´ıa enfatiza la importancia de la evidencia emp´ırica y la coherencia l´ogica en la construcci´on de explicaciones cient´ıficas v´alidas. Con esto quiero mostrar que las l´ıneas de investigaci´on est´an sopesando la opci´on de m´etodos emp´ıricos, como matem´atico esto me muestra que todav´ıa queda mucho camino por recorrer dentro de este campo y que la manera m´as fiel a la ciencia es mejorando los modelos ya interpretables. Figura 3.1: Esquema XAI 3.2. Enfoques seg´un el modelo Es crucial mencionar todos los principales modelos de IA conocidos hasta ahora, cuya aplicaci´on abarca aprendizaje, razonamiento y percepci´on. Posteriormente, analizaremos los m´etodos disponibles hoy en d´ıa para abordar su explicabilidad. Doran [21] clasifica los modelos en tres niveles: modelos opacos, donde no podemos entender la salida espec´ıfica; modelos interpretables, donde el usuario puede establecer relaciones matem´aticas entre la entrada y la salida; y modelos comprensibles, capaces de seguir una regla claramente definida que explica c´omo se ha generado la salida. Entre los modelos m´as relevantes se encuentran los ´arboles de decisi´on, regresiones lineale- TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 3. Inteligencia Artifical Explicable 28 De forma alternativa se define el R2ajustado: R2 aj = 1 −CME SCT/(n−1) donde CME =SCE n−p−1 R2 aj se incrementa al a˜nadir una nueva variable si con el nuevo regresor se reduce el CME. Aunque el algoritmo de LIME no nos deja obtener estas medidas de bondad de ajuste, hemos querido plasmarlas para mostrar estas nociones, que van de la mano del ajuste de nuestro modelo a la muestra y por lo tanto una indicaci´on de su interpretabilidad. 3.4. LIME Local Interpretable Model-agnostic Explanations LIME [6], una t´ecnica novedosa de explicaci´on que clarifica las predicciones de cualquier clasificador de manera interpretable y fiel, mediante el aprendizaje de un modelo inherentementeinterpretable localmente alrededor de la predicci´on. Por explicar una predicci´on, nos referimos a presentar artefactos textuales o visuales que proporcionen una comprensi´on cualitativa de la relaci´on entre los componentes de la instancia (por ejemplo, palabras en un texto) y la predicci´on del modelo. Tambi´en proponemos as´ı explicar varias predicciones individuales representativas de un modelo como una forma de proporcionar una comprensi´on global. Figura 3.2: Flujo del algoritmo LIME. 3.4.1. Objetivos de la explicaci´on Existen varias formas en las que un modelo o su evaluaci´on pueden fallar. Por ejemplo, la fuga de datos, definida como la filtraci´on no intencional de se˜nales en los datos de entrenamiento (y validaci´on) que no aparecer´ıan al desplegarse, esto potencialmente aumentar´ıa la precisi´on de manera incorrecta. Un ejemplo desafiante citado por Kaufman et al. [14] es uno donde se encontr´o que el ID del paciente estaba fuertemente correlacionado con la clase objetivo en los datos de entrenamiento y validaci´on. Este problema ser´ıa incre´ıblemente dif´ıcil de identificar solo observando las predicciones y los datos en bruto, pero mucho m´as f´acil si se proporcionan explicaciones como la de la Figura esquema, ya que el ID del paciente aparecer´ıa como una explicaci´on de las predicciones. Otro problema particularmente dif´ıcil de detectar es el cambio de conjunto de datos [5], donde los datos de entrenamiento son diferentes de los datos de prueba. Los conocimientos proporcionados por las explicaciones son especialmente ´utiles para identificar qu´e se debe hacer para convertir un modelo no confiable en uno confiable. Por ejemplo, si cientos o TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 3. Inteligencia Artifical Explicable 29 miles de caracter´ısticas contribuyen significativamente a una predicci´on, no es razonable esperar que un usuario comprenda por qu´e se hizo la predicci´on, incluso si se pueden inspeccionar los pesos individuales. Aunque a menudo es imposible que una explicaci´on sea completamente fiel a menos que sea la descripci´on completa del modelo en s´ı, la fidelidad local se denota como la capacidad de una explicaci´on a corresponderse al comportamiento del modelo en las cercan´ıas de la instancia que se est´a prediciendo. 3.4.2. Formulaci´on Formalmente, definimos una explicaci´on como un modelo g∈G, donde Ges una clase de modelos potencialmente interpretables, como modelos lineales, ´arboles de decisi´on o listas de reglas decrecientes. Como no todo g∈Gpuede ser lo suficientemente simple para ser interpretable, dejamos que Ω(g) sea una medida de la complejidad de la explicaci´on g∈G. Por ejemplo, para los modelos lineales, Ω(g) puede ser el n´umero de pesos distintos de cero. Denotemos el modelo que se est´a explicando como f:Rd→R. En clasificaci´on, f(x) es la probabilidad de que x pertenezca a una clase determinada. Utilizamos adem´as πx(z) como una medida de proximidad entre una instancia zyx, para definir la localidad alrededor de x. Finalmente, sea L(f, g, πx) una medida de cu´an infiel es gal aproximar fen la localidad definida por πx. Para asegurar tanto interpretabilidad como fidelidad local, debemos minimizar L(f, g, πx) manteniendo Ω(g) lo suficientemente bajo para ser interpretable por humanos. La explicaci´on producida por LIME se obtiene mediante la siguiente ecuaci´on: ξ(x) = arg m´ın g∈GL(f, g, πx) + Ω(g) Esta formulaci´on puede utilizarse con diferentes familias de explicaciones G, funciones de fidelidad L, y medidas de complejidad Ω. Aqu´ı nos enfocamos en modelos lineales escasos como explicaciones, y en realizar la b´usqueda utilizando perturbaciones, sin hacer ninguna suposici´on sobre f, ya que queremos que el explicador sea independiente del modelo. 3.4.3. Algoritmo Aproximamos L(f, g, πx) mediante la toma de muestras, ponderadas por πx. Muestreamos instancias alrededor de x0seleccionando elementos no nulos de x0uniformemente al azar y obtenemos f(z), que se usa como una etiqueta para el modelo de explicaci´on. Sea πx(z) = exp −D(x,z)2 σ2un n´ucleo exponencial definido sobre alguna funci´on de distancia D(por ejemplo, distancia coseno para texto, distancia L2 para im´agenes) con ancho σ. L(f, g, πx) = X z,z′∈Z πx(z)f(z)−g(z′)2 TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 3. Inteligencia Artifical Explicable 30 Figura 3.3: Representaci´on del algoritmo LIME. El punto rojo es la predicci´on a explicar, el resto la generaci´on de nuevos datos y su evaluaci´on con el modelo. El hiperplano se genera con un modelo lineal entrenado con los nuevos datos Para la clasificaci´on de textos, aseguramos que la explicaci´on sea interpretable dejando que la representaci´on interpretable sea un conjunto de palabras, y estableciendo un l´ımite Ken el n´umero de palabras. Cualquier elecci´on de representaciones interpretables y Gtendr´a algunos inconvenientes inherentes. Primero, mientras que el modelo subyacente puede ser tratado como una caja negra, ciertas representaciones interpretables no ser´an lo suficientemente poderosas para explicar ciertos comportamientos. Segundo, nuestra elecci´on de G(modelos lineales escasos) significa que si el modelo subyacente es altamente no lineal incluso en la localidad de la predicci´on, puede que no haya una explicaci´on fiel. Sin embargo, podemos estimar la fidelidad de la explicaci´on en Zy presentar esta informaci´on al usuario. Algoritmo 1 Explicaciones Lineales Escasas usando LIME Requiere: Clasificador f, N´umero de muestras N Requiere: Instancia x, y su versi´on interpretable x0 Requiere: N´ucleo de similitud πx, Longitud de la explicaci´on K Z← ∅ for i∈ {1,2,3, . . . , N}do zi 0←alrededor de la instancia(x0) Z←Z∪{(zi 0, f(zi), πx(zi))} devolver Z Tabla 3.1: Algoritmo 1: Explicaciones Lineales usando LIME TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 3. Inteligencia Artifical Explicable 31 3.4.4. Selecci´on Submodular Aunque una explicaci´on de una sola predicci´on proporciona cierta comprensi´on sobre la fiabilidad del clasificador al usuario, no es suficiente para evaluar y valorar la confianza en el modelo en su totalidad. Proponemos proporcionar una comprensi´on global del modelo explicando un conjunto de instancias individuales. Este enfoque sigue siendo independiente del modelo y es complementario al c´alculo de estad´ısticas resumidas como la precisi´on en datos no vistos. Aunque las explicaciones de m´ultiples instancias pueden ser esclarecedoras, estas instancias deben ser seleccionadas juiciosamente, ya que los usuarios pueden no tener el tiempo para examinar un gran n´umero de explicaciones. Representamos el tiempo/paciencia que tienen los humanos mediante un presupuesto Bque denota el n´umero de explicaciones que est´an dispuestos a revisar para comprender un modelo. Dado un conjunto de instancias X, definimos el paso de selecci´on como la tarea de seleccionar Binstancias para que el usuario las inspeccione. La funci´on de importancia Idebe puntuar la caracter´ıstica f2m´as alta que la caracter´ıstica f1, es decir, I2> I1, ya que la caracter´ıstica f2se usa para explicar m´as instancias. Concretamente, para las aplicaciones de texto, establecemos Ij=pPn i=1 Wij. Formalizamos esta intuici´on de cobertura no redundante en la Ec. (3), donde definimos la cobertura como la funci´on de conjunto cque, dado WeI, calcula la importancia total de las caracter´ısticas que aparecen en al menos una instancia en un conjunto V. c(V, W, I) = d′ X j=1 1[∃i∈V:Wij >0] Ij El problema en la Ecuaci´on (4) es maximizar una funci´on de cobertura ponderada, y es NP- dif´ıcil [10]. Sea c(V∪ {i}, W, I)−c(V, W, I) la ganancia marginal de cobertura al agregar una instancia ia un conjunto V. Debido a la submodularidad, un algoritmo codicioso que agrega iterativamente la instancia con la mayor ganancia marginal de cobertura a la soluci´on ofrece una garant´ıa de aproximaci´on constante de 1−1/e al ´optimo [15]. Esquematizamos esta aproximaci´on en el Algoritmo 2, y lo llamamos selecci´on submodular. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 3. Inteligencia Artifical Explicable 32 Algoritmo 2 Selecci´on Submodular (SP) Requiere: Conjunto de instancias X, Presupuesto B for all xi∈Xdo Wi←explain(xi, x′ i)(Usando el Algoritmo 1) end for for j∈ {1, . . . , d′}do Ij←pPn i=1 |Wij|(Calcular importancias de caracter´ısticas) end for V← ∅ while |V|< B do (Optimizaci´on codiciosa de la Ec. (4)) V←V∪{arg m´axic(V∪{i}, W, I)} end while return V Tabla 3.2: Algoritmo 2: Selecci´on Submodular (SP) TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 4 Algoritmo de detecci´on de intenci´on 4.1. Descripci´on del caso Trabajaremos con la base de datos conocida como SNIPS, ampliamente utilizada para evaluar los modelos m´as avanzados de IA en numerosos campos del NLP, tales como la detecci´on de intenci´on (Intent-Detection) y el llenado de espacios (Slot Filling). Actualmente, el modelo CTRAN [7], que combina transformers con redes convolucionales, se considera el referente m´as avanzado en la detecci´on de intenciones. En el gr´afico a continuaci´on, se muestra el uso de esta base de datos a lo largo de los a˜nos, reflejando su importancia y evoluci´on en la investigaci´on y desarrollo de modelos NLP. Figura 4.1: Uso de SNIPS en papers publicados SNIPS es un conjunto de datos que consta de m´as de 16,000 consultas obtenidas mediante crowdsourcing, distribuidas entre 7 intenciones de usuario de diversa complejidad: Search Creative Work: Por ejemplo, “Encuentra el programa de televisi´on Yo, Robot”. Get Weather: Por ejemplo, “¿Hace viento en Boston, MA ahora mismo?”. 33
Cap´ıtulo 4. Algoritmo de detecci´on de intenci´on 34 BookRestaurant: Por ejemplo, “Quiero reservar un restaurante con alta calificaci´on en Par´ıs para ma˜nana por la noche”. Play Music: Por ejemplo, “Reproduce la ´ultima canci´on de Beyonc´e en Spotify”. Add To Playlist: Por ejemplo, “A˜nade Diamonds a mi lista de reproducci´on para el viaje”. Rate Book: Por ejemplo, “Dale 6 estrellas a De ratones y hombres”. Search Screening Event: Por ejemplo, “Consulta los horarios de Wonder Woman en Par´ıs”. Figura 4.2: Clasificaci´on seg´un intenci´on SNIPS El conjunto de entrenamiento contiene 11,587 enunciados, mientras que el conjunto de prueba consta de 2,897 enunciados. 4.2. Modelo BERT Para esta tarea, hemos utilizado el modelo BERT [5], que ejemplifica los mecanismos previamente explicados. BERT (Bidirectional Encoder Representations from Transformers) es un modelo de lenguaje desarrollado por Google que ha revolucionado el campo PLN. Su arquitectura se basa en el uso de transformadores, espec´ıficamente en la parte del encoder de la arquitectura encoder-decoder. La innovaci´on de BERT radica en su bidireccionalidad. Hasta entonces, solo se hab´ıa considerado el orden de escritura, impl´ıcito en el uso de redes neuronales ANN, tanto en el procesamiento como en los mecanismos de atenci´on. Al tomar una doble direcci´on en cada capa, BERT permite un mayor entendimiento del contexto de las palabras. El resultado es la computaci´on de la posici´on y el contexto que toma una palabra tanto a la izquierda como a la derecha de la misma. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 4. Algoritmo de detecci´on de intenci´on 35 Hemos utilizado un modelo preentrenado para Intent-Detection y lo hemos adaptado a nuestra base de datos. Este proceso se conoce como fine-tuning y es de vital importancia. Aunque el modelo entiende el significado de las palabras y sus relaciones, no ha extrapolado esa informaci´on a las intenciones. Sin el fine-tuning, el modelo evaluar´ıa las intenciones de manera aleatoria, resultando en una precisi´on de 1 No,etiquetas . 4.3. Desarrollo del c´odigo El c´odigo se encuentra alojado en un repositorio p´ublico de GitHub para que pueda ser consultado y utilizado en futuros trabajos relacionados con esta tem´atica. https://github.com/PedroDelgadoJ/Bert-for-Intent-Detection-with-SNIPS-Database Tokenizador: Cargamos el tokenizador que usa BERT para obtener una primera representaci´on de nuestra oraci´on en un vector de tama˜no 128 (input ids). Cada componente representa el ´ındice que cada palabra tiene en el diccionario de BERT. Adem´as, generamos un vector binario (masked attention) que indica los espacios no vac´ıos, evitando as´ı operaciones innecesarias. Figura 4.3: Diccionario de intenciones Figura 4.4: Ejemplo de tokenizaci´on Entrenamiento: Una vez dividida nuestra muestra en datos de entrenamiento y evaluaci´on, procedemos a tokenizar las oraciones junto con sus etiquetas de intenci´on. Luego, continuamos con el entrenamiento del modelo haciendo uso del optimizador Adam tal como se detalla en el cap´ıtulo 2. Despu´es de entrenar durante 3 ´epocas, el modelo logr´o un rendimiento de acierto de apenas un 30 %. Decidimos entonces extender el entrenamiento a un total de 10 ´epocas, lo cual TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 4. Algoritmo de detecci´on de intenci´on 36 (a) Divisi´on de la muestra (b) Entrenamiento result´o en un rendimiento considerablemente mejor. Es importante mencionar que este proceso no puede prolongarse indefinidamente debido al riesgo de sobreentrenamiento. Durante el entrenamiento, observamos cambios significativos en los pesos de los par´ametros entre el modelo inicial y el modelo entrenado con nuestra muestra de datos, lo cual reflej´o una disparidad clara en la efectividad entre ambos modelos. Figura 4.6: Matriz de confusi´on. Figura 4.7: Algunos ejemplos donde ha errado. La primera columna tiene la intenci´on correcta y la segunda columna la predecida. Evaluaci´on: Una vez entrenado el modelo, lo ponemos a prueba en el conjunto de validaci´on. Con un peque˜no c´alculo obtenemos la precisi´on y haciendo uso de una matriz de confusi´on observamos el ´exito del entrenamiento. Al evaluar las predicciones del modelo sin entrenamiento, como mencionamos al inicio de esta secci´on, observamos que el modelo logr´o una precisi´on cercana a 1 7. Sin embargo, notamos que todas las predicciones fueron etiquetadas como la clase n´umero 2, es decir, GET WEATHER. Esto sugiere que las predicciones podr´ıan estar ocurriendo al azar. Aplicaci´on de LIME: Como explicamos en la secci´on sobre LIME, este m´etodo proporciona explicaciones simples en torno a predicciones individuales, ofreciendo detalles sobre TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 4. Algoritmo de detecci´on de intenci´on 37 las palabras a las que el modelo ha otorgado mayor relevancia para clasificar la intenci´on de la oraci´on. Con esta herramienta podemos observar qu´e palabras han sido las m´as relevantes y nos preguntamos cu´ales son importantes para cada intenci´on. Utilizamos la herramienta Sub- Modular Pick, que toma nuestra muestra de datos y, mediante un algoritmo voraz, nos presenta las explicaciones m´as representativas para cada intenci´on. De este modo, obtenemos lo siguiente para GET WEATHER: Figura 4.8: Ejemplo explicaci´on LIME Observamos que las palabras m´as importantes para el modelo concuerdan con nuestra interpretaci´on, tales como WEATHER (tiempo), FORECAST (pron´ostico) y COLD (fr´ıo), y en segundo plano la part´ıcula interrogativa HOW? (¿C´omo?). En principio, parece que el modelo est´a prediciendo adecuadamente y ha entendido la frase completa. A continuaci´on, presentamos un breve resumen de las otras intenciones. Es importante recordar que aunque para nosotros las etiquetas de intenci´on tienen nombres, para el modelo son representadas num´ericamente, por lo tanto, no es tan evidente que considere esas palabras como importantes. Intenciones Palabras importantes ADD TO PLAYLIST ADD, PLAYLIST, POP, TO RATE BOOK RATE, FOUR, 6, STARS GET WEATHER WEATHER, FORECAST, COLD, CURRENT, HOURS, HOW BOOK RESTAURANT BOOK, RESTAURANT, TABLE PLAY MUSIC PLAY, MUSIC, NETFLIX, LISTEN, OFF, BY, SEARCH CREATIVE WORK ME, MUSIC, BUY, GOOD, MOLDY SEARCH SCREENING EVENT PLAYING, WHERE, FIND, TIME, MOVIE Tabla 4.1: Tabla de intenciones y palabras importantes 4.4. Interpretaci´on de los resultados En esta secci´on supervisaremos los resultados obtenidos con LIME y obtendremos informaci´on relevante sobre la muestra, as´ı como los errores intr´ınsecos que el modelo ha aprendido de ella. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas
Cap´ıtulo 5. Bibliograf´ıa 44 [26] Trumbelj, E., & Kononenko, I. (2014). Explaining Prediction Models and Individual Predictions with Feature Contributions. Knowledge and Information Systems, 41(3), 647-665. TFG Pedro Delgado Jim´enez. Grado en Matem´aticas