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 ได้อย่างดี