Adversarial testing: thay đổi nhỏ xíu, model đoán sai hoàn toàn
🎯 Mục tiêu học (LO AI-6.1.4 · mức K2 – Hiểu): tóm tắt adversarial testing cho hệ thống ML.
💡 Ý cốt lõi: adversarial testing cố tình đưa vào dữ liệu bị nhiễu nhỏ (thường mắt người không nhận ra) để khiến model dự đoán sai — nếu thành công, gọi là adversarial example.
2 cách tiếp cận: Black-box và White-box
| Cách tiếp cận | Mô tả |
|---|---|
| Black-box | Chỉ dựa vào input/output của model, không cần biết cấu trúc bên trong. Một cách làm: xây một model tương đương mà ta biết rõ nội tại, tạo adversarial input từ model tương đương đó, rồi áp dụng lên model gốc — dựa trên giả định các model tương đương chia sẻ ranh giới phân loại (transferability). Cách khác: brute force — thử số lượng lớn test với hy vọng một số ngẫu nhiên trùng với adversarial example. |
| White-box | Hiểu rõ nội tại model (kiến trúc, tham số, quá trình huấn luyện) — thường giúp tạo adversarial example dễ hơn. |
Adversarial testing có thể làm thủ công (tự tay tạo các adversarial example cụ thể) hoặc bằng thuật toán tự động sinh số lượng lớn biến thể để tìm input hiệu quả. Việc phát hiện lỗ hổng qua adversarial testing giúp developer bổ sung biện pháp bảo vệ, làm model bền vững hơn — dù đó là adversarial example gặp tình cờ hay do tấn công có chủ đích (adversarial attack). Việc tạo test input hiệu quả khá phức tạp về mặt kỹ thuật, và cập nhật theo kịp các kỹ thuật tấn công đang tiến hoá là thách thức liên tục.
📝 Bẫy hay gặp
Đề hay cho một phát biểu nghe hợp lý nhưng sai — nhớ mấy chỗ gài sau:
- "Adversarial testing chỉ có thể làm khi biết nội tại model" → SAI: có thể làm bằng black-box (dùng model tương đương hoặc brute force) mà không cần biết nội tại.
- "Adversarial example luôn là kết quả của tấn công cố ý" → SAI: có thể là tình cờ gặp phải, không nhất thiết do tấn công có chủ đích.
- "Chiến lược black-box 'dùng model tương đương' dựa trên việc hai model có cùng kiến trúc" → SAI: dựa trên giả định các model chia sẻ ranh giới phân loại (transferability), không nhất thiết cùng kiến trúc.
📌 Ghi nhớ
Adversarial example = input bị nhiễu nhỏ khiến model đoán sai
2 cách: black-box (model tương đương / brute force) · white-box (biết nội tại)
Với tester: khi không có quyền truy cập nội bộ model (thường gặp khi test dịch vụ AI của bên thứ ba), vẫn có thể adversarial test bằng cách xây model tương đương hoặc dùng brute force — không nhất thiết cần "mở hộp đen".
📖 Thuật ngữ Anh–Việt (mục này)
Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.
| Thuật ngữ (EN) | Nghĩa & ghi nhớ nhanh |
|---|---|
| Adversarial testing | Kiểm thử bằng cách cố tình đánh lừa model |
| Adversarial example | Input bị chỉnh sửa nhỏ khiến model dự đoán sai |
| Adversarial attack | Tấn công có chủ đích dùng adversarial example |
| Perturbation | Nhiễu/thay đổi nhỏ trên dữ liệu đầu vào |
| Black-box testing | Kiểm thử hộp đen — chỉ dựa input/output |
| White-box testing | Kiểm thử hộp trắng — biết rõ cấu trúc nội tại |
| Transferability | Tính chuyển giao — các model tương đương chia sẻ điểm yếu tương tự |
🎯 Câu hỏi minh họa (phong cách đề CT-AI · K2)
A tester has no access to a deployed model's internals, so they build a surrogate model, craft adversarial inputs against it, and then apply those inputs to the original model, assuming shared classification boundaries. What is this approach called?
- a) White-box adversarial testing.
- b) Black-box adversarial testing using transferability.
- c) Metamorphic testing.
- d) Back-to-back testing.
Xem bản dịch tiếng Việt
Một tester không có quyền truy cập nội tại của model đã triển khai, nên xây một model thay thế (surrogate), tạo input adversarial nhắm vào nó, rồi áp dụng các input đó lên model gốc, dựa trên giả định hai model chia sẻ ranh giới phân loại. Đây là cách tiếp cận nào?
a) Adversarial testing white-box.
b) Adversarial testing black-box dùng transferability.
c) Metamorphic testing.
d) Back-to-back testing.
Xem đáp án & giải thích
✅ Đáp án đúng: b — dùng model tương đương và giả định chia sẻ ranh giới phân loại đúng là adversarial testing black-box theo nguyên lý transferability.
a sai — white-box yêu cầu biết nội tại model gốc, ở đây tester không có quyền truy cập đó.
c sai — metamorphic testing dựa trên quan hệ bất biến giữa input/output, không liên quan model thay thế.
d sai — back-to-back testing so sánh output với một pseudo-oracle, không phải tạo input đánh lừa.
Đề để tiếng Anh cho sát đề thi thật; phần giải thích để tiếng Việt cho dễ hiểu. Câu hỏi do maiqai.com tự soạn theo phong cách đề.
📎 Nguồn: Chương 6 – Kiểm thử mô hình cho hệ thống ML, mục 6.1.4 "Adversarial Testing of Machine Learning Systems", trang 58–59 — ISTQB® Certified Tester AI Testing Syllabus v2.0 (© International Software Testing Qualifications Board). Nội dung biên soạn/dịch ý lại bằng tiếng Việt, không sao chép nguyên văn.