Deep Learning กับ Paradigm Shift

Sanparith Marukatat
1 min readJun 10, 2017

--

วันก่อนคุยกับเพื่อนแล้วมีคำถามน่าสนใจคือ อะไรคือสิ่งที่ Deep Learning enable? นั่นคืออะไรคือสิ่งที่ก่อนนี้ทำไม่ได้ แล้วตอนนี้ทำได้เพราะ Deep Learning?

คิดๆ ไปแล้วก็ยังหาไม่เจอนะ เพราะจริงๆ แล้วก่อนนี้หลายๆ อย่างมันก็ทำได้โดยใช้เทคนิคพวก Machine Learning อยู่แล้ว แค่ตอนนี้มันทำได้ดีขึ้นเพราะ Deep Learning มากกว่า แล้วทำไมคนฮือฮากัน? ในกลุ่มคนทั่วไปก็พอจะเข้าใจได้ แต่ในกลุ่มคนทำ Machine Learning เอง ถ้าไม่นับพวกมือใหม่หรือพวกตามแฟชั่นแล้วก็ต้องบอกว่าหลายคนก็ยังต้องหันมาศึกษา Deep Learning เลย

ผมมาสะดุดกับคำตอบ อย่างน้อยสำหรับตัวเอง ตอนนั่งฟัง talk ของคุณ Hinton บน YouTube ในสไลด์นี้เลย

ในอดีตตอนเริ่ม AI นั้นเรายังสร้างแบบจำลองแบบง่ายมาก เรียกได้ว่า naïve เลยทีเดียว แบบจำลองพวกนี้ใช้งานได้ดีกับ toy problem แต่ตายเมื่อเจอปัญหาจริง

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

  1. แบบจำลองที่เชื่อถือได้ (consistent) นั่นคือเมื่อให้ผลที่ดีบนชุดข้อมูลสอนแล้วก็ให้ผลดีในการใช้งานจริงด้วย นั่นต้องมีความซับซ้อนที่จำกัด
  2. ถ้ามีแบบจำลองหลายตัวที่ให้ผลเหมือนๆ กันบนข้อมูลชุดเดียวกันให้ prefer อันที่ซับซ้อนน้อยกว่าไว้ก่อน
  3. ในหลายๆ ครั้งแบบจำลองที่ตั้งอยู่บนสมมติฐานที่ผิด เช่น Naïve Bayes ที่มองว่าคำในเอกสารไม่ขึ้นต่อกัน หรือ HMM ที่มองว่าเสียงที่เกิดต่อๆ กันไม่ขึ้นต่อกัน นั้นให้ผลดีกว่าแบบจำลองที่ซับซ้อนกว่า
  4. เรารู้วิธีประกอบแบบจำลองง่ายๆ หลายตัวเข้าด้วยกันเพื่อให้ได้ผลที่ดีขึ้น เช่นการทำ 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

นั่นเอง

--

--

No responses yet