Adversarial Attacks
Explore como os ataques adversariais manipulam modelos de aprendizagem automática. Saiba mais sobre estratégias de caixa branca e caixa preta, riscos para a segurança da IA e defesa com o Ultralytics YOLO26.
Os ataques adversariais são uma categoria sofisticada de técnicas de manipulação concebidas para induzir modelos de aprendizagem automática (ML) a fazer previsões incorretas com elevada confiança. Estes ataques funcionam através da introdução de perturbações subtis, muitas vezes impercetíveis, nos dados de entrada — como imagens, áudio ou texto. Embora estas alterações pareçam inofensivas ou aleatórias para um observador humano, exploram vulnerabilidades matemáticas específicas nos limites de decisão de redes neuronais de elevada dimensionalidade. À medida que os sistemas de Inteligência Artificial (AI) se tornam parte integrante de infraestruturas críticas para a segurança, compreender o funcionamento destas vulnerabilidades é essencial para desenvolver protocolos robustos de segurança da IA e mecanismos de defesa.
Como funcionam os ataques adversariais#
Num processo típico de treino de aprendizagem profunda (DL), um modelo otimiza os seus pesos para minimizar o erro num conjunto de dados de treino. No entanto, estes modelos criam essencialmente mapas complexos num espaço multidimensional. Um ataque adversarial calcula a "direção" precisa nesse espaço necessária para fazer uma entrada atravessar um limite, invertendo a classificação do modelo. Por exemplo, em visão computacional (CV), alterar os valores dos píxeis de uma imagem de um panda com uma quantidade calculada de "ruído" pode levar o sistema a classificá-la incorretamente, com elevada confiança, como um gibão, apesar de a imagem continuar a parecer exatamente um panda ao olho humano.
As estratégias de ataque são geralmente categorizadas de acordo com o nível de acesso que o atacante tem ao sistema-alvo:
- Ataques de caixa branca: O atacante tem total transparência sobre a arquitetura, os gradientes e os pesos do modelo. Isto permite-lhe calcular matematicamente a perturbação mais eficaz, recorrendo frequentemente a técnicas como o Método do Gradiente de Sinal Rápido (FGSM).
- Ataques de caixa preta: O atacante não tem conhecimento dos parâmetros internos do modelo e só pode observar as entradas e as saídas. Os atacantes utilizam frequentemente um "modelo substituto" para gerar exemplos adversariais que são transferidos eficazmente para o sistema-alvo, uma propriedade conhecida como transferibilidade.
Aplicações e riscos no mundo real#
Embora sejam frequentemente discutidos na investigação teórica, os ataques adversariais apresentam riscos concretos em implementações do mundo real, sobretudo em sistemas autónomos e na área da segurança.
- Veículos autónomos: Os carros autónomos dependem fortemente da deteção de objetos para interpretar sinais de trânsito. A investigação demonstrou que aplicar autocolantes ou fita adesiva cuidadosamente concebidos a um sinal de stop pode levar o sistema de visão do veículo a interpretá-lo como um sinal de limite de velocidade. Este tipo de ataque no mundo físico pode causar falhas perigosas em aplicações de IA no setor automóvel.
- Evasores do reconhecimento facial: Os sistemas de segurança que controlam o acesso com base em dados biométricos podem ser comprometidos por "patches" adversariais. Estes podem ser padrões impressos usados em óculos ou vestuário que perturbam o processo de extração de características. Isto permite que uma pessoa não autorizada evite totalmente a deteção ou se faça passar por um utilizador específico, contornando os sistemas de alarme de segurança.
Geração de exemplos adversariais em Python#
Para compreender como alguns modelos podem ser frágeis, é útil ver como é fácil perturbar uma imagem. Embora a inferência padrão com modelos como o YOLO26 seja robusta para utilização geral, os investigadores simulam frequentemente ataques para melhorar a monitorização de modelos e a defesa. O exemplo conceptual seguinte utiliza PyTorch para mostrar como os gradientes são usados para calcular uma perturbação adversarial (ruído) para uma imagem.
import torch.nn.functional as F
# Assume 'model' is a loaded PyTorch model and 'image' is a normalized tensor
# 'target_class' is the correct label index for the image
def generate_adversarial_noise(model, image, target_class, epsilon=0.01):
# Enable gradient calculation for the input image
image.requires_grad = True
# Forward pass: get prediction
output = model(image)
# Calculate loss based on the correct class
loss = F.nll_loss(output, target_class)
# Backward pass: calculate gradients of loss w.r.t input
model.zero_grad()
loss.backward()
# Create perturbation using the sign of the data gradient (FGSM)
# This pushes the image in the direction of maximizing error
perturbation = epsilon * image.grad.data.sign()
return perturbationConceitos relacionados#
É importante distinguir os ataques adversariais de outras formas de falha ou manipulação de modelos:
- Envenenamento de dados: Ao contrário dos ataques adversariais, que manipulam a entrada durante a inferência (fase de teste), o envenenamento de dados envolve corromper os próprios dados de treino antes de o modelo ser criado, incorporando backdoors ou enviesamentos ocultos.
- Injeção de prompts: Esta técnica é específica dos Grandes Modelos de Linguagem (LLMs) e das interfaces de texto. Embora seja conceptualmente semelhante — induzir o modelo em erro —, baseia-se na manipulação semântica da linguagem, e não na perturbação matemática de dados de píxeis ou sinais.
- Sobreajuste: Trata-se de uma falha de treino em que um modelo aprende o ruído presente nos dados de treino, em vez do padrão subjacente. Os modelos com sobreajuste são frequentemente mais suscetíveis a ataques adversariais, porque os seus limites de decisão são excessivamente complexos e frágeis.
Desenvolver defesas contra estes ataques é um componente essencial das modernas operações de aprendizagem automática (MLOps). Técnicas como o treino adversarial — em que exemplos atacados são adicionados ao conjunto de treino — ajudam os modelos a tornar-se mais resilientes. Plataformas como a Ultralytics Platform facilitam pipelines rigorosos de treino e validação, permitindo às equipas avaliar a robustez dos modelos antes de os implementarem em dispositivos de edge.









