Tính toán tốc độ lan truyền ngược của ô GRU trong 1 bước thời gian.
Args x: Nhập vào ô GRU. h_prev: Trạng thái đầu vào từ ô GRU trước đó. w_ru: Ma trận trọng số cho cổng reset và update. w_c: Ma trận trọng số cho cổng kết nối cell. b_ru: Vector thiên vị cho cổng reset và update. b_c: Vector thiên vị cho cổng kết nối cell. r: Đầu ra của cổng reset. u: Đầu ra của cổng cập nhật. c: Đầu ra của cổng kết nối cell. d_h: Độ dốc của hàm h_new wrt tới hàm mục tiêu.
Trả về d_x: Độ dốc của x wrt tới hàm mục tiêu. d_h_prev: Độ dốc của hàm h wrt tới hàm mục tiêu. d_c_bar Độ dốc của c_bar wrt tới hàm mục tiêu. d_r_bar_u_bar Độ dốc của r_bar & u_bar ghi vào hàm mục tiêu.
Kernel op này thực hiện các phương trình toán học sau:
Lưu ý về ký hiệu của các biến:
Sự kết hợp của a và b được biểu thị bằng a_b Tích dấu chấm theo phần tử của a và b được biểu thị bằng ab Tích dấu chấm theo phần tử được biểu thị bằng \circ Phép nhân ma trận được biểu thị bằng *
Ghi chú bổ sung cho rõ ràng:
`w_ru` có thể được phân chia thành 4 ma trận khác nhau.
w_ru = [w_r_x w_u_x
         w_r_h_prev w_u_h_prev]
 w_c = [w_c_x w_c_h_prevr]
 b_ru = [b_ru_x b_ru_h]
 b_c = [b_c_x b_c_h]
 d_x = d_x_component_1 + d_x_component_2
 
 where d_x_component_1 = d_r_bar * w_r_x^T + d_u_bar * w_r_x^T
 and d_x_component_2 = d_c_bar * w_c_x^T
 
 d_h_prev = d_h_prev_component_1 + d_h_prevr \circ r + d_h \circ u
 where d_h_prev_componenet_1 = d_r_bar * w_r_h_prev^T + d_u_bar * w_r_h_prev^T
 d_c_bar = d_h \circ (1-u) \circ (1-c \circ c)
 d_u_bar = d_h \circ (h-c) \circ u \circ (1-u)
 
 d_r_bar_u_bar = [d_r_bar d_u_bar]
 
 [d_x_component_1 d_h_prev_component_1] = d_r_bar_u_bar * w_ru^T
 
 [d_x_component_2 d_h_prevr] = d_c_bar * w_c^T
 
 d_x = d_x_component_1 + d_x_component_2
 
 d_h_prev = d_h_prev_component_1 + d_h_prevr \circ r + u
 d_w_ru = x_h_prevr^T * d_c_bar
 
 d_w_c = x_h_prev^T * d_r_bar_u_bar
 
 d_b_ru = sum of d_r_bar_u_bar along axis = 0
 
 d_b_c = sum of d_c_bar along axis = 0
 Hằng số
| Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow | 
Phương pháp công cộng
| tĩnh <T mở rộng TNumber > GRUBlockCellGrad <T> | |
| Đầu ra <T> |  dCBar () | 
| Đầu ra <T> |  dHPrev () | 
| Đầu ra <T> |  dRBarUBar () | 
| Đầu ra <T> |  dX ()  | 
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công cộng
public static GRUBlockCellGrad <T> tạo ( Phạm vi phạm vi, Toán hạng <T> x, Toán hạng <T> hPrev, Toán hạng <T> wRu, Toán hạng <T> wC, Toán hạng <T> bRu, Toán hạng <T> bC, Toán hạng <T > r, Toán hạng <T> u, Toán hạng <T> c, Toán hạng <T> dH)
Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động GRUBlockCellGrad mới.
Thông số
| phạm vi | phạm vi hiện tại | 
|---|
Trả lại
- một phiên bản mới của GRUBlockCellGrad