Simulando ataques adversarios con TextAttack: Vulnerabilidades y defensas en PLN

jmoc25 3 views 42 slides Oct 20, 2025
Slide 1
Slide 1 of 42
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
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...


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

•https://scholar.google.es/citations?user=kAM9WrcA
AAAJ&hl=es

•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

●1. Prompt Injection
●2. Evasion Attacks
●3. Poisoning Attacks
●4. Model Inversion Attacks
●5. Model Stealing Attacks
●6. Membership Inference Attacks
Ataques adversarios

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.

Books

●https://textattack.readthedocs.io
●https://arxiv.org/pdf/2005.05909
●https://towardsdatascience.com/what-are-adversarial
-examples-in-nlp-f928c574478e/
●https://harvard-iacs.github.io/CS287/lectures/18_Adv
ersarial_NLP.pdf
References

Simulando ataques adversarios con TextAttack:
Vulnerabilidades y defensas en PLN
José Manuel Ortega
[email protected]