Đến nội dung chính
AI cơ bản

Neural Network hoạt động như thế nào?

Theo dõi một forward pass, hàm loss và cập nhật gradient qua mạng nhiều tầng.

Mức giải thích

Neural network là một hàm có tham số, được ghép từ các phép biến đổi. “Neuron” ở đây là một phép tính; hiểu đầu vào, trọng số và activation giúp đọc mạng rõ hơn các ẩn dụ về bộ não.

Mục tiêu học tập

  • Tính được đầu ra một neuron và một tầng ẩn.
  • Giải thích vai trò activation và backpropagation.
  • Phân biệt inference, gradient và optimizer step.

Từ input đến prediction

Một tầng ẩn có dạng h=σ(Wx+b)h=\sigma(Wx+b); tầng sau có thể tính z=Uh+cz=Uh+c. ReLU dùng max⁡(0,z)\max(0,z). Với phân loại nhiều lớp, logits thường được chuyển thành phân bố bằng softmax khi cần xác suất.

Kích thước tensor phải khớp. Nếu vector input dài d và có m hidden units, W có m hàng và d cột theo quy ước vector cột. Hướng lưu tensor trong thư viện có thể khác, nên kiểm tra shape thay vì đoán.

Loss, backpropagation và optimizer

Một bước SGD là θ←θ−η∇θL\theta\leftarrow\theta-\eta\nabla_\theta L, với learning rate η\eta. Thứ tự điển hình: xóa gradient cũ, forward, tính loss, backward, optimizer step. Mini-batch ước lượng gradient từ một phần dữ liệu.

Inference không cập nhật trọng số. Trong các framework, eval mode và tắt gradient có vai trò khác nhau: một cái đổi hành vi lớp như dropout, cái kia tránh xây graph cho đạo hàm.

Một neuron có thể kiểm tra bằng tay

Sau khi hiểu forward, thử loss bình phương giữa đầu ra và một target giả định. Với nhánh ReLU đang dương, đạo hàm theo một trọng số bằng sai số nhân input tương ứng nếu loss là nửa bình phương sai số.

Workflow & kiến trúc

Mạng minh họa 3 đầu vào, 4 nút ẩn và 1 đầu ra. Mỗi nút ẩn áp dụng affine transform rồi activation phi tuyến; các đường nối là trọng số, không phải độ mạnh đo được.
01Input
02Affine + activation
03Logits / prediction
04Loss → backward
Workflow minh họa · Các bước cần được điều chỉnh theo bài toán thực tế.

Ứng dụng & giới hạn

  • Đọc shape và data flow trong một mạng phân loại.
  • Debug activation hoặc gradient trên ví dụ nhỏ.

Điểm mạnh

Ghép nhiều phép biến đổi khả vi để học biểu diễn cùng mục tiêu.

Giới hạn cần nhớ

Nhiều tham số làm tăng chi phí và nguy cơ overfit; giải thích từng trọng số không tương đương giải thích hành vi cả mạng.

Thử trong một project nhỏ

LEARN BY DOING

Đổi bias thành 2.0, tính z và ReLU bằng tay. Thêm target 1.0 và tính đạo hàm nửa bình phương sai số theo trọng số đầu tiên trên nhánh dương.

PYTHON · VÍ DỤ MINH HỌA
x = [1.0, 2.0]
w = [0.5, -1.0]
bias = 0.1
z = sum(a * b for a, b in zip(x, w)) + bias
h = max(0.0, z)
assert abs(z - (-1.4)) < 1e-12
assert h == 0.0
print({"pre_activation": z, "relu": h})

Python thuần: một forward pass với tham số tự chọn; không phải mạng đã train hay benchmark.

Nguồn tham khảo

  1. Dive into Deep Learning — Multilayer Perceptrons
  2. Dive into Deep Learning — Forward/Backward Propagation

KEEP EXPLORING

Đọc tiếp để nối các ý tưởng.