Mapa da aula
Aula 03 publicada. Mapa, exemplo, EX015.
flowchart TD
N0["3.1 Escolha de um desenho"]
N1["3.2 Variáveis e controles"]
N2["3.3 Ética e proteção de dados"]
N3["3.4 Reprodutível por desenho"]
N4["3.6 Atividades práticas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX015"]
Desenho lógico
flowchart LR
N0["3.1 Escolha de um desenho"]
N1["3.2 Variáveis e controles"]
N2["3.3 Ética e proteção de dados"]
N3["3.4 Reprodutível por desenho"]
N4["3.6 Atividades práticas"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX015"]
[3.1 Escolha de um desenho]
|
v
[3.2 Variáveis e controles]
|
v
[3.3 Ética e proteção de dados]
|
v
[3.4 Reprodutível por desenho]
|
v
[3.6 Atividades práticas]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX015]
Objetivos de aprendizagem
Você vai (1) escolher um desenho (experimento controlado, estudo observacional, estudo de caso) adequado à pergunta; (2) definir variáveis, controles, aleatorização e tamanho da amostra; (3) planejar o tratamento dos dados e a ética para dados pessoais ou sensíveis; (4) tornar o estudo reprodutível desde o início; e (5) documentar o plano para que um orientador possa aprová-lo.
3.1 Escolha de um desenho
A maioria dos projetos de mestrado em segurança de IA são experimentos controlados: você muda um fator (deduplicação ligada/desligada), mantém os outros fixos e mede os desfechos. Estudos observacionais analisam dados existentes sem intervir (por exemplo, registros de tentativas de injeção de prompt contra um assistente implantado) e precisam se preocupar com confusão (confounding). Estudos de caso examinam um sistema em profundidade e são úteis quando experimentos são impossíveis, mas sustentam uma generalização mais fraca. Escolha o desenho mais forte que você consiga executar de forma ética e dentro do prazo. A pergunta de Leo compara condições que ele pode controlar, então um experimento controlado é adequado.
3.2 Variáveis e controles
Para Leo: a variável independente é o tratamento do conjunto de treino (original, deduplicado exato, deduplicado aproximado). As variáveis dependentes são a TPR da inferência de pertencimento com FPR de 1%, a AUC e o macro-F1 do classificador. As variáveis controladas incluem a arquitetura do modelo, as épocas, a taxa de aprendizado, as sementes aleatórias e a partição de avaliação. Aleatorize quais registros vão para o treino e quais ficam reservados, para que membros e não membros venham da mesma distribuição — caso contrário, um ataque pode detectar a mudança de distribuição em vez do pertencimento, uma armadilha conhecida. Use várias sementes e relate a variabilidade. Estime o tamanho da amostra a partir de um piloto (Capítulo 5).
3.3 Ética e proteção de dados
Quando os dados dizem respeito a pessoas, aplique os princípios de proteção de dados: base legal, limitação da finalidade, minimização, limitação da conservação e segurança. O GDPR (o regulamento geral de proteção de dados) se aplica na UE; outras jurisdições têm leis semelhantes. Prefira dados sintéticos que preservem as propriedades de que você precisa; se dados reais forem essenciais, obtenha a aprovação do comitê de ética da sua instituição e do controlador dos dados, pseudonimize, restrinja o acesso e defina datas de exclusão. Ataques de privacidade sobre dados reais criam exatamente o dano que você estuda; execute-os apenas em cópias sob acordo e nunca publique registros recuperados. Se o seu projeto envolver pessoas (anotadores, participantes de questionários), você precisa de consentimento informado.
Nota para o leitor brasileiro. No Brasil, o tratamento de dados pessoais em pesquisa é regido pela Lei Geral de Proteção de Dados Pessoais (LGPD, Lei nº 13.709/2018), fiscalizada pela Autoridade Nacional de Proteção de Dados (ANPD); a lei tem disposições específicas para órgãos de pesquisa, mas elas não dispensam a minimização, a pseudonimização e a aprovação ética descritas acima.
3.4 Reprodutível por desenho
Prepare desde o primeiro dia: um repositório com controle de versão; um ambiente fixado; arquivos de configuração em vez de parâmetros embutidos no código; sementes fixas; um único comando para executar cada experimento; registros gravados em formato legível por máquina; e um cartão de dados (data card) que descreva a proveniência e o processamento (Gebru et al., arXiv:1803.09010). O programa de reprodutibilidade da NeurIPS (Pineau et al., arXiv:2003.12206) oferece uma lista de verificação que vale adotar. Embutir a reprodutibilidade desde o início sai muito mais barato do que acrescentá-la depois. O desenho de Leo lista desde o início o repositório, um arquivo de travamento (lock file) e uma interface run.py --config, o que tornou simples as suas reexecuções posteriores.
3.5 Exemplo resolvido (caso sintético da Harbourline)
O documento de desenho de Leo especifica um experimento controlado com três condições × cinco sementes. Dados: 20.000 notas de sinistro sintéticas geradas a partir de modelos (templates) com duplicação controlada (8% de duplicatas exatas, 6% de quase-duplicatas), de modo que a verdade de referência sobre a duplicação é conhecida. Membros e não membros são sorteados por partição aleatória do mesmo conjunto. A seção de ética registra que nenhum dado real de segurado é usado, que o encarregado de proteção de dados da Harbourline revisou o plano e que o gerador sintético será publicado. A seção de reprodutibilidade lista o repositório, o arquivo de travamento do ambiente e uma interface run.py --config.
O laboratório de estatística mostra por que estão previstas cinco sementes: os resultados por semente variam mesmo quando nada muda além da semente.
"""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}]")
Saída 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]
3.6 Atividades práticas
- Escreva o seu desenho com variáveis, controles e aleatorização. 2. Redija uma seção de ética e proteção de dados. 3. Crie o esqueleto do repositório com arquivos de configuração e uma política de sementes. Use o desenho de Leo como modelo: nomeie as variáveis independentes, dependentes e controladas, e diga como membros e não membros são sorteados do mesmo conjunto. No texto de ética, diga que dados são usados, quem revisou o plano e o que será publicado. No repositório, inclua arquivos de configuração, um arquivo de travamento, uma política de sementes e um único comando por experimento. Peça ao seu orientador que revise os três.
3.7 Erros e limites
Quatro erros se repetem, e cada um compromete o resultado; confira o seu desenho quanto aos quatro:
- Membros e não membros sorteados de distribuições diferentes; isso deixa o ataque detectar a mudança em vez do pertencimento.
- Uma semente por condição; uma única semente não mostra a variabilidade que o Laboratório S torna visível.
- Usar dados pessoais reais quando dados sintéticos bastariam; dados pessoais reais criam o dano estudado quando dados sintéticos serviriam, como servem as notas sintéticas de Leo.
- Caminhos e parâmetros embutidos no código que tornam as reexecuções impossíveis; eles fazem as reexecuções falharem para qualquer outra pessoa, inclusive os examinadores.
Exercícios
- EX015 — Escolha do desenho. Para "assistentes implantados recebem tentativas de injeção, e de que tipos?", escolha um desenho e justifique. Rubrica: 3 = estudo observacional de registros autorizados, com notas sobre confusão/consentimento; 2 = só o desenho; 1 = pouco adequado; 0 = nenhum.
- EX016 — Variáveis. Liste a variável independente, a dependente e três variáveis controladas para um experimento sobre uma defesa contra evasão. Rubrica: 3 = todas corretas; 2 = lacuna menor; 1 = lacuna grave; 0 = nenhuma.
- EX017 — Armadilha da distribuição. Explique por que membros e não membros devem vir da mesma distribuição. Rubrica: 3 = caso contrário o ataque detecta a mudança, inflando os resultados; 2 = parcial; 1 = vago; 0 = errado.
- EX018 — Proteção de dados. Nomeie quatro princípios de proteção de dados que se aplicam a um estudo de ataque de privacidade. Rubrica: 3 = quatro corretos; 2 = três; 1 = um ou dois; 0 = nenhum.
- EX019 — Leitura do laboratório. No laboratório de estatística, qual é a amplitude das taxas por semente e a média? Rubrica: 3 = 0.105–0.145, média 0.125, dp 0.017; 2 = dois dos três; 1 = um; 0 = errado.
- EX020 — Preparação para a reprodutibilidade. Liste cinco coisas a preparar antes do primeiro experimento. Rubrica: 3 = cinco entre repositório, ambiente fixado, configurações, sementes, comando único, registros, cartão de dados; 2 = quatro; 1 = duas; 0 = nenhuma.
Síntese
O desenho determina o que você pode concluir. Variáveis controladas, amostragem pareada de membros e não membros, várias sementes, tratamento ético dos dados e reprodutibilidade embutida desde o início são o que permite a um projeto curto produzir uma resposta crível.
Continue estudando — capítulo 03 de 08
← Capítulo 02 (rascunho) · Índice de capítulos do curso · Capítulo 04 (rascunho) →