# คู่มือการคำนวณ Neural Network เบื้องต้น (พร้อมใช้งานบน WordPress)
เอกสารนี้จัดทำขึ้นสำหรับ อธิบายกระบวนการคำนวณของ Neural Network หนึ่งหน่วย (single neuron) อย่างเป็นขั้นตอน ตั้งแต่นิยามโมเดล การคำนวณค่า loss ไปจนถึงการคำนวณ gradient ด้วย backpropagation โดยใช้รูปแบบสมการที่สามารถวางใน **WordPress (Gutenberg) + MathJax** ได้ทันที
—
## 1. นิยามโมเดล (Model Definition)
กำหนดให้ neural network หนึ่งหน่วยมีสมการดังนี้
$$
z = w_1 x_1 + w_2 x_2 + b
$$
$$
y = \sigma(z)
$$
โดยที่
– \(x_1, x_2\) คือ input
– \(w_1, w_2\) คือ weight
– \(b\) คือ bias
– \(\sigma(\cdot)\) คือ sigmoid function
—
## 2. Sigmoid Function และอนุพันธ์
นิยามของ sigmoid function คือ
$$
\sigma(z) = \frac{1}{1 + e^{-z}}
$$
อนุพันธ์ของ sigmoid คือ
$$
\sigma'(z) = \sigma(z)\left(1 – \sigma(z)\right)
$$
รูปแบบนี้ทำให้การคำนวณ gradient ใน neural network ทำได้สะดวกและมีประสิทธิภาพ
—
## 3. ฟังก์ชันความสูญเสีย (Loss Function)
ใช้ Mean Squared Error (MSE) สำหรับข้อมูลหนึ่งตัวอย่าง
$$
L = \frac{1}{2}(t – y)^2
$$
โดยที่
– \(t\) คือค่าเป้าหมาย (target)
– \(y\) คือค่าที่โมเดลทำนาย
เหตุผลที่ใช้ \(\frac{1}{2}\) คือเพื่อให้อนุพันธ์ตัดเลข 2 ทิ้ง ทำให้สมการเรียบง่ายขึ้น
—
## 4. Backpropagation คืออะไร
Backpropagation คือกระบวนการคำนวณอนุพันธ์ของฟังก์ชันความสูญเสีย โดยไล่ย้อนกลับจาก output ไปยังพารามิเตอร์ทุกตัวในโมเดล ตามกฎลูกโซ่ (Chain Rule)
เป้าหมายคือการหาว่า weight และ bias แต่ละตัวควรถูกปรับมากน้อยเพียงใดเพื่อลดค่า loss
—
## 5. การคำนวณ Gradient ทีละขั้น
### 5.1 Gradient ที่ output
$$
\frac{\partial L}{\partial y} = y – t
$$
$$
\frac{\partial y}{\partial z} = \sigma'(z)
$$
กำหนดค่า error signal (delta) ที่ output เป็น
$$
\delta = \frac{\partial L}{\partial z} = (y – t)\sigma'(z)
$$
—
### 5.2 Gradient ของ weight
สำหรับ weight แต่ละตัว
$$
\frac{\partial L}{\partial w_1} = \delta x_1
$$
$$
\frac{\partial L}{\partial w_2} = \delta x_2
$$
น้ำหนักจะถูกปรับมากหรือน้อยขึ้นอยู่กับค่าของ input หาก input เป็นศูนย์ weight ตัวนั้นจะไม่ถูกปรับจากข้อมูลตัวอย่างนั้น
—
### 5.3 Gradient ของ bias
$$
\frac{\partial L}{\partial b} = \delta
$$
เนื่องจาก
$$
\frac{\partial z}{\partial b} = 1
$$
bias จึงได้รับผลจากทุกตัวอย่างข้อมูลอย่างเท่าเทียมกัน
—
## 6. การอัปเดตพารามิเตอร์ (Gradient Descent)
กำหนด learning rate เป็น \(\eta\)
$$
w := w – \eta \frac{\partial L}{\partial w}
$$
$$
b := b – \eta \frac{\partial L}{\partial b}
$$
การอัปเดตนี้จะค่อย ๆ ปรับโมเดลให้ทำนายค่าได้ใกล้กับ target มากขึ้น
—
## 7. ความหมายเชิงเรขาคณิตของ Weight และ Bias
– weight กำหนดความเอียงของเส้นตัดสินใจ
– bias กำหนดตำแหน่งการเลื่อนของเส้น
หากไม่มี bias เส้นจะถูกบังคับให้ผ่านจุดกำเนิดเสมอ ทำให้โมเดลไม่ยืดหยุ่นพอ
—
## 8. สรุปภาพรวมกระบวนการเรียนรู้
1. Forward pass: คำนวณ \(z\) และ \(y\)
2. คำนวณค่า loss จาก \(t\) และ \(y\)
3. Backpropagation: คำนวณ gradient ด้วยกฎลูกโซ่
4. ปรับ weight และ bias ด้วย gradient descent