การเรียนรู้เชิงลึก

การเรียนรู้เชิงลึก (อังกฤษ: deep learning) เป็นส่วนหนึ่งของวิธีการการเรียนรู้ของเครื่องบนพื้นฐานของโครงข่ายปราสาทเทียมและการเรียนเชิงคุณลักษณะ การเรียนรู้สามารถเป็นได้ทั้งแบบการเรียนรู้แบบมีผู้สอน การเรียนรู้แบบกึ่งมีผู้สอน และการเรียนรู้แบบไม่มีผู้สอน[1]คำว่า "ลึก"ในความหมายมาจากการที่มีชั้นของโครงข่ายหลายชั้น ที่มีประสิทธิภาพมากขึ้น การเรียนที่สะดวกขึ้น และการเข้าใจในโครงสร้างที่ชัดเจนขึ้น

พื้นฐานของการเรียนรู้เชิงลึกคือ อัลกอริทึมที่พยายามจะสร้างแบบจำลองเพื่อแทนความหมายของข้อมูลในระดับสูงโดยการสร้างสถาปัตยกรรมข้อมูลขึ้นมาที่ประกอบไปด้วยโครงสร้างย่อย ๆ หลายอัน และแต่ละอันนั้นได้มาจากการแปลงที่ไม่เป็นเชิงเส้น[2] การเรียนรู้เชิงลึก อาจมองได้ว่าเป็นวิธีการหนึ่งของการเรียนรู้ของเครื่องที่พยายามเรียนรู้วิธีการแทนข้อมูลอย่างมีประสิทธิภาพ ตัวอย่างเช่น รูปภาพภาพหนึ่ง สามารถแทนได้เป็นเวกเตอร์ของความสว่างต่อจุดพิกเซล หรือมองในระดับสูงขึ้นเป็นเซ็ตของขอบของวัตถุต่างๆ หรือมองว่าเป็นพื้นที่ของรูปร่างใด ๆ ก็ได้ การแทนความหมายดังกล่าวจะทำให้การเรียนรู้ที่จะทำงานต่าง ๆ ทำได้ง่ายขึ้น ไม่ว่าจะเป็นการรู้จำใบหน้าหรือการรู้จำการแสดงออกทางสีหน้า การเรียนรู้เชิงลึกถือว่าเป็นวิธีการที่มีศักยภาพสูงในการจัดการกับฟีเจอร์สำหรับการเรียนรู้แบบไม่มีผู้สอนหรือการเรียนรู้แบบกึ่งมีผู้สอน

นักวิจัยในสาขานี้พยายามจะหาวิธีการที่ดีขึ้นในการแทนข้อมูลแล้วสร้างแบบจำลองเพื่อเรียนรู้จากตัวแทนของข้อมูลเหล่านี้ในระดับใหญ่ บางวิธีการก็ได้แรงบันดาลใจมาจากสาขาประสาทวิทยาขั้นสูง โดยเฉพาะเรื่องกระบวนการตีความหมายในกระบวนการประมวลผลข้อมูลในสมอง ตัวอย่างของกระบวนการที่การเรียนรู้เชิงลึกนำไปใช้ได้แก่ การเข้ารหัสประสาท อันเป็นกระบวนการหาความสัมพันธ์ระหว่างตัวกระตุ้นกับการตอบสนองของเซลล์ประสาทในสมอง นักวิจัยด้านการเรียนรู้ของเครื่องได้เสนอสถาปัตยกรรมการเรียนรู้หลายแบบบนหลักการของการเรียนรู้เชิงลึกนี้ ได้แก่ โครงข่ายประสาทเทียมแบบลึก (Deep Artificial Neural Networks) โครงข่ายประสาทเทียมแบบสังวัตนาการ (Convolutional Neural Networks) โครงข่ายความเชื่อแบบลึก (Deep Belief Networks) และโครงข่ายประสาทเทียมแบบวนซ้ำ (Recurrent Neural Network) ซึ่งมีการนำมาใช้งานอย่างแพร่หลายในทางคอมพิวเตอร์วิทัศน์ การรู้จำเสียงพูด การประมวลผลภาษาธรรมชาติ การรู้จำเสียง และชีวสารสนเทศศาสตร์

นิยาม แก้

