Adversarial robustness

เราได้เห็นตัวอย่างการโจมตีแบบจำลอง deep learning กันมาแล้ว คราวนี้เราจะมาพิจารณาในฝั่งของผู้สร้างแบบจำลองกันดูบ้างว่าเราจะสามารถสร้างแบบจำลองที่มี ความทนทานต่อการโจมตี (adversarial robustness) เหล่านี้ได้อย่างไร โดยลำดับแรกเราจะมาทบทวนหัวใจหลักของการเทรนแบบจำลอง deep learning ในรูปแบบปกติกันก่อน

Risk ของแบบจำลอง

สำหรับแบบจำลองทาง machine learning ใด ๆ เรานิยามให้ risk ของแบบจำลองนี้เป็นค่าเฉลี่ยหรือ ค่าคาดหวัง (expectation) ของ loss ดังนี้

เมื่อ เป็นการกระจายตัวของข้อมูลทั้งหมด ซึ่งในทางปฏิบัติเราไม่ทราบ ที่แท้จริง เราจึงต้องทำการประมาณการกระจายตัวดังกล่าวจากเซตของตัวอย่างข้อมูล ซึ่ง แต่ละตัวนั้นสุ่มมาจาก ถ้าให้ แทนค่าประมาณของ เมื่อใช้ เป็นตัวแทนการกระจายตัว เราสามารถคำนวณ ได้จาก

ในกระบวนการเทรนแบบจำลองทาง machine learning โดยทั่วไป เราทำการหาค่าของพารามิเตอร์ ที่ทำให้ค่าประมาณของ risk เมื่อพิจารณากับ training data มีค่าน้อยที่สุด นั่นคือ เราทำการแก้ปัญหา optimization ต่อไปนี้

เนื่องจากเราเลือกพารามิเตอร์ ตามข้อมูลใน ข้อมูลชุดนี้จึงไม่สามารถนำมาใช้ในการวัดค่าประมาณของ risk อย่างเป็นกลางได้อีกต่อไป เราจึงมักจะต้องมีเซตของข้อมูลอีกชุดหนึ่งสำหรับวัด risk ของแบบจำลอง เราเรียกชุดข้อมูลดัวกล่าวว่าข้อมูลทดสอบ หรือ test data () ซึ่งสมาชิกได้มาจากการสุ่มจากการกระจายตัว เช่นเดียวกัน เราจะใช้ เป็นค่าประมาณของ risk ที่แท้จริง

Adversarial risk

จากหัวข้อที่แล้ว เราสามารถนำนิยามดั้งเดิมของ risk มาแก้ไขเพื่อให้สะท้อนความเสียหายที่เกิดจากการถูกก่อกวนด้วย adversarial attack ได้ โดยแทนที่เราจะสนใจ loss โดยตรงสำหรับ sample เราพิจารณา loss ที่มากที่สุดที่อาจเกิดขึ้นจากการถูกก่อกวนบน sample แทน ดังนั้น เราสามารถนิยาม adversarial risk ได้เป็นค่าคาดหวังของ loss ดังกล่าว นั่นคือ เราจะให้ adversarial risk มีค่าเป็น

เมื่อ เป็นเซตของการก่อกวนที่เป็นไปได้สำหรับ sample ซึ่งอาจแตกต่างกันตามแต่ละ sample ก็ได้ โดยที่เรายังคงต้องการให้การก่อกวนเหล่านี้ไม่สร้างความแตกต่างสำหรับมนุษย์เช่นเดียวกับตัวอย่างก่อนหน้า

จากนิยามดังกล่าว สังเกตว่าหากเรามีชุดของตัวอย่างข้อมูล adversarial risk ที่ประมาณโดยใช้ เป็นตัวแทนการกระจายจะคำนวณได้จาก

ดังนั้นจะเห็นว่า หากเรามี training data และต้องการเทรนแบบจำลองให้มีความทนทานต่อการโจมตีสูงแทนที่จะมีความแม่นยำสูงเพียงอย่างเดียว เราทำได้โดยหาทางกำหนดพารามิเตอร์ของแบบจำลองให้ adversarial risk เมื่อเทียบกับ training data นี้มีค่าน้อยที่สุดนั่นเอง

References

  1. Z. Kolter, A. Madry. Adversarial Robustness - Theory and Practice

Prev: การโจมตีแบบกำหนดเป้าหมาย

Next: การสร้าง robust classifier