Tính toán tốc độ lan truyền tiến 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.
Trả về 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. h: Trạng thái hiện tại của ô GRU.
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 *
Độ lệch được khởi tạo bằng : `b_ru` - constant_initializer(1.0) `b_c` - constant_initializer(0.0)
Kernel op này thực hiện các phương trình toán học sau:
x_h_prev = [x, h_prev]
[r_bar u_bar] = x_h_prev * w_ru + b_ru
r = sigmoid(r_bar)
u = sigmoid(u_bar)
h_prevr = h_prev \circ r
x_h_prevr = [x h_prevr]
c_bar = x_h_prevr * w_c + b_c
c = tanh(c_bar)
h = (1-u) \circ c + u \circ h_prev
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 khai
Đầu ra <T> | c () |
tĩnh <T mở rộng TNumber > GRUBlockCell <T> | |
Đầu ra <T> | h () |
Đầu ra <T> | r () |
Đầu ra <T> | bạn () |
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 khai
public static GRUBlockCell <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)
Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động GRUBlockCell 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 GRUBlockCell