OpenCyber Academy
Mestrado · Capítulo 3 · Português
Código do curso: OCA-181Capítulo 03: OCA-181-C003

Capítulo 3 — Desenho do estudo, ética e reprodutibilidade

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

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

  1. 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:

Exercícios

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) →

Respostas comentadas

EX015. Estudo observacional dos registros de um assistente que o pesquisador está autorizado a estudar, com salvaguardas de consentimento/privacidade; os fatores de confusão (população de usuários, mudanças de funcionalidades) precisam ser discutidos. Um experimento é impossível porque não se pode controlar atacantes reais.

EX016. Independente: defesa (nenhuma vs treinamento adversarial). Dependentes: acurácia sob PGD com eps fixo; acurácia limpa. Controladas: arquitetura, épocas de treino, partição dos dados, passos/eps do ataque, sementes.

EX017. Se os não membros diferem na distribuição (por exemplo, registros mais novos), o ataque consegue distingui-los pela mudança de distribuição, não pelo pertencimento, e o vazamento medido fica inflado.

EX018. Licitude; limitação da finalidade; minimização dos dados; limitação da conservação; integridade e confidencialidade (segurança); responsabilização.

EX019. Taxas por semente 0.110, 0.130, 0.135, 0.105, 0.145 — uma amplitude de 0.105–0.145 — com média 0.125 e dp 0.017.

EX020. Repositório com controle de versão; ambiente fixado; arquivos de configuração; política de sementes; um comando por experimento; registros estruturados; cartão de dados.