Adversarial Attacks
적대적 공격(Adversarial Attacks)이 머신러닝 모델을 어떻게 조작하는지 살펴보십시오. 화이트박스 및 블랙박스 전략, AI 안전에 대한 위험성, 그리고 Ultralytics YOLO26을 사용한 방어 기법에 대해 알아보십시오.
적대적 공격은 머신러닝(ML) 모델을 속여 높은 신뢰도로 잘못된 예측을 하도록 설계된 정교한 조작 기법입니다. 이러한 공격은 이미지, 오디오, 텍스트와 같은 입력 데이터에 미세하고 종종 인지할 수 없는 섭동(perturbation)을 도입하여 작동합니다. 이러한 변화는 인간 관찰자에게는 무해하거나 무작위로 보이지만, 고차원 신경망의 결정 경계(decision boundaries)에 존재하는 특정 수학적 취약점을 악용합니다. 인공지능(AI) 시스템이 안전이 중요한 인프라의 핵심 요소가 됨에 따라, 이러한 취약점이 어떻게 작동하는지 이해하는 것은 강력한 AI 안전 프로토콜과 방어 메커니즘을 개발하는 데 필수적입니다.
Link to this section적대적 공격의 작동 원리#
일반적인 딥러닝(DL) 학습 과정에서 모델은 학습 데이터셋의 오차를 최소화하기 위해 가중치를 최적화합니다. 그러나 이러한 모델은 본질적으로 다차원 공간에서 복잡한 맵을 생성합니다. 적대적 공격은 입력을 경계 너머로 밀어내어 모델의 분류를 뒤집는 데 필요한 이 공간 내의 정밀한 "방향"을 계산합니다. 예를 들어, 컴퓨터 비전(CV)에서 판다 이미지의 픽셀 값을 계산된 양의 "노이즈"만큼 변경하면, 인간의 눈에는 여전히 판다로 보이더라도 시스템이 이를 긴팔원숭이로 잘못 분류하게 만들 수 있습니다.
공격 전략은 일반적으로 공격자가 대상 시스템에 접근할 수 있는 수준에 따라 분류됩니다:
- 화이트박스 공격(White-Box Attacks): 공격자가 모델의 아키텍처, 그래디언트, 모델 가중치(model weights)에 대해 완전히 투명하게 접근할 수 있는 경우입니다. 이를 통해 공격자는 FGSM(Fast Gradient Sign Method)과 같은 기법을 사용하여 가장 효과적인 섭동을 수학적으로 계산할 수 있습니다.
- 블랙박스 공격(Black-Box Attacks): 공격자가 내부 모델 매개변수에 대해 전혀 알지 못하며 오직 입력과 출력만 관찰할 수 있는 경우입니다. 공격자는 종종 대상 시스템으로 효과적으로 전이되는 적대적 예제를 생성하기 위해 '대리 모델(substitute model)'을 사용하는데, 이러한 속성을 전이성(transferability)이라고 합니다.
Link to this section실제 사례 및 위험성#
적대적 공격은 이론적인 연구에서 주로 논의되지만, 특히 자율 시스템과 보안 분야에서 실제 배포에 실질적인 위험을 초래합니다.
- 자율 주행 자동차(Autonomous Vehicles): 자율 주행 자동차는 교통 표지판을 해석하기 위해 객체 탐지(object detection)에 크게 의존합니다. 연구에 따르면 정지 표지판에 정교하게 제작된 스티커나 테이프를 붙이면 차량의 비전 시스템이 이를 제한 속도 표지판으로 인식하게 속일 수 있음이 입증되었습니다. 이러한 물리적 세계의 공격은 자동차 AI(AI in automotive) 애플리케이션에서 위험한 장애를 초래할 수 있습니다.
- 안면 인식(Facial Recognition) 우회: 생체 인식 기반의 출입 통제 보안 시스템은 적대적 '패치'로 인해 침해될 수 있습니다. 이는 안경이나 의류에 부착된 인쇄된 패턴으로, 특징 추출(feature extraction) 과정을 방해합니다. 이를 통해 권한이 없는 개인이 탐지를 완전히 피하거나 특정 사용자로 위장하여 보안 경보 시스템(security alarm systems)을 우회할 수 있습니다.
Link to this sectionPython에서 적대적 예제 생성하기#
To understand how fragile some models can be, it is helpful to see how easily an image can be perturbed. While standard inference with models like YOLO26 is robust for general use, researchers often simulate attacks to improve model monitoring and defense. The following conceptual example uses PyTorch to show how gradients are used to calculate an adversarial perturbation (noise) for an image.
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 perturbationLink to this section관련 개념#
적대적 공격을 다른 형태의 모델 오류나 조작과 구분하는 것이 중요합니다:
- 데이터 포이즈닝(Data Poisoning): 추론(테스트 단계) 중에 입력을 조작하는 적대적 공격과 달리, 데이터 포이즈닝은 모델이 구축되기 전에 학습 데이터(training data) 자체를 오염시켜 숨겨진 백도어나 편향을 삽입하는 것을 포함합니다.
- 프롬프트 인젝션(Prompt Injection): 이는 대규모 언어 모델(LLM) 및 텍스트 인터페이스에 특화된 공격입니다. 개념적으로는 모델을 속인다는 점에서 유사하지만, 픽셀이나 신호 데이터에 대한 수학적 섭동이 아닌 의미론적 언어 조작에 의존합니다.
- 과적합(Overfitting): 이는 모델이 데이터의 근본적인 패턴이 아닌 학습 데이터의 노이즈까지 학습하는 학습 오류입니다. 과적합된 모델은 결정 경계가 지나치게 복잡하고 취약하기 때문에 적대적 공격에 더 취약한 경우가 많습니다.
이러한 공격에 대한 방어책을 개발하는 것은 현대 MLOps의 핵심 구성 요소입니다. 공격받은 예제를 학습 세트에 추가하는 적대적 학습(adversarial training)과 같은 기법은 모델이 더 탄력적으로 변하도록 돕습니다. Ultralytics Platform과 같은 플랫폼은 엄격한 학습 및 검증 파이프라인을 지원하여 팀이 에지 장치에 배포하기 전에 모델의 견고성을 평가할 수 있도록 합니다.






