Adversarial training

หลังจากที่เราได้รู้จักวิธีสร้าง adversarial example กันมาแล้ว คราวนี้เราจะกลับมาพิจารณาการสร้างแบบจำลอง machine learning ที่มีความทนทานต่อการก่อกวนเหล่านี้ จากที่เราได้ทราบกันมาแล้วว่า สำหรับแบบจำลอง ใด ๆ หากเราต้องการหาพารามิเตอร์ ที่ทำให้แบบจำลองของเราทนทานต่อการก่อกวนมากที่สุด เราจะต้องหาค่า ที่นำไปสู่ adverarial risk ที่น้อยที่สุด นั่นคือ เราต้องการค่า ที่

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

แต่จากที่เราได้ทราบแล้ว การหาค่า ที่ต้องการนี้โดยใช้แนวคิดของการทำ gradient descent มีปัญหาตรงที่เราจะหา gradient ของค่าเฉลี่ย adversarial loss นี้ได้ก็ต่อเมื่อเราต้องสามารถแก้ปัญหา maximization ด้านในให้ได้เท่านั้น เนื่องจาก Danskin’s theorem ได้แสดงว่า ถ้า

เราจะได้ว่า

หากเราลองสมมติว่าเราสามารถแก้ปัญหา maximization ด้านในได้ เราก็จะสามารถออกแบบอัลกอริทึมในการเทรนแบบจำลองให้มีความทนทานต่อการก่อกวนโดยใช้เทคนิค stochastic gradient descent (SGD) บน training data ได้ดังนี้

ในทางปฏิบัติ ถึงแม้ว่าเราไม่สามารถคำนวณหา ตามต้องการจริง ๆ ได้ เราพบว่าการประมาณ ด้วยวิธีการเช่น FGSM หรือ PGD นั้นก็ช่วยให้เราได้แบบจำลองที่ทนทานต่อการก่อกวนมากขึ้นจากการเทรนแบบจำลองแบบปกติ ดังนั้น การทำ adversarial training เพื่อสร้างแบบจำลองที่มีความทนทานโดยใช้เทคนิค SGD สามารถสรุปเป็นวิธีการได้ดังนี้

การทดลอง

จากชุดตัวอย่างข้อมูล MNIST ที่เราใช้ในการทดลองการก่อกวนที่ผ่านมา เมื่อเราลองนำแบบจำลอง CNN มาทำการเทรนใหม่แบบ adversarial training โดยใช้อัลกอริทึม FGSM ในการสร้าง adversarial perturbation ปรากฏว่าแบบจำลองที่ได้มีอัตราความผิดพลาดน้อยกว่า 3% แม้โดนก่อกวนด้วย FGSM หรือ PGD ก็ตาม นั่นหมายความว่าแบบจำลอง CNN ของเรามีความทนทานต่อการก่อกวนมากขึ้นกว่าเดิมเป็นอย่างมาก

สังเกตว่า หากเราทำ adversarial training โดยใช้ PGD ในการสร้าง adversarial perturbation ก็อาจได้แบบจำลองที่มีความทนทานมากขึ้นได้ อย่างไรก็ดี เนื่องจากการคำนวณหา adversarial perturbation โดยใช้ PGD แต่ละครั้งนั้นมีการวนรอบทำ gradient descent อยู่ สังเกตว่าหากเราใช้ PGD มาสร้าง adversarial perturbation ในการเทรนนี้ จะทำให้เวลาที่ต้องใช้ในการเทรนเพิ่มขึ้นจากการทำ standard training เป็นอย่างมาก ในขณะที่ FGSM สามารถสร้าง adversarial perturbation ได้ในเวลาอันรวดเร็ว จึงมีความสะดวกมากกว่าในการนำมาทำ adversarial training

References

  1. Z. Kolter, A. Madry. Adversarial Robustness - Theory and Practice
  2. A. Madry et al. Towards Deep Learning Models Resistant to Adversarial Attacks. In: International Conference on Learning Representations. 2018

Prev: Projected Gradient Descent

Next: การสร้าง robustness certificate