Simulando ataques adversarios con TextAttack: Vulnerabilidades y defensas en PLN
jmoc25
3 views
42 slides
Oct 20, 2025
Slide 1 of 42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
About This Presentation
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— revel...
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
Size: 3.9 MB
Language: es
Added: Oct 20, 2025
Slides: 42 pages
Slide Content
Simulando ataques adversarios con TextAttack:
Vulnerabilidades y defensas en PLN
José Manuel Ortega [email protected]
•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
•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
Ataques adversarios
●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
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.
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.
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
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").
Introducción a los ataques adversarios en NLP
Clasificación por conocimiento del modelo
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.
Text attackhttps://arxiv.org/pdf/2005.05909
Text attackhttps://arxiv.org/pdf/2005.05909
https://github.com/QData/TextAttack
https://github.com/QData/TextAttack
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.
https://github.com/QData/TextAttack
https://github.com/QData/TextAttack
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"
Using goal function and transformations
Using goal function and transformations
Using goal function and transformations
Using goal function and transformations
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 |
+-------------------------------+--------+
WordNetAugmenter
WordNetAugmenter
Augmenter
CheckListAugmenter
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
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.