Useful features

เนื่องจาก adversarial example ที่สร้างจาก FGSM หรือ PGD นั้นมีลักษณะใกล้เคียงกับตัวอย่างข้อมูลเดิมจนในบางครั้งอาจมองไม่เห็นความแตกต่างในสายตามนุษย์ การที่แบบจำลอง machine learning ทำนายคลาสของ adversarial example ผิดไปจากเดิมด้วยความมั่นใจที่สูงได้นั้นแสดงว่าแบบจำลองจะต้อง มองเห็น ความแตกต่างบางอย่างที่มนุษย์เรามองไม่เห็น โดยที่ความแตกต่างดังกล่าวมีผลต่อการตัดสินใจของแบบจำลองอย่างมาก ในหัวข้อนี้เราจะมาศึกษาเกี่ยวกับ feature ของข้อมูลทั้งที่มนุษย์สังเกตได้และสังเกตไม่ได้ และทดสอบบทบาทของ feature ทั้งสองกลุ่มนี้ที่มีต่อการตัดสินใจของแบบจำลอง

Features

เพื่อความสะดวกในขั้นต้น เราพิจารณาแบบจำลองสำหรับจำแนกข้อมูลเป็นสองคลาส โดยที่ตัวอย่างข้อมูล ถูกหยิบมาจากการกระจายตัว $D$ เป้าหมายของเราคือการเรียนรู้เพื่อสร้าง classifier สำหรับทำนายคลาส $y$ จาก input $x$

เราจะนิยามให้ feature เป็นฟังก์ชันจาก input space $\mathcal{X}$ ไปยังจำนวนจริง $\mathbb{R}$ โดยเราสามารถมอง feature หนึ่งในรูปของปริมาณหรือค่าของคุณสมบัติหนึ่งที่วัดได้จาก input $x$ เช่น feature $f_1$ วัดการมีอยู่ของดวงตาในรูป $x$ หรือ feature $f_2$ วัดการมีอยู่ของล้อรถในรูป $x$

ให้ เป็นเซตของ feature ทั้งหมดที่แบบจำลองสามารถสกัดได้ เพื่อความสะดวกเราสมมติให้ feature ทั้งหมดนี้มีค่าเฉลี่ยเป็น 0 และมีค่าความแปรปรวน (variance) เป็น 1 นั่นคือ

และ

สำหรับทุก feature

เราจะเริ่มให้นิยามเกี่ยวกับ feature ที่มีบทบาทในการตัดสินใจของแบบจำลองทาง machine learning ดังนี้

Useful features

สำหรับการกระจายตัว $D$ เราจะกล่าวว่า feature $f$ นั้น $\rho$-useful สำหรับค่าคงที่ $\rho>0$ ถ้า $f$ นั้นสอดคล้องกับคลาสที่ถูกต้องไม่น้อยกว่า $\rho$ โดยเฉลี่ย กล่าวคือ

โดยถ้าหาก feature $f$ นั้นแปรผกผันกับค่าของ $y$ เราจะถือว่า $-f$ เป็น useful feature

กำหนดให้แบบจำลองของเรานั้นมีกระบวนการตัดสินใจโดยดูจาก linear combination ของ feature ทั้งหมดที่วัดได้จากข้อมูล input กล่าวคือ classifier $C$ จะทำนาย label $y$ ของ input $x$ ดังนี้

เมื่อ $F$ เป็นเซตของ feature ทั้งหมด $w_f$ เป็น weight ของ feature $f$ ใน linear combination และมี $b$ เป็นค่า bias

สังเกตว่าในขั้นตอนการเรียนรู้นั้น เราจะทำการหาค่า $w_f$ สำหรับ feature $f$ ต่าง ๆ และค่า bias $b$ ที่ทำให้ loss function ที่เกิดจากการทำนายผิดโดยเฉลี่ยมีค่าน้อยที่สุด หากเรามองผลของ linear combination ของ classifier (ก่อนที่จะเข้าฟังก์ชัน sgn เพื่อจำแนกคลาส) เป็นคะแนน จะเห็นว่าในการเทรนแบบจำลองนั้นจะทำให้ค่าเฉลี่ยของคะแนนที่ตอบถูกสูงที่สุดด้วยเช่นกัน หรือกล่าวได้ว่าในการเทรนแบบจำลองนั้น เราสามารถมองเป็นการ maximize

จากตรงนี้จะเห็นว่า feature ที่จะมีประโยชน์ในการตัดสินใจของแบบจำลอง ย่อมจะต้องเป็น useful feature ทั้งสิ้น

สำหรับแบบจำลองการเรียนรู้เชิงลึกนั้น เราสามารถมอง function ที่ map จาก input $x$ ไปยังค่าที่ออกจาก node แต่ละ node ใน hidden layer สุดท้าย เป็น feature แต่ละ feature ได้ จะเห็นว่าการคำนวณคะแนนของแต่ละคลาสใน output layer ก็คือการคำนวณ linear combination ของ feature เหล่านี้เช่นเดียวกับข้อกำหนดด้านบน

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

References

  1. A. Ilyas, S. Santurkar, D. Tsipras, L. Engstrom, B. Tran, A. Madry. Adversarial Examples Are Not Bugs, They Are Features, In: Advances in Neural Information Processing Systems, 2019

Prev: คุณสมบัติของ adversarial example

Next: Robust features และ weak features