Thuật ngữ

Truyền ngược

Tìm hiểu cách truyền ngược huấn luyện mạng nơ-ron, giảm tỷ lệ lỗi và cung cấp năng lượng hiệu quả cho các ứng dụng AI như nhận dạng hình ảnh và NLP.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Backpropagation, viết tắt của "backward propagation of errors", là một thuật toán cơ bản để đào tạo mạng nơ-ron nhân tạo (NN) , đặc biệt là trong lĩnh vực học sâu (DL) . Nó đóng vai trò là cơ chế cốt lõi cho phép các mô hình học hỏi từ những sai lầm của chúng trong quá trình đào tạo mô hình . Thuật toán tính toán hiệu quả sự đóng góp của từng tham số (như trọng số và độ lệch của mô hình ) trong mạng vào lỗi tổng thể được quan sát thấy trong các dự đoán của mô hình. Thông tin về độ dốc này sau đó được các thuật toán tối ưu hóa sử dụng để điều chỉnh các tham số theo từng bước, cải thiện dần hiệu suất và độ chính xác của mô hình.

Cách thức hoạt động của Backpropagation

Quá trình truyền ngược thường theo một lần truyền thẳng ban đầu, trong đó dữ liệu đầu vào chảy qua mạng để tạo ra dự đoán. Sau khi so sánh dự đoán với giá trị mục tiêu thực tế bằng hàm mất mát , thuật toán truyền ngược thực hiện theo hai giai đoạn chính:

  1. Truyền tiếp: Dữ liệu đầu vào được đưa vào mạng nơ-ron, truyền qua các lớp nơ-ron, mỗi lớp áp dụng trọng số, độ lệch và hàm kích hoạt riêng (như ReLU hoặc Sigmoid ), cho đến khi tạo ra dự đoán đầu ra.
  2. Backward Pass: Thuật toán tính toán lỗi (sự khác biệt giữa dự đoán và giá trị thực) bằng cách sử dụng hàm mất mát đã chọn. Sau đó, nó truyền tín hiệu lỗi này ngược lại qua mạng, từng lớp một. Sử dụng quy tắc chuỗi từ phép tính , nó tính toán độ dốc của hàm mất mát đối với từng trọng số và độ lệch trong mạng. Độ dốc này biểu thị mức độ thay đổi nhỏ trong từng tham số sẽ ảnh hưởng đến lỗi tổng thể. Để hiểu rõ hơn, các tài nguyên như "Phép tính trên đồ thị tính toán" cung cấp các giải thích hữu ích.

Sau khi các gradient được tính toán, một thuật toán tối ưu hóa , chẳng hạn như Gradient Descent hoặc các biến thể như Stochastic Gradient Descent (SGD) hoặc trình tối ưu hóa Adam , sử dụng các gradient này để cập nhật mạng. weights and biases . Mục tiêu là giảm thiểu hàm mất mát, giúp mạng lưới có thể đưa ra dự đoán tốt hơn qua các kỷ nguyên liên tiếp.

Tầm quan trọng trong học sâu

Truyền ngược là điều không thể thiếu đối với học sâu hiện đại. Hiệu quả của nó trong việc tính toán độ dốc làm cho việc đào tạo các kiến trúc rất sâu và phức tạp trở nên khả thi về mặt tính toán. Điều này bao gồm các mô hình như Mạng nơ-ron tích chập (CNN) , xuất sắc trong các tác vụ thị giác máy tính (CV)Mạng nơ-ron hồi quy (RNN) , thường được sử dụng cho dữ liệu tuần tự như trong Xử lý ngôn ngữ tự nhiên (NLP) . Nếu không có truyền ngược, việc điều chỉnh hàng triệu tham số trong các mô hình lớn như GPT-4 hoặc các mô hình được đào tạo trên các tập dữ liệu khổng lồ như ImageNet sẽ là không thực tế. Nó trao quyền cho các mô hình tự động học các tính năng phức tạp và biểu diễn phân cấp từ dữ liệu, hỗ trợ nhiều tiến bộ AI kể từ khi phổ biến, như được trình bày chi tiết trong các tài nguyên về lịch sử Học sâu . Các khuôn khổ như PyTorchTensorFlow phụ thuộc rất nhiều vào các công cụ phân biệt tự động triển khai truyền ngược.

Thuật toán lan truyền ngược so với thuật toán tối ưu hóa

Điều quan trọng là phải phân biệt backpropagation với các thuật toán tối ưu hóa. Backpropagation là phương pháp được sử dụng để tính toán các gradient (sự đóng góp lỗi của mỗi tham số). Mặt khác, các thuật toán tối ưu hóa là các chiến lược sử dụng các gradient được tính toán này để cập nhật các tham số của mô hình ( weights and biases ) để giảm thiểu tổn thất. Truyền ngược cung cấp hướng cải thiện, trong khi trình tối ưu hóa xác định kích thước bước ( tốc độ học ) và cách thức cập nhật.

Ứng dụng trong thế giới thực

Backpropagation được sử dụng ngầm bất cứ khi nào một mô hình học sâu trải qua quá trình đào tạo . Sau đây là hai ví dụ cụ thể:

  1. Phát hiện đối tượng với Ultralytics YOLO : Khi đào tạo mô hình Ultralytics YOLO (như YOLOv8 hoặc YOLO11 ) để phát hiện đối tượng trên một tập dữ liệu như COCO , backpropagation được sử dụng trong mỗi lần lặp lại đào tạo. Sau khi mô hình dự đoán các hộp giới hạn và các lớp, tổn thất (ví dụ: so sánh các hộp dự đoán với giá trị thực tế) được tính toán. Backpropagation tính toán các gradient cho tất cả các trọng số trong xương sống của mô hình và đầu phát hiện . Sau đó, trình tối ưu hóa sử dụng các gradient này để điều chỉnh các trọng số, cải thiện khả năng định vị và phân loại chính xác các đối tượng của mô hình. Người dùng có thể tận dụng các nền tảng như Ultralytics HUB để quản lý quy trình đào tạo này, hưởng lợi từ các triển khai backpropagation hiệu quả. Điều này rất quan trọng đối với các ứng dụng từ xe tự hành đến hệ thống an ninh .
  2. Mô hình xử lý ngôn ngữ tự nhiên : Các mô hình ngôn ngữ lớn (LLM) như mô hình BERTGPT được đào tạo bằng cách sử dụng backpropagation. Ví dụ, trong một tác vụ phân tích tình cảm , mô hình dự đoán tình cảm (tích cực, tiêu cực, trung tính) của một văn bản nhất định. Sự khác biệt giữa tình cảm được dự đoán và nhãn thực tế dẫn đến một giá trị lỗi. Backpropagation tính toán mức độ mỗi tham số trong mạng lưới rộng lớn góp phần vào lỗi này. Sau đó, các thuật toán tối ưu hóa cập nhật các tham số này, cho phép mô hình hiểu rõ hơn về sắc thái ngôn ngữ, ngữ cảnh và tình cảm trong suốt quá trình đào tạo. Các nhóm nghiên cứu học thuật như nhóm NLP Stanford liên tục khám phá và tinh chỉnh các kỹ thuật này.
Đọc tất cả