Cách cập nhật trọng số thiên vị và thiên vị bằng thuật toán backpropagation


7

Tôi đang viết thuật toán đào tạo của riêng mình, nhưng tôi không biết cách đặt trọng số sai lệch.

Tôi đã thiết lập thiên vị trong lớp nào chưa?

Phải cân trọng lượng, được cập nhật trong mỗi lớp?

Câu trả lời:


9

Cần có một trọng số thiên vị cho mỗi nơ-ron ảo vì nó kiểm soát ngưỡng mà nơ-ron phản ứng với đầu vào kết hợp. Vì vậy, nếu lớp ẩn của bạn có 100 nơ-ron, đó là 100 trọng số sai lệch cho lớp đó. Áp dụng tương tự cho mỗi lớp.

Thường có hai cách tiếp cận khác nhau được thực hiện khi thực hiện sai lệch. Bạn có thể làm cái này hay cái khác:

  1. Là một vectơ riêng của trọng số sai lệch cho mỗi lớp, với logic (giảm nhẹ) khác nhau để tính toán độ dốc.

  2. Là một cột bổ sung trong ma trận trọng số, với cột tương ứng là 1 được thêm vào dữ liệu đầu vào (hoặc đầu ra của lớp trước đó), để cùng một mã chính xác tính toán độ dốc trọng lượng và cập nhật như đối với trọng số kết nối.

Trong cả hai trường hợp, bạn chỉ thực hiện tính toán backpropagation từ deltas kích hoạt nơ-ron đến deltas trọng lượng thiên vị, bạn không cần tính delta "kích hoạt" cho sai lệch, vì đó không phải là thứ có thể thay đổi, nó luôn là 1.0. Ngoài ra, sự thiên vị không đóng góp deltas trở lại cho bất cứ điều gì khác.


1

Trên thực tế, bạn không cần một sự thiên vị nếu bạn có sự lan truyền trở lại với ít nhất 1 lớp ẩn. Ví dụ: nếu đầu vào của bạn bằng 0, lan truyền về phía trước của bạn sẽ dẫn đến 0,5 (đối với sigmoid) nhưng lan truyền ngược của bạn sẽ điều chỉnh trọng lượng của nó trong đó cuối cùng bạn đã có câu trả lời đúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.