การเรียนรู้เชิงลึก เป็นสาขาของการเรียนรู้ของเครื่องที่[3]

  • ประกอบไปด้วยชั้นของหน่วยประมวลผลแบบไม่เป็นเชิงเส้นหลาย ๆ ชั้น ข้อมูลขาออกของแต่ละชั้นก่อนหน้าจะเป็นข้อมูลขาเข้าของชั้นต่อไป
  • มาพื้นฐานมาจากการเรียนรู้ฟีเจอร์หลายๆชั้นหรือการแทนข้อมูลแบบหลาย ๆ ชั้น (แบบไม่มีผู้สอน) กล่าวคือ ฟีเจอร์ในชั้นสูง ๆ จะได้มาจากฟีเจอร์ในชั้นที่ต่ำกว่า เพื่อสร้างมาเป็นการแทนข้อมูลแบบหลายๆชั้น
  • เป็นส่วนหนึ่งของสาขาการเรียนรู้ของเครื่องในการเรียนรู้การแทนข้อมูล

กล่าวคือ การเรียนรู้เชิงลึกประกอบไปด้วย (1) หน่วยประมวลผลแบบไม่เป็นเชิงเส้นหลายๆชั้น (2) แต่ละชั้น จะเรียนรู้การแทนฟีเจอร์ อาจจะเป็นแบบมีผู้สอนหรือไม่มีผู้สอนก็ได้ ทั้งนี้ โครงสร้างในแต่ละชั้นของการเรียนรู้เชิงลึกจะขึ้นอยู่กับปัญหาที่ต้องการจะแก้ไข อาจจะเป็น hidden layer ของโครงข่ายประสาทเทียม หรือหน่วยประมวลผลตรรกะที่ซับซ้อนก็ได้ หรืออาจจะเป็นโนดใน deep generative model อย่างเช่น โครงข่ายความเชื่อแบบลึก (Deep Belief Networks) หรือเครื่องจักรโบลทซ์มันน์เชิงลึก (Deep Boltzmann Machines) ก็ได้

แนวคิดพื้นฐาน แก้

หลักการโดยทั่วไปของการเรียนรู้เชิงลึกคือการมีหน่วยประมวลผลหลายๆชั้น ข้อมูลขาเข้าในแต่ละชั้นได้มาจากปฏิสัมพันธ์กับชั้นอื่น ๆ ทั้งนี้ การเรียนรู้เชิงลึกพยายามหาความสัมพันธ์ที่ล้ำลึกมากขึ้น นั่นคือ เมื่อมีจำนวนของชั้นและหน่วยประมวลผลที่อยู่ในชั้นมากขึ้น ข้อมูลในชั้นสูง ๆ ก็จะยิ่งล้ำลึกซับซ้อน (abstract) มากขึ้น

สถาปัตยกรรมโครงสร้างของการเรียนรู้เชิงลึกมักจะสร้างแบบเป็นชั้นๆ (layer-by-layer) ไปด้วยวิธี greedy method ซึ่งการหาสิ่งที่ล้ำลึกซับซ้อนมากขึ้นไปเรื่อย ๆ ในแต่ละชั้นนี้เองที่ทำให้การเรียนรู้เชิงลึกมีประสิทธิภาพมากกว่าวิธีการอื่น ๆ[4]

ตัวอย่างเช่น ข้อมูลในชั้นต้น ๆ อาจจะเรียนรู้ว่าภาพที่เข้ามาประกอบด้วยเส้นต่าง ๆ ชั้นที่สูงไปนำเส้นต่าง ๆ มาประกอบกันเป็นรูปสี่เหลี่ยม และชั้นต่อ ๆ มาคือการหาความสัมพันธ์ของเส้นสี่เหลี่ยมจนกระทั่งคอมพิวเตอร์รู้ได้ว่าภาพที่เข้ามาเป็นภาพของธงชาติ เป็นต้น

ในการเรียนรู้แบบมีผู้สอนนั้น การเรียนรู้เชิงลึกจะช่วยลดภาระในการหาฟีเจอร์ที่เกี่ยวข้อง เพราะวิธีการนี้จะแปลงข้อมูลไปสู่รูปแบบอื่นในระดับที่สูงขึ้นโดยอัตโนมัติ และให้ความสำคัญกับข้อมูลที่ซ้ำซ้อนลดลงไปด้วย นอกจากนี้ ยังสามารถนำไปปรับใช้กับการเรียนรู้แบบไม่มีผู้สอนได้ด้วย

การตีความ แก้

เราอาจจะตีความการเรียนรู้เชิงลึกได้ 2 แนวทางคือ ใช้ทฤษฎีประมาณค่าสากล (universal approximation theorem) และใช้การอนุมานด้วยความน่าจะเป็น (probabilistic inference)

