Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Simulando ataques adversarios con TextAttack: V...

Simulando ataques adversarios con TextAttack: Vulnerabilidades y defensas en PLN

Los modelos de Procesamiento de Lenguaje Natural (PLN) son cada vez más críticos en aplicaciones como chatbots, análisis de sentimientos y traducción automática. Sin embargo, su exposición a ataques adversarios —modificaciones sutiles en los inputs diseñadas para engañar al modelo— revela vulnerabilidades de seguridad y robustez.
En esta charla, exploraremos cómo TextAttack, un framework de código abierto, permite simular estos ataques para evaluar y mejorar la resistencia de los modelos de PLN. A través de ejemplos prácticos, demostraremos técnicas comunes de ataque, su impacto en modelos preentrenados (como BERT o GPT), y estrategias para mitigarlos.
Puntos a tratar en la charla:
1. Introducción a los ataques adversarios en NLP
2. TextAttack: Un framework para evaluación y adversarial training
3. Simulación de un ataque adversario contra un modelo de análisis de sentimientos.
4. Estrategias de defensa

Avatar for jmortegac

jmortegac

October 20, 2025
Tweet

More Decks by jmortegac

Other Decks in Technology

Transcript

  1. • Ingeniería en informática • Master ciberseguridad y ciencia de

    datos • Consultoría y docencia universitaria • https://josemanuelortegablog.com/ • https://www.linkedin.com/in/jmortega1
  2. • Introducción a los ataques adversarios • Ataques adversarios en

    NLP • TextAttack: Un framework para evaluación y adversarial training • Simulación de un ataque adversario contra un modelo de análisis de sentimientos. • Estrategias de defensa
  3. • Pequeñas perturbaciones: Los ataques de adversarios suelen consistir en

    añadir pequeñas perturbaciones a los datos de entrada, imperceptibles para los humanos. Estos cambios sutiles pueden engañar al sistema de IA para que haga predicciones o clasificaciones erróneas. • Vulnerabilidades del modelo: Estos ataques aprovechan puntos débiles específicos del modelo de aprendizaje automático, como su incapacidad para generalizar bien a datos nuevos o la sensibilidad del modelo a ciertos tipos de datos de entrada. Ataques adversarios
  4. • 1. Prompt Injection • 2. Evasion Attacks • 3.

    Poisoning Attacks • 4. Model Inversion Attacks • 5. Model Stealing Attacks • 6. Membership Inference Attacks Ataques adversarios
  5. Introducción a los ataques adversarios en NLP • Un ataque

    adversario en el contexto de NLP es la creación de un ejemplo de texto modificado que tiene como objetivo engañar a un modelo de Machine Learning (ML) para que cometa un error o cambie su predicción a una etiqueta incorrecta. • El objetivo de estos ataques no es simplemente introducir ruido o datos corruptos, sino encontrar las vulnerabilidades específicas que existen en las representaciones internas que el modelo ha aprendido.
  6. Introducción a los ataques adversarios en NLP • Los modelos

    de NLP (como BERT, GPT, etc.) suelen aprender heurísticas superficiales o patrones estadísticos que no necesariamente reflejan una comprensión lingüística profunda. • Dependencia léxica: El modelo puede depender demasiado de la presencia de ciertas palabras clave. Por ejemplo, al reemplazar la palabra "excelente" por "magnífico", el modelo puede fallar si no ha sido entrenado lo suficiente en el segundo término. • Espacios de embeddings débiles: Las pequeñas perturbaciones en el espacio de embeddings de una palabra pueden empujar el embedding de toda la frase a una región de decisión diferente del modelo, sin que un humano note el cambio.
  7. Introducción a los ataques adversarios en NLP • Clasificación por

    objetivo • Clasificación por conocimiento del modelo • Clasificación por tipo de perturbación
  8. Introducción a los ataques adversarios en NLP Clasificación por objetivo

    • Ataque no dirigido (Untargeted Attack): El objetivo es forzar al modelo a predecir cualquier etiqueta incorrecta diferente de la etiqueta verdadera. Por ejemplo, cambiar una clasificación de "positivo" a "negativo" o a una clase neutral. • Ataque dirigido (Targeted Attack): El atacante tiene un objetivo específico y busca modificar la entrada para que el modelo prediga una etiqueta específica y predefinida (ej. cambiar la clasificación de "aprobado" a la etiqueta "rechazado").
  9. Introducción a los ataques adversarios en NLP Clasificación por tipo

    de perturbación ◦ Sustitución léxica: Consiste en reemplazar palabras clave con sus sinónimos. ◦ Manipulación gramatical/sintáctica: Se enfocan en alterar la estructura sin cambiar el significado. ◦ Ataques basados en embeddings: Usados en ataques de caja blanca, donde se perturba directamente la representación vectorial (el embedding) de una palabra o frase, y luego se busca la palabra más cercana a ese embedding perturbado.
  10. TextFooler TextFooler opera bajo el principio de encontrar el mínimo

    número de sustituciones léxicas que logran cambiar la clasificación del modelo, manteniendo la coherencia y el significado del texto. • Identificación de palabras clave: El algoritmo evalúa la importancia de cada palabra en la frase original con respecto a la predicción actual del modelo. • Generación de sustitutos candidatos: Utiliza una fuente léxica para generar un conjunto de sinónimos para la palabra candidata. • Filtrado por similitud semántica: Para asegurar que el texto modificado siga siendo coherente, los sustitutos se filtran estrictamente usando un modelo de embedding por similitud semántica. • Búsqueda del ataque exitoso: De los sustitutos que pasaron el filtro de similitud, el algoritmo elige el que, al reemplazar la palabra clave, cambia la predicción del modelo a la etiqueta objetivo.
  11. https://github.com/QData/TextAttack Original Text: "It 's a charming and often affecting

    journey" Adversarial Text: "it 's a cutie and often afflicts journey"
  12. Using goal function and transformations +-------------------------------+--------+ | Attack Results |

    | +-------------------------------+--------+ | Number of successful attacks: | 8 | | Number of failed attacks: | 2 | | Number of skipped attacks: | 0 | | Original accuracy: | 100.0% | | Accuracy under attack: | 20.0% | | Attack success rate: | 80.0% | | Average perturbed word %: | 18.71% | | Average num. words per input: | 63.0 | | Avg num queries: | 934.0 | +-------------------------------+--------+
  13. Estrategias para mitigar los ataques adversarios • Entrenamiento adversario (Adversarial

    training) • Uso de múltiples de modelos (Ensemble methods) • Squeezing de características (Feature squeezing) • Caja Negra vs. Caja Blanca
  14. Estrategias para mitigar los ataques adversarios • Entrenamiento adversario (Adversarial

    training) Esta es considerada la técnica más efectiva para mejorar la robustez. 1. Generación de ejemplos: Se utiliza un algoritmo de ataque (como PWWS) para generar ejemplos adversarios a partir del conjunto de entrenamiento original. 2. Reentrenamiento: El modelo se reentrena con el conjunto de datos ampliado, que ahora incluye tanto los ejemplos originales como sus contrapartes adversarias, etiquetadas con la etiqueta verdadera. 3. Resultado: El modelo aprende a clasificar correctamente tanto el texto original como las versiones ligeramente perturbadas, fortaleciendo sus fronteras de decisión y reduciendo la dependencia de heurísticas superficiales.