เจาะลึกโครงข่ายประสาทเทียม: จาก Weights สู่ Backpropagation
ทำความเข้าใจคณิตศาสตร์เบื้องหลังโครงข่ายประสาทเทียมแบบทีละขั้นตอน ทั้ง Weights, Biases, Activation Functions, Softmax และ Gradient Descent

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- Perceptron คือโครงข่ายประสาทเทียมรุ่นแรกในปี 1943 ที่ไม่มี hidden layers
- Activation functions ช่วยเพิ่มความไม่เป็นเชิงเส้นให้โครงข่ายสร้างรูปร่างซับซ้อนได้
- Softmax แปลง logit ให้ออกมาเป็นค่าความน่าจะเป็นระหว่าง 0 ถึง 1 รวมกันได้ 1.0
- Backpropagation ร่วมกับ Gradient Descent ทำหน้าที่ปรับปรุง weights ให้แม่นยำขึ้น
หากคุณเคยจ้องมองไดอะแกรมของโครงข่ายประสาทเทียม (Neural Network) แล้วสงสัยว่ากลไกภายในนั้นทำงานอย่างไร บทความนี้จะพาคุณไปเจาะลึกคณิตศาสตร์เบื้องหลังแบบทีละขั้นตอน โดยไม่มีการเปรียบเทียบเชิงอุปมาอุปไมยที่เข้าใจยาก แต่เน้นหลักการคำนวณจริงที่ขับเคลื่อนโมเดลปัญญาประดิษฐ์
ก่อนที่โครงข่ายประสาทเทียมจะพัฒนาไปสู่ระดับลึก (Deep Learning) จุดเริ่มต้นของมันเป็นโครงข่ายแบบตื้น เรียกว่า Perceptron ซึ่งถูกคิดค้นขึ้นในปี 1943 โดยทำงานได้เมื่อข้อมูลสามารถแบ่งแยกด้วยเส้นตรงได้ (Linearly Separable) เช่น สมการ D = y - 2x - 3 หาก D มากกว่าหรือเท่ากับ 0 จะถูกจัดเป็น Class 1 และถ้าน้อยกว่า 0 จะเป็น Class 2

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
อย่างไรก็ตาม ข้อมูลในโลกความเป็นจริงมีความซับซ้อนเกินกว่าที่เส้นตรงเส้นเดียวจะแบ่งแยกได้ การซ้อนทับกันของคลาสจึงต้องอาศัยโครงข่ายที่มีมากกว่าหนึ่งชั้น ซึ่งเป็นจุดเริ่มต้นของ Deep Learning โดยภายในเนอรอนหนึ่งตัวจะมีการคำนวณประกอบด้วย inputs (x_i), weights (w_i), bias (b) และ logit (S) ที่เป็นค่าอิสระไร้ขีดจำกัด
การทำความเข้าใจคณิตศาสตร์ระดับรากฐานเช่นนี้มีความสำคัญอย่างยิ่งสำหรับนักพัฒนา AI เพราะช่วยให้เรามองทะลุผ่านเครื่องมือสำเร็จรูปและเข้าใจสาเหตุที่แท้จริงเมื่อโมเดลเกิดอาการ Overfitting หรือการเรียนรู้ไม่ลู่เข้าสู่ค่าที่ต้องการ การปรับจูนไฮเปอร์พารามิเตอร์จึงไม่ใช่แค่การลองผิดลองถูกอีกต่อไป แต่เป็นการคาดการณ์ผลกระทบทางคณิตศาสตร์ได้อย่างแม่นยำ
การซ้อนทับกันของ logit ดิบๆ หลายชั้นโดยไม่มีฟังก์ชันอื่นจะทำให้ทั้งเครือข่ายยุบรวมกลายเป็นฟังก์ชันเชิงเส้น ดังนั้น สิ่งที่ขาดไม่ได้คือ Activation Function เช่น Sigmoid ที่ช่วยดันค่า S เข้าใกล้ 1 เมื่อเป็นบวก และเข้าใกล้ 0 เมื่อเป็นลบ ความไม่เป็นเชิงเส้น (Nonlinearity) นี้เองคือหัวใจที่ช่วยให้แต่ละชั้นสามารถพับเส้นแบ่งเขตข้อมูลให้ซับซ้อนยิ่งขึ้นได้
สำหรับชั้น hidden layers จะทำหน้าที่ซ่อนค่าไว้โดยชั้นต้นๆ จะเรียนรู้รูปแบบที่เรียบง่าย ก่อนที่ชั้นลึกๆ จะเชื่อมโยงเข้าหากันเป็นรูปแบบที่เป็นนามธรรมมากขึ้น จากนั้นชั้น output layer จะแปลงฟีเจอร์เหล่านี้ให้กลายเป็นผลลัพธ์ โดยสำหรับงานจำแนกประเภท (K-way classification) จะใช้ logit เช่น (0.01, -3.8, 4.2) ซึ่ง Softmax จะเข้ามาแปลงค่าเหล่านี้ให้กลายเป็นความน่าจะเป็นระหว่าง 0 ถึง 1
เมื่อโมเดลทำการพายกรณ์แล้ว จำเป็นต้องมีการวัดความผิดพลาดผ่าน Loss Function เช่น Mean Squared Error สำหรับการทำนายตัวเลข หรือ Cross-Entropy สำหรับงานจำแนกประเภท ซึ่งจะลงโทษโมเดลอย่างหนักหากทำนายผิดด้วยความมั่นใจสูง และให้รางวัลหากทำนายถูก จากนั้นกระบวนการ Training จะเริ่มทำงานผ่าน 5 ขั้นตอนหลัก ได้แก่ การส่งข้อมูลไปข้างหน้า, การคำนวณ Loss, การรัน Backpropagation, การอัปเดตด้วย Gradient Descent และการทำซ้ำในแต่ละ Epoch
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น