Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Thuật toán Lan truyền ngược (Backpropagation Algorithm) là gì?

Lan truyền ngược (Backpropagation) định nghĩa toàn bộ quá trình bao gồm cả tính toán gradient và nhu cầu của nó trong xuống dốc xác suất (stochastic gradient descent). Về mặt kỹ thuật, backpropagation dùng để tính gradient của lỗi mạng liên quan đến trọng số có thể sửa đổi của mạng.

Đặc điểm của Backpropagation: phương pháp lặp, đệ quy và hiệu quả để tính toán trọng số cập nhật nhằm cải thiện mạng cho đến khi không thể thực hiện nhiệm vụ nó được huấn luyện. Đạo hàm của hàm kích hoạt cần biết tại thời điểm thiết kế mạng cho Backpropagation.

Backpropagation được dùng rộng rãi trong huấn luyện mạng nơ-ron và tính hàm mất mát (loss function) cho trọng số mạng. Hoạt động với mạng nơ-ron đa lớp và khám phá mô tả nội bộ của ánh xạ đầu vào - đầu ra.

Là dạng chuẩn của huấn luyện mạng nhân tạo, hỗ trợ tính gradient hàm mất mát liên quan đến tất cả trọng số trong mạng. Thuật toán backpropagation dùng để huấn luyện mạng nơ-ron hiệu quả hơn qua phương pháp quy tắc chuỗi (chain rule).

Gradient này dùng trong thuật toán xuống dốc xác suất đơn giản để tìm trọng số tối thiểu hóa lỗi. Lỗi lan truyền ngược từ nút đầu ra đến các nút nội bộ.

Thuật toán huấn luyện backpropagation bao gồm 4 giai đoạn:

  • Khởi tạo trọng số (Initialization of weights) – Gán giá trị ngẫu nhiên nhỏ.
  • Truyền tiến (Feed-forward) – Mỗi đơn vị X nhận tín hiệu đầu vào và truyền tín hiệu này đến từng đơn vị ẩn Z1, Z2,... Zn. Mỗi đơn vị ẩn tính hàm kích hoạt và gửi tín hiệu Z1 đến mỗi đơn vị đầu ra. Đơn vị đầu ra tính hàm kích hoạt để hình thành phản ứng cho mẫu đầu vào cho trước.
  • Lan truyền ngược lỗi (Backpropagation of errors) – Mỗi đơn vị đầu ra so sánh kích hoạt Yk với giá trị mục tiêu Tk để xác định lỗi liên quan cho đơn vị đó. Dựa trên lỗi, yếu tố $\delta$k (K = 1, ... m) được tính và dùng để phân phối lỗi tại đơn vị đầu ra Yk ngược lại tất cả đơn vị trong lớp trước. Tương tự yếu tố $\delta$j (j = 1, ... p) được so sánh cho mỗi đơn vị ẩn Zj.
  • Cập nhật trọng số và bias.

Các loại Backpropagation

Lan truyền ngược tĩnh (Static Back Propagation) – Tạo đầu ra tĩnh do ánh xạ đầu vào tĩnh. Dùng giải quyết bài toán phân loại tĩnh như nhận diện ký tự quang học.

Lan truyền ngược hồi귀 (Recurrent Backpropagation) – Lan truyền hướng tiến hoặc hướng lui cho đến khi đạt giá trị xác định hoặc ngưỡng. Sau giá trị đó, lỗi được đánh giá và lan truyền ngược.