ทฤษฎีประมาณค่าสากล สนใจความสามารถของโครงข่ายประสาทแบบป้อนไปข้างหน้า (feedforward neural networks) ที่มี hidden layer เพียงชั้นเดียวและมีขนาดจำกัด เพื่อประมาณค่าของฟังก์ชันต่อเนื่อง[5][6][7][8][9] โดย George Cybenko ได้พิสูจน์การเรียนรู้เชิงลึกด้วยทฤษฎีนี้ โดยใช้ฟังก์ชันซิกมอยด์ในปี 1989[10] และต่อมา Hornik นำไปพิสูจน์ต่อสำหรับ feedforward neural networks ที่มีหลายๆชั้น ในปี 1991[11]

ส่วนการตีความด้วยหลักความน่าจะเป็นนั้น มีแนวคิดมาจากการเรียนรู้ของเครื่อง[12] เสนอขึ้นครั้งแรกโดยเจฟฟรีย์ ฮินตัน โยชัว เบนโจ ยานน์ เลอคุน และเยอร์เกน ชมิดฮูเบอร์ นักวิทยาศาสตร์ผู้บุกเบิกสาขาการเรียนรู้เชิงลึกยุคใหม่ แนวคิดนี้จะเน้นการปรับโครงสร้างการเรียนรู้เชิงลึกด้วยการหาโมเดลค่าที่ดีที่สุด (optimization) ที่ดีทั้งสำหรับข้อมูลการสอน (training) และข้อมูลการทดสอบ (testing) ทั้งนี้ การอนุมานด้วยความน่าจะเป็นนั้นจะมองว่า activation nonlinearity นั้นเป็นฟังก์ชันการกระจายแบบสะสม (Cumulative distribution function)[13] ทำให้เกิดเทคนิคการใช้ dropout เป็นตัวควบคุม (regularizer) สำหรับโครงข่ายประสาทเทียม[14]

อ้างอิง แก้

  1. Bengio, Yoshua; LeCun, Yann; Hinton, Geoffrey (2015). "Deep Learning". Nature. 521 (7553): 436–444. Bibcode:2015Natur.521..436L. doi:10.1038/nature14539. PMID 26017442. S2CID 3074096.
  2. L. Deng and D. Yu (2014) "Deep Learning: Methods and Applications" http://research.microsoft.com/pubs/209355/DeepLearning-NowPublishing-Vol7-SIG-039.pdf
  3. Deng, L.; Yu, D. (2014). "Deep Learning: Methods and Applications" (PDF). Foundations and Trends in Signal Processing. 7 (3–4): 1–199. doi:10.1561/2000000039.
  4. Bengio, Y.; Courville, A.; Vincent, P. (2013). "Representation Learning: A Review and New Perspectives". IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798–1828. arXiv:1206.5538. doi:10.1109/tpami.2013.50.
  5. Balázs Csanád Csáji (2001). Approximation with Artificial Neural Networks; Faculty of Sciences; Eötvös Loránd University, Hungary
  6. Cybenko (1989). "Approximations by superpositions of sigmoidal functions" (PDF). Mathematics of Control, Signals, and Systems. 2 (4): 303–314. doi:10.1007/bf02551274. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2015-10-10. สืบค้นเมื่อ 2017-07-02.
  7. Hornik, Kurt (1991). "Approximation Capabilities of Multilayer Feedforward Networks". Neural Networks. 4 (2): 251–257. doi:10.1016/0893-6080(91)90009-t.
  8. Haykin, Simon S. (1999). Neural Networks: A Comprehensive Foundation. Prentice Hall. ISBN 978-0-13-273350-2.
  9. Hassoun, Mohamad H. (1995). Fundamentals of Artificial Neural Networks. MIT Press. p. 48. ISBN 978-0-262-08239-6.
  10. Cybenko (1989). "Approximations by superpositions of sigmoidal functions" (PDF). Mathematics of Control, Signals, and Systems. 2 (4): 303–314. doi:10.1007/bf02551274. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2015-10-10. สืบค้นเมื่อ 2017-07-02.
  11. Hornik, Kurt (1991). "Approximation Capabilities of Multilayer Feedforward Networks". Neural Networks. 4 (2): 251–257. doi:10.1016/0893-6080(91)90009-t.
  12. Murphy, Kevin P. (24 August 2012). Machine Learning: A Probabilistic Perspective. MIT Press. ISBN 978-0-262-01802-9.
  13. Murphy, Kevin P. (24 August 2012). Machine Learning: A Probabilistic Perspective. MIT Press. ISBN 978-0-262-01802-9.
  14. Hinton, G. E.; Srivastava, N.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R.R. (2012). "Improving neural networks by preventing co-adaptation of feature detectors". arXiv:1207.0580 [math.LG].