Capítulo 7 — Probabilidade e estatística
Mapa da aula
Aula 07 publicada. Mapa, exemplo, EX019.
flowchart TD
N0["7.1 Probabilidade condicional e Bayes"]
N1["7.2 O efeito da taxa de base"]
N2["7.3 Estimando taxas"]
N3["7.4 Distribuições e independência"]
N4["7.5 Comparando dois sistemas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX019"]
Desenho lógico
flowchart LR
N0["7.1 Probabilidade condicional e Bayes"]
N1["7.2 O efeito da taxa de base"]
N2["7.3 Estimando taxas"]
N3["7.4 Distribuições e independência"]
N4["7.5 Comparando dois sistemas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX019"]
[7.1 Probabilidade condicional e Bayes]
|
v
[7.2 O efeito da taxa de base]
|
v
[7.3 Estimando taxas]
|
v
[7.4 Distribuições e independência]
|
v
[7.5 Comparando dois sistemas]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX019]
Objetivos de aprendizagem
Você vai (1) aplicar a regra de Bayes a problemas de detecção; (2) explicar as taxas de base e por que eventos raros dominam a precisão dos alertas; (3) estimar taxas com intervalos de confiança; e (4) desenhar avaliações com amostras suficientes.
7.1 Probabilidade condicional e Bayes
P(A | B) = P(B | A) P(A) / P(B). Para um detector de prompts maliciosos, a taxa de verdadeiros positivos é P(alerta | malicioso) e a taxa de falsos positivos é P(alerta | benigno). O que importa para os operadores é a precisão, P(malicioso | alerta), que depende fortemente da taxa de base P(malicioso). As duas taxas descrevem o detector e ficam mais ou menos fixas; a precisão descreve o detector num fluxo de tráfego específico e muda sempre que a composição muda. Sam escreve os três números em todo relatório de detector, porque operadores que leem só a taxa de verdadeiros positivos tendem a tratar todo alerta como ataque.
7.2 O efeito da taxa de base
O laboratório calcula a precisão de três detectores em três prevalências. Um detector com TPR de 95% e FPR de 5% parece bom, mas, se só 1 em 1,000 prompts for malicioso, menos de 2% dos seus alertas são reais. Arp et al. (arXiv:2010.09470) listam a falácia da taxa de base entre as armadilhas comuns do aprendizado de máquina em segurança. Ler a tabela linha por linha mostra que cortar falsos positivos faz mais do que aumentar a detecção. Com prevalência de 0.001, o terceiro detector pega menos ataques que o primeiro, mas quase metade dos seus alertas é real, contra menos de 2%, e ele gera 18 alertas por 10,000 prompts em vez de 509.
"""Lab B: base rates and alarm precision (Bayes' rule).
A detector for malicious prompts with given true- and false-positive rates
is applied to traffic with different shares of malicious prompts."""
for tpr, fpr in ((0.95, 0.05), (0.95, 0.01), (0.80, 0.001)):
for prev in (0.10, 0.01, 0.001):
tp = tpr * prev; fp = fpr * (1 - prev)
prec = tp / (tp + fp)
per_10k = round(10000 * (tp + fp))
print(f"tpr={tpr:.2f} fpr={fpr:.3f} prevalence={prev:.3f} precision={prec:.3f} alerts_per_10k={per_10k}")
Saída esperada:
tpr=0.95 fpr=0.050 prevalence=0.100 precision=0.679 alerts_per_10k=1400
tpr=0.95 fpr=0.050 prevalence=0.010 precision=0.161 alerts_per_10k=590
tpr=0.95 fpr=0.050 prevalence=0.001 precision=0.019 alerts_per_10k=509
tpr=0.95 fpr=0.010 prevalence=0.100 precision=0.913 alerts_per_10k=1040
tpr=0.95 fpr=0.010 prevalence=0.010 precision=0.490 alerts_per_10k=194
tpr=0.95 fpr=0.010 prevalence=0.001 precision=0.087 alerts_per_10k=109
tpr=0.80 fpr=0.001 prevalence=0.100 precision=0.989 alerts_per_10k=809
tpr=0.80 fpr=0.001 prevalence=0.010 precision=0.890 alerts_per_10k=90
tpr=0.80 fpr=0.001 prevalence=0.001 precision=0.445 alerts_per_10k=18
7.3 Estimando taxas
Uma taxa observada k/n tem incerteza. O intervalo de escore de Wilson é confiável mesmo para n pequeno ou taxas perto de 0 ou de 1. Relate intervalos e dimensione os estudos para que os intervalos sejam estreitos o bastante para a decisão: n ≈ z² p(1 − p)/h² para uma semiamplitude h. O intervalo de Wilson fica dentro de 0 e 1 e é quase correto mesmo quando se observam poucas falhas, o que importa porque bons sistemas produzem poucas. Para uma taxa em torno de 5% e semiamplitude de 1 ponto percentual com 95% de confiança, a fórmula dá cerca de 1.96² × 0.05 × 0.95 / 0.01², aproximadamente 1,800 itens de teste. Sam faz essa conta antes de coletar dados, já que um estudo pequeno demais para resolver a questão desperdiça o tempo de todos.
7.4 Distribuições e independência
Modelos binomiais contam sucessos em tentativas independentes. Muitas avaliações de segurança violam a independência: prompts gerados a partir de um mesmo modelo de texto são correlacionados, então o tamanho efetivo da amostra é menor. Agrupe por modelo de texto e reamostre os grupos (um cluster bootstrap) ao estimar intervalos. Suponha que 1,000 prompts de teste venham de 20 modelos de texto com 50 redações cada. Se um filtro falha num modelo, provavelmente falha na maioria das suas redações, então a avaliação tem mais perto de 20 unidades independentes do que de 1,000. Tratá-las como 1,000 deixa o intervalo estreito demais. Reamostrar modelos inteiros dá uma largura honesta e também mostra quais modelos provocam as falhas.
7.5 Comparando dois sistemas
Para decidir se um filtro novo é melhor que o antigo, execute os dois sobre os mesmos itens e analise as diferenças pareadas; a dificuldade dos itens então se cancela. Um bootstrap pareado — reamostrar itens, recalcular a diferença, tomar percentis — dá um intervalo para a melhoria. Se o intervalo inclui zero, os dados não mostram melhoria, por mais atraente que seja a estimativa pontual. O pareamento remove o ruído da dificuldade dos itens: um prompt excepcionalmente difícil conta contra os dois filtros, então deixa de obscurecer a diferença entre eles.
7.6 Exemplo resolvido (caso sintético da NRS)
O detector de injeção do Wrench teve TPR de 95% e FPR de 1% nos testes. Sam estimou que talvez 1 em 1,000 boletins de fornecedores chegaria a conter uma tentativa de injeção. Pelo laboratório, a precisão seria de cerca de 8.7%, com 109 alertas por 10,000 boletins — em sua maioria alarmes falsos. Sam recomendou encaminhar os alertas para uma fila de revisão leve em vez de bloquear, e combinar a detecção com limites de privilégio, para que ataques não detectados tenham impacto limitado. O valor de 1 em 1,000 é ele próprio uma estimativa, então Sam também lê a linha de 1 em 100 do laboratório, onde a precisão sobe para 0.490. De qualquer forma, bloquear todo boletim sinalizado bloquearia sobretudo boletins legítimos. Uma fila de revisão mantém os técnicos informados, e os limites de privilégio fazem com que a decisão não dependa de o detector acertar.
7.7 Erros e limites
Três erros são comuns: citar a acurácia em vez da precisão em taxas de base realistas; tratar amostras correlacionadas como independentes; e estimativas pontuais sem intervalos. A acurácia engana em taxas de base baixas: um detector que nunca alerta tem 99.9% de acurácia quando um prompt em mil é malicioso. Amostras correlacionadas inflam a confiança, como quando muitos prompts compartilham um modelo de texto. Estimativas pontuais sem intervalos escondem quão pouco um teste pequeno consegue mostrar. A lista de revisão de Sam faz três perguntas a qualquer métrica: em que taxa de base, contada sobre quais unidades e com que intervalo.
Exercícios
- EX019 — Precisão. Com TPR 0.90, FPR 0.02 e prevalência 0.005, calcule a precisão. Rubrica: 3 = 0.0045/(0.0045 + 0.0199) ≈ 0.184; 2 = deslize; 1 = método; 0 = nenhuma.
- EX020 — Leitura do laboratório. Qual detector do laboratório dá precisão acima de 0.4 com prevalência 0.001, e a que custo? Rubrica: 3 = TPR 0.80/FPR 0.001: 0.445, TPR menor; 2 = só a linha; 1 = vago; 0 = errado.
- EX021 — Agrupamento. Por que gerar 500 prompts a partir de 5 modelos de texto superestima o tamanho da amostra? Rubrica: 3 = correlação dentro do modelo; n efetivo mais perto de 5 grupos; usar cluster bootstrap; 2 = parcial; 1 = vago; 0 = errado.
Síntese
A probabilidade diz aos engenheiros o que um alerta realmente significa. Taxas de base, intervalos honestos e as unidades amostrais corretas decidem se um detector é útil na operação.
Continue estudando — capítulo 07 de 50
← Capítulo 06 (rascunho) · Índice de capítulos do curso · Capítulo 08 (rascunho) →