Deep Learning กับ Paradigm Shift
วันก่อนคุยกับเพื่อนแล้วมีคำถามน่าสนใจคือ อะไรคือสิ่งที่ Deep Learning enable? นั่นคืออะไรคือสิ่งที่ก่อนนี้ทำไม่ได้ แล้วตอนนี้ทำได้เพราะ Deep Learning?
คิดๆ ไปแล้วก็ยังหาไม่เจอนะ เพราะจริงๆ แล้วก่อนนี้หลายๆ อย่างมันก็ทำได้โดยใช้เทคนิคพวก Machine Learning อยู่แล้ว แค่ตอนนี้มันทำได้ดีขึ้นเพราะ Deep Learning มากกว่า แล้วทำไมคนฮือฮากัน? ในกลุ่มคนทั่วไปก็พอจะเข้าใจได้ แต่ในกลุ่มคนทำ Machine Learning เอง ถ้าไม่นับพวกมือใหม่หรือพวกตามแฟชั่นแล้วก็ต้องบอกว่าหลายคนก็ยังต้องหันมาศึกษา Deep Learning เลย
ผมมาสะดุดกับคำตอบ อย่างน้อยสำหรับตัวเอง ตอนนั่งฟัง talk ของคุณ Hinton บน YouTube ในสไลด์นี้เลย
ในอดีตตอนเริ่ม AI นั้นเรายังสร้างแบบจำลองแบบง่ายมาก เรียกได้ว่า naïve เลยทีเดียว แบบจำลองพวกนี้ใช้งานได้ดีกับ toy problem แต่ตายเมื่อเจอปัญหาจริง
ยุคต่อมาเราเริ่มสร้างแบบจำลองที่ซับซ้อนขึ้นและทดสอบกับข้อมูลจริงจนให้ผลดีจนใช้งานได้ ในยุคนี้เราได้ข้อสรุปคร่าวๆ ทั้งจากงานทฤษฎีและปฏิบัติ คือ
- แบบจำลองที่เชื่อถือได้ (consistent) นั่นคือเมื่อให้ผลที่ดีบนชุดข้อมูลสอนแล้วก็ให้ผลดีในการใช้งานจริงด้วย นั่นต้องมีความซับซ้อนที่จำกัด
- ถ้ามีแบบจำลองหลายตัวที่ให้ผลเหมือนๆ กันบนข้อมูลชุดเดียวกันให้ prefer อันที่ซับซ้อนน้อยกว่าไว้ก่อน
- ในหลายๆ ครั้งแบบจำลองที่ตั้งอยู่บนสมมติฐานที่ผิด เช่น Naïve Bayes ที่มองว่าคำในเอกสารไม่ขึ้นต่อกัน หรือ HMM ที่มองว่าเสียงที่เกิดต่อๆ กันไม่ขึ้นต่อกัน นั้นให้ผลดีกว่าแบบจำลองที่ซับซ้อนกว่า
- เรารู้วิธีประกอบแบบจำลองง่ายๆ หลายตัวเข้าด้วยกันเพื่อให้ได้ผลที่ดีขึ้น เช่นการทำ Boosting
ดังนั้นแนวความคิดปกติคือให้เลือกใช้แบบจำลองที่มีความซับซ้อนน้อยก่อน เมื่อมีข้อมูลปริมาณมากเราจะได้ train ค่าตัวแปรต่างๆ ของแบบจำลองนี้ได้อย่างเหมาะสม
แต่นั่นคือสิ่งที่คุณ Hinton บอกว่าเรากำลัง make data look big by using a small model ซึ่งเป็น bad idea
สิ่งที่คุณ Hinton เสนอคือให้ใช้ big model เพราะมัน generalize ได้ดีกว่า ถ้าเราทำการกำกับ (regularize) มันอย่างเหมาะสมในการ train
ผมรู้สึกว่านี่แหละคือประเด็นหลักที่หลายคนเริ่มจะเชื่อในตอนนี้ ตอนนี้เราไม่กลัวที่จะสร้างแบบจำลองใหญ่ๆ เพราะเรามี data มากพอ มี hardware สำหรับคำนวณที่ดีขึ้น และเรารู้วิธี train แบบจำลองใหญ่ๆ และวิธีกำกับ (regularize) ที่ดีกว่าเดิม
ตอนนี้เลยรู้สึกว่านี่น่าจะเป็นสิ่งที่คุณ Kuhn เรียกว่า Paradigm Shift
อธิบายเพิ่มอีกนิด ในงานด้านทฤษฎีการเรียนเชิงสถิติ (statistical learning theory) นั้น สำหรับแบบจำลอง m
Error จริง ของ m <= Error ตอน train ของ m + Confident bound ของ m
งานก่อนนี้เราเลือกแบบจำลองง่ายเพื่อลด confidence bound ให้แน่นๆ ทำให้ error บนชุด train ใกล้กับ error จริง ของแบบจำลอง เพื่อให้มัน consistent
สิ่งที่คุณ Hinton บอกคือถ้าเรามีแบบจำลอง M ที่ใหญ่กว่าและมีการกำกับที่เหมาะสม
Error train ของ M + confidence bound ของ M <= Error train ของ m + confidence bound ของ m
นั่นเอง