Backpropagation
Khám phá các nguyên lý cơ bản của lan truyền ngược (backpropagation). Tìm hiểu cách thuật toán thiết yếu này đào tạo các mạng thần kinh, tối ưu hóa Ultralytics YOLO26 và hỗ trợ các hệ thống AI hiện đại.
Lan truyền ngược (Backpropagation), viết tắt của "backward propagation of errors" (lan truyền ngược sai số), là thuật toán nền tảng cho phép các hệ thống trí tuệ nhân tạo hiện đại học hỏi từ dữ liệu. Nó đóng vai trò như một người đưa tin toán học trong quá trình huấn luyện mô hình, tính toán chính xác mức độ đóng góp của từng tham số trong một mạng thần kinh vào dự đoán sai. Bằng cách xác định gradient của hàm mất mát đối với từng trọng số, lan truyền ngược cung cấp phản hồi cần thiết cho phép mạng tự điều chỉnh và cải thiện độ chính xác theo thời gian. Nếu không có phương pháp tính đạo hàm hiệu quả này, việc huấn luyện các mô hình sâu và phức tạp sẽ không khả thi về mặt tính toán.
Link to this sectionCơ chế học tập#
Để hiểu về lan truyền ngược, hãy coi nó là một phần của chu trình. Khi một mạng thần kinh xử lý hình ảnh hoặc văn bản, nó thực hiện một "forward pass" (truyền xuôi) để đưa ra dự đoán. Sau đó, hệ thống so sánh dự đoán này với đáp án đúng bằng cách sử dụng một hàm mất mát, hàm này định lượng sai số.
Lan truyền ngược bắt đầu tại lớp đầu ra và di chuyển ngược trở lại qua các lớp mạng. Nó sử dụng quy tắc chuỗi trong giải tích để tính toán các gradient. Những gradient này thực sự truyền đạt cho hệ thống rằng: "Để giảm sai số, hãy tăng nhẹ trọng số này" hoặc "giảm đáng kể độ chệch (bias) kia". Thông tin này là thiết yếu đối với các kiến trúc sâu, chẳng hạn như Mạng thần kinh tích chập (CNN), nơi hàng triệu tham số phải được tinh chỉnh đồng thời.
Link to this sectionLan truyền ngược so với Tối ưu hóa#
Người mới bắt đầu thường nhầm lẫn lan truyền ngược với bước tối ưu hóa, nhưng đây là những quy trình riêng biệt trong vòng lặp huấn luyện.
- Lan truyền ngược là công cụ chẩn đoán. Nó tính toán các gradient, vẽ ra một bản đồ thể hiện độ dốc của không gian sai số. Nó trả lời cho câu hỏi: "Chúng ta nên di chuyển theo hướng nào để giảm sai số?"
- Tối ưu hóa là hành động thực thi. Các thuật toán như Stochastic Gradient Descent (SGD) hoặc bộ tối ưu hóa Adam sẽ lấy các gradient do lan truyền ngược cung cấp và cập nhật trọng số. Nếu lan truyền ngược là bản đồ, thì bộ tối ưu hóa chính là người leo núi thực hiện từng bước đi.
Link to this sectionCác ứng dụng thực tế trong AI#
Lan truyền ngược là cơ chế cốt lõi cho hầu hết mọi thành công của AI hiện đại, cho phép các mô hình khái quát hóa từ dữ liệu huấn luyện sang các đầu vào mới, chưa từng thấy.
- Thị giác máy tính: Trong các tác vụ phát hiện đối tượng sử dụng các mô hình như YOLO26, lan truyền ngược cho phép mạng học các phân cấp không gian. Nó giúp mô hình hiểu rằng các cạnh nhất định tạo thành hình dạng, và các hình dạng đó tạo thành các đối tượng như ô tô hoặc người đi bộ. Nhìn về phía trước, Ultralytics Platform tận dụng các kỹ thuật huấn luyện này để giúp người dùng tạo các mô hình tùy chỉnh có thể xác định chính xác các lỗi trong sản xuất hoặc theo dõi sức khỏe cây trồng trong nông nghiệp.
- Xử lý ngôn ngữ tự nhiên (NLP): Đối với các Mô hình ngôn ngữ lớn (LLM) như các mô hình được phát triển bởi OpenAI, lan truyền ngược cho phép hệ thống học xác suất của từ tiếp theo trong một câu. Bằng cách lan truyền sai số từ các dự đoán văn bản không chính xác, mô hình học được ngữ pháp và ngữ cảnh tinh tế, rất cần thiết cho các ứng dụng như dịch máy.
Link to this sectionThách thức trong các mạng sâu#
Mặc dù rất mạnh mẽ, thuật toán này phải đối mặt với những thách thức trong các mạng rất sâu. Vấn đề gradient biến mất xảy ra khi các gradient trở nên quá nhỏ khi chúng di chuyển ngược lại, khiến các lớp đầu tiên ngừng học. Ngược lại, hiện tượng gradient bùng nổ xảy ra khi các gradient tích lũy thành những giá trị cực kỳ không ổn định. Các kỹ thuật như Batch Normalization và các kiến trúc chuyên biệt như ResNet thường được sử dụng để giảm thiểu các vấn đề này.
Link to this sectionVí dụ mã Python#
Trong khi các thư viện cấp cao như ultralytics trừu tượng hóa quy trình này trong quá trình huấn luyện, thì khung PyTorch cơ bản cho phép bạn thấy trực tiếp cơ chế này. Phương thức .backward() kích hoạt quy trình lan truyền ngược, tính toán đạo hàm cho bất kỳ tensor nào có requires_grad=True.
import torch
# Create a tensor that tracks operations for backpropagation
w = torch.tensor([2.0], requires_grad=True)
x = torch.tensor([3.0])
# Forward pass: compute prediction and loss (simple example)
# Let's assume the target value is 10.0
loss = (w * x - 10.0) ** 2
# Backward pass: This command executes backpropagation
loss.backward()
# The gradient is now stored in w.grad, showing how to adjust 'w'
# This tells us the slope of the loss with respect to w
print(f"Gradient (dL/dw): {w.grad.item()}")Link to this sectionĐọc thêm#
Để hiểu cách lan truyền ngược phù hợp với phạm vi rộng lớn hơn của phát triển AI, việc khám phá khái niệm tăng cường dữ liệu là rất hữu ích, vì nó cung cấp các ví dụ đa dạng cần thiết để thuật toán khái quát hóa hiệu quả. Ngoài ra, việc hiểu các số liệu cụ thể được sử dụng để đánh giá sự thành công của quá trình huấn luyện, chẳng hạn như mean Average Precision (mAP), sẽ giúp giải thích mức độ tối ưu hóa mô hình của quy trình lan truyền ngược. Để nghiên cứu lý thuyết sâu hơn, ghi chú khóa học Stanford CS231n cung cấp một phân tích kỹ thuật xuất sắc về giải tích liên quan.






