Lan truyền ngược là thuật toán huấn luyện phổ biến nhất cho mạng nơron. Điều này giúp việc giảm độ dốc trở nên khả thi đối với các mạng nơ-ron đa lớp. Nhiều thư viện mã máy học (chẳng hạn như Keras) tự động xử lý quá trình truyền ngược, vì vậy, bạn không cần tự thực hiện bất kỳ phép tính cơ bản nào. Hãy xem video sau đây để biết thông tin tổng quan về khái niệm cách hoạt động của quá trình truyền ngược:
Các phương pháp hay nhất để huấn luyện mạng nơ-ron
Phần này giải thích các trường hợp thất bại của phương pháp lan truyền ngược và cách phổ biến nhất để điều chỉnh một mạng nơ-ron.
Chuyển màu mờ dần
Độ dốc cho các lớp mạng nơ-ron thấp hơn (những lớp gần với lớp đầu vào) có thể trở nên rất nhỏ. Trong mạng sâu (mạng có nhiều lớp ẩn), việc tính toán các độ dốc này có thể liên quan đến việc lấy tích của nhiều số hạng nhỏ.
Khi các giá trị độ dốc tiến đến 0 đối với các lớp dưới, độ dốc được cho là "biến mất". Các lớp có độ dốc biến mất huấn luyện rất chậm hoặc hoàn toàn không.
Hàm kích hoạt ReLU có thể giúp ngăn chặn hiện tượng biến mất độ dốc.
Chuyển màu nổ
Nếu trọng số trong một mạng rất lớn, thì độ dốc cho các lớp dưới liên quan đến các sản phẩm của nhiều số hạng lớn. Trong trường hợp này, bạn có thể có các độ dốc tăng dần: độ dốc tăng quá lớn để hội tụ.
Chuẩn hoá theo lô có thể giúp ngăn chặn hiện tượng gradient bị nổ, cũng như giảm tốc độ học.
Đơn vị ReLU không hoạt động
Khi tổng có trọng số của một đơn vị ReLU giảm xuống dưới 0, đơn vị ReLU có thể bị kẹt. Nó xuất ra 0, không đóng góp gì vào đầu ra của mạng và các độ dốc không còn có thể chảy qua nó trong quá trình truyền ngược. Với nguồn gốc của các độ dốc bị cắt, đầu vào cho ReLU có thể không bao giờ thay đổi đủ để đưa tổng có trọng số trở lại trên 0.
Việc giảm tốc độ học có thể giúp các đơn vị ReLU không bị chết.
Điều hoà bằng cách loại bỏ
Một hình thức điều chuẩn khác, được gọi là điều chuẩn loại bỏ, rất hữu ích cho mạng nơ-ron. Phương pháp này hoạt động bằng cách kích hoạt các đơn vị "loại bỏ" một cách ngẫu nhiên trong một mạng cho một bước chuyển màu duy nhất. Bạn càng bỏ qua nhiều, thì quá trình điều chỉnh càng mạnh mẽ:
- 0.0 = Không có dropout regularization.
- 1.0 = Loại bỏ tất cả các nút. Mô hình không học được gì.
- Giá trị từ 0,0 đến 1,0 = Hữu ích hơn.