[Deep Learning] Ep.1 : Introduction อะไรลึก ?
“ โจทย์ที่ท้าทายของ Deep Learning และ Computer Vision ” 😂😂😂😂 ปล.อีกรูปอยู่ข้างล่างสุด
Deep Learning (DL) คือ ศาสตร์ด้านหนึ่งของการเรียนรู้ของเครื่อง (Machine Learning : ML) โดยมีแบบจำลองโครงสร้างเลียนแบบเซลล์ประสาทในสมองมนุษย์หรือก็คือ Neural Network นั้นเอง
การเรียนรู้เชิงลึก (อังกฤษ: Deep learning) เป็นสาขาของการเรียนรู้ของเครื่อง พื้นฐานของการเรียนรู้เชิงลึกคือ อัลกอริทึมที่พยายามจะสร้างแบบจำลองเพื่อแทนความหมายของข้อมูลในระดับสูงโดยการสร้างสถาปัตยกรรมข้อมูลขึ้นมาที่ประกอบไปด้วยโครงสร้างย่อยๆหลายอัน (wikipedia)
อะไรคือ Neural Network (NN) ?
NN แปลตรงตัวเลย Neural(adj.) = เกี่ยวกับระบบประสาท / Network(n.) = ระบบเครือข่าย ก็คือ ระบบประสาท นี่แหละครับ แต่มันไม่ใช่ระบบประสาทของสิ่งมีชีวิตจริงๆแต่เราได้แรงบันดาลใจมาจากเซลล์ประสาทในมนุษย์ ดังนั้นแล้วจึงเติม “A” เข้าไป
ANN หรือ Artificial Neural Network (เรียก NN ก็ได้นะเข้าใจตรงกัน 😉) Artificial(adj.)= เทียม,ปลอม ดังนั้น ANN ก็คือ โครงข่ายหรือเครือข่ายประสาทเทียมนั้นเอง และหากเราตีความจากชื่อที่เราแปลนั้น ก็พูดได้ว่านักวิจัยกำลังพยายามเลียนแบบพฤติกรรมของสมองมนุษย์นั้นเอง (ANN เป็นเหมือนพื้นฐาน ยังมีโมเดลอื่นที่ต่อยอดมาอีก เช่น CNN , RNN , LSTM …. ปล.coming soon นะครับ)
โครงข่ายประสาทเทียม หรือ ข่ายงานประสาทเทียม (อังกฤษ: artificial neural network) คือ โมเดลทางคณิตศาสตร์หรือโมเดลทางคอมพิวเตอร์สำหรับประมวลผลสารสนเทศด้วยการคำนวณแบบคอนเนคชันนิสต์ (connectionist) แนวคิดเริ่มต้นของเทคนิคนี้ได้มาจากการศึกษาโครงข่ายไฟฟ้าชีวภาพ (bioelectric network) ในสมอง ซึ่งประกอบด้วย เซลล์ประสาท (neurons) และ จุดประสานประสาท (synapses) ตามโมเดลนี้ ข่ายงานประสาทเกิดจากการเชื่อมต่อระหว่างเซลล์ประสาท จนเป็นเครือข่ายที่ทำงานร่วมกัน (wikipedia)
- Dendrite เป็นจุดรับกระแสประสาทจากเซลล์ก่อนหน้า (ขาเข้า)
- Axon Terminal เป็นจุดส่งกระแสประสาทไปยังเซลล์ถัดไป (ขาออก)
จะเห็นได้ว่าเซลล์ประสาทเซลล์หนึ่งรับสัญญาณมาแล้วทำการประมวณผลจึงส่งกระแสต่อไปยังอีกหลายเซลล์ (อยากรู้เพิ่มเติมแนะนำให้ลงคอร์สชีววิทยานะครับ555+)
ดังนั้นโมเดลของ ANN ที่เลียนแบบเซลล์ประสาทมนุษย์เป็นดังนี้ (ข้าวๆ เอ้ยคร่าวๆ)
- Input Layer : ไว้ป้อนข้อมูลที่ต้องการเรียนรู้หรือวิเคราะห์
- Hidden Layer : เป็นชั้นที่เกี่ยวข้องกับการคำนวณ (ถ้าเธอยอมใจเย็นๆและฟังฉันสักหน่อย…ไว้อธิบายเพิ่มเติมนะครับ) มีกี่ชั้นก็ได้ มีเกิน 1 ชั้น ก็คือ Deep แล้ววว และ hidden layer นี้มีลักษณะอย่างไรก็ขึ้นอยู่กับชนิดของNNนั้นๆ
- Output Layer : ชั้นของข้อมูลที่ผ่านการคำนวณหรือวิเคราะห์แล้ว
ปล. จริงๆแล้วยังมีส่วนประกอบอื่นๆอีกนะครับ ขอมุบมิบไว้ก่อน อิอิ 😁
กลับมาตอบคำถามกัน แล้วอะไรลึก? ตรงไหนที่มัน Deep?
ส่วนที่มันลึก ก็คือตรง Hidden Layer นี่แหละครับ ทั้งนี้ทั้งนั้นความลึกก็ขึ้นอยู่กับประเภทของงานด้วย แค่นี้เลยครับ……. (เดี๋ยวนี้คำว่า deep เยอะครับ ดูหรูดี 5555+)
ข้อแตกต่างระหว่าง NN กับ ML classifier ทั่วๆไป
จากรูป นั้นคือ NN สามารถที่จะหาแยก patterns หรือ feature (ลักษณะเด่นๆของข้อมูล) ที่ซับซ้อนได้ดีกว่ามนุษย์หรือเทคนิคอื่นๆ จะเห็นได้ชัดใน NN แบบนึงคือ CNN (Convolutional neural network) โดยนิยมใช้ในงานที่เกี่ยวกับ Image
ตัวอย่างผลงานของ Deep Learning ที่คุ้นตา เช่น Alpha Go ของ Google DeepMind ที่เล่นโกะหรือหมากล้อมชนะแชมป์โลกมาแล้ว , GANs โปรแกรมที่สามารถสร้างรูปปลอมได้ รูปที่ไม่มีอยู่จริงบนโลก หรือ Driverless Car รถยนต์ไร้คนขับ รวมทั้ง Object detection ไว้ตรวจจับวัตถุ , งานทางด้าน NLP (Natural Language Processing) ก็ใช้ Deep Learning ด้วยนะ
งานยากเลยอันนี้ 55555555555+ 🐶🐶🐶
สำหรับ episode นี้ขอจบการเกริ่นนำ Deep Learning เพียงเท่านี้ครับ หากมีข้อผิดพลาดหรือคำแนะเพิ่มเติม สามารถ note comment ไว้ได้เลยครับ ^^
ติดตามต่อในบทความหน้านะครับ
Ep.2 Perceptron
ฝากคอร์ส Django ของทางเพจเราด้วยนะครับถ้าสนใจคลิ๊กเพื่อดูรายละเอียดได้เลยครับด้านล่าง