คลังเก็บหมวดหมู่: วิชาการทั่วไป

งานเขียนด้านวิชาการ

การคำนวณ Neural Network เบื้องต้น

# คู่มือการคำนวณ 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