Một tổ hợp sử dụng một nguyên tắc chia sẻ trọng lượng sẽ làm phức tạp đáng kể toán học nhưng chúng ta hãy cố gắng vượt qua cỏ dại. Tôi đang rút ra hầu hết lời giải thích của tôi từ nguồn này .
Chuyển tiếp qua
Khi bạn quan sát đường chuyền phía trước của lớp chập có thể được biểu thị bằng
xtôitôi , j= ∑mΣnwtôim , nol - 1i + m , j + n+ btôitôi , j
trong trường hợp của chúng tôi k1 và k2 là kích thước của hạt nhân, trong trường hợp của chúng tôi k1= k2= 2 . Vì vậy, điều này nói cho đầu ra x0 , 0= = 0,25 như bạn đã tìm thấy. m và n lặp trên các kích thước của kernel.
Lan truyền ngược
Giả sử bạn đang sử dụng lỗi bình phương trung bình (MSE) được xác định là
E= 12Σp( tp- yp)2,
chúng tôi muốn xác định
∂E∂wtôim', n'm'n'w10 , 0= - 0,13HK
( H- k1+ 1 )( W- k2+ 1 )
44w10 , 0= - 0,13x10 , 0= 0,25
∂E∂wtôim', n'= ∑H- k1i = 0ΣW- k2j = 0∂E∂xtôitôi , j∂xtôitôi , j∂wtôim', n'
Điều này lặp đi lặp lại trên toàn bộ không gian đầu ra, xác định lỗi mà đầu ra đang đóng góp và sau đó xác định hệ số đóng góp của trọng lượng hạt nhân đối với đầu ra đó.
Chúng ta hãy gọi sự đóng góp cho lỗi từ delta không gian đầu ra để đơn giản và để theo dõi lỗi backpropagated,
∂E∂xtôitôi , j= δtôitôi , j
Sự đóng góp từ các trọng số
Sự tích chập được định nghĩa là
xtôitôi , j= ∑mΣnwtôim , nol - 1i + m , j + n+ btôitôi , j
do đó,
∂xtôitôi , j∂wtôim', n'= ∂∂wtôim', n'( ∑mΣnwtôim , nol - 1i + m , j + n+ btôitôi , j)
m = m'n = n'
∂xtôitôi , j∂wtôim', n'= ol - 1tôi + m', j + n'
Sau đó trở lại trong thời hạn lỗi của chúng tôi
∂E∂wtôim', n'= ∑H- k1i = 0ΣW- k2j = 0δtôitôi , jol - 1tôi + m', j + n'
Độ dốc dốc ngẫu nhiên
w( t + 1 )= w( t )- η∂E∂wtôim', n'
Hãy tính toán một vài trong số chúng
import numpy as np
from scipy import signal
o = np.array([(0.51, 0.9, 0.88, 0.84, 0.05),
(0.4, 0.62, 0.22, 0.59, 0.1),
(0.11, 0.2, 0.74, 0.33, 0.14),
(0.47, 0.01, 0.85, 0.7, 0.09),
(0.76, 0.19, 0.72, 0.17, 0.57)])
d = np.array([(0, 0, 0.0686, 0),
(0, 0.0364, 0, 0),
(0, 0.0467, 0, 0),
(0, 0, 0, -0.0681)])
gradient = signal.convolve2d(np.rot90(np.rot90(d)), o, 'valid')
mảng ([0,044606, 0,094061], [0,011262, 0,068288]])
∂E∂w
Xin vui lòng cho tôi biết nếu có lỗi trong đạo hàm.
Cập nhật: Sửa mã