Tôi không chắc liệu bạn có thể thay đổi câu trả lời được chấp nhận hay không, nhưng vì câu trả lời duy nhất cho câu hỏi của bạn về tuyên truyền ngược là một về việc truyền bá về phía trước, tôi đã quyết định cho nó đi.
Về cơ bản, bạn điều trị cân bằng delta (δRδhtôij) giống như bạn sẽ tạo một delta cân bằng cho một nơron tuyến tính, nhưng huấn luyện nó một lần cho mỗi lần bạn phủ lên bộ lọc (nhân) của mình trên đầu vào, tất cả chỉ trong một lần truyền ngược. Kết quả là tổng số deltas cho tất cả các lớp phủ của bộ lọc của bạn. Tôi nghĩ trong ký hiệu của bạn, điều này sẽ làδRδhtôij= =Σni = 1xl - 1TôiδRδxl + 1j Ở đâu xl - 1 là một đầu vào được nhân với htôij cho một trong các lớp phủ của bạn trong quá trình lan truyền về phía trước và xl + 1 là đầu ra dẫn đến từ lớp phủ đó.
Giữa hai kết quả của backprop thông qua một lớp chập (deltas tham số và deltas đầu vào) có vẻ như bạn quan tâm nhiều hơn đến deltas tham số, hay cụ thể hơn là deltas ma trận trọng số (δRδhtôij). Để hoàn thiện, tôi sẽ xem xét cả hai, với lớp dưới đây là lớp ví dụ của chúng tôi:
Nếu bạn có bộ đầu vào 1D [ 1 , 2 , 3 ]và bộ lọc [ 0,3 , 0,5 ] được áp dụng với sải chân 1, không có phần đệm, độ lệch bằng 0 và không có chức năng kích hoạt, thì việc kích hoạt bộ lọc của bạn sẽ trông giống như [ 1 * 0,3 + 2 * 0,5 , 2 * 0,3 + 3 * 0,5 ] = [ 1.3 , 2.1 ]. Khi bạn quay lại lớp này trên thẻ backprop của mình, giả sử các deltas kích hoạt bạn sử dụng để tính toán là[ - 0,1 , 0,2 ].
Trọng lượng đồng bằng:
Khi bạn đi qua trong đường chuyền về phía trước, bạn đã lưu vào bộ đệm của bạn [ 1 , 2 , 3 ], hãy gọi đó là A_prev, vì có khả năng nó kích hoạt lớp trước của bạn. Đối với mỗi lớp phủ tiềm năng của bộ lọc của bạn (trong trường hợp này, bạn chỉ có thể phủ nó trên đầu vào ở hai vị trí [ 1,2 , 3] và [1, 2,3 ]), lấy lát đó của A_slice đầu vào, nhân từng phần phần tử bởi delta dZ đầu ra được liên kết và thêm nó vào delta dW trọng lượng của bạn cho lần vượt qua này. Trong ví dụ này, bạn sẽ thêm[ 1 * - 0.1 , 2 * - 0,1 ] đến dW cho lớp phủ đầu tiên, sau đó thêm [ 2 ∗ 0,2 , 3 ∗ 0,2 ]cho lớp phủ thứ hai. Tất cả đã nói, dW của bạn cho lớp chập này trên pass backprop này là[ 0,3 , 0,4 ].
Xu hướng đồng bằng:
Tương tự như đối với deltas trọng lượng, nhưng chỉ cần thêm delta đầu ra của bạn mà không nhân với ma trận đầu vào.
Đồng bằng đầu vào:
Tái cấu trúc hình dạng của đầu vào cho lớp này, gọi nó là dA_prev, khởi tạo nó thành các số không và đi qua các cấu hình mà bạn phủ lên bộ lọc của mình trên đầu vào. Đối với mỗi lớp phủ, nhân ma trận trọng số của bạn với delta đầu ra được liên kết với lớp phủ này và thêm nó vào lát dA_prev được liên kết với lớp phủ này. Điều đó có nghĩa là, lớp phủ 1 sẽ thêm[ 0,3 ∗ - 0,1 , 0,5 ∗ - 0,1 ] = [ - 0,03 , - 0,05 ] để dA_prev dẫn đến [ - 0,03 , - 0,05 , 0 ], sau đó lớp phủ 2 sẽ thêm [ 0,3 * 0,2 , 0,5 * 0,2 ] = [ 0,06 , 0,1 ], dẫn đến [ - 0,03 , 0,01 , 0,1 ] cho dA_prev.
Đây là một nguồn khá tốt nếu bạn muốn đọc cùng một câu trả lời theo các thuật ngữ khác nhau: Liên kết