Mapa de la lección
Lección 33 publicada. Mapa, ejemplo, EX097.
flowchart TD
N0["Resultados de aprendizaje"]
N1["33.1 Diseño experimental"]
N2["33.2 Análisis"]
N3["33.4 Amenazas a la validez"]
N4["33.4b Evaluación adaptativa"]
N5["33.6b Prerregistrar la comparación"]
N6["Síntesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX097"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["33.1 Diseño experimental"]
N2["33.2 Análisis"]
N3["33.4 Amenazas a la validez"]
N4["33.4b Evaluación adaptativa"]
N5["33.6b Prerregistrar la comparación"]
N6["Síntesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX097"]
[Resultados de aprendizaje]
|
v
[33.1 Diseño experimental]
|
v
[33.2 Análisis]
|
v
[33.4 Amenazas a la validez]
|
v
[33.4b Evaluación adaptativa]
|
v
[33.6b Prerregistrar la comparación]
|
v
[Síntesis]
|
v
[Ejemplo resuelto] --> [Ejercicio EX097]
Resultados de aprendizaje
Usted podrá (1) diseñar experimentos controlados con varias condiciones y semillas; (2) analizar comparaciones pareadas con intervalos bootstrap; (3) tratar las comparaciones múltiples; y (4) reconocer y evitar los errores habituales en la investigación de seguridad del aprendizaje automático.
33.1 Diseño experimental
Defina las condiciones (línea base, defensa A, defensa B, A + B), mantenga fijo todo lo demás, aleatorice el orden de las tareas y use varias semillas. Prerregistre las hipótesis y las métricas en un documento fechado antes de ejecutar. Mantener fijo todo lo demás significa usar la misma versión del modelo, el mismo conjunto de documentos y los mismos prompts en las cuatro condiciones de Ask Lumen. Aleatorizar el orden impide que las tareas posteriores se beneficien de efectos de caché o de limitación de frecuencia. El plan fechado de Rina se guardó en el repositorio del curso antes de su primera ejecución, así que la marca de tiempo demuestra que fue lo primero.
33.2 Análisis
Use diseños pareados: las mismas tareas en todas las condiciones. Aplique bootstrap a la diferencia entre condiciones para obtener intervalos. Al comparar muchas condiciones, controle los falsos descubrimientos (por ejemplo, con Holm–Bonferroni) o etiquete las comparaciones adicionales como exploratorias.
"""Lab S: reporting attack-success rates honestly: Wilson intervals,
seed variation and a paired bootstrap. Synthetic trial outcomes only."""
import math, random
def wilson(k, n, z=1.96):
p = k/n; d = 1 + z*z/n
c = (p + z*z/(2*n))/d; h = z*math.sqrt(p*(1-p)/n + z*z/(4*n*n))/d
return c - h, c + h
for k, n in ((3, 20), (30, 200), (300, 2000)):
lo, hi = wilson(k, n); print(f"successes={k}/{n} rate={k/n:.3f} wilson95=[{lo:.3f}, {hi:.3f}]")
# five seeds of a synthetic defence evaluation: per-seed attack success rate
rates = []
for seed in range(5):
r = random.Random(seed); rates.append(sum(r.random() < 0.12 for _ in range(200))/200)
m = sum(rates)/5; sd = math.sqrt(sum((x-m)**2 for x in rates)/4)
print("per-seed rates:", " ".join(f"{x:.3f}" for x in rates), f"mean={m:.3f} sd={sd:.3f}")
# paired bootstrap: baseline vs defence on the same 300 synthetic prompts
r = random.Random(42)
base = [r.random() < 0.30 for _ in range(300)]
defn = [b and r.random() < 0.6 for b in base] # defence blocks ~40% of successes
diffs = []
for _ in range(2000):
idx = [r.randrange(300) for _ in range(300)]
diffs.append(sum(base[i] for i in idx)/300 - sum(defn[i] for i in idx)/300)
diffs.sort()
print(f"baseline_asr={sum(base)/300:.3f} defended_asr={sum(defn)/300:.3f} "
f"reduction_ci95=[{diffs[50]:.3f}, {diffs[1949]:.3f}]")
Salida esperada:
successes=3/20 rate=0.150 wilson95=[0.052, 0.360]
successes=30/200 rate=0.150 wilson95=[0.107, 0.206]
successes=300/2000 rate=0.150 wilson95=[0.135, 0.166]
per-seed rates: 0.110 0.130 0.135 0.105 0.145 mean=0.125 sd=0.017
baseline_asr=0.350 defended_asr=0.190 reduction_ci95=[0.120, 0.203]
En el laboratorio, la reducción de 0,350 a 0,190 tiene un intervalo bootstrap de aproximadamente 0,120 a 0,203, así que la defensa ayuda claramente. Las tasas por semilla, de 0,105 a 0,145, muestran por qué hacen falta varias semillas. Una sola semilla podría sugerir un efecto mayor o menor que el que muestra la media, y el lector no tendría forma de saber cuál. Para Ask Lumen, Rina usó cinco semillas por configuración.
33.3 Errores habituales
Arp et al. (arXiv:2010.09470) enumeran errores habituales como el sesgo de muestreo, la inexactitud de las etiquetas, el fisgoneo de datos, las correlaciones espurias, la selección sesgada de parámetros, las líneas base inadecuadas, la falacia de la tasa base, la evaluación solo en laboratorio, los modelos de amenazas inadecuados y las medidas de rendimiento inadecuadas. Use la lista como lista de comprobación antes y después de los experimentos. Aplicada al estudio de cuatro configuraciones de Rina, la falacia de la tasa base era pertinente para la discusión del detector, y la evaluación solo en laboratorio para todos los resultados, ya que el tráfico de preproducción es sintético. El fisgoneo de datos se evitó porque el conjunto de inyecciones reservado solo se abrió una vez. Rina anotó qué errores se aplicaban y qué hizo con cada uno.
33.4 Amenazas a la validez
Interna (otra cosa causó el efecto), de constructo (la métrica no mide la propiedad), externa (los resultados no se trasladan) y de conclusión (estadística inadecuada). Anótelas junto con lo que hizo con cada una. En el estudio de Rina, la validez externa era la principal preocupación: todos los documentos inyectados estaban en inglés, y los folletos reales de los asociados incluyen otros idiomas. La validez de constructo se comprobó confirmando que su calificador de afirmaciones falsas coincidía con las etiquetas humanas. La validez interna se apoyó en mantener fija la versión del modelo durante todo el estudio, de modo que una actualización del proveedor no pudiera explicar las diferencias.
33.4b Evaluación adaptativa
Para cualquier defensa que proponga, incluya al menos un ataque diseñado conociéndola. Sin eso, los resultados solo describen la resistencia a los ataques de ayer (Carlini et al., arXiv:1902.06705). El conjunto adaptativo de Rina para la comprobación de fundamentación usó documentos con horarios plausibles pero falsos que seguían el formato del archivo estructurado. Una comprobación que solo comparara formatos los aceptaría; la suya comparaba valores, así que los horarios falsos se detectaron. También probó documentos que afirmaban que el horario de una clínica cambiaba «a partir de la semana que viene», algo que la comprobación no podía verificar. Esos casos pasaron a revisión humana, que anotó como un límite conocido del enfoque de fundamentación.
33.5 Ejemplo resuelto (caso sintético de LCH)
Rina comparó cuatro configuraciones de Ask Lumen con 500 tareas inyectadas y 500 benignas y cinco semillas. La comprobación de fundamentación sola redujo las afirmaciones falsas sobre las clínicas del 9,0 % al 3,2 %; el etiquetado de las fuentes solo, al 7,1 %; ambos, al 2,4 %. El intervalo bootstrap pareado de «ambos frente a la fundamentación sola» fue de 0,1 a 1,5 puntos —una mejora pequeña pero positiva—, y señaló que todos los documentos inyectados estaban en inglés. El intervalo excluye el cero, así que la combinación ayuda, pero la ganancia es lo bastante pequeña como para que LCH la sopesara frente al coste de mantenimiento del etiquetado de las fuentes. El límite de usar solo el inglés se indicó en el resumen.
33.6 Errores y límites
- Sin prerregistro.
- Muchas comparaciones presentadas como si cada una fuera la única.
- Ignorar la lista de comprobación de errores habituales.
Sin un plan fechado, nada demuestra que la hipótesis precediera a los datos, y los lectores tienen que fiarse del autor. Presentar seis comparaciones por pares como si cada una fuera la única prueba aumenta la probabilidad de que una parezca significativa por azar; Rina usó Holm–Bonferroni para sus tres comparaciones planificadas. Saltarse la lista de errores habituales permite que errores conocidos lleguen inadvertidos al informe final, donde corregirlos sale caro.
33.6b Prerregistrar la comparación
Antes de ejecutar el estudio de inyección de prompts, el equipo de LCH anota la hipótesis, el conjunto de ataques, la métrica y el umbral que contaría como mejora, y guarda ese plan con fecha. Los resultados se comparan después con el plan, lo que impide que el equipo elija una métrica favorecedora tras ver los datos. El plan de Rina designaba la tasa de afirmaciones falsas como métrica principal y las reservas completadas como secundaria. También fijaba el número de semillas y el umbral de mejora, una reducción de al menos un punto porcentual, antes de cualquier ejecución.
Ejercicios
- EX097 — Diseño. Diseñe un experimento de cuatro condiciones para las defensas de DocSort. Rúbrica: 3 = condiciones, factores fijos, semillas, tareas pareadas, métricas; 2 = cuatro; 1 = vago; 0 = nada.
- EX098 — Errores habituales. Elija tres errores habituales y diga cómo el diseño de Rina los evita o se expone a ellos. Rúbrica: 3 = tres acertados; 2 = dos; 1 = uno; 0 = nada.
- EX099 — Interpretación. Interprete el intervalo de 0,1 a 1,5 puntos. Rúbrica: 3 = beneficio probablemente real pero pequeño; puede no justificar el coste por sí solo; 2 = parcial; 1 = vago; 0 = incorrecto.
Síntesis
Métodos de investigación II añade rigor: diseños pareados con varias condiciones, intervalos bootstrap, control de la multiplicidad y una lista de comprobación de errores habituales.
Siga estudiando — capítulo 33 de 40
← Capítulo 32 (borrador) · Índice de capítulos del curso · Capítulo 34 (borrador) →