Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Backpropagation (Lan truyền ngược)

Khám phá những nguyên tắc cơ bản của thuật toán lan truyền ngược. Tìm hiểu cách thuật toán thiết yếu này huấn luyện mạng nơ-ron, tối ưu hóa... Ultralytics YOLO26, và là nguồn năng lượng cho các hệ thống AI hiện đại.

Lan truyền ngược, viết tắt của "lan truyền lỗi ngược", là thuật toán cơ bản 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ó hoạt động như một "người truyền 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 mỗi tham số trong mạng nơ-ron vào dự đoán sai. Bằng cách xác định độ dốc của hàm mất mát đối với mỗi 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 toán đạo hàm hiệu quả này, việc huấn luyện các mô hình phức tạp và sâu sắc sẽ không khả thi về mặt tính toán.

Cơ chế học tập

Để hiểu về lan truyền ngược, ta có thể hình dung nó như một phần của chu trình. Khi mạng nơ-ron xử lý hình ảnh hoặc văn bản, nó thực hiện một "lượt truyền tiến" để đưa ra dự đoán. Sau đó, hệ thống so sánh dự đoán này với câu trả lời chính xác bằng cách sử dụng hàm mất mát , hàm này định lượng sai số.

Lan truyền ngược bắt đầu từ lớp đầu ra và di chuyển ngược trở lại qua các lớp của mạng. Nó sử dụng quy tắc chuỗi trong phép tính vi phân và tích phân để tính toán độ dốc. Những độ dốc này cho hệ thống biết, "Để giảm lỗi, hãy tăng trọng số này lên một chút" hoặc "giảm độ lệch đó xuống đáng kể". Thông tin này rất cần thiết cho các kiến ​​trúc mạng sâu, chẳng hạn như Mạng nơ-ron tích chập (CNN) , nơi hàng triệu tham số phải được tinh chỉnh đồng thời.

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 giữa lan truyền ngược và bước tối ưu hóa, nhưng chúng là hai quá 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ẽ một bản đồ thể hiện độ dốc của bối cảnh lỗi. Nó trả lời câu hỏi: "Chúng ta nên di chuyển theo hướng nào để giảm lỗi?"
  • Tối ưu hóa chính là hành động. Các thuật toán như Stochastic Gradient Descent ( SGD ) hoặc bộ tối ưu hóa Adam lấy các gradient được cung cấp bởi lan truyền ngược và cập nhật các 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 đi bộ đường dài đang bước đi.

Ứng dụng thực tế trong AI

Lan truyền ngược là cơ chế nền tảng cho hầu hết các thành công của trí tuệ nhân tạo 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 dữ liệu đầ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 , thuật toán lan truyền ngược cho phép mạng học được cấu trúc phân cấp không gian. Nó giúp mô hình hiểu rằng một số cạnh nhất định tạo thành hình dạng, và những hình dạng đó tạo thành các đối tượng như ô tô hoặc người đi bộ. Trong tương lai, Nền tảng Ultralytics tận dụng các kỹ thuật huấn luyện này để giúp người dùng tạo ra các mô hình tùy chỉnh có thể xác định chính xác các khuyết tật trong sản xuất hoặc giám sát 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ư những mô hình do OpenAI phát triển, thuật toán lan truyền ngược cho phép hệ thống học được xác suất của từ tiếp theo trong câu. Bằng cách lan truyền lỗi 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 .

Những thách thức trong mạng nơ-ron sâu

Mặc dù mạnh mẽ, thuật toán này vẫn gặp khó khăn trong các mạng nơ-ron rất sâu. Vấn đề suy giảm độ dốc xảy ra khi độ dốc trở nên quá nhỏ khi di chuyển ngược trở lại, khiến các lớp đầu tiên ngừng học. Ngược lại, hiện tượng bùng nổ độ dốc liên quan đến việc độ dốc tích lũy đến các giá trị không ổn định. Các kỹ thuật như chuẩn hóa theo lô (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 những vấn đề này.

Python Ví dụ mã

Trong khi các thư viện cấp cao như ultralytics Trừu tượng hóa quá trình này trong quá trình đào tạo, yếu tố cơ bản nằm bên trong. PyTorch khung Cho phép bạn quan sát trực tiếp cơ chế hoạt động. .backward() Phương pháp này kích hoạt quá trình lan truyền ngược, tính toán đạo hàm cho bất kỳ tensor Ở đâu 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()}")

Đọc thêm

Để hiểu cách lan truyền ngược phù hợp với phạm vi rộng 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 có thể khái quát hóa hiệu quả. Ngoài ra, việc hiểu các chỉ số 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ư Độ chính xác trung bình ( mAP ) , giúp diễn giải mức độ tối ưu hóa mô hình của quá trình lan truyền ngược. Để tìm hiểu sâu hơn về mặt lý thuyết, tài liệu khóa học Stanford CS231n cung cấp phân tích kỹ thuật xuất sắc về các phép tính liên quan.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay