Capítulo 6 — Cálculo II
Mapa da aula
Aula 06 publicada. Mapa, exemplo, EX016.
flowchart TD
N0["6.1 Derivadas parciais e gradientes"]
N1["6.2 A regra da cadeia multivariada"]
N2["6.3 Aproximação de Taylor e mudança no pior caso"]
N3["6.4 Constantes de Lipschitz"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX016"]
Desenho lógico
flowchart LR
N0["6.1 Derivadas parciais e gradientes"]
N1["6.2 A regra da cadeia multivariada"]
N2["6.3 Aproximação de Taylor e mudança no pior caso"]
N3["6.4 Constantes de Lipschitz"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX016"]
[6.1 Derivadas parciais e gradientes]
|
v
[6.2 A regra da cadeia multivariada]
|
v
[6.3 Aproximação de Taylor e mudança no pior caso]
|
v
[6.4 Constantes de Lipschitz]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX016]
Objetivos de aprendizagem
Você vai (1) calcular derivadas parciais e gradientes de funções de várias variáveis; (2) usar a regra da cadeia em composições (a base da retropropagação); (3) aplicar aproximações de Taylor para estimar mudanças na saída; e (4) relacionar normas de gradiente e constantes de Lipschitz à robustez.
6.1 Derivadas parciais e gradientes
Para f(x₁, …, xₙ), a derivada parcial ∂f/∂xᵢ mantém as outras variáveis fixas. O gradiente ∇f as reúne num vetor que aponta na direção de maior crescimento. Para uma pontuação linear s = w·x + b, ∇ₓ s = w: os pesos são o gradiente em relação à entrada, e é por isso que modelos lineares são fáceis de atacar ao longo de sign(w). Num modelo linear, a direção de ataque fica, portanto, visível nos próprios pesos. Quem os obtiver, por exemplo a partir de um arquivo de modelo vazado, sabe exatamente quais atributos empurrar e em que direção. Em modelos não lineares o gradiente muda de entrada para entrada, mas o mesmo raciocínio vale localmente em torno de cada uma.
6.2 A regra da cadeia multivariada
Redes neurais são composições f = f_L ∘ … ∘ f₁. A regra da cadeia multiplica matrizes jacobianas camada por camada; a retropropagação calcula esse produto de forma eficiente, da saída para trás. O mesmo algoritmo dá gradientes em relação às entradas, que os ataques de caixa-branca usam. A retropropagação economiza trabalho ao reutilizar produtos intermediários, de modo que calcular o gradiente para todas as entradas custa mais ou menos o mesmo que uma passada direta. Essa eficiência é o motivo de os ataques de caixa-branca serem baratos: um atacante com o arquivo do modelo consegue calcular em milissegundos a direção mais danosa para qualquer entrada. Proteger os pesos do modelo é, portanto, parte da defesa contra evasão, e não apenas uma questão de propriedade intelectual.
6.3 Aproximação de Taylor e mudança no pior caso
Taylor de primeira ordem: f(x + δ) ≈ f(x) + ∇f(x)·δ. Se um atacante pode mudar cada atributo em no máximo ε (um orçamento L∞), a maior mudança de primeira ordem é ε·‖∇f(x)‖₁, atingida com δ = ε·sign(∇f(x)) — exatamente o passo do FGSM (Goodfellow et al., arXiv:1412.6572). Sob um orçamento L2, a pior mudança é ε·‖∇f(x)‖₂. As normas importam: um gradiente com muitas componentes pequenas ainda pode ter uma norma L1 grande em altas dimensões, o que é uma das explicações para a vulnerabilidade adversarial de modelos de alta dimensão. A aproximação só é precisa para ε pequeno, então engenheiros a usam como estimativa rápida e depois testam o modelo real com perturbações efetivas.
6.4 Constantes de Lipschitz
Uma função é L-Lipschitz se |f(x) − f(y)| ≤ L‖x − y‖. Se a margem de um classificador em x é m e sua pontuação é L-Lipschitz, nenhuma perturbação menor que m/L consegue inverter a decisão — um certificado. Calcular um L justo para redes profundas é difícil, e é por isso que métodos certificados como o randomized smoothing (Cohen et al., arXiv:1902.02918) usam argumentos probabilísticos. Um certificado é mais forte do que um resultado de teste: garante que nenhum ataque dentro do raio pode ter sucesso, por mais engenhoso que seja. Limites folgados ainda dão certificados válidos, mas o raio garantido pode ficar pequeno demais para importar.
6.5 Exemplo resolvido (caso sintético da NRS)
A pontuação de anomalia de rolamentos do Pulse é s = 0.9·t + 0.4·v − 0.2·h + c (temperatura, vibração, umidade, normalizadas). Com ε = 0.1 por atributo, a pior mudança de primeira ordem é 0.1 × (0.9 + 0.4 + 0.2) = 0.15. Sam compara isso com a margem típica (0.3) e conclui que um atacante que falsifica sensores, limitado a ±0.1, não consegue esconder um rolamento claramente quente, mas consegue esconder os limítrofes. Os pesos dão diretamente a pior direção: aumentar a umidade e reduzir a temperatura e a vibração, cada uma em 0.1. Uma margem de 0.3 é o dobro da pior mudança, então rolamentos claramente quentes continuam sinalizados, mas qualquer rolamento cuja pontuação esteja a menos de 0.15 do limiar poderia ser escondido. Sam registra essa faixa como risco residual e sugere cruzar as leituras limítrofes com um segundo sensor.
6.6 Erros e limites
Três erros são comuns: usar estimativas de primeira ordem longe do ponto em que elas são precisas; confundir orçamentos L1, L2 e L∞; e tratar um gradiente local como limite global. Estimativas de primeira ordem funcionam perto do ponto medido e ficam pouco confiáveis para mudanças maiores, em que a curvatura domina. Misturar normas produz limites errados por um fator que cresce com o número de atributos. Um gradiente local nada diz sobre entradas distantes, por isso Sam sempre combina as estimativas com testes usando perturbações reais e declara a norma do orçamento em todo resultado que relata.
Exercícios
- EX016 — Gradiente. Calcule ∇f para f(x, y) = x²y + 3y. Rubrica: 3 = (2xy, x² + 3); 2 = uma componente; 1 = tentativa; 0 = nenhuma.
- EX017 — Pior caso. Para s = 2x₁ − x₂ + 0.5x₃ e ε = 0.2 (L∞), dê o aumento de primeira ordem no pior caso e δ. Rubrica: 3 = 0.7, δ = (0.2, −0.2, 0.2); 2 = um; 1 = método; 0 = nenhuma.
- EX018 — Certificado. Uma pontuação tem margem 0.6 e constante de Lipschitz 3 (L2). Que tamanho de perturbação é certificado como seguro? Rubrica: 3 = < 0.2 em L2, com raciocínio; 2 = só o número; 1 = norma errada; 0 = nenhuma.
Síntese
Gradientes e normas transformam "mudança pequena" num número. Eles explicam por que os ataques funcionam, como os piores casos são limitados e por que certificados são possíveis, mas difíceis, para modelos profundos.
Continue estudando — capítulo 06 de 50
← Capítulo 05 (rascunho) · Índice de capítulos do curso · Capítulo 07 (rascunho) →