Adversarial Attacks
Khám phá cách các cuộc tấn công đối nghịch (adversarial attacks) thao túng các mô hình học máy. Tìm hiểu về các chiến lược white-box và black-box, các rủi ro đối với an toàn AI và cách phòng thủ với Ultralytics YOLO26.
Các cuộc tấn công đối kháng (adversarial attacks) là một danh mục kỹ thuật thao túng tinh vi được thiết kế để đánh lừa các mô hình machine learning (ML) đưa ra các dự đoán sai với độ tự tin cao. Các cuộc tấn công này hoạt động bằng cách đưa các nhiễu loạn nhỏ, thường không thể nhận thấy vào dữ liệu đầu vào—như hình ảnh, âm thanh hoặc văn bản. Mặc dù những thay đổi này trông có vẻ vô hại hoặc ngẫu nhiên đối với người quan sát là con người, nhưng chúng khai thác các lỗ hổng toán học cụ thể trong ranh giới quyết định của các mạng thần kinh chiều cao. Khi các hệ thống Artificial Intelligence (AI) trở thành một phần không thể thiếu trong cơ sở hạ tầng quan trọng về an toàn, việc hiểu cách các lỗ hổng này hoạt động là điều cần thiết để phát triển các giao thức AI safety mạnh mẽ và các cơ chế phòng thủ.
Cách thức hoạt động của các cuộc tấn công đối kháng#
Trong quá trình huấn luyện deep learning (DL) điển hình, một mô hình tối ưu hóa trọng số của nó để giảm thiểu lỗi trên tập dữ liệu huấn luyện. Tuy nhiên, các mô hình này về cơ bản tạo ra các bản đồ phức tạp trong không gian đa chiều. Một cuộc tấn công đối kháng tính toán "hướng" chính xác trong không gian này cần thiết để đẩy một đầu vào vượt qua ranh giới, làm lật phân loại của mô hình. Ví dụ, trong computer vision (CV), việc thay đổi giá trị điểm ảnh của một hình ảnh gấu trúc theo một lượng "nhiễu" được tính toán có thể khiến hệ thống nhầm lẫn một cách tự tin rằng đó là một con vượn gibbon, mặc dù hình ảnh vẫn trông giống hệt như một con gấu trúc đối với mắt người.
Các chiến lược tấn công thường được phân loại dựa trên mức độ truy cập mà kẻ tấn công có đối với hệ thống mục tiêu:
- White-Box Attacks: Kẻ tấn công có sự minh bạch hoàn toàn về kiến trúc, gradient và model weights của mô hình. Điều này cho phép chúng tính toán một cách toán học nhiễu loạn hiệu quả nhất, thường sử dụng các kỹ thuật như phương pháp Fast Gradient Sign Method (FGSM).
- Black-Box Attacks: Kẻ tấn công không có kiến thức về các tham số mô hình bên trong và chỉ có thể quan sát đầu vào và đầu ra. Kẻ tấn công thường sử dụng "mô hình thay thế" (substitute model) để tạo ra các ví dụ đối kháng truyền tải hiệu quả sang hệ thống mục tiêu, một đặc tính được gọi là khả năng chuyển giao (transferability).
Các ứng dụng thực tiễn và rủi ro#
Mặc dù thường được thảo luận trong nghiên cứu lý thuyết, các cuộc tấn công đối kháng gây ra những rủi ro hữu hình cho các triển khai thực tế, đặc biệt là trong các hệ thống tự hành và bảo mật.
- Autonomous Vehicles: Xe tự hành phụ thuộc rất nhiều vào object detection để diễn giải các biển báo giao thông. Nghiên cứu đã chứng minh rằng việc dán các nhãn dán hoặc băng keo được thiết kế cẩn thận lên biển báo dừng có thể đánh lừa hệ thống thị giác của xe nhận thức nó thành biển báo giới hạn tốc độ. Loại tấn công trong thế giới thực này có thể dẫn đến các lỗi nguy hiểm trong các ứng dụng AI in automotive.
- Facial Recognition Evaders: Các hệ thống bảo mật kiểm soát quyền truy cập dựa trên sinh trắc học có thể bị tổn hại bởi các "miếng vá" đối kháng. Đây có thể là các mẫu được in đeo trên kính hoặc quần áo nhằm phá vỡ quá trình feature extraction. Điều này cho phép một cá nhân trái phép né tránh hoàn toàn việc phát hiện hoặc mạo danh một người dùng cụ thể, qua mặt security alarm systems.
Tạo các ví dụ đối kháng bằng Python#
Để hiểu được một số mô hình có thể dễ bị tổn thương như thế nào, việc xem xét việc một hình ảnh có thể bị nhiễu loạn dễ dàng ra sao sẽ rất hữu ích. Mặc dù suy luận tiêu chuẩn với các mô hình như YOLO26 rất mạnh mẽ cho mục đích sử dụng chung, các nhà nghiên cứu thường mô phỏng các cuộc tấn công để cải thiện model monitoring và phòng thủ. Ví dụ khái niệm sau đây sử dụng PyTorch để cho thấy các gradient được sử dụng như thế nào để tính toán một nhiễu loạn đối kháng (nhiễu) cho một hình ảnh.
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 perturbationCác khái niệm liên quan#
Điều quan trọng là phải phân biệt các cuộc tấn công đối kháng với các hình thức lỗi hoặc thao túng mô hình khác:
- Data Poisoning: Khác với các cuộc tấn công đối kháng thao túng đầu vào trong quá trình suy luận (thời gian kiểm tra), việc đầu độc dữ liệu liên quan đến việc làm hỏng chính training data trước khi mô hình được xây dựng, nhúng các cửa sau hoặc thành kiến ẩn.
- Prompt Injection: Điều này dành riêng cho Large Language Models (LLMs) và các giao diện văn bản. Mặc dù có ý niệm tương tự—đánh lừa mô hình—nhưng nó dựa vào việc thao túng ngôn ngữ ngữ nghĩa thay vì nhiễu loạn toán học của dữ liệu pixel hoặc tín hiệu.
- Overfitting: Đây là một lỗi huấn luyện trong đó mô hình học nhiễu trong dữ liệu huấn luyện thay vì mẫu cơ bản. Các mô hình bị overfitting thường dễ bị tấn công đối kháng hơn vì ranh giới quyết định của chúng quá phức tạp và dễ vỡ.
Phát triển các biện pháp phòng thủ chống lại các cuộc tấn công này là thành phần cốt lõi của MLOps hiện đại. Các kỹ thuật như huấn luyện đối kháng (adversarial training)—trong đó các ví dụ bị tấn công được thêm vào tập huấn luyện—giúp các mô hình trở nên kiên cường hơn. Các nền tảng như Ultralytics Platform hỗ trợ các quy trình huấn luyện và xác thực nghiêm ngặt, cho phép các nhóm đánh giá độ mạnh mẽ của mô hình trước khi triển khai lên các thiết bị biên.






