Calcula la propagación hacia adelante de la celda GRU para 1 paso de tiempo.
Args x: Entrada a la celda GRU. h_prev: Entrada de estado de la celda GRU anterior. w_ru: Matriz de peso para la puerta de reinicio y actualización. w_c: Matriz de pesos para la puerta de conexión de la celda. b_ru: Vector de sesgo para la puerta de reinicio y actualización. b_c: Vector de sesgo para la puerta de conexión de la celda.
Devuelve r: Salida de la puerta de reinicio. u: Salida de la puerta de actualización. c: Salida de la puerta de conexión de la celda. h: Estado actual de la celda GRU.
Nota sobre la notación de las variables:
La concatenación de ayb está representada por a_b El producto escalar por elementos de ayb está representado por ab El producto escalar por elementos está representado por \ circ La multiplicación de matrices está representada por *
Los sesgos se inicializan con: `b_ru` - constant_initializer (1.0)` b_c` - constant_initializer (0.0)
Esta op núcleo implementa las siguientes ecuaciones matemáticas:
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
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
Salida <T> | c () |
estática <T se extiende TNumber > GRUBlockCell <T> | |
Salida <T> | h () |
Salida <T> | r () |
Salida <T> | u () |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
public static GRUBlockCell <T> crear ( Alcance alcance, operando <T> x, operando <T> hPrev, operando <T> wru, operando <T> WC, operando <T> Bru, operando <T> bC)
Método de fábrica para crear una clase que envuelva una nueva operación GRUBlockCell.
Parámetros
alcance | alcance actual |
---|
Devoluciones
- una nueva instancia de GRUBlockCell