การโจมตี Machine Learning ด้วย Adversarial Examples

เพื่อเป็นตัวอย่างว่าการป้องกันแบบง่ายๆ นั้นล้มเหลวได้อย่างไร เราจะพิจารณาว่าเทคนิคที่เรียกว่า “gradient masking” นั้นใช้ไม่ได้อย่างไร

“Gradient masking” เป็นคำที่ใช้เรียกกลุ่มของวิธีการป้องกันที่ล้มเหลว ซึ่งพยายามที่จะปฏิเสธไม่ให้ผู้โจมตีเข้าถึง gradient ที่มีประโยชน์ได้ ในทางปฏิบัติ หากโมเดลจำแนกภาพว่ามีโอกาสเป็น “airplane” 99.9% และ “cat” 0.1% การเปลี่ยนแปลงอินพุตเพียงเล็กน้อยก็สามารถนำไปสู่การเปลี่ยนแปลงเอาต์พุตได้ และ gradient จะบอกทิศทางที่ทำให้โอกาสเป็น “cat” เพิ่มขึ้น

เราได้ทำการทดลองทางความคิดว่าการรันโมเดลในโหมด “most likely class” แทนที่จะเป็น “probability mode” จะช่วยป้องกันได้หรือไม่ แต่ท้ายที่สุด การซ่อน gradient ก็ไม่ได้ช่วยอะไร

กลยุทธ์การป้องกันที่ใช้ gradient masking มักจะทำให้โมเดลมีความเรียบในบางทิศทาง แต่ผู้โจมตีสามารถฝึกโมเดลทดแทน (substitute model) ซึ่งเป็นสำเนาที่เลียนแบบโมเดลที่ป้องกันได้ โดยการสังเกตป้ายกำกับที่โมเดลป้องกันมอบให้กับอินพุตที่ผู้โจมตีเลือกมาอย่างระมัดระวัง

ศัพท์ที่ควรรู้

  • Adversarial Examples – คืออินพุตที่ถูกรบกวนเล็กน้อยแต่ทำให้โมเดล Machine Learning ตัดสินใจผิดพลาด
  • Gradient Masking – คือวิธีการป้องกันที่พยายามซ่อน gradient เพื่อป้องกันไม่ให้ผู้โจมตีทราบทิศทางการโจมตี
  • Gradient – คือค่าที่บ่งบอกว่าการเปลี่ยนแปลงอินพุตเล็กน้อยจะส่งผลต่อเอาต์พุตของโมเดลอย่างไร
  • Substitute Model – คือโมเดลจำลองที่ผู้โจมตีสร้างขึ้นเพื่อเลียนแบบพฤติกรรมของโมเดลเป้าหมาย

ที่มา: OpenAI

Leave a Comment