Deep Learning

เชื่อว่าหลายๆ คนคงจะเคยได้ยินคำว่า Deep learning กันมาสักพักแล้วใช่ไหมครับ แต่ทราบหรือไม่ครับว่าทำไมมันถึงถูกเรียกว่า deep learning ทำไม เขาไม่เรียก machine learning เหมือนเดิม

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

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

1+1 = 2

2+1 = 4

2+3 = 5

3+4 = 6

แล้วเราก็ถามเด็กว่า 4+2 = ? เด็กๆ ก็อาจจะตอบได้ แต่ก็ไม่มีใครมั่นใจว่าตัวเองนั้นตอบถูกรึเปล่า นั่นก็เป็นเพราะว่าข้อมูลที่เราใช้สอนระบบ มีข้อมูลที่ผิดพลาด หรือข้อมูลที่ไม่จำเป็นรวมอยู่ในนั้นด้วย



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


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


แต่ถ้าเราใช้ MATLAB ก็หมดห่วงปัญหานี้ไปได้เลยครับ เพราะว่า MATLAB มี Deep learning ที่เทรนเสร็จแล้วให้เราติดตั้งและเรียกใช้งานได้เลยทันที ซึ่งก็มีอยู่หลายตัว อย่างเช่น AlexNet และ googleNet

ซึ่งเราสามารถติดตั้งได้ใน Add-On Explorer ของ MATLAB แต่ก็ไม่ใช่ว่า MATLAB ทุกเวอร์ชั่นจะติดตั้งได้นะครับ ผมแนะนำให้ใช้ MATLAB 2017b ขึ้นไปนะ


จริงๆ แล้ว Deep Learning สร้างขึ้นมาจากสมการทางคณิตศาสตร์ที่ซับซ้อน แต่หากคนทั่วไปอย่างเราๆ ต้องการใช้งาน ก็ไม่ใช่ว่าจะเป็นไปไม่ได้ เพราะ MATLAB ได้จัดเตรียมเครื่องไม้เครื่องมือ ต่างๆ มาให้เราอย่างครบถ้วนแล้ว งั้นเรามาทดสอบกันดูดีกว่าครับ ว่าการเขียน deep learning ใน MATLAB นั้นจะง่ายขนาดไหน

1. ทดสอบเขียน Deep learning ใน 10 บรรทัด

2. ทดลองใช้งาน GoogleNet


ความเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การแก้สมการ Differential ด้วย MATLAB

ว่าด้วยเรื่องของ ERROR

การหาค่าเฉลี่ยโดยไม่ต้องเก็บค่า